@wirekyt/angular 0.0.11 → 0.0.13
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/dist/fesm2022/wirekyt-angular-accordion.mjs +58 -22
- package/dist/fesm2022/wirekyt-angular-accordion.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-color-picker.mjs +92 -9
- package/dist/fesm2022/wirekyt-angular-color-picker.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-combobox.mjs +44 -74
- package/dist/fesm2022/wirekyt-angular-combobox.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-date-input.mjs +532 -0
- package/dist/fesm2022/wirekyt-angular-date-input.mjs.map +1 -0
- package/dist/fesm2022/wirekyt-angular-date-picker.mjs +1315 -0
- package/dist/fesm2022/wirekyt-angular-date-picker.mjs.map +1 -0
- package/dist/fesm2022/wirekyt-angular-presence.mjs +176 -0
- package/dist/fesm2022/wirekyt-angular-presence.mjs.map +1 -0
- package/dist/package.json +17 -5
- package/dist/types/wirekyt-angular-accordion.d.ts +5 -1
- package/dist/types/wirekyt-angular-accordion.d.ts.map +1 -1
- package/dist/types/wirekyt-angular-color-picker.d.ts +7 -3
- package/dist/types/wirekyt-angular-color-picker.d.ts.map +1 -1
- package/dist/types/wirekyt-angular-combobox.d.ts +7 -39
- package/dist/types/wirekyt-angular-combobox.d.ts.map +1 -1
- package/dist/types/wirekyt-angular-date-input.d.ts +164 -0
- package/dist/types/wirekyt-angular-date-input.d.ts.map +1 -0
- package/dist/types/wirekyt-angular-date-picker.d.ts +340 -0
- package/dist/types/wirekyt-angular-date-picker.d.ts.map +1 -0
- package/dist/types/wirekyt-angular-presence.d.ts +64 -0
- package/dist/types/wirekyt-angular-presence.d.ts.map +1 -0
- package/package.json +19 -7
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as accordion from '@wirekyt/dom/machines/accordion';
|
|
2
2
|
export { anatomy as accordionAnatomy } from '@wirekyt/dom/machines/accordion';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { InjectionToken, inject, input, booleanAttribute, model, output, DestroyRef, Renderer2, ElementRef, forwardRef, Directive, computed,
|
|
4
|
+
import { InjectionToken, inject, input, booleanAttribute, model, output, DestroyRef, Renderer2, ElementRef, forwardRef, Directive, computed, TemplateRef, ViewContainerRef, effect } from '@angular/core';
|
|
5
5
|
import { injectLocale, injectEnvironment, createId, useMachine, bindProps } from '@wirekyt/angular';
|
|
6
|
+
import { useCollapsible, COLLAPSIBLE_CONTEXT, injectCollapsibleContext } from '@wirekyt/angular/collapsible';
|
|
6
7
|
|
|
7
8
|
const ACCORDION_CONTEXT = new InjectionToken("WIREKIT.ACCORDION_CONTEXT");
|
|
8
9
|
function injectAccordionContext() {
|
|
@@ -137,40 +138,59 @@ class AccordionItem {
|
|
|
137
138
|
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
138
139
|
disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
139
140
|
root = injectAccordionContext();
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
itemState = computed(() => this.root.api().getItemState({ value: this.value(), disabled: this.disabled() }), /* @ts-ignore */
|
|
141
|
+
fallbackValue = createId();
|
|
142
|
+
itemState = computed(() => this.root.api().getItemState({ value: this.readValue(), disabled: this.disabled() }), /* @ts-ignore */
|
|
143
143
|
...(ngDevMode ? [{ debugName: "itemState" }] : /* istanbul ignore next */ []));
|
|
144
|
+
collapsible = useCollapsible({
|
|
145
|
+
context: () => ({
|
|
146
|
+
open: this.itemState().expanded,
|
|
147
|
+
ids: {
|
|
148
|
+
content: this.root
|
|
149
|
+
.api()
|
|
150
|
+
.getItemContentProps({ value: this.readValue(), disabled: this.disabled() })["id"],
|
|
151
|
+
},
|
|
152
|
+
lazyMount: this.root.lazyMount(),
|
|
153
|
+
unmountOnExit: this.root.unmountOnExit(),
|
|
154
|
+
}),
|
|
155
|
+
});
|
|
144
156
|
itemContext = {
|
|
145
|
-
value: computed(() => this.
|
|
157
|
+
value: computed(() => this.readValue()),
|
|
146
158
|
disabled: computed(() => this.disabled()),
|
|
147
159
|
state: this.itemState,
|
|
148
|
-
isUnmounted:
|
|
149
|
-
const visible = this.itemState().expanded;
|
|
150
|
-
return Boolean((!visible && !this.wasVisible() && this.root.lazyMount()) ||
|
|
151
|
-
(!visible && this.wasVisible() && this.root.unmountOnExit()));
|
|
152
|
-
}),
|
|
160
|
+
isUnmounted: this.collapsible.isUnmounted,
|
|
153
161
|
};
|
|
154
162
|
constructor() {
|
|
155
|
-
effect(() => {
|
|
156
|
-
if (this.itemState().expanded)
|
|
157
|
-
this.wasVisible.set(true);
|
|
158
|
-
});
|
|
159
163
|
bindProps({
|
|
160
164
|
elementRef: inject(ElementRef),
|
|
161
165
|
renderer: inject(Renderer2),
|
|
162
166
|
destroyRef: inject(DestroyRef),
|
|
163
|
-
props: () =>
|
|
164
|
-
|
|
165
|
-
|
|
167
|
+
props: () => ({
|
|
168
|
+
...this.collapsible.api().getRootProps(),
|
|
169
|
+
...this.root.api().getItemProps({
|
|
170
|
+
value: this.readValue(),
|
|
171
|
+
disabled: this.disabled(),
|
|
172
|
+
}),
|
|
166
173
|
}),
|
|
167
174
|
});
|
|
168
175
|
}
|
|
169
176
|
getItemContext() {
|
|
170
177
|
return this.itemContext;
|
|
171
178
|
}
|
|
179
|
+
readValue() {
|
|
180
|
+
try {
|
|
181
|
+
return this.value();
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
return this.fallbackValue;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
172
187
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: AccordionItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
173
188
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: AccordionItem, isStandalone: true, selector: "[accordionItem]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
189
|
+
{
|
|
190
|
+
provide: COLLAPSIBLE_CONTEXT,
|
|
191
|
+
useFactory: (item) => item.collapsible,
|
|
192
|
+
deps: [forwardRef(() => AccordionItem)],
|
|
193
|
+
},
|
|
174
194
|
{
|
|
175
195
|
provide: ACCORDION_ITEM_CONTEXT,
|
|
176
196
|
useFactory: (item) => item.getItemContext(),
|
|
@@ -185,6 +205,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImpor
|
|
|
185
205
|
standalone: true,
|
|
186
206
|
exportAs: "accordionItem",
|
|
187
207
|
providers: [
|
|
208
|
+
{
|
|
209
|
+
provide: COLLAPSIBLE_CONTEXT,
|
|
210
|
+
useFactory: (item) => item.collapsible,
|
|
211
|
+
deps: [forwardRef(() => AccordionItem)],
|
|
212
|
+
},
|
|
188
213
|
{
|
|
189
214
|
provide: ACCORDION_ITEM_CONTEXT,
|
|
190
215
|
useFactory: (item) => item.getItemContext(),
|
|
@@ -223,13 +248,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImpor
|
|
|
223
248
|
class AccordionItemContent {
|
|
224
249
|
context = injectAccordionContext();
|
|
225
250
|
item = injectAccordionItemContext();
|
|
251
|
+
collapsible = injectCollapsibleContext();
|
|
226
252
|
template = inject((TemplateRef));
|
|
227
253
|
viewContainer = inject(ViewContainerRef);
|
|
228
254
|
elementRef = { nativeElement: null };
|
|
229
255
|
view;
|
|
230
256
|
constructor() {
|
|
231
257
|
effect(() => {
|
|
232
|
-
if (this.
|
|
258
|
+
if (this.collapsible.isUnmounted()) {
|
|
233
259
|
this.elementRef.nativeElement = null;
|
|
234
260
|
this.viewContainer.clear();
|
|
235
261
|
this.view = undefined;
|
|
@@ -245,10 +271,20 @@ class AccordionItemContent {
|
|
|
245
271
|
elementRef: this.elementRef,
|
|
246
272
|
renderer: inject(Renderer2),
|
|
247
273
|
destroyRef: inject(DestroyRef),
|
|
248
|
-
props: () =>
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
274
|
+
props: () => {
|
|
275
|
+
this.collapsible.isUnmounted();
|
|
276
|
+
const collapsibleProps = this.collapsible.api().getContentProps();
|
|
277
|
+
const accordionProps = this.context.api().getItemContentProps({
|
|
278
|
+
value: this.item.value(),
|
|
279
|
+
disabled: this.item.disabled(),
|
|
280
|
+
});
|
|
281
|
+
return {
|
|
282
|
+
...collapsibleProps,
|
|
283
|
+
...accordionProps,
|
|
284
|
+
hidden: collapsibleProps["hidden"],
|
|
285
|
+
"data-state": collapsibleProps["data-state"],
|
|
286
|
+
};
|
|
287
|
+
},
|
|
252
288
|
});
|
|
253
289
|
}
|
|
254
290
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: AccordionItemContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wirekyt-angular-accordion.mjs","sources":["../../src/components/accordion/use-context.ts","../../src/components/accordion/use-item-context.ts","../../src/components/accordion/use.ts","../../src/components/accordion/root.ts","../../src/components/accordion/root-provider.ts","../../src/components/accordion/item.ts","../../src/components/accordion/item-trigger.ts","../../src/components/accordion/item-content.ts","../../src/components/accordion/item-indicator.ts","../../src/components/accordion/context.ts","../../src/components/accordion/item-context.ts","../../src/components/accordion/wirekyt-angular-accordion.ts"],"sourcesContent":["import { InjectionToken, inject, type Signal } from \"@angular/core\";\n\nimport type { UseAccordionReturn } from \"./use\";\n\nexport interface AccordionRootContext extends UseAccordionReturn {\n readonly lazyMount: Signal<boolean>;\n readonly unmountOnExit: Signal<boolean>;\n}\n\nexport const ACCORDION_CONTEXT = new InjectionToken<AccordionRootContext>(\n \"WIREKIT.ACCORDION_CONTEXT\",\n);\n\nexport function injectAccordionContext(): AccordionRootContext {\n return inject(ACCORDION_CONTEXT);\n}\n","import { InjectionToken, type Signal, inject } from \"@angular/core\";\nimport * as accordion from \"@wirekyt/dom/machines/accordion\";\n\nexport interface AccordionItemContext {\n readonly value: Signal<string>;\n readonly disabled: Signal<boolean | undefined>;\n readonly state: Signal<accordion.ItemState>;\n readonly isUnmounted: Signal<boolean>;\n}\n\nexport const ACCORDION_ITEM_CONTEXT = new InjectionToken<AccordionItemContext>(\n \"WIREKIT.ACCORDION_ITEM_CONTEXT\",\n);\n\nexport function injectAccordionItemContext(): AccordionItemContext {\n return inject(ACCORDION_ITEM_CONTEXT);\n}\n","import type { Machine } from \"@wirekyt/dom\";\n\nimport { useMachine, type UseMachineReturn } from \"@wirekyt/angular\";\nimport { createId, injectEnvironment, injectLocale } from \"@wirekyt/angular\";\nimport * as accordion from \"@wirekyt/dom/machines/accordion\";\n\ntype OptionalId<T extends { id: string }> = Omit<T, \"id\"> & { id?: string };\n\nexport interface UseAccordionProps extends OptionalId<\n Omit<accordion.Props, \"dir\" | \"getRootNode\">\n> {}\n\nexport type UseAccordionReturn = UseMachineReturn<\n accordion.Service[\"state\"],\n accordion.Api,\n accordion.Service\n>;\n\nexport interface UseAccordionOptions {\n context: () => UseAccordionProps;\n}\n\ntype AccordionContext = Record<string, unknown>;\ntype AccordionSchema = accordion.Machine extends Machine<infer TSchema> ? TSchema : never;\n\nexport function useAccordion(options: UseAccordionOptions): UseAccordionReturn {\n const locale = injectLocale();\n const environment = injectEnvironment();\n const fallbackId = createId();\n\n return useMachine<AccordionSchema, accordion.Api>({\n machine: accordion.machine,\n context: () => {\n const props = options.context();\n return {\n ...props,\n dir: locale.dir,\n getRootNode: environment.getRootNode,\n id: props.id ?? fallbackId,\n } as AccordionContext;\n },\n connect: (service, normalize) => accordion.connect(service, normalize),\n });\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n booleanAttribute,\n forwardRef,\n inject,\n input,\n model,\n output,\n type InputSignal,\n type InputSignalWithTransform,\n type ModelSignal,\n type OutputEmitterRef,\n type Signal,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\nimport * as accordion from \"@wirekyt/dom/machines/accordion\";\n\nimport type { AccordionElementIds, AccordionFocusChangeDetails } from \"./types\";\n\nimport { useAccordion, type UseAccordionReturn } from \"./use\";\nimport { ACCORDION_CONTEXT } from \"./use-context\";\n\nfunction areStringArraysEqual(left: string[] | undefined, right: string[]): boolean {\n return left?.length === right.length && left.every((value, index) => value === right[index]);\n}\n\n@Directive({\n selector: \"[accordionRoot]\",\n standalone: true,\n exportAs: \"accordionRoot\",\n providers: [{ provide: ACCORDION_CONTEXT, useExisting: forwardRef(() => AccordionRoot) }],\n})\nexport class AccordionRoot implements UseAccordionReturn {\n readonly id: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly ids: InputSignal<AccordionElementIds | undefined> = input<\n AccordionElementIds | undefined\n >(undefined);\n readonly multiple: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly collapsible: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly value: ModelSignal<string[] | undefined> = model<string[] | undefined>(undefined);\n readonly defaultValue: InputSignal<string[] | undefined> = input<string[] | undefined>(undefined);\n readonly disabled: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly orientation: InputSignal<accordion.Props[\"orientation\"]> =\n input<accordion.Props[\"orientation\"]>(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\n readonly focusChange: OutputEmitterRef<AccordionFocusChangeDetails> =\n output<AccordionFocusChangeDetails>();\n\n private readonly machine = useAccordion({\n context: () => ({\n id: this.id(),\n ids: this.ids(),\n multiple: this.multiple(),\n collapsible: this.collapsible(),\n value: this.value(),\n defaultValue: this.defaultValue(),\n disabled: this.disabled(),\n orientation: this.orientation(),\n onValueChange: (details) => {\n if (areStringArraysEqual(this.value(), details.value)) return;\n this.value.set(details.value);\n },\n onFocusChange: (details) => {\n this.focusChange.emit(details);\n },\n }),\n });\n\n readonly state: Signal<accordion.Service[\"state\"]> = this.machine.state;\n readonly api: Signal<accordion.Api> = this.machine.api;\n readonly service: accordion.Service = this.machine.service;\n readonly send: accordion.Service[\"send\"] = this.machine.send;\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 {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n booleanAttribute,\n type InputSignal,\n type InputSignalWithTransform,\n type Signal,\n computed,\n forwardRef,\n inject,\n input,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\nimport * as accordion from \"@wirekyt/dom/machines/accordion\";\n\nimport type { UseAccordionReturn } from \"./use\";\n\nimport { ACCORDION_CONTEXT } from \"./use-context\";\n\n@Directive({\n selector: \"[accordionRootProvider]\",\n standalone: true,\n exportAs: \"accordionRootProvider\",\n providers: [{ provide: ACCORDION_CONTEXT, useExisting: forwardRef(() => AccordionRootProvider) }],\n})\nexport class AccordionRootProvider implements UseAccordionReturn {\n readonly value: InputSignal<UseAccordionReturn> = input.required<UseAccordionReturn>();\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 state: Signal<accordion.Service[\"state\"]> = computed(() => this.value().state());\n readonly api: Signal<accordion.Api> = computed(() => this.value().api());\n readonly send: accordion.Service[\"send\"] = (event) => this.value().send(event);\n\n get service(): accordion.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 {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n booleanAttribute,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n signal,\n type InputSignal,\n type InputSignalWithTransform,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectAccordionContext } from \"./use-context\";\nimport { ACCORDION_ITEM_CONTEXT, type AccordionItemContext } from \"./use-item-context\";\n\n@Directive({\n selector: \"[accordionItem]\",\n standalone: true,\n exportAs: \"accordionItem\",\n providers: [\n {\n provide: ACCORDION_ITEM_CONTEXT,\n useFactory: (item: AccordionItem) => item.getItemContext(),\n deps: [forwardRef(() => AccordionItem)],\n },\n ],\n})\nexport class AccordionItem {\n readonly value: InputSignal<string> = input.required<string>();\n readonly disabled: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n\n private readonly root = injectAccordionContext();\n private readonly wasVisible = signal(false);\n private readonly itemState = computed(() =>\n this.root.api().getItemState({ value: this.value(), disabled: this.disabled() }),\n );\n private readonly itemContext: AccordionItemContext = {\n value: computed(() => this.value()),\n disabled: computed(() => this.disabled()),\n state: this.itemState,\n isUnmounted: computed(() => {\n const visible = this.itemState().expanded;\n return Boolean(\n (!visible && !this.wasVisible() && this.root.lazyMount()) ||\n (!visible && this.wasVisible() && this.root.unmountOnExit()),\n );\n }),\n };\n\n constructor() {\n effect(() => {\n if (this.itemState().expanded) this.wasVisible.set(true);\n });\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () =>\n this.root.api().getItemProps({\n value: this.value(),\n disabled: this.disabled(),\n }),\n });\n }\n\n getItemContext(): AccordionItemContext {\n return this.itemContext;\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectAccordionContext } from \"./use-context\";\nimport { injectAccordionItemContext } from \"./use-item-context\";\n\n@Directive({\n selector: \"[accordionItemTrigger]\",\n standalone: true,\n exportAs: \"accordionItemTrigger\",\n})\nexport class AccordionItemTrigger {\n constructor() {\n const context = injectAccordionContext();\n const item = injectAccordionItemContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () =>\n context.api().getItemTriggerProps({\n value: item.value(),\n disabled: item.disabled(),\n }),\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 { injectAccordionContext } from \"./use-context\";\nimport { injectAccordionItemContext } from \"./use-item-context\";\n\n@Directive({\n selector: \"[accordionItemContent]\",\n standalone: true,\n exportAs: \"accordionItemContent\",\n})\nexport class AccordionItemContent {\n private readonly context = injectAccordionContext();\n private readonly item = injectAccordionItemContext();\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.item.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.api().getItemContentProps({\n value: this.item.value(),\n disabled: this.item.disabled(),\n }),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectAccordionContext } from \"./use-context\";\nimport { injectAccordionItemContext } from \"./use-item-context\";\n\n@Directive({\n selector: \"[accordionItemIndicator]\",\n standalone: true,\n exportAs: \"accordionItemIndicator\",\n})\nexport class AccordionItemIndicator {\n constructor() {\n const context = injectAccordionContext();\n const item = injectAccordionItemContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () =>\n context.api().getItemIndicatorProps({\n value: item.value(),\n disabled: item.disabled(),\n }),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n} from \"@angular/core\";\n\nimport type { UseAccordionReturn } from \"./use\";\n\nimport { injectAccordionContext } from \"./use-context\";\n\nexport interface AccordionContextTemplate {\n $implicit: UseAccordionReturn[\"api\"];\n api: UseAccordionReturn[\"api\"];\n}\n\n@Directive({\n selector: \"[accordionContext]\",\n standalone: true,\n exportAs: \"accordionContext\",\n})\nexport class AccordionContext {\n static ngTemplateContextGuard(\n _directive: AccordionContext,\n context: unknown,\n ): context is AccordionContextTemplate {\n void context;\n return true;\n }\n\n private readonly accordion = injectAccordionContext();\n private readonly templateRef = inject<TemplateRef<AccordionContextTemplate>>(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n constructor() {\n const view = this.viewContainer.createEmbeddedView(this.templateRef, {\n $implicit: this.accordion.api,\n api: this.accordion.api,\n });\n\n effect(() => {\n this.accordion.api();\n view.detectChanges();\n });\n\n inject(DestroyRef).onDestroy(() => view.destroy());\n }\n}\n","import {\n DestroyRef,\n Directive,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n} from \"@angular/core\";\n\nimport type { AccordionItemContext as UseAccordionItemContext } from \"./use-item-context\";\n\nimport { injectAccordionItemContext } from \"./use-item-context\";\n\nexport interface AccordionItemContextTemplate {\n $implicit: UseAccordionItemContext;\n item: UseAccordionItemContext;\n}\n\n@Directive({\n selector: \"[accordionItemContext]\",\n standalone: true,\n exportAs: \"accordionItemContext\",\n})\nexport class AccordionItemContextDirective {\n static ngTemplateContextGuard(\n _directive: AccordionItemContextDirective,\n context: unknown,\n ): context is AccordionItemContextTemplate {\n void context;\n return true;\n }\n\n private readonly item = injectAccordionItemContext();\n private readonly templateRef = inject<TemplateRef<AccordionItemContextTemplate>>(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n constructor() {\n const view = this.viewContainer.createEmbeddedView(this.templateRef, {\n $implicit: this.item,\n item: this.item,\n });\n\n effect(() => {\n this.item.state();\n view.detectChanges();\n });\n\n inject(DestroyRef).onDestroy(() => view.destroy());\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-accordion.mjs","sources":["../../src/components/accordion/use-context.ts","../../src/components/accordion/use-item-context.ts","../../src/components/accordion/use.ts","../../src/components/accordion/root.ts","../../src/components/accordion/root-provider.ts","../../src/components/accordion/item.ts","../../src/components/accordion/item-trigger.ts","../../src/components/accordion/item-content.ts","../../src/components/accordion/item-indicator.ts","../../src/components/accordion/context.ts","../../src/components/accordion/item-context.ts","../../src/components/accordion/wirekyt-angular-accordion.ts"],"sourcesContent":["import { InjectionToken, inject, type Signal } from \"@angular/core\";\n\nimport type { UseAccordionReturn } from \"./use\";\n\nexport interface AccordionRootContext extends UseAccordionReturn {\n readonly lazyMount: Signal<boolean>;\n readonly unmountOnExit: Signal<boolean>;\n}\n\nexport const ACCORDION_CONTEXT = new InjectionToken<AccordionRootContext>(\n \"WIREKIT.ACCORDION_CONTEXT\",\n);\n\nexport function injectAccordionContext(): AccordionRootContext {\n return inject(ACCORDION_CONTEXT);\n}\n","import { InjectionToken, type Signal, inject } from \"@angular/core\";\nimport * as accordion from \"@wirekyt/dom/machines/accordion\";\n\nexport interface AccordionItemContext {\n readonly value: Signal<string>;\n readonly disabled: Signal<boolean | undefined>;\n readonly state: Signal<accordion.ItemState>;\n readonly isUnmounted: Signal<boolean>;\n}\n\nexport const ACCORDION_ITEM_CONTEXT = new InjectionToken<AccordionItemContext>(\n \"WIREKIT.ACCORDION_ITEM_CONTEXT\",\n);\n\nexport function injectAccordionItemContext(): AccordionItemContext {\n return inject(ACCORDION_ITEM_CONTEXT);\n}\n","import type { Machine } from \"@wirekyt/dom\";\n\nimport { useMachine, type UseMachineReturn } from \"@wirekyt/angular\";\nimport { createId, injectEnvironment, injectLocale } from \"@wirekyt/angular\";\nimport * as accordion from \"@wirekyt/dom/machines/accordion\";\n\ntype OptionalId<T extends { id: string }> = Omit<T, \"id\"> & { id?: string };\n\nexport interface UseAccordionProps extends OptionalId<\n Omit<accordion.Props, \"dir\" | \"getRootNode\">\n> {}\n\nexport type UseAccordionReturn = UseMachineReturn<\n accordion.Service[\"state\"],\n accordion.Api,\n accordion.Service\n>;\n\nexport interface UseAccordionOptions {\n context: () => UseAccordionProps;\n}\n\ntype AccordionContext = Record<string, unknown>;\ntype AccordionSchema = accordion.Machine extends Machine<infer TSchema> ? TSchema : never;\n\nexport function useAccordion(options: UseAccordionOptions): UseAccordionReturn {\n const locale = injectLocale();\n const environment = injectEnvironment();\n const fallbackId = createId();\n\n return useMachine<AccordionSchema, accordion.Api>({\n machine: accordion.machine,\n context: () => {\n const props = options.context();\n return {\n ...props,\n dir: locale.dir,\n getRootNode: environment.getRootNode,\n id: props.id ?? fallbackId,\n } as AccordionContext;\n },\n connect: (service, normalize) => accordion.connect(service, normalize),\n });\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n booleanAttribute,\n forwardRef,\n inject,\n input,\n model,\n output,\n type InputSignal,\n type InputSignalWithTransform,\n type ModelSignal,\n type OutputEmitterRef,\n type Signal,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\nimport * as accordion from \"@wirekyt/dom/machines/accordion\";\n\nimport type { AccordionElementIds, AccordionFocusChangeDetails } from \"./types\";\n\nimport { useAccordion, type UseAccordionReturn } from \"./use\";\nimport { ACCORDION_CONTEXT } from \"./use-context\";\n\nfunction areStringArraysEqual(left: string[] | undefined, right: string[]): boolean {\n return left?.length === right.length && left.every((value, index) => value === right[index]);\n}\n\n@Directive({\n selector: \"[accordionRoot]\",\n standalone: true,\n exportAs: \"accordionRoot\",\n providers: [{ provide: ACCORDION_CONTEXT, useExisting: forwardRef(() => AccordionRoot) }],\n})\nexport class AccordionRoot implements UseAccordionReturn {\n readonly id: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly ids: InputSignal<AccordionElementIds | undefined> = input<\n AccordionElementIds | undefined\n >(undefined);\n readonly multiple: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly collapsible: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly value: ModelSignal<string[] | undefined> = model<string[] | undefined>(undefined);\n readonly defaultValue: InputSignal<string[] | undefined> = input<string[] | undefined>(undefined);\n readonly disabled: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly orientation: InputSignal<accordion.Props[\"orientation\"]> =\n input<accordion.Props[\"orientation\"]>(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\n readonly focusChange: OutputEmitterRef<AccordionFocusChangeDetails> =\n output<AccordionFocusChangeDetails>();\n\n private readonly machine = useAccordion({\n context: () => ({\n id: this.id(),\n ids: this.ids(),\n multiple: this.multiple(),\n collapsible: this.collapsible(),\n value: this.value(),\n defaultValue: this.defaultValue(),\n disabled: this.disabled(),\n orientation: this.orientation(),\n onValueChange: (details) => {\n if (areStringArraysEqual(this.value(), details.value)) return;\n this.value.set(details.value);\n },\n onFocusChange: (details) => {\n this.focusChange.emit(details);\n },\n }),\n });\n\n readonly state: Signal<accordion.Service[\"state\"]> = this.machine.state;\n readonly api: Signal<accordion.Api> = this.machine.api;\n readonly service: accordion.Service = this.machine.service;\n readonly send: accordion.Service[\"send\"] = this.machine.send;\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 {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n booleanAttribute,\n type InputSignal,\n type InputSignalWithTransform,\n type Signal,\n computed,\n forwardRef,\n inject,\n input,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\nimport * as accordion from \"@wirekyt/dom/machines/accordion\";\n\nimport type { UseAccordionReturn } from \"./use\";\n\nimport { ACCORDION_CONTEXT } from \"./use-context\";\n\n@Directive({\n selector: \"[accordionRootProvider]\",\n standalone: true,\n exportAs: \"accordionRootProvider\",\n providers: [{ provide: ACCORDION_CONTEXT, useExisting: forwardRef(() => AccordionRootProvider) }],\n})\nexport class AccordionRootProvider implements UseAccordionReturn {\n readonly value: InputSignal<UseAccordionReturn> = input.required<UseAccordionReturn>();\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 state: Signal<accordion.Service[\"state\"]> = computed(() => this.value().state());\n readonly api: Signal<accordion.Api> = computed(() => this.value().api());\n readonly send: accordion.Service[\"send\"] = (event) => this.value().send(event);\n\n get service(): accordion.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 {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n booleanAttribute,\n computed,\n forwardRef,\n inject,\n input,\n type InputSignal,\n type InputSignalWithTransform,\n} from \"@angular/core\";\nimport { bindProps, createId } from \"@wirekyt/angular\";\nimport {\n COLLAPSIBLE_CONTEXT,\n useCollapsible,\n type UseCollapsibleReturn,\n} from \"@wirekyt/angular/collapsible\";\n\nimport { injectAccordionContext } from \"./use-context\";\nimport { ACCORDION_ITEM_CONTEXT, type AccordionItemContext } from \"./use-item-context\";\n\n@Directive({\n selector: \"[accordionItem]\",\n standalone: true,\n exportAs: \"accordionItem\",\n providers: [\n {\n provide: COLLAPSIBLE_CONTEXT,\n useFactory: (item: AccordionItem) => item.collapsible,\n deps: [forwardRef(() => AccordionItem)],\n },\n {\n provide: ACCORDION_ITEM_CONTEXT,\n useFactory: (item: AccordionItem) => item.getItemContext(),\n deps: [forwardRef(() => AccordionItem)],\n },\n ],\n})\nexport class AccordionItem {\n readonly value: InputSignal<string> = input.required<string>();\n readonly disabled: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n\n private readonly root = injectAccordionContext();\n private readonly fallbackValue = createId();\n private readonly itemState = computed(() =>\n this.root.api().getItemState({ value: this.readValue(), disabled: this.disabled() }),\n );\n readonly collapsible: UseCollapsibleReturn = useCollapsible({\n context: () => ({\n open: this.itemState().expanded,\n ids: {\n content: this.root\n .api()\n .getItemContentProps({ value: this.readValue(), disabled: this.disabled() })[\"id\"],\n },\n lazyMount: this.root.lazyMount(),\n unmountOnExit: this.root.unmountOnExit(),\n }),\n });\n private readonly itemContext: AccordionItemContext = {\n value: computed(() => this.readValue()),\n disabled: computed(() => this.disabled()),\n state: this.itemState,\n isUnmounted: this.collapsible.isUnmounted,\n };\n\n constructor() {\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => ({\n ...this.collapsible.api().getRootProps(),\n ...this.root.api().getItemProps({\n value: this.readValue(),\n disabled: this.disabled(),\n }),\n }),\n });\n }\n\n getItemContext(): AccordionItemContext {\n return this.itemContext;\n }\n\n private readValue(): string {\n try {\n return this.value();\n } catch {\n return this.fallbackValue;\n }\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectAccordionContext } from \"./use-context\";\nimport { injectAccordionItemContext } from \"./use-item-context\";\n\n@Directive({\n selector: \"[accordionItemTrigger]\",\n standalone: true,\n exportAs: \"accordionItemTrigger\",\n})\nexport class AccordionItemTrigger {\n constructor() {\n const context = injectAccordionContext();\n const item = injectAccordionItemContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () =>\n context.api().getItemTriggerProps({\n value: item.value(),\n disabled: item.disabled(),\n }),\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\";\nimport { injectCollapsibleContext } from \"@wirekyt/angular/collapsible\";\n\nimport { injectAccordionContext } from \"./use-context\";\nimport { injectAccordionItemContext } from \"./use-item-context\";\n\n@Directive({\n selector: \"[accordionItemContent]\",\n standalone: true,\n exportAs: \"accordionItemContent\",\n})\nexport class AccordionItemContent {\n private readonly context = injectAccordionContext();\n private readonly item = injectAccordionItemContext();\n private readonly collapsible = 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.collapsible.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.collapsible.isUnmounted();\n const collapsibleProps = this.collapsible.api().getContentProps();\n const accordionProps = this.context.api().getItemContentProps({\n value: this.item.value(),\n disabled: this.item.disabled(),\n });\n return {\n ...collapsibleProps,\n ...accordionProps,\n hidden: collapsibleProps[\"hidden\"],\n \"data-state\": collapsibleProps[\"data-state\"],\n };\n },\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectAccordionContext } from \"./use-context\";\nimport { injectAccordionItemContext } from \"./use-item-context\";\n\n@Directive({\n selector: \"[accordionItemIndicator]\",\n standalone: true,\n exportAs: \"accordionItemIndicator\",\n})\nexport class AccordionItemIndicator {\n constructor() {\n const context = injectAccordionContext();\n const item = injectAccordionItemContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () =>\n context.api().getItemIndicatorProps({\n value: item.value(),\n disabled: item.disabled(),\n }),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n} from \"@angular/core\";\n\nimport type { UseAccordionReturn } from \"./use\";\n\nimport { injectAccordionContext } from \"./use-context\";\n\nexport interface AccordionContextTemplate {\n $implicit: UseAccordionReturn[\"api\"];\n api: UseAccordionReturn[\"api\"];\n}\n\n@Directive({\n selector: \"[accordionContext]\",\n standalone: true,\n exportAs: \"accordionContext\",\n})\nexport class AccordionContext {\n static ngTemplateContextGuard(\n _directive: AccordionContext,\n context: unknown,\n ): context is AccordionContextTemplate {\n void context;\n return true;\n }\n\n private readonly accordion = injectAccordionContext();\n private readonly templateRef = inject<TemplateRef<AccordionContextTemplate>>(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n constructor() {\n const view = this.viewContainer.createEmbeddedView(this.templateRef, {\n $implicit: this.accordion.api,\n api: this.accordion.api,\n });\n\n effect(() => {\n this.accordion.api();\n view.detectChanges();\n });\n\n inject(DestroyRef).onDestroy(() => view.destroy());\n }\n}\n","import {\n DestroyRef,\n Directive,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n} from \"@angular/core\";\n\nimport type { AccordionItemContext as UseAccordionItemContext } from \"./use-item-context\";\n\nimport { injectAccordionItemContext } from \"./use-item-context\";\n\nexport interface AccordionItemContextTemplate {\n $implicit: UseAccordionItemContext;\n item: UseAccordionItemContext;\n}\n\n@Directive({\n selector: \"[accordionItemContext]\",\n standalone: true,\n exportAs: \"accordionItemContext\",\n})\nexport class AccordionItemContextDirective {\n static ngTemplateContextGuard(\n _directive: AccordionItemContextDirective,\n context: unknown,\n ): context is AccordionItemContextTemplate {\n void context;\n return true;\n }\n\n private readonly item = injectAccordionItemContext();\n private readonly templateRef = inject<TemplateRef<AccordionItemContextTemplate>>(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n constructor() {\n const view = this.viewContainer.createEmbeddedView(this.templateRef, {\n $implicit: this.item,\n item: this.item,\n });\n\n effect(() => {\n this.item.state();\n view.detectChanges();\n });\n\n inject(DestroyRef).onDestroy(() => view.destroy());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,9 @@ import * as colorPicker from '@wirekyt/dom/machines/color-picker';
|
|
|
2
2
|
import { anatomy } from '@wirekyt/dom/machines/color-picker';
|
|
3
3
|
export { parse as parseColor } from '@wirekyt/dom/machines/color-picker';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { InjectionToken, inject, computed, input, DestroyRef, Renderer2, ElementRef, forwardRef, Directive, signal, effect, TemplateRef, ViewContainerRef, model, booleanAttribute, output, EnvironmentInjector, Injector } from '@angular/core';
|
|
5
|
+
import { InjectionToken, inject, computed, input, DestroyRef, Renderer2, ElementRef, forwardRef, Directive, signal, effect, TemplateRef, ViewContainerRef, untracked, model, booleanAttribute, output, EnvironmentInjector, Injector } from '@angular/core';
|
|
6
6
|
import { bindProps, injectLocale, injectEnvironment, createId, useMachine, createCvaController, buildRootCarrier } from '@wirekyt/angular';
|
|
7
|
+
import { injectPresenceContext, PresenceBase, PRESENCE_CONTEXT } from '@wirekyt/angular/presence';
|
|
7
8
|
import { injectFieldContextOptional } from '@wirekyt/angular/field';
|
|
8
9
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
9
10
|
|
|
@@ -327,11 +328,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImpor
|
|
|
327
328
|
class ColorPickerContent {
|
|
328
329
|
constructor() {
|
|
329
330
|
const context = injectColorPickerContext();
|
|
331
|
+
const presence = injectPresenceContext();
|
|
332
|
+
const template = inject((TemplateRef), { optional: true });
|
|
333
|
+
const container = inject(ViewContainerRef);
|
|
334
|
+
const host = inject(ElementRef);
|
|
335
|
+
const elementRef = template ? { nativeElement: null } : host;
|
|
336
|
+
let view;
|
|
337
|
+
effect(() => {
|
|
338
|
+
const unmounted = presence.unmounted();
|
|
339
|
+
if (template) {
|
|
340
|
+
if (unmounted) {
|
|
341
|
+
elementRef.nativeElement = null;
|
|
342
|
+
container.clear();
|
|
343
|
+
view = undefined;
|
|
344
|
+
}
|
|
345
|
+
else if (!view) {
|
|
346
|
+
view = container.createEmbeddedView(template);
|
|
347
|
+
elementRef.nativeElement =
|
|
348
|
+
view.rootNodes.find((node) => node.nodeType === 1) ?? null;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
untracked(() => presence.setNode(elementRef.nativeElement));
|
|
352
|
+
});
|
|
330
353
|
bindProps({
|
|
331
|
-
elementRef
|
|
354
|
+
elementRef,
|
|
332
355
|
renderer: inject(Renderer2),
|
|
333
356
|
destroyRef: inject(DestroyRef),
|
|
334
|
-
props: () =>
|
|
357
|
+
props: () => {
|
|
358
|
+
presence.unmounted();
|
|
359
|
+
return { ...context.api().getContentProps(), ...presence.getPresenceProps() };
|
|
360
|
+
},
|
|
335
361
|
});
|
|
336
362
|
}
|
|
337
363
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ColorPickerContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -515,11 +541,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImpor
|
|
|
515
541
|
class ColorPickerPositioner {
|
|
516
542
|
constructor() {
|
|
517
543
|
const context = injectColorPickerContext();
|
|
544
|
+
const presence = injectPresenceContext();
|
|
545
|
+
const template = inject((TemplateRef), { optional: true });
|
|
546
|
+
const container = inject(ViewContainerRef);
|
|
547
|
+
const host = inject(ElementRef);
|
|
548
|
+
const elementRef = template ? { nativeElement: null } : host;
|
|
549
|
+
let view;
|
|
550
|
+
effect(() => {
|
|
551
|
+
const unmounted = presence.unmounted();
|
|
552
|
+
if (template) {
|
|
553
|
+
if (unmounted) {
|
|
554
|
+
elementRef.nativeElement = null;
|
|
555
|
+
container.clear();
|
|
556
|
+
view = undefined;
|
|
557
|
+
}
|
|
558
|
+
else if (!view) {
|
|
559
|
+
view = container.createEmbeddedView(template);
|
|
560
|
+
elementRef.nativeElement =
|
|
561
|
+
view.rootNodes.find((node) => node.nodeType === 1) ?? null;
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
});
|
|
518
565
|
bindProps({
|
|
519
|
-
elementRef
|
|
566
|
+
elementRef,
|
|
520
567
|
renderer: inject(Renderer2),
|
|
521
568
|
destroyRef: inject(DestroyRef),
|
|
522
|
-
props: () =>
|
|
569
|
+
props: () => {
|
|
570
|
+
presence.unmounted();
|
|
571
|
+
return { ...context.api().getPositionerProps(), hidden: presence.unmounted() };
|
|
572
|
+
},
|
|
523
573
|
});
|
|
524
574
|
}
|
|
525
575
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ColorPickerPositioner, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -566,7 +616,7 @@ function useColorPicker(options) {
|
|
|
566
616
|
});
|
|
567
617
|
}
|
|
568
618
|
|
|
569
|
-
class ColorPickerRoot {
|
|
619
|
+
class ColorPickerRoot extends PresenceBase {
|
|
570
620
|
id = input(undefined, /* @ts-ignore */
|
|
571
621
|
...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
|
|
572
622
|
ids = input(undefined, /* @ts-ignore */
|
|
@@ -652,13 +702,16 @@ class ColorPickerRoot {
|
|
|
652
702
|
api = this.machine.api;
|
|
653
703
|
service = this.machine.service;
|
|
654
704
|
send = this.machine.send;
|
|
705
|
+
presence = this.createPresence(() => this.api().open);
|
|
655
706
|
contextCarrier = buildRootCarrier({
|
|
707
|
+
providers: [{ provide: PRESENCE_CONTEXT, useValue: this.presence }],
|
|
656
708
|
root: this,
|
|
657
709
|
rootToken: COLOR_PICKER_CONTEXT,
|
|
658
710
|
originInjector: inject(Injector),
|
|
659
711
|
environmentInjector: inject(EnvironmentInjector),
|
|
660
712
|
});
|
|
661
713
|
constructor() {
|
|
714
|
+
super();
|
|
662
715
|
let firstRun = true;
|
|
663
716
|
effect(() => {
|
|
664
717
|
void this.value();
|
|
@@ -714,6 +767,11 @@ class ColorPickerRoot {
|
|
|
714
767
|
}
|
|
715
768
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ColorPickerRoot, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
716
769
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: ColorPickerRoot, isStandalone: true, selector: "[colorPickerRoot]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ids: { classPropertyName: "ids", publicName: "ids", 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 }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, defaultFormat: { classPropertyName: "defaultFormat", publicName: "defaultFormat", 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 }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, inline: { classPropertyName: "inline", publicName: "inline", isSignal: true, isRequired: false, transformFunction: null }, closeOnSelect: { classPropertyName: "closeOnSelect", publicName: "closeOnSelect", isSignal: true, isRequired: false, transformFunction: null }, openAutoFocus: { classPropertyName: "openAutoFocus", publicName: "openAutoFocus", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, positioning: { classPropertyName: "positioning", publicName: "positioning", isSignal: true, isRequired: false, transformFunction: null }, initialFocusEl: { classPropertyName: "initialFocusEl", publicName: "initialFocusEl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", format: "formatChange", open: "openChange", valueChangeEnd: "valueChangeEnd", focusOutside: "focusOutside", pointerDownOutside: "pointerDownOutside", interactOutside: "interactOutside" }, providers: [
|
|
770
|
+
{
|
|
771
|
+
provide: PRESENCE_CONTEXT,
|
|
772
|
+
useFactory: (root) => root.presence,
|
|
773
|
+
deps: [forwardRef(() => ColorPickerRoot)],
|
|
774
|
+
},
|
|
717
775
|
{ provide: COLOR_PICKER_CONTEXT, useExisting: forwardRef(() => ColorPickerRoot) },
|
|
718
776
|
{
|
|
719
777
|
provide: COLOR_PICKER_CONTEXT_CARRIER,
|
|
@@ -725,7 +783,7 @@ class ColorPickerRoot {
|
|
|
725
783
|
useExisting: forwardRef(() => ColorPickerRoot),
|
|
726
784
|
multi: true,
|
|
727
785
|
},
|
|
728
|
-
], exportAs: ["colorPickerRoot"], ngImport: i0 });
|
|
786
|
+
], exportAs: ["colorPickerRoot"], usesInheritance: true, ngImport: i0 });
|
|
729
787
|
}
|
|
730
788
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ColorPickerRoot, decorators: [{
|
|
731
789
|
type: Directive,
|
|
@@ -734,6 +792,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImpor
|
|
|
734
792
|
standalone: true,
|
|
735
793
|
exportAs: "colorPickerRoot",
|
|
736
794
|
providers: [
|
|
795
|
+
{
|
|
796
|
+
provide: PRESENCE_CONTEXT,
|
|
797
|
+
useFactory: (root) => root.presence,
|
|
798
|
+
deps: [forwardRef(() => ColorPickerRoot)],
|
|
799
|
+
},
|
|
737
800
|
{ provide: COLOR_PICKER_CONTEXT, useExisting: forwardRef(() => ColorPickerRoot) },
|
|
738
801
|
{
|
|
739
802
|
provide: COLOR_PICKER_CONTEXT_CARRIER,
|
|
@@ -756,7 +819,7 @@ function colorsEqual(a, b) {
|
|
|
756
819
|
return a.toString("css") === b.toString("css");
|
|
757
820
|
}
|
|
758
821
|
|
|
759
|
-
class ColorPickerRootProvider {
|
|
822
|
+
class ColorPickerRootProvider extends PresenceBase {
|
|
760
823
|
value = input.required(/* @ts-ignore */
|
|
761
824
|
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
762
825
|
state = computed(() => this.value().state(), /* @ts-ignore */
|
|
@@ -767,13 +830,23 @@ class ColorPickerRootProvider {
|
|
|
767
830
|
get service() {
|
|
768
831
|
return this.value().service;
|
|
769
832
|
}
|
|
833
|
+
presence = this.createPresence(() => {
|
|
834
|
+
try {
|
|
835
|
+
return this.api().open;
|
|
836
|
+
}
|
|
837
|
+
catch {
|
|
838
|
+
return false;
|
|
839
|
+
}
|
|
840
|
+
});
|
|
770
841
|
contextCarrier = buildRootCarrier({
|
|
842
|
+
providers: [{ provide: PRESENCE_CONTEXT, useValue: this.presence }],
|
|
771
843
|
root: this,
|
|
772
844
|
rootToken: COLOR_PICKER_CONTEXT,
|
|
773
845
|
originInjector: inject(Injector),
|
|
774
846
|
environmentInjector: inject(EnvironmentInjector),
|
|
775
847
|
});
|
|
776
848
|
constructor() {
|
|
849
|
+
super();
|
|
777
850
|
bindProps({
|
|
778
851
|
elementRef: inject(ElementRef),
|
|
779
852
|
renderer: inject(Renderer2),
|
|
@@ -786,13 +859,18 @@ class ColorPickerRootProvider {
|
|
|
786
859
|
}
|
|
787
860
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ColorPickerRootProvider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
788
861
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.3", type: ColorPickerRootProvider, isStandalone: true, selector: "[colorPickerRootProvider]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
|
|
862
|
+
{
|
|
863
|
+
provide: PRESENCE_CONTEXT,
|
|
864
|
+
useFactory: (provider) => provider.presence,
|
|
865
|
+
deps: [forwardRef(() => ColorPickerRootProvider)],
|
|
866
|
+
},
|
|
789
867
|
{ provide: COLOR_PICKER_CONTEXT, useExisting: forwardRef(() => ColorPickerRootProvider) },
|
|
790
868
|
{
|
|
791
869
|
provide: COLOR_PICKER_CONTEXT_CARRIER,
|
|
792
870
|
useFactory: (provider) => provider.getContextCarrier(),
|
|
793
871
|
deps: [forwardRef(() => ColorPickerRootProvider)],
|
|
794
872
|
},
|
|
795
|
-
], exportAs: ["colorPickerRootProvider"], ngImport: i0 });
|
|
873
|
+
], exportAs: ["colorPickerRootProvider"], usesInheritance: true, ngImport: i0 });
|
|
796
874
|
}
|
|
797
875
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ColorPickerRootProvider, decorators: [{
|
|
798
876
|
type: Directive,
|
|
@@ -801,6 +879,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImpor
|
|
|
801
879
|
standalone: true,
|
|
802
880
|
exportAs: "colorPickerRootProvider",
|
|
803
881
|
providers: [
|
|
882
|
+
{
|
|
883
|
+
provide: PRESENCE_CONTEXT,
|
|
884
|
+
useFactory: (provider) => provider.presence,
|
|
885
|
+
deps: [forwardRef(() => ColorPickerRootProvider)],
|
|
886
|
+
},
|
|
804
887
|
{ provide: COLOR_PICKER_CONTEXT, useExisting: forwardRef(() => ColorPickerRootProvider) },
|
|
805
888
|
{
|
|
806
889
|
provide: COLOR_PICKER_CONTEXT_CARRIER,
|