@wirekyt/angular 0.0.6 → 0.0.8

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wirekyt-angular-checkbox.mjs","sources":["../../src/components/checkbox/anatomy.ts","../../src/components/checkbox/use-context.ts","../../src/components/checkbox/context.ts","../../src/components/checkbox/control.ts","../../src/components/checkbox/use-group.ts","../../src/components/checkbox/use-group-context.ts","../../src/components/checkbox/group.ts","../../src/components/checkbox/group-provider.ts","../../src/components/checkbox/hidden-input.ts","../../src/components/checkbox/indicator.ts","../../src/components/checkbox/label.ts","../../src/components/checkbox/use.ts","../../src/components/checkbox/root.ts","../../src/components/checkbox/root-provider.ts","../../src/components/checkbox/wirekyt-angular-checkbox.ts"],"sourcesContent":["import { anatomy } from \"@wirekyt/dom/machines/checkbox\";\n\nexport const checkboxAnatomy = anatomy.extendWith(\"group\");\n","import { InjectionToken, inject } from \"@angular/core\";\n\nimport type { UseCheckboxReturn } from \"./use\";\n\nexport const CHECKBOX_CONTEXT = new InjectionToken<UseCheckboxReturn>(\"WIREKYT.CHECKBOX_CONTEXT\");\n\nexport function injectCheckboxContext(): UseCheckboxReturn {\n return inject(CHECKBOX_CONTEXT);\n}\n","import {\n DestroyRef,\n Directive,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n} from \"@angular/core\";\n\nimport type { UseCheckboxReturn } from \"./use\";\n\nimport { injectCheckboxContext } from \"./use-context\";\n\nexport interface CheckboxContextTemplate {\n $implicit: UseCheckboxReturn[\"api\"];\n api: UseCheckboxReturn[\"api\"];\n}\n\n@Directive({\n selector: \"[checkboxContext]\",\n standalone: true,\n exportAs: \"checkboxContext\",\n})\nexport class CheckboxContext {\n static ngTemplateContextGuard(\n _directive: CheckboxContext,\n context: unknown,\n ): context is CheckboxContextTemplate {\n void context;\n return true;\n }\n\n private readonly checkbox = injectCheckboxContext();\n private readonly templateRef = inject<TemplateRef<CheckboxContextTemplate>>(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n constructor() {\n const view = this.viewContainer.createEmbeddedView(this.templateRef, {\n $implicit: this.checkbox.api,\n api: this.checkbox.api,\n });\n\n effect(() => {\n this.checkbox.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 { injectCheckboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[checkboxControl]\",\n standalone: true,\n exportAs: \"checkboxControl\",\n})\nexport class CheckboxControl {\n constructor() {\n const context = injectCheckboxContext();\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 computed,\n effect,\n signal,\n untracked,\n type Signal,\n type WritableSignal,\n} from \"@angular/core\";\nimport { injectFieldsetContextOptional } from \"@wirekyt/angular/fieldset\";\n\nexport interface UseCheckboxGroupProps {\n defaultValue?: string[] | undefined;\n value?: string[] | undefined;\n name?: string | undefined;\n onValueChange?: ((value: string[]) => void) | undefined;\n disabled?: boolean | undefined;\n readOnly?: boolean | undefined;\n invalid?: boolean | undefined;\n maxSelectedValues?: number | undefined;\n}\n\nexport interface CheckboxGroupItemProps {\n value: string | undefined;\n}\n\nexport interface CheckboxGroupItemContext {\n checked: boolean | undefined;\n onCheckedChange: () => void;\n name: string | undefined;\n disabled: boolean | undefined;\n readOnly: boolean | undefined;\n invalid: boolean | undefined;\n}\n\nexport interface UseCheckboxGroupReturn {\n readonly value: Signal<string[]>;\n readonly name: Signal<string | undefined>;\n readonly disabled: Signal<boolean>;\n readonly readOnly: Signal<boolean>;\n readonly invalid: Signal<boolean>;\n isChecked(value: string | undefined): boolean;\n setValue(value: string[]): void;\n addValue(value: string): void;\n removeValue(value: string): void;\n toggleValue(value: string): void;\n getItemProps(props: CheckboxGroupItemProps): CheckboxGroupItemContext;\n}\n\nexport interface UseCheckboxGroupOptions {\n context: () => UseCheckboxGroupProps;\n}\n\nconst uniqueValues = (values: string[]): string[] =>\n Array.from(new Set(values.map((value) => String(value))));\n\nexport function useCheckboxGroup(\n options: UseCheckboxGroupOptions = { context: () => ({}) },\n): UseCheckboxGroupReturn {\n const fieldset = injectFieldsetContextOptional();\n const uncontrolledValue: WritableSignal<string[]> = signal(\n uniqueValues(options.context().defaultValue ?? []),\n );\n let defaultEffectInitialized = false;\n let defaultHydrationChecked = false;\n let userTouched = false;\n\n const resolved = computed(() => {\n const props = options.context();\n return {\n defaultValue: props.defaultValue,\n value: props.value,\n name: props.name,\n disabled: Boolean(props.disabled) || Boolean(fieldset?.disabled()),\n readOnly: Boolean(props.readOnly),\n invalid: Boolean(props.invalid) || Boolean(fieldset?.invalid()),\n maxSelectedValues: props.maxSelectedValues,\n onValueChange: props.onValueChange,\n };\n });\n\n const value = computed(() =>\n uniqueValues(\n resolved().value ??\n (userTouched ? uncontrolledValue() : (resolved().defaultValue ?? uncontrolledValue())),\n ),\n );\n const name = computed(() => resolved().name);\n const disabled = computed(() => resolved().disabled);\n const readOnly = computed(() => resolved().readOnly);\n const invalid = computed(() => resolved().invalid);\n const interactive = computed(() => !(disabled() || readOnly()));\n const isAtMax = computed(() => {\n const max = resolved().maxSelectedValues;\n return max != null && value().length >= max;\n });\n\n const setValue = (nextValue: string[]): void => {\n const next = uniqueValues(nextValue);\n if (resolved().value === undefined) {\n userTouched = true;\n uncontrolledValue.set(next);\n }\n untracked(() => resolved().onValueChange?.(next));\n };\n\n effect(() => {\n const next = resolved();\n if (!defaultEffectInitialized) {\n defaultEffectInitialized = true;\n return;\n }\n if (userTouched || next.value !== undefined || defaultHydrationChecked) return;\n defaultHydrationChecked = true;\n if (next.defaultValue === undefined) return;\n uncontrolledValue.set(uniqueValues(next.defaultValue));\n });\n\n const isChecked = (itemValue: string | undefined): boolean => {\n if (itemValue == null) return false;\n return value().some((current) => String(current) === String(itemValue));\n };\n\n const addValue = (itemValue: string): void => {\n if (!interactive()) return;\n if (isChecked(itemValue)) return;\n if (isAtMax()) return;\n setValue(value().concat(itemValue));\n };\n\n const removeValue = (itemValue: string): void => {\n if (!interactive()) return;\n setValue(value().filter((current) => String(current) !== String(itemValue)));\n };\n\n const toggleValue = (itemValue: string): void => {\n if (isChecked(itemValue)) {\n removeValue(itemValue);\n } else {\n addValue(itemValue);\n }\n };\n\n const getItemProps = (props: CheckboxGroupItemProps): CheckboxGroupItemContext => {\n const checked = props.value != null ? isChecked(props.value) : undefined;\n return {\n checked,\n onCheckedChange() {\n if (props.value != null) {\n toggleValue(props.value);\n }\n },\n name: name(),\n disabled: disabled() || (isAtMax() && !checked) || undefined,\n readOnly: readOnly() || undefined,\n invalid: invalid() || undefined,\n };\n };\n\n return {\n value,\n name,\n disabled,\n readOnly,\n invalid,\n isChecked,\n setValue,\n addValue,\n removeValue,\n toggleValue,\n getItemProps,\n };\n}\n","import { InjectionToken, inject } from \"@angular/core\";\n\nimport type { UseCheckboxGroupReturn } from \"./use-group\";\n\nexport const CHECKBOX_GROUP_CONTEXT = new InjectionToken<UseCheckboxGroupReturn>(\n \"WIREKYT.CHECKBOX_GROUP_CONTEXT\",\n);\n\nexport function injectCheckboxGroupContext(): UseCheckboxGroupReturn {\n return inject(CHECKBOX_GROUP_CONTEXT);\n}\n\nexport function injectCheckboxGroupContextOptional(): UseCheckboxGroupReturn | null {\n return inject(CHECKBOX_GROUP_CONTEXT, { optional: true });\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n booleanAttribute,\n forwardRef,\n inject,\n input,\n model,\n type InputSignal,\n type InputSignalWithTransform,\n type ModelSignal,\n type Signal,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { checkboxAnatomy } from \"./anatomy\";\nimport { useCheckboxGroup, type UseCheckboxGroupReturn } from \"./use-group\";\nimport { CHECKBOX_GROUP_CONTEXT } from \"./use-group-context\";\n\n@Directive({\n selector: \"[checkboxGroup]\",\n standalone: true,\n exportAs: \"checkboxGroup\",\n providers: [{ provide: CHECKBOX_GROUP_CONTEXT, useExisting: forwardRef(() => CheckboxGroup) }],\n})\nexport class CheckboxGroup implements UseCheckboxGroupReturn {\n readonly defaultValue: InputSignal<string[] | undefined> = input<string[] | undefined>(undefined);\n readonly valueModel: ModelSignal<string[] | undefined> = model<string[] | undefined>(undefined, {\n alias: \"value\",\n });\n readonly nameInput: InputSignal<string | undefined> = input<string | undefined>(undefined, {\n alias: \"name\",\n });\n readonly disabledInput: InputSignalWithTransform<boolean, unknown> = input(false, {\n alias: \"disabled\",\n transform: booleanAttribute,\n });\n readonly readOnlyInput: InputSignalWithTransform<boolean, unknown> = input(false, {\n alias: \"readOnly\",\n transform: booleanAttribute,\n });\n readonly invalidInput: InputSignalWithTransform<boolean, unknown> = input(false, {\n alias: \"invalid\",\n transform: booleanAttribute,\n });\n readonly maxSelectedValues: InputSignal<number | undefined> = input<number | undefined>(\n undefined,\n );\n\n private readonly group = useCheckboxGroup({\n context: () => ({\n defaultValue: this.defaultValue(),\n value: this.valueModel(),\n name: this.nameInput(),\n disabled: this.disabledInput(),\n readOnly: this.readOnlyInput(),\n invalid: this.invalidInput(),\n maxSelectedValues: this.maxSelectedValues(),\n onValueChange: (value) => this.valueModel.set(value),\n }),\n });\n\n readonly value: Signal<string[]> = this.group.value;\n readonly name: Signal<string | undefined> = this.group.name;\n readonly disabled: Signal<boolean> = this.group.disabled;\n readonly readOnly: Signal<boolean> = this.group.readOnly;\n readonly invalid: Signal<boolean> = this.group.invalid;\n\n isChecked(value: string | undefined): boolean {\n return this.group.isChecked(value);\n }\n\n setValue(value: string[]): void {\n this.group.setValue(value);\n }\n\n addValue(value: string): void {\n this.group.addValue(value);\n }\n\n removeValue(value: string): void {\n this.group.removeValue(value);\n }\n\n toggleValue(value: string): void {\n this.group.toggleValue(value);\n }\n\n getItemProps(\n props: Parameters<UseCheckboxGroupReturn[\"getItemProps\"]>[0],\n ): ReturnType<UseCheckboxGroupReturn[\"getItemProps\"]> {\n return this.group.getItemProps(props);\n }\n\n constructor() {\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => ({ role: \"group\", ...checkboxAnatomy.build().group.attrs }),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n forwardRef,\n inject,\n input,\n type InputSignal,\n type Signal,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport type { UseCheckboxGroupReturn } from \"./use-group\";\n\nimport { checkboxAnatomy } from \"./anatomy\";\nimport { CHECKBOX_GROUP_CONTEXT } from \"./use-group-context\";\n\n@Directive({\n selector: \"[checkboxGroupProvider]\",\n standalone: true,\n exportAs: \"checkboxGroupProvider\",\n providers: [\n { provide: CHECKBOX_GROUP_CONTEXT, useExisting: forwardRef(() => CheckboxGroupProvider) },\n ],\n})\nexport class CheckboxGroupProvider implements UseCheckboxGroupReturn {\n readonly groupValue: InputSignal<UseCheckboxGroupReturn> = input.required<UseCheckboxGroupReturn>(\n { alias: \"value\" },\n );\n\n get value(): Signal<string[]> {\n return this.groupValue().value;\n }\n get name(): Signal<string | undefined> {\n return this.groupValue().name;\n }\n get disabled(): Signal<boolean> {\n return this.groupValue().disabled;\n }\n get readOnly(): Signal<boolean> {\n return this.groupValue().readOnly;\n }\n get invalid(): Signal<boolean> {\n return this.groupValue().invalid;\n }\n\n isChecked(value: string | undefined): boolean {\n return this.groupValue().isChecked(value);\n }\n\n setValue(value: string[]): void {\n this.groupValue().setValue(value);\n }\n\n addValue(value: string): void {\n this.groupValue().addValue(value);\n }\n\n removeValue(value: string): void {\n this.groupValue().removeValue(value);\n }\n\n toggleValue(value: string): void {\n this.groupValue().toggleValue(value);\n }\n\n getItemProps(\n props: Parameters<UseCheckboxGroupReturn[\"getItemProps\"]>[0],\n ): ReturnType<UseCheckboxGroupReturn[\"getItemProps\"]> {\n return this.groupValue().getItemProps(props);\n }\n\n constructor() {\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => ({ role: \"group\", ...checkboxAnatomy.build().group.attrs }),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\nimport { injectFieldContextOptional } from \"@wirekyt/angular/field\";\n\nimport { injectCheckboxContext } from \"./use-context\";\n\ntype BlurHandler = (event: FocusEvent) => void;\ntype TouchedContext = { markTouched?: () => void };\n\n@Directive({\n selector: \"[checkboxHiddenInput]\",\n standalone: true,\n exportAs: \"checkboxHiddenInput\",\n})\nexport class CheckboxHiddenInput {\n constructor() {\n const context = injectCheckboxContext();\n const field = injectFieldContextOptional();\n\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => {\n const props = context.api().getHiddenInputProps() as Record<string, unknown>;\n const onBlur = props[\"onBlur\"] as BlurHandler | undefined;\n return {\n ...props,\n \"aria-describedby\": field?.ariaDescribedby(),\n onBlur: (event: FocusEvent) => {\n onBlur?.(event);\n (context as TouchedContext).markTouched?.();\n },\n };\n },\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n booleanAttribute,\n inject,\n input,\n type InputSignalWithTransform,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectCheckboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[checkboxIndicator]\",\n standalone: true,\n exportAs: \"checkboxIndicator\",\n})\nexport class CheckboxIndicator {\n readonly indeterminate: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n\n constructor() {\n const context = injectCheckboxContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => {\n const api = context.api();\n return {\n ...api.getIndicatorProps(),\n hidden: this.indeterminate() ? !api.indeterminate : !api.checked,\n };\n },\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectCheckboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[checkboxLabel]\",\n standalone: true,\n exportAs: \"checkboxLabel\",\n})\nexport class CheckboxLabel {\n constructor() {\n const context = injectCheckboxContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getLabelProps(),\n });\n }\n}\n","import type { Machine } from \"@wirekyt/dom\";\n\nimport {\n createId,\n injectEnvironment,\n injectLocale,\n useMachine,\n UseMachineReturn,\n} from \"@wirekyt/angular\";\nimport { injectFieldContextOptional } from \"@wirekyt/angular/field\";\nimport * as checkbox from \"@wirekyt/dom/machines/checkbox\";\n\nimport type { CheckboxCheckedChangeDetails, CheckboxMachineProps } from \"./types\";\n\nimport { injectCheckboxGroupContextOptional } from \"./use-group-context\";\n\ntype OptionalId<T extends { id: string }> = Omit<T, \"id\"> & { id?: string };\n\nexport interface UseCheckboxProps extends OptionalId<\n Omit<CheckboxMachineProps, \"dir\" | \"getRootNode\">\n> {}\n\nexport type UseCheckboxReturn = UseMachineReturn<\n checkbox.Service[\"state\"],\n checkbox.Api,\n checkbox.Service\n>;\n\nexport interface UseCheckboxOptions {\n context: () => UseCheckboxProps;\n}\n\ntype CheckboxContext = Record<string, unknown>;\ntype CheckboxSchema = checkbox.Machine extends Machine<infer TSchema> ? TSchema : never;\n\nexport function useCheckbox(\n options: UseCheckboxOptions = { context: () => ({}) },\n): UseCheckboxReturn {\n const locale = injectLocale();\n const environment = injectEnvironment();\n const field = injectFieldContextOptional();\n const group = injectCheckboxGroupContextOptional();\n const fallbackId = createId();\n\n return useMachine<CheckboxSchema, checkbox.Api>({\n machine: checkbox.machine,\n context: () => {\n const ownProps = options.context();\n const groupProps = group?.getItemProps({ value: ownProps.value });\n const groupCheckedChange = groupProps?.onCheckedChange;\n const ownCheckedChange = ownProps.onCheckedChange;\n const ids = {\n label: field?.ids.label,\n hiddenInput: field?.ids.control,\n ...ownProps.ids,\n };\n\n return {\n dir: locale.dir,\n getRootNode: environment.getRootNode,\n ...groupProps,\n ...ownProps,\n id: ownProps.id ?? fallbackId,\n ids,\n checked: ownProps.checked ?? groupProps?.checked,\n name: ownProps.name ?? groupProps?.name,\n disabled:\n Boolean(groupProps?.disabled) ||\n Boolean(ownProps.disabled) ||\n Boolean(field?.disabled()) ||\n undefined,\n invalid:\n Boolean(groupProps?.invalid) ||\n Boolean(ownProps.invalid) ||\n Boolean(field?.invalid()) ||\n undefined,\n readOnly:\n Boolean(groupProps?.readOnly) ||\n Boolean(ownProps.readOnly) ||\n Boolean(field?.readOnly()) ||\n undefined,\n required: Boolean(ownProps.required) || Boolean(field?.required()) || undefined,\n onCheckedChange: (details: CheckboxCheckedChangeDetails) => {\n groupCheckedChange?.();\n ownCheckedChange?.(details);\n },\n } as CheckboxContext;\n },\n connect: (service, normalize) => checkbox.connect(service, normalize),\n });\n}\n","import type * as checkbox from \"@wirekyt/dom/machines/checkbox\";\n\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n booleanAttribute,\n effect,\n forwardRef,\n inject,\n input,\n model,\n output,\n signal,\n type InputSignal,\n type InputSignalWithTransform,\n type ModelSignal,\n type OutputEmitterRef,\n type Signal,\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR, type ControlValueAccessor } from \"@angular/forms\";\nimport { bindProps, createCvaController } from \"@wirekyt/angular\";\n\nimport type {\n CheckboxCheckedChangeDetails,\n CheckboxCheckedState,\n CheckboxElementIds,\n} from \"./types\";\n\nimport { useCheckbox, type UseCheckboxReturn } from \"./use\";\nimport { CHECKBOX_CONTEXT } from \"./use-context\";\nimport { injectCheckboxGroupContextOptional } from \"./use-group-context\";\n\n@Directive({\n selector: \"[checkboxRoot]\",\n standalone: true,\n exportAs: \"checkboxRoot\",\n providers: [\n { provide: CHECKBOX_CONTEXT, useExisting: forwardRef(() => CheckboxRoot) },\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => CheckboxRoot), multi: true },\n ],\n})\nexport class CheckboxRoot implements ControlValueAccessor, UseCheckboxReturn {\n readonly id: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly elementIds: InputSignal<CheckboxElementIds | undefined> = input<\n CheckboxElementIds | undefined\n >(undefined, {\n alias: \"ids\",\n });\n readonly checked: ModelSignal<CheckboxCheckedState | undefined> = model<\n CheckboxCheckedState | undefined\n >(undefined);\n readonly defaultChecked: InputSignalWithTransform<CheckboxCheckedState | undefined, unknown> =\n input<CheckboxCheckedState | undefined, unknown>(undefined, {\n transform: (value) =>\n typeof value === \"boolean\"\n ? value\n : value === \"indeterminate\"\n ? value\n : booleanAttribute(value),\n });\n readonly disabled: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly invalid: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly required: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly readOnly: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly name: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly form: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly value: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly checkedDetailsChange: OutputEmitterRef<CheckboxCheckedChangeDetails> =\n output<CheckboxCheckedChangeDetails>();\n\n private readonly group = injectCheckboxGroupContextOptional();\n private readonly disabledFromForm = signal(false);\n private pendingInternalWrites = 0;\n private hasExternalCheckedBinding = false;\n private hasReceivedFormWrite = false;\n\n private readonly cva = createCvaController<CheckboxCheckedState>({\n value: this.checked,\n setDisabled: (disabled) => this.disabledFromForm.set(disabled),\n componentName: \"CheckboxRoot\",\n hasExternalModelBinding: () => this.hasExternalCheckedBinding,\n });\n\n private readonly machine = useCheckbox({\n context: () => ({\n id: this.id(),\n ids: this.elementIds(),\n checked: this.checked(),\n defaultChecked: this.defaultChecked(),\n disabled: this.disabled() || this.disabledFromForm() || undefined,\n invalid: this.invalid() || undefined,\n required: this.required() || undefined,\n readOnly: this.readOnly() || undefined,\n name: this.name(),\n form: this.form(),\n value: this.value(),\n onCheckedChange: (details: CheckboxCheckedChangeDetails) => {\n const shouldWriteModel =\n !this.group || this.hasExternalCheckedBinding || this.checked() !== undefined;\n if (shouldWriteModel && this.checked() !== details.checked) {\n this.pendingInternalWrites++;\n this.checked.set(details.checked);\n }\n this.checkedDetailsChange.emit(details);\n this.cva.notifyValueChange(details.checked);\n },\n }),\n });\n\n readonly state: Signal<checkbox.Service[\"state\"]> = this.machine.state;\n readonly api: Signal<checkbox.Api> = this.machine.api;\n readonly service: checkbox.Service = this.machine.service;\n readonly send: checkbox.Service[\"send\"] = this.machine.send;\n\n constructor() {\n let firstRun = true;\n effect(() => {\n void this.checked();\n if (firstRun) {\n firstRun = false;\n this.pendingInternalWrites = 0;\n return;\n }\n if (this.pendingInternalWrites > 0) {\n this.pendingInternalWrites--;\n return;\n }\n this.hasExternalCheckedBinding = true;\n });\n\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.api().getRootProps(),\n });\n }\n\n markTouched(): void {\n this.cva.markTouched();\n }\n\n writeValue(value: CheckboxCheckedState | null): void {\n const next = value === null ? undefined : value;\n const current = this.checked();\n if (!this.hasReceivedFormWrite && current !== undefined) {\n this.hasExternalCheckedBinding = true;\n }\n this.hasReceivedFormWrite = true;\n if (current !== next) {\n this.pendingInternalWrites++;\n }\n this.cva.writeValue(value);\n }\n\n registerOnChange(fn: (value: CheckboxCheckedState | undefined) => void): void {\n this.cva.registerOnChange(fn);\n }\n\n registerOnTouched(fn: () => void): void {\n this.cva.registerOnTouched(fn);\n }\n\n setDisabledState(disabled: boolean): void {\n this.cva.setDisabledState(disabled);\n }\n}\n","import type * as checkbox from \"@wirekyt/dom/machines/checkbox\";\n\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n forwardRef,\n inject,\n input,\n type InputSignal,\n type Signal,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport type { UseCheckboxReturn } from \"./use\";\n\nimport { CHECKBOX_CONTEXT } from \"./use-context\";\n\n@Directive({\n selector: \"[checkboxRootProvider]\",\n standalone: true,\n exportAs: \"checkboxRootProvider\",\n providers: [{ provide: CHECKBOX_CONTEXT, useExisting: forwardRef(() => CheckboxRootProvider) }],\n})\nexport class CheckboxRootProvider implements UseCheckboxReturn {\n readonly value: InputSignal<UseCheckboxReturn> = input.required<UseCheckboxReturn>();\n\n get state(): Signal<checkbox.Service[\"state\"]> {\n return this.value().state;\n }\n get api(): Signal<checkbox.Api> {\n return this.value().api;\n }\n get service(): checkbox.Service {\n return this.value().service;\n }\n get send(): checkbox.Service[\"send\"] {\n return this.value().send;\n }\n\n constructor() {\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.value().api().getRootProps(),\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { NgTemplateOutlet } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { input, signal, afterNextRender, ChangeDetectionStrategy, Component } from '@angular/core';
4
+
5
+ class ClientOnly {
6
+ fallback = input(null, /* @ts-ignore */
7
+ ...(ngDevMode ? [{ debugName: "fallback" }] : /* istanbul ignore next */ []));
8
+ clientTemplate = input(null, /* @ts-ignore */
9
+ ...(ngDevMode ? [{ debugName: "clientTemplate" }] : /* istanbul ignore next */ []));
10
+ isClient = signal(false, /* @ts-ignore */
11
+ ...(ngDevMode ? [{ debugName: "isClient" }] : /* istanbul ignore next */ []));
12
+ constructor() {
13
+ afterNextRender(() => {
14
+ this.isClient.set(true);
15
+ });
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClientOnly, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.0", type: ClientOnly, isStandalone: true, selector: "client-only", inputs: { fallback: { classPropertyName: "fallback", publicName: "fallback", isSignal: true, isRequired: false, transformFunction: null }, clientTemplate: { classPropertyName: "clientTemplate", publicName: "clientTemplate", isSignal: true, isRequired: false, transformFunction: null } }, host: { styleAttribute: "display: contents" }, ngImport: i0, template: `
19
+ @if (isClient()) {
20
+ @if (clientTemplate(); as tpl) {
21
+ <ng-container [ngTemplateOutlet]="tpl"></ng-container>
22
+ } @else {
23
+ <ng-content />
24
+ }
25
+ } @else if (fallback(); as fb) {
26
+ <ng-container [ngTemplateOutlet]="fb"></ng-container>
27
+ }
28
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClientOnly, decorators: [{
31
+ type: Component,
32
+ args: [{
33
+ selector: "client-only",
34
+ standalone: true,
35
+ imports: [NgTemplateOutlet],
36
+ changeDetection: ChangeDetectionStrategy.OnPush,
37
+ host: { style: "display: contents" },
38
+ template: `
39
+ @if (isClient()) {
40
+ @if (clientTemplate(); as tpl) {
41
+ <ng-container [ngTemplateOutlet]="tpl"></ng-container>
42
+ } @else {
43
+ <ng-content />
44
+ }
45
+ } @else if (fallback(); as fb) {
46
+ <ng-container [ngTemplateOutlet]="fb"></ng-container>
47
+ }
48
+ `,
49
+ }]
50
+ }], ctorParameters: () => [], propDecorators: { fallback: [{ type: i0.Input, args: [{ isSignal: true, alias: "fallback", required: false }] }], clientTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "clientTemplate", required: false }] }] } });
51
+
52
+ /**
53
+ * Generated bundle index. Do not edit.
54
+ */
55
+
56
+ export { ClientOnly };
57
+ //# sourceMappingURL=wirekyt-angular-client-only.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wirekyt-angular-client-only.mjs","sources":["../../src/components/client-only/client-only.ts","../../src/components/client-only/wirekyt-angular-client-only.ts"],"sourcesContent":["import { NgTemplateOutlet } from \"@angular/common\";\nimport {\n ChangeDetectionStrategy,\n Component,\n type TemplateRef,\n afterNextRender,\n input,\n signal,\n} from \"@angular/core\";\n\n@Component({\n selector: \"client-only\",\n standalone: true,\n imports: [NgTemplateOutlet],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { style: \"display: contents\" },\n template: `\n @if (isClient()) {\n @if (clientTemplate(); as tpl) {\n <ng-container [ngTemplateOutlet]=\"tpl\"></ng-container>\n } @else {\n <ng-content />\n }\n } @else if (fallback(); as fb) {\n <ng-container [ngTemplateOutlet]=\"fb\"></ng-container>\n }\n `,\n})\nexport class ClientOnly {\n readonly fallback = input<TemplateRef<unknown> | null>(null);\n readonly clientTemplate = input<TemplateRef<unknown> | null>(null);\n protected readonly isClient = signal(false);\n\n constructor() {\n afterNextRender(() => {\n this.isClient.set(true);\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MA4Ba,UAAU,CAAA;IACZ,QAAQ,GAAG,KAAK,CAA8B,IAAI;iFAAC;IACnD,cAAc,GAAG,KAAK,CAA8B,IAAI;uFAAC;IAC/C,QAAQ,GAAG,MAAM,CAAC,KAAK;iFAAC;AAE3C,IAAA,WAAA,GAAA;QACE,eAAe,CAAC,MAAK;AACnB,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;AACzB,QAAA,CAAC,CAAC;IACJ;uGATW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAZX;;;;;;;;;;AAUT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAbS,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAef,UAAU,EAAA,UAAA,EAAA,CAAA;kBAlBtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;AACpC,oBAAA,QAAQ,EAAE;;;;;;;;;;AAUT,EAAA,CAAA;AACF,iBAAA;;;AC3BD;;AAEG;;;;"}
@@ -0,0 +1,301 @@
1
+ import * as clipboard from '@wirekyt/dom/machines/clipboard';
2
+ export { anatomy as clipboardAnatomy } from '@wirekyt/dom/machines/clipboard';
3
+ import * as i0 from '@angular/core';
4
+ import { InjectionToken, inject, input, model, output, computed, DestroyRef, Renderer2, ElementRef, forwardRef, Directive, TemplateRef, ViewContainerRef, effect } from '@angular/core';
5
+ import { injectEnvironment, createId, useMachine, bindProps } from '@wirekyt/angular';
6
+
7
+ const CLIPBOARD_CONTEXT = new InjectionToken("WIREKYT.CLIPBOARD_CONTEXT");
8
+ function injectClipboardContext() {
9
+ return inject(CLIPBOARD_CONTEXT);
10
+ }
11
+
12
+ function useClipboard(options = { context: () => ({}) }) {
13
+ const environment = injectEnvironment();
14
+ const fallbackId = createId();
15
+ return useMachine({
16
+ machine: clipboard.machine,
17
+ context: () => {
18
+ const props = options.context();
19
+ return {
20
+ ...props,
21
+ getRootNode: environment.getRootNode,
22
+ id: props.id ?? fallbackId,
23
+ };
24
+ },
25
+ connect: (service, normalize) => clipboard.connect(service, normalize),
26
+ });
27
+ }
28
+
29
+ class ClipboardRoot {
30
+ id = input(undefined, /* @ts-ignore */
31
+ ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
32
+ ids = input(undefined, /* @ts-ignore */
33
+ ...(ngDevMode ? [{ debugName: "ids" }] : /* istanbul ignore next */ []));
34
+ translations = input(undefined, /* @ts-ignore */
35
+ ...(ngDevMode ? [{ debugName: "translations" }] : /* istanbul ignore next */ []));
36
+ value = model(undefined, /* @ts-ignore */
37
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
38
+ defaultValue = input(undefined, /* @ts-ignore */
39
+ ...(ngDevMode ? [{ debugName: "defaultValue" }] : /* istanbul ignore next */ []));
40
+ timeout = input(undefined, /* @ts-ignore */
41
+ ...(ngDevMode ? [{ debugName: "timeout" }] : /* istanbul ignore next */ []));
42
+ statusChange = output();
43
+ stableIds = computed(() => this.stabilizeIds(this.ids()), /* @ts-ignore */
44
+ ...(ngDevMode ? [{ debugName: "stableIds" }] : /* istanbul ignore next */ []));
45
+ prevIds = undefined;
46
+ machine = useClipboard({
47
+ context: () => ({
48
+ id: this.id(),
49
+ ids: this.stableIds(),
50
+ translations: this.translations(),
51
+ value: this.value(),
52
+ defaultValue: this.defaultValue(),
53
+ timeout: this.timeout(),
54
+ onValueChange: (details) => this.value.set(details.value),
55
+ onStatusChange: (details) => this.statusChange.emit(details),
56
+ }),
57
+ });
58
+ state = this.machine.state;
59
+ api = this.machine.api;
60
+ service = this.machine.service;
61
+ send = this.machine.send;
62
+ stabilizeIds(next) {
63
+ if (next === this.prevIds)
64
+ return this.prevIds;
65
+ if (next === undefined || this.prevIds === undefined) {
66
+ this.prevIds = next;
67
+ return this.prevIds;
68
+ }
69
+ const keys = new Set([...Object.keys(next), ...Object.keys(this.prevIds)]);
70
+ const hasEqualEntries = [...keys].every((key) => Object.is(next[key], this.prevIds?.[key]));
71
+ if (hasEqualEntries) {
72
+ return this.prevIds;
73
+ }
74
+ this.prevIds = next;
75
+ return this.prevIds;
76
+ }
77
+ constructor() {
78
+ bindProps({
79
+ elementRef: inject(ElementRef),
80
+ renderer: inject(Renderer2),
81
+ destroyRef: inject(DestroyRef),
82
+ props: () => this.api().getRootProps(),
83
+ });
84
+ }
85
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardRoot, deps: [], target: i0.ɵɵFactoryTarget.Directive });
86
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.0", type: ClipboardRoot, isStandalone: true, selector: "[clipboardRoot]", 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
+ }
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardRoot, decorators: [{
89
+ type: Directive,
90
+ args: [{
91
+ selector: "[clipboardRoot]",
92
+ standalone: true,
93
+ exportAs: "clipboardRoot",
94
+ providers: [{ provide: CLIPBOARD_CONTEXT, useExisting: forwardRef(() => ClipboardRoot) }],
95
+ }]
96
+ }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], ids: [{ type: i0.Input, args: [{ isSignal: true, alias: "ids", required: false }] }], translations: [{ type: i0.Input, args: [{ isSignal: true, alias: "translations", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], defaultValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValue", required: false }] }], timeout: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeout", required: false }] }], statusChange: [{ type: i0.Output, args: ["statusChange"] }] } });
97
+
98
+ class ClipboardRootProvider {
99
+ value = input.required(/* @ts-ignore */
100
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
101
+ state = computed(() => this.value().state(), /* @ts-ignore */
102
+ ...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
103
+ api = computed(() => this.value().api(), /* @ts-ignore */
104
+ ...(ngDevMode ? [{ debugName: "api" }] : /* istanbul ignore next */ []));
105
+ send = (event) => this.value().send(event);
106
+ get service() {
107
+ return this.value().service;
108
+ }
109
+ resolveValue() {
110
+ return this.value();
111
+ }
112
+ constructor() {
113
+ bindProps({
114
+ elementRef: inject(ElementRef),
115
+ renderer: inject(Renderer2),
116
+ destroyRef: inject(DestroyRef),
117
+ props: () => this.api().getRootProps(),
118
+ });
119
+ }
120
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardRootProvider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
121
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.0", type: ClipboardRootProvider, isStandalone: true, selector: "[clipboardRootProvider]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, providers: [{ provide: CLIPBOARD_CONTEXT, useExisting: forwardRef(() => ClipboardRootProvider) }], exportAs: ["clipboardRootProvider"], ngImport: i0 });
122
+ }
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardRootProvider, decorators: [{
124
+ type: Directive,
125
+ args: [{
126
+ selector: "[clipboardRootProvider]",
127
+ standalone: true,
128
+ exportAs: "clipboardRootProvider",
129
+ providers: [{ provide: CLIPBOARD_CONTEXT, useExisting: forwardRef(() => ClipboardRootProvider) }],
130
+ }]
131
+ }], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
132
+
133
+ class ClipboardLabel {
134
+ constructor() {
135
+ const context = injectClipboardContext();
136
+ bindProps({
137
+ elementRef: inject(ElementRef),
138
+ renderer: inject(Renderer2),
139
+ destroyRef: inject(DestroyRef),
140
+ props: () => context.api().getLabelProps(),
141
+ });
142
+ }
143
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
144
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.0", type: ClipboardLabel, isStandalone: true, selector: "[clipboardLabel]", exportAs: ["clipboardLabel"], ngImport: i0 });
145
+ }
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardLabel, decorators: [{
147
+ type: Directive,
148
+ args: [{
149
+ selector: "[clipboardLabel]",
150
+ standalone: true,
151
+ exportAs: "clipboardLabel",
152
+ }]
153
+ }], ctorParameters: () => [] });
154
+
155
+ class ClipboardControl {
156
+ constructor() {
157
+ const context = injectClipboardContext();
158
+ bindProps({
159
+ elementRef: inject(ElementRef),
160
+ renderer: inject(Renderer2),
161
+ destroyRef: inject(DestroyRef),
162
+ props: () => context.api().getControlProps(),
163
+ });
164
+ }
165
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardControl, deps: [], target: i0.ɵɵFactoryTarget.Directive });
166
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.0", type: ClipboardControl, isStandalone: true, selector: "[clipboardControl]", exportAs: ["clipboardControl"], ngImport: i0 });
167
+ }
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardControl, decorators: [{
169
+ type: Directive,
170
+ args: [{
171
+ selector: "[clipboardControl]",
172
+ standalone: true,
173
+ exportAs: "clipboardControl",
174
+ }]
175
+ }], ctorParameters: () => [] });
176
+
177
+ class ClipboardContext {
178
+ static ngTemplateContextGuard(_directive, context) {
179
+ void context;
180
+ return true;
181
+ }
182
+ clipboard = injectClipboardContext();
183
+ templateRef = inject(TemplateRef);
184
+ viewContainer = inject(ViewContainerRef);
185
+ constructor() {
186
+ const view = this.viewContainer.createEmbeddedView(this.templateRef, {
187
+ $implicit: this.clipboard.api,
188
+ api: this.clipboard.api,
189
+ });
190
+ effect(() => {
191
+ this.clipboard.api();
192
+ view.detectChanges();
193
+ });
194
+ inject(DestroyRef).onDestroy(() => view.destroy());
195
+ }
196
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardContext, deps: [], target: i0.ɵɵFactoryTarget.Directive });
197
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.0", type: ClipboardContext, isStandalone: true, selector: "[clipboardContext]", exportAs: ["clipboardContext"], ngImport: i0 });
198
+ }
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardContext, decorators: [{
200
+ type: Directive,
201
+ args: [{
202
+ selector: "[clipboardContext]",
203
+ standalone: true,
204
+ exportAs: "clipboardContext",
205
+ }]
206
+ }], ctorParameters: () => [] });
207
+
208
+ class ClipboardInput {
209
+ constructor() {
210
+ const context = injectClipboardContext();
211
+ bindProps({
212
+ elementRef: inject(ElementRef),
213
+ renderer: inject(Renderer2),
214
+ destroyRef: inject(DestroyRef),
215
+ props: () => context.api().getInputProps(),
216
+ });
217
+ }
218
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardInput, deps: [], target: i0.ɵɵFactoryTarget.Directive });
219
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.0", type: ClipboardInput, isStandalone: true, selector: "input[clipboardInput]", exportAs: ["clipboardInput"], ngImport: i0 });
220
+ }
221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardInput, decorators: [{
222
+ type: Directive,
223
+ args: [{
224
+ selector: "input[clipboardInput]",
225
+ standalone: true,
226
+ exportAs: "clipboardInput",
227
+ }]
228
+ }], ctorParameters: () => [] });
229
+
230
+ class ClipboardTrigger {
231
+ constructor() {
232
+ const context = injectClipboardContext();
233
+ bindProps({
234
+ elementRef: inject(ElementRef),
235
+ renderer: inject(Renderer2),
236
+ destroyRef: inject(DestroyRef),
237
+ props: () => context.api().getTriggerProps(),
238
+ });
239
+ }
240
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
241
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.0", type: ClipboardTrigger, isStandalone: true, selector: "[clipboardTrigger]", exportAs: ["clipboardTrigger"], ngImport: i0 });
242
+ }
243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardTrigger, decorators: [{
244
+ type: Directive,
245
+ args: [{
246
+ selector: "[clipboardTrigger]",
247
+ standalone: true,
248
+ exportAs: "clipboardTrigger",
249
+ }]
250
+ }], ctorParameters: () => [] });
251
+
252
+ class ClipboardIndicator {
253
+ copied;
254
+ constructor() {
255
+ const context = injectClipboardContext();
256
+ this.copied = computed(() => context.api().copied, /* @ts-ignore */
257
+ ...(ngDevMode ? [{ debugName: "copied" }] : /* istanbul ignore next */ []));
258
+ bindProps({
259
+ elementRef: inject(ElementRef),
260
+ renderer: inject(Renderer2),
261
+ destroyRef: inject(DestroyRef),
262
+ props: () => {
263
+ const api = context.api();
264
+ return api.getIndicatorProps({ copied: this.copied() });
265
+ },
266
+ });
267
+ }
268
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardIndicator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
269
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.0", type: ClipboardIndicator, isStandalone: true, selector: "[clipboardIndicator]", exportAs: ["clipboardIndicator"], ngImport: i0 });
270
+ }
271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardIndicator, decorators: [{
272
+ type: Directive,
273
+ args: [{
274
+ selector: "[clipboardIndicator]",
275
+ standalone: true,
276
+ exportAs: "clipboardIndicator",
277
+ }]
278
+ }], ctorParameters: () => [] });
279
+
280
+ class ClipboardValueText {
281
+ context = injectClipboardContext();
282
+ value = computed(() => this.context.api().value, /* @ts-ignore */
283
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
284
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardValueText, deps: [], target: i0.ɵɵFactoryTarget.Directive });
285
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.0", type: ClipboardValueText, isStandalone: true, selector: "[clipboardValueText]", exportAs: ["clipboardValueText"], ngImport: i0 });
286
+ }
287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: ClipboardValueText, decorators: [{
288
+ type: Directive,
289
+ args: [{
290
+ selector: "[clipboardValueText]",
291
+ standalone: true,
292
+ exportAs: "clipboardValueText",
293
+ }]
294
+ }] });
295
+
296
+ /**
297
+ * Generated bundle index. Do not edit.
298
+ */
299
+
300
+ export { CLIPBOARD_CONTEXT, ClipboardContext, ClipboardControl, ClipboardIndicator, ClipboardInput, ClipboardLabel, ClipboardRoot, ClipboardRootProvider, ClipboardTrigger, ClipboardValueText, injectClipboardContext, useClipboard };
301
+ //# sourceMappingURL=wirekyt-angular-clipboard.mjs.map
@@ -0,0 +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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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wirekyt/angular",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "description": "Angular adapter for Wirekyt",
5
5
  "files": [
6
6
  "dist"
@@ -26,6 +26,22 @@
26
26
  "types": "./types/wirekyt-angular-avatar.d.ts",
27
27
  "default": "./fesm2022/wirekyt-angular-avatar.mjs"
28
28
  },
29
+ "./carousel": {
30
+ "types": "./types/wirekyt-angular-carousel.d.ts",
31
+ "default": "./fesm2022/wirekyt-angular-carousel.mjs"
32
+ },
33
+ "./checkbox": {
34
+ "types": "./types/wirekyt-angular-checkbox.d.ts",
35
+ "default": "./fesm2022/wirekyt-angular-checkbox.mjs"
36
+ },
37
+ "./clipboard": {
38
+ "types": "./types/wirekyt-angular-clipboard.d.ts",
39
+ "default": "./fesm2022/wirekyt-angular-clipboard.mjs"
40
+ },
41
+ "./client-only": {
42
+ "types": "./types/wirekyt-angular-client-only.d.ts",
43
+ "default": "./fesm2022/wirekyt-angular-client-only.mjs"
44
+ },
29
45
  "./collapsible": {
30
46
  "types": "./types/wirekyt-angular-collapsible.d.ts",
31
47
  "default": "./fesm2022/wirekyt-angular-collapsible.mjs"