@wirekyt/angular 0.0.32 → 0.0.33

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-image-cropper.mjs","sources":["../../src/components/image-cropper/use-context.ts","../../src/components/image-cropper/use.ts","../../src/components/image-cropper/root.ts","../../src/components/image-cropper/root-provider.ts","../../src/components/image-cropper/apply-part-props.ts","../../src/components/image-cropper/viewport.ts","../../src/components/image-cropper/image.ts","../../src/components/image-cropper/selection.ts","../../src/components/image-cropper/handle.ts","../../src/components/image-cropper/grid.ts","../../src/components/image-cropper/context.ts","../../src/components/image-cropper/wirekyt-angular-image-cropper.ts"],"sourcesContent":["import { InjectionToken, inject } from \"@angular/core\";\n\nimport type { UseImageCropperReturn } from \"./use\";\n\nexport const IMAGE_CROPPER_CONTEXT = new InjectionToken<UseImageCropperReturn>(\n \"WIREKIT.IMAGE_CROPPER_CONTEXT\",\n);\n\nexport function injectImageCropperContext(): UseImageCropperReturn {\n return inject(IMAGE_CROPPER_CONTEXT);\n}\n","import type { Machine } from \"@wirekyt/dom\";\n\nimport {\n createId,\n injectEnvironment,\n injectLocale,\n useMachine,\n type UseMachineReturn,\n} from \"@wirekyt/angular\";\nimport * as imageCropper from \"@wirekyt/dom/machines/image-cropper\";\n\ntype OptionalId<T extends { id: string }> = Omit<T, \"id\"> & { id?: string };\n\nexport interface UseImageCropperProps extends OptionalId<\n Omit<imageCropper.Props, \"dir\" | \"getRootNode\">\n> {}\n\nexport type UseImageCropperReturn = UseMachineReturn<\n imageCropper.Service[\"state\"],\n imageCropper.Api,\n imageCropper.Service\n>;\n\nexport interface UseImageCropperOptions {\n context: () => UseImageCropperProps;\n}\n\ntype ImageCropperContext = Record<string, unknown>;\ntype ImageCropperSchema = imageCropper.Machine extends Machine<infer TSchema> ? TSchema : never;\n\nexport function useImageCropper(options: UseImageCropperOptions): UseImageCropperReturn {\n const locale = injectLocale();\n const environment = injectEnvironment();\n const fallbackId = createId();\n\n return useMachine<ImageCropperSchema, imageCropper.Api>({\n machine: imageCropper.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 ImageCropperContext;\n },\n connect: (service, normalize) => imageCropper.connect(service, normalize),\n });\n}\n","import type * as imageCropper from \"@wirekyt/dom/machines/image-cropper\";\n\nimport {\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\";\n\nimport type {\n ImageCropperCropChangeDetails,\n ImageCropperElementIds,\n ImageCropperFlipChangeDetails,\n ImageCropperFlipState,\n ImageCropperIntlTranslations,\n ImageCropperRotationChangeDetails,\n ImageCropperZoomChangeDetails,\n} from \"./types\";\n\nimport { useImageCropper, type UseImageCropperReturn } from \"./use\";\nimport { IMAGE_CROPPER_CONTEXT } from \"./use-context\";\n\n@Directive({\n selector: \"[image-cropper-root]\",\n standalone: true,\n exportAs: \"imageCropperRoot\",\n providers: [{ provide: IMAGE_CROPPER_CONTEXT, useExisting: forwardRef(() => ImageCropperRoot) }],\n})\nexport class ImageCropperRoot implements UseImageCropperReturn {\n readonly id: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly ids: InputSignal<Partial<ImageCropperElementIds> | undefined> = input<\n Partial<ImageCropperElementIds> | undefined\n >(undefined);\n readonly translations: InputSignal<ImageCropperIntlTranslations | undefined> = input<\n ImageCropperIntlTranslations | undefined\n >(undefined);\n readonly initialCrop: InputSignal<imageCropper.Props[\"initialCrop\"]> =\n input<imageCropper.Props[\"initialCrop\"]>(undefined);\n readonly minWidth: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly minHeight: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly maxWidth: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly maxHeight: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly aspectRatio: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly cropShape: InputSignal<\"rectangle\" | \"circle\" | undefined> = input<\n \"rectangle\" | \"circle\" | undefined\n >(undefined);\n readonly zoom: ModelSignal<number | undefined> = model<number | undefined>(undefined);\n readonly rotation: ModelSignal<number | undefined> = model<number | undefined>(undefined);\n readonly flip: ModelSignal<ImageCropperFlipState | undefined> = model<\n ImageCropperFlipState | undefined\n >(undefined);\n readonly defaultZoom: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly defaultRotation: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly defaultFlip: InputSignal<ImageCropperFlipState | undefined> = input<\n ImageCropperFlipState | undefined\n >(undefined);\n readonly zoomStep: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly zoomSensitivity: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly minZoom: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly maxZoom: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly nudgeStep: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly nudgeStepShift: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly nudgeStepCtrl: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly fixedCropArea: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n\n readonly cropChange: OutputEmitterRef<ImageCropperCropChangeDetails> =\n output<ImageCropperCropChangeDetails>();\n readonly zoomDetailsChange: OutputEmitterRef<ImageCropperZoomChangeDetails> =\n output<ImageCropperZoomChangeDetails>();\n readonly rotationDetailsChange: OutputEmitterRef<ImageCropperRotationChangeDetails> =\n output<ImageCropperRotationChangeDetails>();\n readonly flipDetailsChange: OutputEmitterRef<ImageCropperFlipChangeDetails> =\n output<ImageCropperFlipChangeDetails>();\n\n private readonly machine = useImageCropper({\n context: () => ({\n id: this.id(),\n ids: this.ids(),\n translations: this.translations(),\n initialCrop: this.initialCrop(),\n minWidth: this.minWidth(),\n minHeight: this.minHeight(),\n maxWidth: this.maxWidth(),\n maxHeight: this.maxHeight(),\n aspectRatio: this.aspectRatio(),\n cropShape: this.cropShape(),\n zoom: this.zoom(),\n rotation: this.rotation(),\n flip: this.flip(),\n defaultZoom: this.defaultZoom(),\n defaultRotation: this.defaultRotation(),\n defaultFlip: this.defaultFlip(),\n zoomStep: this.zoomStep(),\n zoomSensitivity: this.zoomSensitivity(),\n minZoom: this.minZoom(),\n maxZoom: this.maxZoom(),\n nudgeStep: this.nudgeStep(),\n nudgeStepShift: this.nudgeStepShift(),\n nudgeStepCtrl: this.nudgeStepCtrl(),\n fixedCropArea: this.fixedCropArea(),\n onZoomChange: (details) => {\n if (this.zoom() !== details.zoom) {\n this.zoom.set(details.zoom);\n }\n this.zoomDetailsChange.emit(details);\n },\n onRotationChange: (details) => {\n if (this.rotation() !== details.rotation) {\n this.rotation.set(details.rotation);\n }\n this.rotationDetailsChange.emit(details);\n },\n onFlipChange: (details) => {\n if (!flipsEqual(this.flip(), details.flip)) {\n this.flip.set({ ...details.flip });\n }\n this.flipDetailsChange.emit(details);\n },\n onCropChange: (details) => {\n this.cropChange.emit(details);\n },\n }),\n });\n\n readonly state: Signal<imageCropper.Service[\"state\"]> = this.machine.state;\n readonly api: Signal<imageCropper.Api> = this.machine.api;\n readonly service: imageCropper.Service = this.machine.service;\n readonly send: imageCropper.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\nfunction flipsEqual(a: ImageCropperFlipState | undefined, b: ImageCropperFlipState): boolean {\n return a?.horizontal === b.horizontal && a?.vertical === b.vertical;\n}\n","import type * as imageCropper from \"@wirekyt/dom/machines/image-cropper\";\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 { UseImageCropperReturn } from \"./use\";\n\nimport { IMAGE_CROPPER_CONTEXT } from \"./use-context\";\n\n@Directive({\n selector: \"[image-cropper-root-provider]\",\n standalone: true,\n exportAs: \"imageCropperRootProvider\",\n providers: [\n {\n provide: IMAGE_CROPPER_CONTEXT,\n useExisting: forwardRef(() => ImageCropperRootProvider),\n },\n ],\n})\nexport class ImageCropperRootProvider implements UseImageCropperReturn {\n readonly value: InputSignal<UseImageCropperReturn> = input.required<UseImageCropperReturn>();\n readonly state: Signal<imageCropper.Service[\"state\"]> = computed(() => this.value().state());\n readonly api: Signal<imageCropper.Api> = computed(() => this.value().api());\n readonly send: imageCropper.Service[\"send\"] = (event) => this.value().send(event);\n\n get service(): imageCropper.Service {\n return this.value().service;\n }\n\n constructor() {\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.api().getRootProps(),\n });\n }\n}\n","import { DestroyRef, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\ntype ImageCropperPartProps = Record<string, unknown>;\n\nexport function applyImageCropperPartProps(props: () => ImageCropperPartProps | undefined): void {\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props,\n });\n}\n","import { Directive } from \"@angular/core\";\n\nimport { applyImageCropperPartProps } from \"./apply-part-props\";\nimport { injectImageCropperContext } from \"./use-context\";\n\n@Directive({\n selector: \"[image-cropper-viewport]\",\n standalone: true,\n exportAs: \"imageCropperViewport\",\n})\nexport class ImageCropperViewport {\n constructor() {\n const context = injectImageCropperContext();\n applyImageCropperPartProps(() => context.api().getViewportProps());\n }\n}\n","import { Directive } from \"@angular/core\";\n\nimport { applyImageCropperPartProps } from \"./apply-part-props\";\nimport { injectImageCropperContext } from \"./use-context\";\n\n@Directive({\n selector: \"img[image-cropper-image]\",\n standalone: true,\n exportAs: \"imageCropperImage\",\n})\nexport class ImageCropperImage {\n constructor() {\n const context = injectImageCropperContext();\n applyImageCropperPartProps(() => context.api().getImageProps());\n }\n}\n","import { Directive } from \"@angular/core\";\n\nimport { applyImageCropperPartProps } from \"./apply-part-props\";\nimport { injectImageCropperContext } from \"./use-context\";\n\n@Directive({\n selector: \"[image-cropper-selection]\",\n standalone: true,\n exportAs: \"imageCropperSelection\",\n})\nexport class ImageCropperSelection {\n constructor() {\n const context = injectImageCropperContext();\n applyImageCropperPartProps(() => context.api().getSelectionProps());\n }\n}\n","import { Directive, input, type InputSignal } from \"@angular/core\";\n\nimport type { ImageCropperHandlePosition } from \"./types\";\n\nimport { applyImageCropperPartProps } from \"./apply-part-props\";\nimport { injectImageCropperContext } from \"./use-context\";\n\n@Directive({\n selector: \"[image-cropper-handle]\",\n standalone: true,\n exportAs: \"imageCropperHandle\",\n})\nexport class ImageCropperHandle {\n readonly position: InputSignal<ImageCropperHandlePosition> =\n input.required<ImageCropperHandlePosition>();\n\n constructor() {\n const context = injectImageCropperContext();\n applyImageCropperPartProps(() => context.api().getHandleProps({ position: this.position() }));\n }\n}\n","import { Directive, input, type InputSignal } from \"@angular/core\";\n\nimport type { ImageCropperGridMachineProps } from \"./types\";\n\nimport { applyImageCropperPartProps } from \"./apply-part-props\";\nimport { injectImageCropperContext } from \"./use-context\";\n\n@Directive({\n selector: \"[image-cropper-grid]\",\n standalone: true,\n exportAs: \"imageCropperGrid\",\n})\nexport class ImageCropperGrid {\n readonly axis: InputSignal<ImageCropperGridMachineProps[\"axis\"]> =\n input.required<ImageCropperGridMachineProps[\"axis\"]>();\n\n constructor() {\n const context = injectImageCropperContext();\n applyImageCropperPartProps(() => context.api().getGridProps({ axis: this.axis() }));\n }\n}\n","import {\n DestroyRef,\n Directive,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n} from \"@angular/core\";\n\nimport type { UseImageCropperReturn } from \"./use\";\n\nimport { injectImageCropperContext } from \"./use-context\";\n\nexport interface ImageCropperContextTemplate {\n $implicit: UseImageCropperReturn[\"api\"];\n api: UseImageCropperReturn[\"api\"];\n}\n\n@Directive({\n selector: \"[image-cropper-context]\",\n standalone: true,\n exportAs: \"imageCropperContext\",\n})\nexport class ImageCropperContext {\n static ngTemplateContextGuard(\n _directive: ImageCropperContext,\n context: unknown,\n ): context is ImageCropperContextTemplate {\n void context;\n return true;\n }\n\n private readonly imageCropper = injectImageCropperContext();\n private readonly templateRef = inject<TemplateRef<ImageCropperContextTemplate>>(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n constructor() {\n const view = this.viewContainer.createEmbeddedView(this.templateRef, {\n $implicit: this.imageCropper.api,\n api: this.imageCropper.api,\n });\n\n effect(() => {\n this.imageCropper.api();\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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"}