@wirekyt/angular 0.0.16 → 0.0.18
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 +3 -3
- package/dist/README.md +3 -3
- package/dist/fesm2022/wirekyt-angular-accordion.mjs +16 -16
- package/dist/fesm2022/wirekyt-angular-accordion.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-angle-slider.mjs +20 -20
- package/dist/fesm2022/wirekyt-angular-angle-slider.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-avatar.mjs +10 -10
- package/dist/fesm2022/wirekyt-angular-avatar.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-carousel.mjs +26 -26
- package/dist/fesm2022/wirekyt-angular-carousel.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-checkbox.mjs +18 -18
- package/dist/fesm2022/wirekyt-angular-checkbox.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-clipboard.mjs +18 -18
- package/dist/fesm2022/wirekyt-angular-clipboard.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-collapsible.mjs +10 -10
- package/dist/fesm2022/wirekyt-angular-collapsible.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-color-picker.mjs +58 -58
- package/dist/fesm2022/wirekyt-angular-color-picker.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-combobox.mjs +36 -36
- package/dist/fesm2022/wirekyt-angular-combobox.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-date-input.mjs +18 -18
- package/dist/fesm2022/wirekyt-angular-date-input.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-date-picker.mjs +58 -58
- package/dist/fesm2022/wirekyt-angular-date-picker.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-dialog.mjs +20 -20
- package/dist/fesm2022/wirekyt-angular-dialog.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-download-trigger.mjs +2 -2
- package/dist/fesm2022/wirekyt-angular-download-trigger.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-drawer.mjs +706 -0
- package/dist/fesm2022/wirekyt-angular-drawer.mjs.map +1 -0
- package/dist/fesm2022/wirekyt-angular-field.mjs +20 -20
- package/dist/fesm2022/wirekyt-angular-field.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-fieldset.mjs +10 -10
- package/dist/fesm2022/wirekyt-angular-fieldset.mjs.map +1 -1
- package/dist/package.json +6 -2
- package/dist/types/wirekyt-angular-accordion.d.ts +8 -8
- package/dist/types/wirekyt-angular-angle-slider.d.ts +10 -10
- package/dist/types/wirekyt-angular-avatar.d.ts +5 -5
- package/dist/types/wirekyt-angular-carousel.d.ts +13 -13
- package/dist/types/wirekyt-angular-checkbox.d.ts +10 -10
- package/dist/types/wirekyt-angular-clipboard.d.ts +9 -9
- package/dist/types/wirekyt-angular-collapsible.d.ts +5 -5
- package/dist/types/wirekyt-angular-color-picker.d.ts +30 -30
- package/dist/types/wirekyt-angular-combobox.d.ts +19 -19
- package/dist/types/wirekyt-angular-date-input.d.ts +9 -9
- package/dist/types/wirekyt-angular-date-picker.d.ts +30 -30
- package/dist/types/wirekyt-angular-dialog.d.ts +10 -10
- package/dist/types/wirekyt-angular-download-trigger.d.ts +1 -1
- package/dist/types/wirekyt-angular-drawer.d.ts +203 -0
- package/dist/types/wirekyt-angular-drawer.d.ts.map +1 -0
- package/dist/types/wirekyt-angular-field.d.ts +10 -10
- package/dist/types/wirekyt-angular-fieldset.d.ts +5 -5
- package/package.json +7 -3
|
@@ -83,12 +83,12 @@ class ClipboardRoot {
|
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
85
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardRoot, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
86
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: ClipboardRoot, isStandalone: true, selector: "[
|
|
86
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: ClipboardRoot, isStandalone: true, selector: "[clipboard-root]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ids: { classPropertyName: "ids", publicName: "ids", isSignal: true, isRequired: false, transformFunction: null }, translations: { classPropertyName: "translations", publicName: "translations", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, timeout: { classPropertyName: "timeout", publicName: "timeout", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", statusChange: "statusChange" }, providers: [{ provide: CLIPBOARD_CONTEXT, useExisting: forwardRef(() => ClipboardRoot) }], exportAs: ["clipboardRoot"], ngImport: i0 });
|
|
87
87
|
}
|
|
88
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardRoot, decorators: [{
|
|
89
89
|
type: Directive,
|
|
90
90
|
args: [{
|
|
91
|
-
selector: "[
|
|
91
|
+
selector: "[clipboard-root]",
|
|
92
92
|
standalone: true,
|
|
93
93
|
exportAs: "clipboardRoot",
|
|
94
94
|
providers: [{ provide: CLIPBOARD_CONTEXT, useExisting: forwardRef(() => ClipboardRoot) }],
|
|
@@ -118,12 +118,12 @@ class ClipboardRootProvider {
|
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
120
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardRootProvider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
121
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: ClipboardRootProvider, isStandalone: true, selector: "[
|
|
121
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: ClipboardRootProvider, isStandalone: true, selector: "[clipboard-root-provider]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, providers: [{ provide: CLIPBOARD_CONTEXT, useExisting: forwardRef(() => ClipboardRootProvider) }], exportAs: ["clipboardRootProvider"], ngImport: i0 });
|
|
122
122
|
}
|
|
123
123
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardRootProvider, decorators: [{
|
|
124
124
|
type: Directive,
|
|
125
125
|
args: [{
|
|
126
|
-
selector: "[
|
|
126
|
+
selector: "[clipboard-root-provider]",
|
|
127
127
|
standalone: true,
|
|
128
128
|
exportAs: "clipboardRootProvider",
|
|
129
129
|
providers: [{ provide: CLIPBOARD_CONTEXT, useExisting: forwardRef(() => ClipboardRootProvider) }],
|
|
@@ -141,12 +141,12 @@ class ClipboardLabel {
|
|
|
141
141
|
});
|
|
142
142
|
}
|
|
143
143
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
144
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: ClipboardLabel, isStandalone: true, selector: "[
|
|
144
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: ClipboardLabel, isStandalone: true, selector: "[clipboard-label]", exportAs: ["clipboardLabel"], ngImport: i0 });
|
|
145
145
|
}
|
|
146
146
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardLabel, decorators: [{
|
|
147
147
|
type: Directive,
|
|
148
148
|
args: [{
|
|
149
|
-
selector: "[
|
|
149
|
+
selector: "[clipboard-label]",
|
|
150
150
|
standalone: true,
|
|
151
151
|
exportAs: "clipboardLabel",
|
|
152
152
|
}]
|
|
@@ -163,12 +163,12 @@ class ClipboardControl {
|
|
|
163
163
|
});
|
|
164
164
|
}
|
|
165
165
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardControl, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
166
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: ClipboardControl, isStandalone: true, selector: "[
|
|
166
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: ClipboardControl, isStandalone: true, selector: "[clipboard-control]", exportAs: ["clipboardControl"], ngImport: i0 });
|
|
167
167
|
}
|
|
168
168
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardControl, decorators: [{
|
|
169
169
|
type: Directive,
|
|
170
170
|
args: [{
|
|
171
|
-
selector: "[
|
|
171
|
+
selector: "[clipboard-control]",
|
|
172
172
|
standalone: true,
|
|
173
173
|
exportAs: "clipboardControl",
|
|
174
174
|
}]
|
|
@@ -194,12 +194,12 @@ class ClipboardContext {
|
|
|
194
194
|
inject(DestroyRef).onDestroy(() => view.destroy());
|
|
195
195
|
}
|
|
196
196
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardContext, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
197
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: ClipboardContext, isStandalone: true, selector: "[
|
|
197
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: ClipboardContext, isStandalone: true, selector: "[clipboard-context]", exportAs: ["clipboardContext"], ngImport: i0 });
|
|
198
198
|
}
|
|
199
199
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardContext, decorators: [{
|
|
200
200
|
type: Directive,
|
|
201
201
|
args: [{
|
|
202
|
-
selector: "[
|
|
202
|
+
selector: "[clipboard-context]",
|
|
203
203
|
standalone: true,
|
|
204
204
|
exportAs: "clipboardContext",
|
|
205
205
|
}]
|
|
@@ -216,12 +216,12 @@ class ClipboardInput {
|
|
|
216
216
|
});
|
|
217
217
|
}
|
|
218
218
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardInput, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
219
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: ClipboardInput, isStandalone: true, selector: "input[
|
|
219
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: ClipboardInput, isStandalone: true, selector: "input[clipboard-input]", exportAs: ["clipboardInput"], ngImport: i0 });
|
|
220
220
|
}
|
|
221
221
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardInput, decorators: [{
|
|
222
222
|
type: Directive,
|
|
223
223
|
args: [{
|
|
224
|
-
selector: "input[
|
|
224
|
+
selector: "input[clipboard-input]",
|
|
225
225
|
standalone: true,
|
|
226
226
|
exportAs: "clipboardInput",
|
|
227
227
|
}]
|
|
@@ -238,12 +238,12 @@ class ClipboardTrigger {
|
|
|
238
238
|
});
|
|
239
239
|
}
|
|
240
240
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
241
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: ClipboardTrigger, isStandalone: true, selector: "[
|
|
241
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: ClipboardTrigger, isStandalone: true, selector: "[clipboard-trigger]", exportAs: ["clipboardTrigger"], ngImport: i0 });
|
|
242
242
|
}
|
|
243
243
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardTrigger, decorators: [{
|
|
244
244
|
type: Directive,
|
|
245
245
|
args: [{
|
|
246
|
-
selector: "[
|
|
246
|
+
selector: "[clipboard-trigger]",
|
|
247
247
|
standalone: true,
|
|
248
248
|
exportAs: "clipboardTrigger",
|
|
249
249
|
}]
|
|
@@ -266,12 +266,12 @@ class ClipboardIndicator {
|
|
|
266
266
|
});
|
|
267
267
|
}
|
|
268
268
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardIndicator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
269
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: ClipboardIndicator, isStandalone: true, selector: "[
|
|
269
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: ClipboardIndicator, isStandalone: true, selector: "[clipboard-indicator]", exportAs: ["clipboardIndicator"], ngImport: i0 });
|
|
270
270
|
}
|
|
271
271
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardIndicator, decorators: [{
|
|
272
272
|
type: Directive,
|
|
273
273
|
args: [{
|
|
274
|
-
selector: "[
|
|
274
|
+
selector: "[clipboard-indicator]",
|
|
275
275
|
standalone: true,
|
|
276
276
|
exportAs: "clipboardIndicator",
|
|
277
277
|
}]
|
|
@@ -282,12 +282,12 @@ class ClipboardValueText {
|
|
|
282
282
|
value = computed(() => this.context.api().value, /* @ts-ignore */
|
|
283
283
|
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
284
284
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardValueText, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
285
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: ClipboardValueText, isStandalone: true, selector: "[
|
|
285
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: ClipboardValueText, isStandalone: true, selector: "[clipboard-value-text]", exportAs: ["clipboardValueText"], ngImport: i0 });
|
|
286
286
|
}
|
|
287
287
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ClipboardValueText, decorators: [{
|
|
288
288
|
type: Directive,
|
|
289
289
|
args: [{
|
|
290
|
-
selector: "[
|
|
290
|
+
selector: "[clipboard-value-text]",
|
|
291
291
|
standalone: true,
|
|
292
292
|
exportAs: "clipboardValueText",
|
|
293
293
|
}]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wirekyt-angular-clipboard.mjs","sources":["../../src/components/clipboard/use-context.ts","../../src/components/clipboard/use.ts","../../src/components/clipboard/root.ts","../../src/components/clipboard/root-provider.ts","../../src/components/clipboard/label.ts","../../src/components/clipboard/control.ts","../../src/components/clipboard/context.ts","../../src/components/clipboard/input.ts","../../src/components/clipboard/trigger.ts","../../src/components/clipboard/indicator.ts","../../src/components/clipboard/value-text.ts","../../src/components/clipboard/wirekyt-angular-clipboard.ts"],"sourcesContent":["import { InjectionToken, inject } from \"@angular/core\";\n\nimport type { UseClipboardReturn } from \"./use\";\n\nexport const CLIPBOARD_CONTEXT = new InjectionToken<UseClipboardReturn>(\n \"WIREKYT.CLIPBOARD_CONTEXT\",\n);\n\nexport function injectClipboardContext(): UseClipboardReturn {\n return inject(CLIPBOARD_CONTEXT);\n}\n","import type { Machine } from \"@wirekyt/dom\";\n\nimport { createId, injectEnvironment, useMachine, UseMachineReturn } from \"@wirekyt/angular\";\nimport * as clipboard from \"@wirekyt/dom/machines/clipboard\";\n\nimport type { ClipboardMachineProps } from \"./types\";\n\ntype OptionalId<T extends { id: string }> = Omit<T, \"id\"> & { id?: string };\n\nexport interface UseClipboardProps extends OptionalId<Omit<ClipboardMachineProps, \"getRootNode\">> {}\n\nexport type UseClipboardReturn = UseMachineReturn<\n clipboard.Service[\"state\"],\n clipboard.Api,\n clipboard.Service\n>;\n\nexport interface UseClipboardOptions {\n context: () => UseClipboardProps;\n}\n\ntype ClipboardContext = Record<string, unknown>;\ntype ClipboardSchema = clipboard.Machine extends Machine<infer TSchema> ? TSchema : never;\n\nexport function useClipboard(\n options: UseClipboardOptions = { context: () => ({}) },\n): UseClipboardReturn {\n const environment = injectEnvironment();\n const fallbackId = createId();\n\n return useMachine<ClipboardSchema, clipboard.Api>({\n machine: clipboard.machine,\n context: () => {\n const props = options.context();\n return {\n ...props,\n getRootNode: environment.getRootNode,\n id: props.id ?? fallbackId,\n } as ClipboardContext;\n },\n connect: (service, normalize) => clipboard.connect(service, normalize),\n });\n}\n","import type * as clipboard from \"@wirekyt/dom/machines/clipboard\";\n\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n type InputSignal,\n type ModelSignal,\n type OutputEmitterRef,\n type Signal,\n computed,\n forwardRef,\n inject,\n input,\n model,\n output,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport type {\n ClipboardCopyStatusDetails,\n ClipboardElementIds,\n ClipboardIntlTranslations,\n} from \"./types\";\n\nimport { useClipboard, type UseClipboardReturn } from \"./use\";\nimport { CLIPBOARD_CONTEXT } from \"./use-context\";\n\n@Directive({\n selector: \"[clipboardRoot]\",\n standalone: true,\n exportAs: \"clipboardRoot\",\n providers: [{ provide: CLIPBOARD_CONTEXT, useExisting: forwardRef(() => ClipboardRoot) }],\n})\nexport class ClipboardRoot implements UseClipboardReturn {\n readonly id: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly ids: InputSignal<Partial<ClipboardElementIds> | undefined> = input<\n Partial<ClipboardElementIds> | undefined\n >(undefined);\n readonly translations: InputSignal<ClipboardIntlTranslations | undefined> = input<\n ClipboardIntlTranslations | undefined\n >(undefined);\n readonly value: ModelSignal<string | undefined> = model<string | undefined>(undefined);\n readonly defaultValue: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly timeout: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly statusChange: OutputEmitterRef<ClipboardCopyStatusDetails> =\n output<ClipboardCopyStatusDetails>();\n private readonly stableIds = computed(() => this.stabilizeIds(this.ids()));\n private prevIds: Partial<ClipboardElementIds> | undefined = undefined;\n\n private readonly machine = useClipboard({\n context: () => ({\n id: this.id(),\n ids: this.stableIds(),\n translations: this.translations(),\n value: this.value(),\n defaultValue: this.defaultValue(),\n timeout: this.timeout(),\n onValueChange: (details) => this.value.set(details.value),\n onStatusChange: (details) => this.statusChange.emit(details),\n }),\n });\n\n readonly state: Signal<clipboard.Service[\"state\"]> = this.machine.state;\n readonly api: Signal<clipboard.Api> = this.machine.api;\n readonly service: clipboard.Service = this.machine.service;\n readonly send: clipboard.Service[\"send\"] = this.machine.send;\n\n private stabilizeIds(\n next: Partial<ClipboardElementIds> | undefined,\n ): Partial<ClipboardElementIds> | undefined {\n if (next === this.prevIds) return this.prevIds;\n if (next === undefined || this.prevIds === undefined) {\n this.prevIds = next;\n return this.prevIds;\n }\n const keys = new Set([...Object.keys(next), ...Object.keys(this.prevIds)]);\n const hasEqualEntries = [...keys].every((key) =>\n Object.is(\n next[key as keyof ClipboardElementIds],\n this.prevIds?.[key as keyof ClipboardElementIds],\n ),\n );\n if (hasEqualEntries) {\n return this.prevIds;\n }\n this.prevIds = next;\n return this.prevIds;\n }\n\n constructor() {\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.api().getRootProps(),\n });\n }\n}\n","import type * as clipboard from \"@wirekyt/dom/machines/clipboard\";\n\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n type InputSignal,\n type Signal,\n computed,\n forwardRef,\n inject,\n input,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport type { UseClipboardReturn } from \"./use\";\n\nimport { CLIPBOARD_CONTEXT } from \"./use-context\";\n\n@Directive({\n selector: \"[clipboardRootProvider]\",\n standalone: true,\n exportAs: \"clipboardRootProvider\",\n providers: [{ provide: CLIPBOARD_CONTEXT, useExisting: forwardRef(() => ClipboardRootProvider) }],\n})\nexport class ClipboardRootProvider implements UseClipboardReturn {\n readonly value: InputSignal<UseClipboardReturn> = input.required<UseClipboardReturn>();\n readonly state: Signal<clipboard.Service[\"state\"]> = computed(() => this.value().state());\n readonly api: Signal<clipboard.Api> = computed(() => this.value().api());\n readonly send: clipboard.Service[\"send\"] = (event) => this.value().send(event);\n\n get service(): clipboard.Service {\n return this.value().service;\n }\n\n resolveValue(): UseClipboardReturn {\n return this.value();\n }\n\n constructor() {\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.api().getRootProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectClipboardContext } from \"./use-context\";\n\n@Directive({\n selector: \"[clipboardLabel]\",\n standalone: true,\n exportAs: \"clipboardLabel\",\n})\nexport class ClipboardLabel {\n constructor() {\n const context = injectClipboardContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getLabelProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectClipboardContext } from \"./use-context\";\n\n@Directive({\n selector: \"[clipboardControl]\",\n standalone: true,\n exportAs: \"clipboardControl\",\n})\nexport class ClipboardControl {\n constructor() {\n const context = injectClipboardContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getControlProps(),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n} from \"@angular/core\";\n\nimport type { UseClipboardReturn } from \"./use\";\n\nimport { injectClipboardContext } from \"./use-context\";\n\nexport interface ClipboardContextTemplate {\n $implicit: UseClipboardReturn[\"api\"];\n api: UseClipboardReturn[\"api\"];\n}\n\n@Directive({\n selector: \"[clipboardContext]\",\n standalone: true,\n exportAs: \"clipboardContext\",\n})\nexport class ClipboardContext {\n static ngTemplateContextGuard(\n _directive: ClipboardContext,\n context: unknown,\n ): context is ClipboardContextTemplate {\n void context;\n return true;\n }\n\n private readonly clipboard = injectClipboardContext();\n private readonly templateRef = inject<TemplateRef<ClipboardContextTemplate>>(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n constructor() {\n const view = this.viewContainer.createEmbeddedView(this.templateRef, {\n $implicit: this.clipboard.api,\n api: this.clipboard.api,\n });\n\n effect(() => {\n this.clipboard.api();\n view.detectChanges();\n });\n\n inject(DestroyRef).onDestroy(() => view.destroy());\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectClipboardContext } from \"./use-context\";\n\n@Directive({\n selector: \"input[clipboardInput]\",\n standalone: true,\n exportAs: \"clipboardInput\",\n})\nexport class ClipboardInput {\n constructor() {\n const context = injectClipboardContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getInputProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectClipboardContext } from \"./use-context\";\n\n@Directive({\n selector: \"[clipboardTrigger]\",\n standalone: true,\n exportAs: \"clipboardTrigger\",\n})\nexport class ClipboardTrigger {\n constructor() {\n const context = injectClipboardContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getTriggerProps(),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n type Signal,\n computed,\n inject,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectClipboardContext } from \"./use-context\";\n\n@Directive({\n selector: \"[clipboardIndicator]\",\n standalone: true,\n exportAs: \"clipboardIndicator\",\n})\nexport class ClipboardIndicator {\n readonly copied: Signal<boolean>;\n\n constructor() {\n const context = injectClipboardContext();\n this.copied = computed(() => context.api().copied);\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => {\n const api = context.api();\n return api.getIndicatorProps({ copied: this.copied() });\n },\n });\n }\n}\n","import { Directive, type Signal, computed } from \"@angular/core\";\n\nimport { injectClipboardContext } from \"./use-context\";\n\n@Directive({\n selector: \"[clipboardValueText]\",\n standalone: true,\n exportAs: \"clipboardValueText\",\n})\nexport class ClipboardValueText {\n private readonly context = injectClipboardContext();\n readonly value: Signal<string> = computed(() => this.context.api().value);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wirekyt-angular-clipboard.mjs","sources":["../../src/components/clipboard/use-context.ts","../../src/components/clipboard/use.ts","../../src/components/clipboard/root.ts","../../src/components/clipboard/root-provider.ts","../../src/components/clipboard/label.ts","../../src/components/clipboard/control.ts","../../src/components/clipboard/context.ts","../../src/components/clipboard/input.ts","../../src/components/clipboard/trigger.ts","../../src/components/clipboard/indicator.ts","../../src/components/clipboard/value-text.ts","../../src/components/clipboard/wirekyt-angular-clipboard.ts"],"sourcesContent":["import { InjectionToken, inject } from \"@angular/core\";\n\nimport type { UseClipboardReturn } from \"./use\";\n\nexport const CLIPBOARD_CONTEXT = new InjectionToken<UseClipboardReturn>(\n \"WIREKYT.CLIPBOARD_CONTEXT\",\n);\n\nexport function injectClipboardContext(): UseClipboardReturn {\n return inject(CLIPBOARD_CONTEXT);\n}\n","import type { Machine } from \"@wirekyt/dom\";\n\nimport { createId, injectEnvironment, useMachine, UseMachineReturn } from \"@wirekyt/angular\";\nimport * as clipboard from \"@wirekyt/dom/machines/clipboard\";\n\nimport type { ClipboardMachineProps } from \"./types\";\n\ntype OptionalId<T extends { id: string }> = Omit<T, \"id\"> & { id?: string };\n\nexport interface UseClipboardProps extends OptionalId<Omit<ClipboardMachineProps, \"getRootNode\">> {}\n\nexport type UseClipboardReturn = UseMachineReturn<\n clipboard.Service[\"state\"],\n clipboard.Api,\n clipboard.Service\n>;\n\nexport interface UseClipboardOptions {\n context: () => UseClipboardProps;\n}\n\ntype ClipboardContext = Record<string, unknown>;\ntype ClipboardSchema = clipboard.Machine extends Machine<infer TSchema> ? TSchema : never;\n\nexport function useClipboard(\n options: UseClipboardOptions = { context: () => ({}) },\n): UseClipboardReturn {\n const environment = injectEnvironment();\n const fallbackId = createId();\n\n return useMachine<ClipboardSchema, clipboard.Api>({\n machine: clipboard.machine,\n context: () => {\n const props = options.context();\n return {\n ...props,\n getRootNode: environment.getRootNode,\n id: props.id ?? fallbackId,\n } as ClipboardContext;\n },\n connect: (service, normalize) => clipboard.connect(service, normalize),\n });\n}\n","import type * as clipboard from \"@wirekyt/dom/machines/clipboard\";\n\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n type InputSignal,\n type ModelSignal,\n type OutputEmitterRef,\n type Signal,\n computed,\n forwardRef,\n inject,\n input,\n model,\n output,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport type {\n ClipboardCopyStatusDetails,\n ClipboardElementIds,\n ClipboardIntlTranslations,\n} from \"./types\";\n\nimport { useClipboard, type UseClipboardReturn } from \"./use\";\nimport { CLIPBOARD_CONTEXT } from \"./use-context\";\n\n@Directive({\n selector: \"[clipboard-root]\",\n standalone: true,\n exportAs: \"clipboardRoot\",\n providers: [{ provide: CLIPBOARD_CONTEXT, useExisting: forwardRef(() => ClipboardRoot) }],\n})\nexport class ClipboardRoot implements UseClipboardReturn {\n readonly id: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly ids: InputSignal<Partial<ClipboardElementIds> | undefined> = input<\n Partial<ClipboardElementIds> | undefined\n >(undefined);\n readonly translations: InputSignal<ClipboardIntlTranslations | undefined> = input<\n ClipboardIntlTranslations | undefined\n >(undefined);\n readonly value: ModelSignal<string | undefined> = model<string | undefined>(undefined);\n readonly defaultValue: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly timeout: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly statusChange: OutputEmitterRef<ClipboardCopyStatusDetails> =\n output<ClipboardCopyStatusDetails>();\n private readonly stableIds = computed(() => this.stabilizeIds(this.ids()));\n private prevIds: Partial<ClipboardElementIds> | undefined = undefined;\n\n private readonly machine = useClipboard({\n context: () => ({\n id: this.id(),\n ids: this.stableIds(),\n translations: this.translations(),\n value: this.value(),\n defaultValue: this.defaultValue(),\n timeout: this.timeout(),\n onValueChange: (details) => this.value.set(details.value),\n onStatusChange: (details) => this.statusChange.emit(details),\n }),\n });\n\n readonly state: Signal<clipboard.Service[\"state\"]> = this.machine.state;\n readonly api: Signal<clipboard.Api> = this.machine.api;\n readonly service: clipboard.Service = this.machine.service;\n readonly send: clipboard.Service[\"send\"] = this.machine.send;\n\n private stabilizeIds(\n next: Partial<ClipboardElementIds> | undefined,\n ): Partial<ClipboardElementIds> | undefined {\n if (next === this.prevIds) return this.prevIds;\n if (next === undefined || this.prevIds === undefined) {\n this.prevIds = next;\n return this.prevIds;\n }\n const keys = new Set([...Object.keys(next), ...Object.keys(this.prevIds)]);\n const hasEqualEntries = [...keys].every((key) =>\n Object.is(\n next[key as keyof ClipboardElementIds],\n this.prevIds?.[key as keyof ClipboardElementIds],\n ),\n );\n if (hasEqualEntries) {\n return this.prevIds;\n }\n this.prevIds = next;\n return this.prevIds;\n }\n\n constructor() {\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.api().getRootProps(),\n });\n }\n}\n","import type * as clipboard from \"@wirekyt/dom/machines/clipboard\";\n\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n type InputSignal,\n type Signal,\n computed,\n forwardRef,\n inject,\n input,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport type { UseClipboardReturn } from \"./use\";\n\nimport { CLIPBOARD_CONTEXT } from \"./use-context\";\n\n@Directive({\n selector: \"[clipboard-root-provider]\",\n standalone: true,\n exportAs: \"clipboardRootProvider\",\n providers: [{ provide: CLIPBOARD_CONTEXT, useExisting: forwardRef(() => ClipboardRootProvider) }],\n})\nexport class ClipboardRootProvider implements UseClipboardReturn {\n readonly value: InputSignal<UseClipboardReturn> = input.required<UseClipboardReturn>();\n readonly state: Signal<clipboard.Service[\"state\"]> = computed(() => this.value().state());\n readonly api: Signal<clipboard.Api> = computed(() => this.value().api());\n readonly send: clipboard.Service[\"send\"] = (event) => this.value().send(event);\n\n get service(): clipboard.Service {\n return this.value().service;\n }\n\n resolveValue(): UseClipboardReturn {\n return this.value();\n }\n\n constructor() {\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.api().getRootProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectClipboardContext } from \"./use-context\";\n\n@Directive({\n selector: \"[clipboard-label]\",\n standalone: true,\n exportAs: \"clipboardLabel\",\n})\nexport class ClipboardLabel {\n constructor() {\n const context = injectClipboardContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getLabelProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectClipboardContext } from \"./use-context\";\n\n@Directive({\n selector: \"[clipboard-control]\",\n standalone: true,\n exportAs: \"clipboardControl\",\n})\nexport class ClipboardControl {\n constructor() {\n const context = injectClipboardContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getControlProps(),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n} from \"@angular/core\";\n\nimport type { UseClipboardReturn } from \"./use\";\n\nimport { injectClipboardContext } from \"./use-context\";\n\nexport interface ClipboardContextTemplate {\n $implicit: UseClipboardReturn[\"api\"];\n api: UseClipboardReturn[\"api\"];\n}\n\n@Directive({\n selector: \"[clipboard-context]\",\n standalone: true,\n exportAs: \"clipboardContext\",\n})\nexport class ClipboardContext {\n static ngTemplateContextGuard(\n _directive: ClipboardContext,\n context: unknown,\n ): context is ClipboardContextTemplate {\n void context;\n return true;\n }\n\n private readonly clipboard = injectClipboardContext();\n private readonly templateRef = inject<TemplateRef<ClipboardContextTemplate>>(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n constructor() {\n const view = this.viewContainer.createEmbeddedView(this.templateRef, {\n $implicit: this.clipboard.api,\n api: this.clipboard.api,\n });\n\n effect(() => {\n this.clipboard.api();\n view.detectChanges();\n });\n\n inject(DestroyRef).onDestroy(() => view.destroy());\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectClipboardContext } from \"./use-context\";\n\n@Directive({\n selector: \"input[clipboard-input]\",\n standalone: true,\n exportAs: \"clipboardInput\",\n})\nexport class ClipboardInput {\n constructor() {\n const context = injectClipboardContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getInputProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectClipboardContext } from \"./use-context\";\n\n@Directive({\n selector: \"[clipboard-trigger]\",\n standalone: true,\n exportAs: \"clipboardTrigger\",\n})\nexport class ClipboardTrigger {\n constructor() {\n const context = injectClipboardContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getTriggerProps(),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n type Signal,\n computed,\n inject,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectClipboardContext } from \"./use-context\";\n\n@Directive({\n selector: \"[clipboard-indicator]\",\n standalone: true,\n exportAs: \"clipboardIndicator\",\n})\nexport class ClipboardIndicator {\n readonly copied: Signal<boolean>;\n\n constructor() {\n const context = injectClipboardContext();\n this.copied = computed(() => context.api().copied);\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => {\n const api = context.api();\n return api.getIndicatorProps({ copied: this.copied() });\n },\n });\n }\n}\n","import { Directive, type Signal, computed } from \"@angular/core\";\n\nimport { injectClipboardContext } from \"./use-context\";\n\n@Directive({\n selector: \"[clipboard-value-text]\",\n standalone: true,\n exportAs: \"clipboardValueText\",\n})\nexport class ClipboardValueText {\n private readonly context = injectClipboardContext();\n readonly value: Signal<string> = computed(() => this.context.api().value);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -103,12 +103,12 @@ class CollapsibleRoot {
|
|
|
103
103
|
});
|
|
104
104
|
}
|
|
105
105
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: CollapsibleRoot, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
106
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: CollapsibleRoot, isStandalone: true, selector: "[
|
|
106
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: CollapsibleRoot, isStandalone: true, selector: "[collapsible-root]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ids: { classPropertyName: "ids", publicName: "ids", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, defaultOpen: { classPropertyName: "defaultOpen", publicName: "defaultOpen", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, collapsedHeight: { classPropertyName: "collapsedHeight", publicName: "collapsedHeight", isSignal: true, isRequired: false, transformFunction: null }, collapsedWidth: { classPropertyName: "collapsedWidth", publicName: "collapsedWidth", isSignal: true, isRequired: false, transformFunction: null }, lazyMount: { classPropertyName: "lazyMount", publicName: "lazyMount", isSignal: true, isRequired: false, transformFunction: null }, unmountOnExit: { classPropertyName: "unmountOnExit", publicName: "unmountOnExit", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openChange: "openChange", exitComplete: "exitComplete" }, providers: [{ provide: COLLAPSIBLE_CONTEXT, useExisting: forwardRef(() => CollapsibleRoot) }], exportAs: ["collapsibleRoot"], ngImport: i0 });
|
|
107
107
|
}
|
|
108
108
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: CollapsibleRoot, decorators: [{
|
|
109
109
|
type: Directive,
|
|
110
110
|
args: [{
|
|
111
|
-
selector: "[
|
|
111
|
+
selector: "[collapsible-root]",
|
|
112
112
|
standalone: true,
|
|
113
113
|
exportAs: "collapsibleRoot",
|
|
114
114
|
providers: [{ provide: COLLAPSIBLE_CONTEXT, useExisting: forwardRef(() => CollapsibleRoot) }],
|
|
@@ -137,14 +137,14 @@ class CollapsibleRootProvider {
|
|
|
137
137
|
});
|
|
138
138
|
}
|
|
139
139
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: CollapsibleRootProvider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
140
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: CollapsibleRootProvider, isStandalone: true, selector: "[
|
|
140
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: CollapsibleRootProvider, isStandalone: true, selector: "[collapsible-root-provider]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
|
|
141
141
|
{ provide: COLLAPSIBLE_CONTEXT, useExisting: forwardRef(() => CollapsibleRootProvider) },
|
|
142
142
|
], exportAs: ["collapsibleRootProvider"], ngImport: i0 });
|
|
143
143
|
}
|
|
144
144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: CollapsibleRootProvider, decorators: [{
|
|
145
145
|
type: Directive,
|
|
146
146
|
args: [{
|
|
147
|
-
selector: "[
|
|
147
|
+
selector: "[collapsible-root-provider]",
|
|
148
148
|
standalone: true,
|
|
149
149
|
exportAs: "collapsibleRootProvider",
|
|
150
150
|
providers: [
|
|
@@ -164,12 +164,12 @@ class CollapsibleTrigger {
|
|
|
164
164
|
});
|
|
165
165
|
}
|
|
166
166
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: CollapsibleTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
167
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: CollapsibleTrigger, isStandalone: true, selector: "[
|
|
167
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: CollapsibleTrigger, isStandalone: true, selector: "[collapsible-trigger]", exportAs: ["collapsibleTrigger"], ngImport: i0 });
|
|
168
168
|
}
|
|
169
169
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: CollapsibleTrigger, decorators: [{
|
|
170
170
|
type: Directive,
|
|
171
171
|
args: [{
|
|
172
|
-
selector: "[
|
|
172
|
+
selector: "[collapsible-trigger]",
|
|
173
173
|
standalone: true,
|
|
174
174
|
exportAs: "collapsibleTrigger",
|
|
175
175
|
}]
|
|
@@ -206,12 +206,12 @@ class CollapsibleContent {
|
|
|
206
206
|
});
|
|
207
207
|
}
|
|
208
208
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: CollapsibleContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
209
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: CollapsibleContent, isStandalone: true, selector: "[
|
|
209
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: CollapsibleContent, isStandalone: true, selector: "[collapsible-content]", exportAs: ["collapsibleContent"], ngImport: i0 });
|
|
210
210
|
}
|
|
211
211
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: CollapsibleContent, decorators: [{
|
|
212
212
|
type: Directive,
|
|
213
213
|
args: [{
|
|
214
|
-
selector: "[
|
|
214
|
+
selector: "[collapsible-content]",
|
|
215
215
|
standalone: true,
|
|
216
216
|
exportAs: "collapsibleContent",
|
|
217
217
|
}]
|
|
@@ -228,12 +228,12 @@ class CollapsibleIndicator {
|
|
|
228
228
|
});
|
|
229
229
|
}
|
|
230
230
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: CollapsibleIndicator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
231
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: CollapsibleIndicator, isStandalone: true, selector: "[
|
|
231
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.3", type: CollapsibleIndicator, isStandalone: true, selector: "[collapsible-indicator]", exportAs: ["collapsibleIndicator"], ngImport: i0 });
|
|
232
232
|
}
|
|
233
233
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: CollapsibleIndicator, decorators: [{
|
|
234
234
|
type: Directive,
|
|
235
235
|
args: [{
|
|
236
|
-
selector: "[
|
|
236
|
+
selector: "[collapsible-indicator]",
|
|
237
237
|
standalone: true,
|
|
238
238
|
exportAs: "collapsibleIndicator",
|
|
239
239
|
}]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wirekyt-angular-collapsible.mjs","sources":["../../src/components/collapsible/use-context.ts","../../src/components/collapsible/use.ts","../../src/components/collapsible/root.ts","../../src/components/collapsible/root-provider.ts","../../src/components/collapsible/trigger.ts","../../src/components/collapsible/content.ts","../../src/components/collapsible/indicator.ts","../../src/components/collapsible/wirekyt-angular-collapsible.ts"],"sourcesContent":["import { InjectionToken, inject } from \"@angular/core\";\n\nimport type { UseCollapsibleReturn } from \"./use\";\n\nexport const COLLAPSIBLE_CONTEXT = new InjectionToken<UseCollapsibleReturn>(\n \"WIREKIT.COLLAPSIBLE_CONTEXT\",\n);\n\nexport function injectCollapsibleContext(): UseCollapsibleReturn {\n return inject(COLLAPSIBLE_CONTEXT);\n}\n","import { computed, effect, signal, type Signal } from \"@angular/core\";\nimport { useMachine, UseMachineReturn } from \"@wirekyt/angular\";\nimport { createId, injectEnvironment, injectLocale } from \"@wirekyt/angular\";\nimport { Machine } from \"@wirekyt/dom\";\nimport * as collapsible from \"@wirekyt/dom/machines/collapsible\";\n\ntype OptionalId<T extends { id: string }> = Omit<T, \"id\"> & { id?: string };\n\nexport interface UseCollapsibleProps extends OptionalId<\n Omit<collapsible.Props, \"dir\" | \"getRootNode\">\n> {\n lazyMount?: boolean;\n unmountOnExit?: boolean;\n}\n\nexport interface UseCollapsibleReturn extends UseMachineReturn<\n collapsible.Service[\"state\"],\n collapsible.Api,\n collapsible.Service\n> {\n readonly isUnmounted: Signal<boolean>;\n}\n\nexport interface UseCollapsibleOptions {\n context: () => UseCollapsibleProps;\n}\n\ntype CollapsibleContext = Record<string, unknown>;\ntype CollapsibleSchema = collapsible.Machine extends Machine<infer TSchema> ? TSchema : never;\n\nexport function useCollapsible(options: UseCollapsibleOptions): UseCollapsibleReturn {\n const locale = injectLocale();\n const environment = injectEnvironment();\n const fallbackId = createId();\n const wasVisible = signal(false);\n\n const machine = useMachine<CollapsibleSchema, collapsible.Api>({\n machine: collapsible.machine,\n context: () => {\n const props = options.context();\n const { lazyMount: _lazyMount, unmountOnExit: _unmountOnExit, ...collapsibleProps } = props;\n return {\n ...collapsibleProps,\n dir: locale.dir,\n getRootNode: environment.getRootNode,\n id: collapsibleProps.id ?? fallbackId,\n } as CollapsibleContext;\n },\n connect: (service, normalize) => collapsible.connect(service, normalize),\n });\n\n effect(() => {\n if (machine.api().visible) {\n wasVisible.set(true);\n }\n });\n\n const isUnmounted = computed(() => {\n const { lazyMount, unmountOnExit } = options.context();\n const visible = machine.api().visible;\n return Boolean(\n (!visible && !wasVisible() && lazyMount) || (unmountOnExit && !visible && wasVisible()),\n );\n });\n\n return {\n ...machine,\n isUnmounted,\n };\n}\n","import type * as collapsible from \"@wirekyt/dom/machines/collapsible\";\n\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n EnvironmentInjector,\n Injector,\n type ProviderToken,\n Renderer2,\n booleanAttribute,\n computed,\n forwardRef,\n inject,\n input,\n output,\n type InputSignal,\n type InputSignalWithTransform,\n type OutputEmitterRef,\n type Signal,\n} from \"@angular/core\";\nimport { bindProps, buildRootCarrier, ContextCarrier } from \"@wirekyt/angular\";\n\nimport { CollapsibleElementIds } from \"./types\";\nimport { useCollapsible, UseCollapsibleReturn } from \"./use\";\nimport { COLLAPSIBLE_CONTEXT } from \"./use-context\";\n\n@Directive({\n selector: \"[collapsibleRoot]\",\n standalone: true,\n exportAs: \"collapsibleRoot\",\n providers: [{ provide: COLLAPSIBLE_CONTEXT, useExisting: forwardRef(() => CollapsibleRoot) }],\n})\nexport class CollapsibleRoot implements UseCollapsibleReturn {\n readonly id: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly ids: InputSignal<Partial<CollapsibleElementIds> | undefined> = input<\n Partial<CollapsibleElementIds> | undefined\n >(undefined);\n readonly open: InputSignal<boolean | undefined> = input<boolean | undefined>(undefined);\n readonly openChange: OutputEmitterRef<collapsible.OpenChangeDetails> =\n output<collapsible.OpenChangeDetails>();\n readonly defaultOpen: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly disabled: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly collapsedHeight: InputSignal<number | string | undefined> = input<\n number | string | undefined\n >(undefined);\n readonly collapsedWidth: InputSignal<number | string | undefined> = input<\n number | string | undefined\n >(undefined);\n readonly lazyMount: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly unmountOnExit: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly exitComplete: OutputEmitterRef<void> = output<void>();\n\n private readonly machine = useCollapsible({\n context: () => ({\n id: this.id(),\n ids: this.ids(),\n open: this.open(),\n defaultOpen: this.defaultOpen(),\n disabled: this.disabled(),\n collapsedHeight: this.collapsedHeight(),\n collapsedWidth: this.collapsedWidth(),\n lazyMount: this.lazyMount(),\n unmountOnExit: this.unmountOnExit(),\n onOpenChange: (details) => {\n this.openChange.emit(details);\n },\n onExitComplete: () => {\n this.exitComplete.emit();\n },\n }),\n });\n\n readonly state: Signal<collapsible.Service[\"state\"]> = this.machine.state;\n readonly api: Signal<collapsible.Api> = this.machine.api;\n readonly isUnmounted: Signal<boolean> = computed(() => this.machine.isUnmounted());\n readonly service: collapsible.Service = this.machine.service;\n readonly send: collapsible.Service[\"send\"] = this.machine.send;\n\n protected readonly contextCarrier: ContextCarrier<CollapsibleRoot> =\n buildRootCarrier<CollapsibleRoot>({\n root: this,\n rootToken: COLLAPSIBLE_CONTEXT as ProviderToken<CollapsibleRoot>,\n originInjector: inject(Injector),\n environmentInjector: inject(EnvironmentInjector),\n });\n\n constructor() {\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.api().getRootProps(),\n });\n }\n}\n","import type * as collapsible from \"@wirekyt/dom/machines/collapsible\";\n\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n type InputSignal,\n type Signal,\n computed,\n forwardRef,\n inject,\n input,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { UseCollapsibleReturn } from \"./use\";\nimport { COLLAPSIBLE_CONTEXT } from \"./use-context\";\n\n@Directive({\n selector: \"[collapsibleRootProvider]\",\n standalone: true,\n exportAs: \"collapsibleRootProvider\",\n providers: [\n { provide: COLLAPSIBLE_CONTEXT, useExisting: forwardRef(() => CollapsibleRootProvider) },\n ],\n})\nexport class CollapsibleRootProvider implements UseCollapsibleReturn {\n readonly value: InputSignal<UseCollapsibleReturn> = input.required<UseCollapsibleReturn>();\n readonly state: Signal<collapsible.Service[\"state\"]> = computed(() => this.value().state());\n readonly api: Signal<collapsible.Api> = computed(() => this.value().api());\n readonly isUnmounted: Signal<boolean> = computed(() => this.value().isUnmounted());\n readonly send: collapsible.Service[\"send\"] = (event) => this.value().send(event);\n\n get service(): collapsible.Service {\n return this.value().service;\n }\n\n constructor() {\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.api().getRootProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectCollapsibleContext } from \"./use-context\";\n\n@Directive({\n selector: \"[collapsibleTrigger]\",\n standalone: true,\n exportAs: \"collapsibleTrigger\",\n})\nexport class CollapsibleTrigger {\n constructor() {\n const context = injectCollapsibleContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getTriggerProps(),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectCollapsibleContext } from \"./use-context\";\n\n@Directive({\n selector: \"[collapsibleContent]\",\n standalone: true,\n exportAs: \"collapsibleContent\",\n})\nexport class CollapsibleContent {\n private readonly context = injectCollapsibleContext();\n private readonly template = inject(TemplateRef<unknown>);\n private readonly viewContainer = inject(ViewContainerRef);\n private readonly elementRef = { nativeElement: null as HTMLElement | null };\n private view: EmbeddedViewRef<unknown> | undefined;\n\n constructor() {\n effect(() => {\n if (this.context.isUnmounted()) {\n this.elementRef.nativeElement = null;\n this.viewContainer.clear();\n this.view = undefined;\n return;\n }\n\n if (!this.view) {\n this.view = this.viewContainer.createEmbeddedView(this.template);\n this.elementRef.nativeElement =\n this.view.rootNodes.find((node: Node) => node.nodeType === 1) ?? null;\n }\n });\n\n bindProps({\n elementRef: this.elementRef as ElementRef<HTMLElement>,\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => {\n this.context.isUnmounted();\n return this.context.api().getContentProps();\n },\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectCollapsibleContext } from \"./use-context\";\n\n@Directive({\n selector: \"[collapsibleIndicator]\",\n standalone: true,\n exportAs: \"collapsibleIndicator\",\n})\nexport class CollapsibleIndicator {\n constructor() {\n const context = injectCollapsibleContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getIndicatorProps(),\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wirekyt-angular-collapsible.mjs","sources":["../../src/components/collapsible/use-context.ts","../../src/components/collapsible/use.ts","../../src/components/collapsible/root.ts","../../src/components/collapsible/root-provider.ts","../../src/components/collapsible/trigger.ts","../../src/components/collapsible/content.ts","../../src/components/collapsible/indicator.ts","../../src/components/collapsible/wirekyt-angular-collapsible.ts"],"sourcesContent":["import { InjectionToken, inject } from \"@angular/core\";\n\nimport type { UseCollapsibleReturn } from \"./use\";\n\nexport const COLLAPSIBLE_CONTEXT = new InjectionToken<UseCollapsibleReturn>(\n \"WIREKIT.COLLAPSIBLE_CONTEXT\",\n);\n\nexport function injectCollapsibleContext(): UseCollapsibleReturn {\n return inject(COLLAPSIBLE_CONTEXT);\n}\n","import { computed, effect, signal, type Signal } from \"@angular/core\";\nimport { useMachine, UseMachineReturn } from \"@wirekyt/angular\";\nimport { createId, injectEnvironment, injectLocale } from \"@wirekyt/angular\";\nimport { Machine } from \"@wirekyt/dom\";\nimport * as collapsible from \"@wirekyt/dom/machines/collapsible\";\n\ntype OptionalId<T extends { id: string }> = Omit<T, \"id\"> & { id?: string };\n\nexport interface UseCollapsibleProps extends OptionalId<\n Omit<collapsible.Props, \"dir\" | \"getRootNode\">\n> {\n lazyMount?: boolean;\n unmountOnExit?: boolean;\n}\n\nexport interface UseCollapsibleReturn extends UseMachineReturn<\n collapsible.Service[\"state\"],\n collapsible.Api,\n collapsible.Service\n> {\n readonly isUnmounted: Signal<boolean>;\n}\n\nexport interface UseCollapsibleOptions {\n context: () => UseCollapsibleProps;\n}\n\ntype CollapsibleContext = Record<string, unknown>;\ntype CollapsibleSchema = collapsible.Machine extends Machine<infer TSchema> ? TSchema : never;\n\nexport function useCollapsible(options: UseCollapsibleOptions): UseCollapsibleReturn {\n const locale = injectLocale();\n const environment = injectEnvironment();\n const fallbackId = createId();\n const wasVisible = signal(false);\n\n const machine = useMachine<CollapsibleSchema, collapsible.Api>({\n machine: collapsible.machine,\n context: () => {\n const props = options.context();\n const { lazyMount: _lazyMount, unmountOnExit: _unmountOnExit, ...collapsibleProps } = props;\n return {\n ...collapsibleProps,\n dir: locale.dir,\n getRootNode: environment.getRootNode,\n id: collapsibleProps.id ?? fallbackId,\n } as CollapsibleContext;\n },\n connect: (service, normalize) => collapsible.connect(service, normalize),\n });\n\n effect(() => {\n if (machine.api().visible) {\n wasVisible.set(true);\n }\n });\n\n const isUnmounted = computed(() => {\n const { lazyMount, unmountOnExit } = options.context();\n const visible = machine.api().visible;\n return Boolean(\n (!visible && !wasVisible() && lazyMount) || (unmountOnExit && !visible && wasVisible()),\n );\n });\n\n return {\n ...machine,\n isUnmounted,\n };\n}\n","import type * as collapsible from \"@wirekyt/dom/machines/collapsible\";\n\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n EnvironmentInjector,\n Injector,\n type ProviderToken,\n Renderer2,\n booleanAttribute,\n computed,\n forwardRef,\n inject,\n input,\n output,\n type InputSignal,\n type InputSignalWithTransform,\n type OutputEmitterRef,\n type Signal,\n} from \"@angular/core\";\nimport { bindProps, buildRootCarrier, ContextCarrier } from \"@wirekyt/angular\";\n\nimport { CollapsibleElementIds } from \"./types\";\nimport { useCollapsible, UseCollapsibleReturn } from \"./use\";\nimport { COLLAPSIBLE_CONTEXT } from \"./use-context\";\n\n@Directive({\n selector: \"[collapsible-root]\",\n standalone: true,\n exportAs: \"collapsibleRoot\",\n providers: [{ provide: COLLAPSIBLE_CONTEXT, useExisting: forwardRef(() => CollapsibleRoot) }],\n})\nexport class CollapsibleRoot implements UseCollapsibleReturn {\n readonly id: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly ids: InputSignal<Partial<CollapsibleElementIds> | undefined> = input<\n Partial<CollapsibleElementIds> | undefined\n >(undefined);\n readonly open: InputSignal<boolean | undefined> = input<boolean | undefined>(undefined);\n readonly openChange: OutputEmitterRef<collapsible.OpenChangeDetails> =\n output<collapsible.OpenChangeDetails>();\n readonly defaultOpen: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly disabled: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly collapsedHeight: InputSignal<number | string | undefined> = input<\n number | string | undefined\n >(undefined);\n readonly collapsedWidth: InputSignal<number | string | undefined> = input<\n number | string | undefined\n >(undefined);\n readonly lazyMount: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly unmountOnExit: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly exitComplete: OutputEmitterRef<void> = output<void>();\n\n private readonly machine = useCollapsible({\n context: () => ({\n id: this.id(),\n ids: this.ids(),\n open: this.open(),\n defaultOpen: this.defaultOpen(),\n disabled: this.disabled(),\n collapsedHeight: this.collapsedHeight(),\n collapsedWidth: this.collapsedWidth(),\n lazyMount: this.lazyMount(),\n unmountOnExit: this.unmountOnExit(),\n onOpenChange: (details) => {\n this.openChange.emit(details);\n },\n onExitComplete: () => {\n this.exitComplete.emit();\n },\n }),\n });\n\n readonly state: Signal<collapsible.Service[\"state\"]> = this.machine.state;\n readonly api: Signal<collapsible.Api> = this.machine.api;\n readonly isUnmounted: Signal<boolean> = computed(() => this.machine.isUnmounted());\n readonly service: collapsible.Service = this.machine.service;\n readonly send: collapsible.Service[\"send\"] = this.machine.send;\n\n protected readonly contextCarrier: ContextCarrier<CollapsibleRoot> =\n buildRootCarrier<CollapsibleRoot>({\n root: this,\n rootToken: COLLAPSIBLE_CONTEXT as ProviderToken<CollapsibleRoot>,\n originInjector: inject(Injector),\n environmentInjector: inject(EnvironmentInjector),\n });\n\n constructor() {\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.api().getRootProps(),\n });\n }\n}\n","import type * as collapsible from \"@wirekyt/dom/machines/collapsible\";\n\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n type InputSignal,\n type Signal,\n computed,\n forwardRef,\n inject,\n input,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { UseCollapsibleReturn } from \"./use\";\nimport { COLLAPSIBLE_CONTEXT } from \"./use-context\";\n\n@Directive({\n selector: \"[collapsible-root-provider]\",\n standalone: true,\n exportAs: \"collapsibleRootProvider\",\n providers: [\n { provide: COLLAPSIBLE_CONTEXT, useExisting: forwardRef(() => CollapsibleRootProvider) },\n ],\n})\nexport class CollapsibleRootProvider implements UseCollapsibleReturn {\n readonly value: InputSignal<UseCollapsibleReturn> = input.required<UseCollapsibleReturn>();\n readonly state: Signal<collapsible.Service[\"state\"]> = computed(() => this.value().state());\n readonly api: Signal<collapsible.Api> = computed(() => this.value().api());\n readonly isUnmounted: Signal<boolean> = computed(() => this.value().isUnmounted());\n readonly send: collapsible.Service[\"send\"] = (event) => this.value().send(event);\n\n get service(): collapsible.Service {\n return this.value().service;\n }\n\n constructor() {\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.api().getRootProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectCollapsibleContext } from \"./use-context\";\n\n@Directive({\n selector: \"[collapsible-trigger]\",\n standalone: true,\n exportAs: \"collapsibleTrigger\",\n})\nexport class CollapsibleTrigger {\n constructor() {\n const context = injectCollapsibleContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getTriggerProps(),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectCollapsibleContext } from \"./use-context\";\n\n@Directive({\n selector: \"[collapsible-content]\",\n standalone: true,\n exportAs: \"collapsibleContent\",\n})\nexport class CollapsibleContent {\n private readonly context = injectCollapsibleContext();\n private readonly template = inject(TemplateRef<unknown>);\n private readonly viewContainer = inject(ViewContainerRef);\n private readonly elementRef = { nativeElement: null as HTMLElement | null };\n private view: EmbeddedViewRef<unknown> | undefined;\n\n constructor() {\n effect(() => {\n if (this.context.isUnmounted()) {\n this.elementRef.nativeElement = null;\n this.viewContainer.clear();\n this.view = undefined;\n return;\n }\n\n if (!this.view) {\n this.view = this.viewContainer.createEmbeddedView(this.template);\n this.elementRef.nativeElement =\n this.view.rootNodes.find((node: Node) => node.nodeType === 1) ?? null;\n }\n });\n\n bindProps({\n elementRef: this.elementRef as ElementRef<HTMLElement>,\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => {\n this.context.isUnmounted();\n return this.context.api().getContentProps();\n },\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectCollapsibleContext } from \"./use-context\";\n\n@Directive({\n selector: \"[collapsible-indicator]\",\n standalone: true,\n exportAs: \"collapsibleIndicator\",\n})\nexport class CollapsibleIndicator {\n constructor() {\n const context = injectCollapsibleContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getIndicatorProps(),\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|