@magmonium/one 0.4.14 → 0.4.15
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/fesm2022/{magmonium-one-image-editor-DN8v0YOv.mjs → magmonium-one-image-editor-mHRn2N35.mjs} +2 -2
- package/fesm2022/{magmonium-one-image-editor-DN8v0YOv.mjs.map → magmonium-one-image-editor-mHRn2N35.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-magmonium-one-DWeZSPCv.mjs → magmonium-one-magmonium-one-DdYdOA7f.mjs} +60 -15
- package/fesm2022/magmonium-one-magmonium-one-DdYdOA7f.mjs.map +1 -0
- package/fesm2022/{magmonium-one-otp-CpjpaJdi.mjs → magmonium-one-otp-BKjTa-rP.mjs} +2 -2
- package/fesm2022/{magmonium-one-otp-CpjpaJdi.mjs.map → magmonium-one-otp-BKjTa-rP.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-password-CX1OjX5P.mjs → magmonium-one-password-idcVo1X1.mjs} +2 -2
- package/fesm2022/{magmonium-one-password-CX1OjX5P.mjs.map → magmonium-one-password-idcVo1X1.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-toggle-zniJyl09.mjs → magmonium-one-toggle-AXRopys5.mjs} +2 -2
- package/fesm2022/{magmonium-one-toggle-zniJyl09.mjs.map → magmonium-one-toggle-AXRopys5.mjs.map} +1 -1
- package/fesm2022/magmonium-one.mjs +1 -1
- package/package.json +1 -1
- package/types/magmonium-one.d.ts +46 -25
- package/fesm2022/magmonium-one-magmonium-one-DWeZSPCv.mjs.map +0 -1
package/fesm2022/{magmonium-one-image-editor-DN8v0YOv.mjs → magmonium-one-image-editor-mHRn2N35.mjs}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { input, inject, viewChild, signal, computed, effect, DestroyRef, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
-
import { M as MODAL_REF, a as MIN_ZOOM, I as InputType, b as MAX_ZOOM, p as parseRatio, o as outputSize, c as cropRect, i as initialFraming, e as encodeFramed, d as drawFramed, r as renameForType, f as clampFraming, B as ButtonComponent, H as HeaderComponent, R as RangeInputComponent } from './magmonium-one-magmonium-one-
|
|
3
|
+
import { M as MODAL_REF, a as MIN_ZOOM, I as InputType, b as MAX_ZOOM, p as parseRatio, o as outputSize, c as cropRect, i as initialFraming, e as encodeFramed, d as drawFramed, r as renameForType, f as clampFraming, B as ButtonComponent, H as HeaderComponent, R as RangeInputComponent } from './magmonium-one-magmonium-one-DdYdOA7f.mjs';
|
|
4
4
|
|
|
5
5
|
const WHEEL_ZOOM_RATE = 0.0015;
|
|
6
6
|
const distance = (a, b) => Math.hypot(a.x - b.x, a.y - b.y);
|
|
@@ -287,4 +287,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
287
287
|
}], propDecorators: { file: [{ type: i0.Input, args: [{ isSignal: true, alias: "file", required: true }] }], ratio: [{ type: i0.Input, args: [{ isSignal: true, alias: "ratio", required: true }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: true }] }], stage: [{ type: i0.ViewChild, args: ['stage', { isSignal: true }] }] } });
|
|
288
288
|
|
|
289
289
|
export { ImageEditorComponent };
|
|
290
|
-
//# sourceMappingURL=magmonium-one-image-editor-
|
|
290
|
+
//# sourceMappingURL=magmonium-one-image-editor-mHRn2N35.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"magmonium-one-image-editor-DN8v0YOv.mjs","sources":["../../../../libs/one/src/lib/shared/ui/input/ui/file-upload-input/image-editor.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\nimport { ButtonComponent } from '../../../button/ui/button';\nimport { HeaderComponent } from '../../../header';\nimport { RangeInputComponent } from '../range/range';\nimport { InputType, RangeInput } from '../../model/input';\nimport { MODAL_REF, ModalRef } from '../../../../config/modal-ref';\nimport {\n clampFraming,\n cropRect,\n drawFramed,\n encodeFramed,\n Framing,\n FrameSize,\n initialFraming,\n MAX_ZOOM,\n MIN_ZOOM,\n outputSize,\n parseRatio,\n renameForType,\n} from './image-frame';\n\n/**\n * What an ImageEditor closes with. The framed file on an apply, `unreadable`\n * when the picture never decoded, and neither for a dismissal — a flat object\n * rather than a union, so the web-component build (no `strict`) reads it too.\n */\nexport type ImageEditorResult = { file?: File; unreadable?: boolean };\n\ntype Point = { x: number; y: number };\n\nconst WHEEL_ZOOM_RATE = 0.0015;\n\nconst distance = (a: Point, b: Point): number =>\n Math.hypot(a.x - b.x, a.y - b.y);\n\n@Component({\n selector: 'm-image-editor',\n template: `\n <div class=\"image-editor\">\n <m-header\n [level]=\"3\"\n label=\"edit-image-size\"\n [params]=\"sizeParams()\"\n />\n <div\n #stage\n class=\"image-editor__stage\"\n [style.aspect-ratio]=\"aspect()\"\n [style.--m-image-editor-aspect]=\"aspect()\"\n [class.image-editor__stage--panning]=\"isPanning()\"\n (pointerdown)=\"onPointerDown($event)\"\n (pointermove)=\"onPointerMove($event)\"\n (pointerup)=\"onPointerUp($event)\"\n (pointercancel)=\"onPointerUp($event)\"\n (wheel)=\"onWheel($event)\"\n >\n @if (sourceUrl(); as url) {\n <img\n class=\"image-editor__image\"\n [src]=\"url\"\n alt=\"\"\n draggable=\"false\"\n [style.width.px]=\"imageBox().width\"\n [style.height.px]=\"imageBox().height\"\n [style.transform]=\"imageBox().transform\"\n />\n }\n </div>\n <m-range\n [config]=\"zoomConfig()\"\n [value]=\"zoomPercent()\"\n (valueChange)=\"onZoom($event)\"\n />\n <!-- asset: buttons/okay.yml. No cancel beside it: the Modal's own close\n is the cancel, and it drops the image the same way. -->\n <m-one-button\n name=\"okay\"\n label=\"apply\"\n [disabled]=\"!source() || isApplying()\"\n (clicked)=\"apply()\"\n />\n </div>\n `,\n imports: [ButtonComponent, HeaderComponent, RangeInputComponent],\n styleUrl: './image-editor.sass',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImageEditorComponent {\n readonly file = input.required<File>();\n readonly ratio = input.required<string>();\n readonly width = input.required<number>();\n\n readonly #modalRef = inject<ModalRef<ImageEditorResult | undefined>>(MODAL_REF);\n private readonly stage = viewChild<ElementRef<HTMLDivElement>>('stage');\n\n protected readonly source = signal<ImageBitmap | undefined>(undefined);\n protected readonly sourceUrl = signal<string | undefined>(undefined);\n protected readonly isApplying = signal(false);\n private readonly framing = signal<Framing>({ cx: 0, cy: 0, zoom: MIN_ZOOM });\n private readonly stageWidth = signal(0);\n private readonly pointers = new Map<number, Point>();\n protected readonly isPanning = signal(false);\n #settled = false;\n\n protected readonly zoomConfig = computed<RangeInput>(() => ({\n name: 'zoom',\n label: 'zoom',\n type: InputType.RANGE,\n min: MIN_ZOOM * 100,\n max: MAX_ZOOM * 100,\n }));\n\n protected readonly aspect = computed(() => parseRatio(this.ratio()) ?? 1);\n\n private readonly output = computed<FrameSize | undefined>(() =>\n outputSize(this.ratio(), this.width())\n );\n\n protected readonly sizeParams = computed(() => {\n const size = this.output();\n return {\n width: String(size?.width ?? ''),\n height: String(size?.height ?? ''),\n };\n });\n\n private readonly imageSize = computed<FrameSize | undefined>(() => {\n const bitmap = this.source();\n return bitmap ? { width: bitmap.width, height: bitmap.height } : undefined;\n });\n\n protected readonly zoomPercent = computed(() =>\n String(Math.round(this.framing().zoom * 100))\n );\n\n /** The whole picture laid out so the box shows exactly the crop. */\n protected readonly imageBox = computed(() => {\n const image = this.imageSize();\n const stage = this.stageWidth();\n if (!image || !stage) return { width: 0, height: 0, transform: 'none' };\n const rect = cropRect(image, this.aspect(), this.framing());\n const scale = stage / rect.width;\n return {\n width: image.width * scale,\n height: image.height * scale,\n transform: `translate(${-rect.x * scale}px, ${-rect.y * scale}px)`,\n };\n });\n\n private readonly load = effect((onCleanup) => {\n const file = this.file();\n let cancelled = false;\n const url = URL.createObjectURL(file);\n this.sourceUrl.set(url);\n // EXIF orientation applied here, so the geometry below and the <img> the\n // stage draws agree on which way is up.\n createImageBitmap(file, { imageOrientation: 'from-image' })\n .then((bitmap) => {\n if (cancelled) {\n bitmap.close();\n return;\n }\n this.framing.set(\n initialFraming({ width: bitmap.width, height: bitmap.height })\n );\n this.source.set(bitmap);\n })\n .catch(() => {\n if (!cancelled) this.settle({ unreadable: true });\n });\n onCleanup(() => {\n cancelled = true;\n URL.revokeObjectURL(url);\n this.source()?.close();\n });\n });\n\n private readonly measure = effect((onCleanup) => {\n const stage = this.stage()?.nativeElement;\n if (!stage) return;\n this.stageWidth.set(stage.clientWidth);\n if (typeof ResizeObserver === 'undefined') return;\n const observer = new ResizeObserver(([entry]) =>\n this.stageWidth.set(entry.contentRect.width)\n );\n observer.observe(stage);\n onCleanup(() => observer.disconnect());\n });\n\n // The Modal's own close affordance destroys the body without a word, and a\n // dismissal is a cancel: whoever opened the editor is still waiting.\n private readonly reportDismissal = inject(DestroyRef).onDestroy(() =>\n this.settle(undefined)\n );\n\n protected onPointerDown = (event: PointerEvent): void => {\n if (!this.source()) return;\n (event.currentTarget as HTMLElement).setPointerCapture?.(event.pointerId);\n this.pointers.set(event.pointerId, { x: event.clientX, y: event.clientY });\n this.isPanning.set(true);\n };\n\n protected onPointerMove = (event: PointerEvent): void => {\n const previous = this.pointers.get(event.pointerId);\n if (!previous) return;\n const next = { x: event.clientX, y: event.clientY };\n const others = [...this.pointers.entries()].filter(\n ([id]) => id !== event.pointerId\n );\n if (others.length === 1) {\n // Pinch: the gap between two fingers is the zoom.\n const anchor = others[0][1];\n const before = distance(previous, anchor);\n if (before > 0) this.zoomBy(distance(next, anchor) / before);\n } else if (others.length === 0) {\n this.panBy(next.x - previous.x, next.y - previous.y);\n }\n this.pointers.set(event.pointerId, next);\n };\n\n protected onPointerUp = (event: PointerEvent): void => {\n this.pointers.delete(event.pointerId);\n this.isPanning.set(this.pointers.size > 0);\n };\n\n protected onWheel = (event: WheelEvent): void => {\n if (!this.source()) return;\n event.preventDefault();\n this.zoomBy(Math.exp(-event.deltaY * WHEEL_ZOOM_RATE));\n };\n\n protected onZoom = (percent: string): void => {\n const zoom = Number(percent) / 100;\n if (!Number.isFinite(zoom)) return;\n this.updateFraming((framing) => ({ ...framing, zoom }));\n };\n\n protected apply = async (): Promise<void> => {\n const bitmap = this.source();\n const image = this.imageSize();\n const output = this.output();\n if (!bitmap || !image || !output || this.isApplying()) return;\n this.isApplying.set(true);\n try {\n const rect = cropRect(image, this.aspect(), this.framing());\n const blob = await encodeFramed(drawFramed(bitmap, rect, output));\n const original = this.file();\n this.settle({\n file: new File([blob], renameForType(original.name, blob.type), {\n type: blob.type,\n lastModified: Date.now(),\n }),\n });\n } catch {\n this.settle({ unreadable: true });\n }\n };\n\n /** Screen pixels dragged, moved into source pixels at the current scale. */\n private panBy = (dx: number, dy: number): void => {\n const image = this.imageSize();\n const stage = this.stageWidth();\n if (!image || !stage) return;\n const rect = cropRect(image, this.aspect(), this.framing());\n const perPixel = rect.width / stage;\n this.updateFraming((framing) => ({\n ...framing,\n cx: framing.cx - dx * perPixel,\n cy: framing.cy - dy * perPixel,\n }));\n };\n\n private zoomBy = (factor: number): void => {\n this.updateFraming((framing) => ({\n ...framing,\n zoom: framing.zoom * factor,\n }));\n };\n\n private updateFraming = (change: (framing: Framing) => Framing): void => {\n const image = this.imageSize();\n if (!image) return;\n this.framing.update((framing) =>\n clampFraming(image, this.aspect(), change(framing))\n );\n };\n\n private settle = (result: ImageEditorResult | undefined): void => {\n if (this.#settled) return;\n this.#settled = true;\n this.#modalRef.close(result);\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"magmonium-one-image-editor-mHRn2N35.mjs","sources":["../../../../libs/one/src/lib/shared/ui/input/ui/file-upload-input/image-editor.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\nimport { ButtonComponent } from '../../../button/ui/button';\nimport { HeaderComponent } from '../../../header';\nimport { RangeInputComponent } from '../range/range';\nimport { InputType, RangeInput } from '../../model/input';\nimport { MODAL_REF, ModalRef } from '../../../../config/modal-ref';\nimport {\n clampFraming,\n cropRect,\n drawFramed,\n encodeFramed,\n Framing,\n FrameSize,\n initialFraming,\n MAX_ZOOM,\n MIN_ZOOM,\n outputSize,\n parseRatio,\n renameForType,\n} from './image-frame';\n\n/**\n * What an ImageEditor closes with. The framed file on an apply, `unreadable`\n * when the picture never decoded, and neither for a dismissal — a flat object\n * rather than a union, so the web-component build (no `strict`) reads it too.\n */\nexport type ImageEditorResult = { file?: File; unreadable?: boolean };\n\ntype Point = { x: number; y: number };\n\nconst WHEEL_ZOOM_RATE = 0.0015;\n\nconst distance = (a: Point, b: Point): number =>\n Math.hypot(a.x - b.x, a.y - b.y);\n\n@Component({\n selector: 'm-image-editor',\n template: `\n <div class=\"image-editor\">\n <m-header\n [level]=\"3\"\n label=\"edit-image-size\"\n [params]=\"sizeParams()\"\n />\n <div\n #stage\n class=\"image-editor__stage\"\n [style.aspect-ratio]=\"aspect()\"\n [style.--m-image-editor-aspect]=\"aspect()\"\n [class.image-editor__stage--panning]=\"isPanning()\"\n (pointerdown)=\"onPointerDown($event)\"\n (pointermove)=\"onPointerMove($event)\"\n (pointerup)=\"onPointerUp($event)\"\n (pointercancel)=\"onPointerUp($event)\"\n (wheel)=\"onWheel($event)\"\n >\n @if (sourceUrl(); as url) {\n <img\n class=\"image-editor__image\"\n [src]=\"url\"\n alt=\"\"\n draggable=\"false\"\n [style.width.px]=\"imageBox().width\"\n [style.height.px]=\"imageBox().height\"\n [style.transform]=\"imageBox().transform\"\n />\n }\n </div>\n <m-range\n [config]=\"zoomConfig()\"\n [value]=\"zoomPercent()\"\n (valueChange)=\"onZoom($event)\"\n />\n <!-- asset: buttons/okay.yml. No cancel beside it: the Modal's own close\n is the cancel, and it drops the image the same way. -->\n <m-one-button\n name=\"okay\"\n label=\"apply\"\n [disabled]=\"!source() || isApplying()\"\n (clicked)=\"apply()\"\n />\n </div>\n `,\n imports: [ButtonComponent, HeaderComponent, RangeInputComponent],\n styleUrl: './image-editor.sass',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ImageEditorComponent {\n readonly file = input.required<File>();\n readonly ratio = input.required<string>();\n readonly width = input.required<number>();\n\n readonly #modalRef = inject<ModalRef<ImageEditorResult | undefined>>(MODAL_REF);\n private readonly stage = viewChild<ElementRef<HTMLDivElement>>('stage');\n\n protected readonly source = signal<ImageBitmap | undefined>(undefined);\n protected readonly sourceUrl = signal<string | undefined>(undefined);\n protected readonly isApplying = signal(false);\n private readonly framing = signal<Framing>({ cx: 0, cy: 0, zoom: MIN_ZOOM });\n private readonly stageWidth = signal(0);\n private readonly pointers = new Map<number, Point>();\n protected readonly isPanning = signal(false);\n #settled = false;\n\n protected readonly zoomConfig = computed<RangeInput>(() => ({\n name: 'zoom',\n label: 'zoom',\n type: InputType.RANGE,\n min: MIN_ZOOM * 100,\n max: MAX_ZOOM * 100,\n }));\n\n protected readonly aspect = computed(() => parseRatio(this.ratio()) ?? 1);\n\n private readonly output = computed<FrameSize | undefined>(() =>\n outputSize(this.ratio(), this.width())\n );\n\n protected readonly sizeParams = computed(() => {\n const size = this.output();\n return {\n width: String(size?.width ?? ''),\n height: String(size?.height ?? ''),\n };\n });\n\n private readonly imageSize = computed<FrameSize | undefined>(() => {\n const bitmap = this.source();\n return bitmap ? { width: bitmap.width, height: bitmap.height } : undefined;\n });\n\n protected readonly zoomPercent = computed(() =>\n String(Math.round(this.framing().zoom * 100))\n );\n\n /** The whole picture laid out so the box shows exactly the crop. */\n protected readonly imageBox = computed(() => {\n const image = this.imageSize();\n const stage = this.stageWidth();\n if (!image || !stage) return { width: 0, height: 0, transform: 'none' };\n const rect = cropRect(image, this.aspect(), this.framing());\n const scale = stage / rect.width;\n return {\n width: image.width * scale,\n height: image.height * scale,\n transform: `translate(${-rect.x * scale}px, ${-rect.y * scale}px)`,\n };\n });\n\n private readonly load = effect((onCleanup) => {\n const file = this.file();\n let cancelled = false;\n const url = URL.createObjectURL(file);\n this.sourceUrl.set(url);\n // EXIF orientation applied here, so the geometry below and the <img> the\n // stage draws agree on which way is up.\n createImageBitmap(file, { imageOrientation: 'from-image' })\n .then((bitmap) => {\n if (cancelled) {\n bitmap.close();\n return;\n }\n this.framing.set(\n initialFraming({ width: bitmap.width, height: bitmap.height })\n );\n this.source.set(bitmap);\n })\n .catch(() => {\n if (!cancelled) this.settle({ unreadable: true });\n });\n onCleanup(() => {\n cancelled = true;\n URL.revokeObjectURL(url);\n this.source()?.close();\n });\n });\n\n private readonly measure = effect((onCleanup) => {\n const stage = this.stage()?.nativeElement;\n if (!stage) return;\n this.stageWidth.set(stage.clientWidth);\n if (typeof ResizeObserver === 'undefined') return;\n const observer = new ResizeObserver(([entry]) =>\n this.stageWidth.set(entry.contentRect.width)\n );\n observer.observe(stage);\n onCleanup(() => observer.disconnect());\n });\n\n // The Modal's own close affordance destroys the body without a word, and a\n // dismissal is a cancel: whoever opened the editor is still waiting.\n private readonly reportDismissal = inject(DestroyRef).onDestroy(() =>\n this.settle(undefined)\n );\n\n protected onPointerDown = (event: PointerEvent): void => {\n if (!this.source()) return;\n (event.currentTarget as HTMLElement).setPointerCapture?.(event.pointerId);\n this.pointers.set(event.pointerId, { x: event.clientX, y: event.clientY });\n this.isPanning.set(true);\n };\n\n protected onPointerMove = (event: PointerEvent): void => {\n const previous = this.pointers.get(event.pointerId);\n if (!previous) return;\n const next = { x: event.clientX, y: event.clientY };\n const others = [...this.pointers.entries()].filter(\n ([id]) => id !== event.pointerId\n );\n if (others.length === 1) {\n // Pinch: the gap between two fingers is the zoom.\n const anchor = others[0][1];\n const before = distance(previous, anchor);\n if (before > 0) this.zoomBy(distance(next, anchor) / before);\n } else if (others.length === 0) {\n this.panBy(next.x - previous.x, next.y - previous.y);\n }\n this.pointers.set(event.pointerId, next);\n };\n\n protected onPointerUp = (event: PointerEvent): void => {\n this.pointers.delete(event.pointerId);\n this.isPanning.set(this.pointers.size > 0);\n };\n\n protected onWheel = (event: WheelEvent): void => {\n if (!this.source()) return;\n event.preventDefault();\n this.zoomBy(Math.exp(-event.deltaY * WHEEL_ZOOM_RATE));\n };\n\n protected onZoom = (percent: string): void => {\n const zoom = Number(percent) / 100;\n if (!Number.isFinite(zoom)) return;\n this.updateFraming((framing) => ({ ...framing, zoom }));\n };\n\n protected apply = async (): Promise<void> => {\n const bitmap = this.source();\n const image = this.imageSize();\n const output = this.output();\n if (!bitmap || !image || !output || this.isApplying()) return;\n this.isApplying.set(true);\n try {\n const rect = cropRect(image, this.aspect(), this.framing());\n const blob = await encodeFramed(drawFramed(bitmap, rect, output));\n const original = this.file();\n this.settle({\n file: new File([blob], renameForType(original.name, blob.type), {\n type: blob.type,\n lastModified: Date.now(),\n }),\n });\n } catch {\n this.settle({ unreadable: true });\n }\n };\n\n /** Screen pixels dragged, moved into source pixels at the current scale. */\n private panBy = (dx: number, dy: number): void => {\n const image = this.imageSize();\n const stage = this.stageWidth();\n if (!image || !stage) return;\n const rect = cropRect(image, this.aspect(), this.framing());\n const perPixel = rect.width / stage;\n this.updateFraming((framing) => ({\n ...framing,\n cx: framing.cx - dx * perPixel,\n cy: framing.cy - dy * perPixel,\n }));\n };\n\n private zoomBy = (factor: number): void => {\n this.updateFraming((framing) => ({\n ...framing,\n zoom: framing.zoom * factor,\n }));\n };\n\n private updateFraming = (change: (framing: Framing) => Framing): void => {\n const image = this.imageSize();\n if (!image) return;\n this.framing.update((framing) =>\n clampFraming(image, this.aspect(), change(framing))\n );\n };\n\n private settle = (result: ImageEditorResult | undefined): void => {\n if (this.#settled) return;\n this.#settled = true;\n this.#modalRef.close(result);\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -8992,7 +8992,7 @@ class SectionFormItemComponent extends ConfigComponent {
|
|
|
8992
8992
|
break;
|
|
8993
8993
|
}
|
|
8994
8994
|
case InputType.TOGGLE: {
|
|
8995
|
-
const { ToggleInputComponent } = await import('./magmonium-one-toggle-
|
|
8995
|
+
const { ToggleInputComponent } = await import('./magmonium-one-toggle-AXRopys5.mjs');
|
|
8996
8996
|
this.createDynamicComponent(seq, ToggleInputComponent, [], true);
|
|
8997
8997
|
break;
|
|
8998
8998
|
}
|
|
@@ -9004,12 +9004,12 @@ class SectionFormItemComponent extends ConfigComponent {
|
|
|
9004
9004
|
break;
|
|
9005
9005
|
}
|
|
9006
9006
|
case InputType.PASSWORD: {
|
|
9007
|
-
const { PasswordInputComponent } = await import('./magmonium-one-password-
|
|
9007
|
+
const { PasswordInputComponent } = await import('./magmonium-one-password-idcVo1X1.mjs');
|
|
9008
9008
|
this.createDynamicComponent(seq, PasswordInputComponent);
|
|
9009
9009
|
break;
|
|
9010
9010
|
}
|
|
9011
9011
|
case InputType.OTP: {
|
|
9012
|
-
const { OtpInputComponent } = await import('./magmonium-one-otp-
|
|
9012
|
+
const { OtpInputComponent } = await import('./magmonium-one-otp-BKjTa-rP.mjs');
|
|
9013
9013
|
this.createDynamicComponent(seq, OtpInputComponent);
|
|
9014
9014
|
break;
|
|
9015
9015
|
}
|
|
@@ -13061,6 +13061,7 @@ function normalizeAssetOptions(data) {
|
|
|
13061
13061
|
label: option.label,
|
|
13062
13062
|
icon: option.icon,
|
|
13063
13063
|
disabled: option.disabled,
|
|
13064
|
+
...(option.default === true ? { default: true } : {}),
|
|
13064
13065
|
}));
|
|
13065
13066
|
}
|
|
13066
13067
|
/**
|
|
@@ -13106,6 +13107,34 @@ function assetOptions(name) {
|
|
|
13106
13107
|
});
|
|
13107
13108
|
return computed(() => normalizeAssetOptions(suppliedRows() ?? resource.value()));
|
|
13108
13109
|
}
|
|
13110
|
+
/** Whether a Field holds nothing yet — no scalar, an empty string or list. */
|
|
13111
|
+
const isEmptyValue = (value) => value === undefined ||
|
|
13112
|
+
value === null ||
|
|
13113
|
+
value === '' ||
|
|
13114
|
+
(Array.isArray(value) && value.length === 0);
|
|
13115
|
+
/**
|
|
13116
|
+
* Starts a Field on its list's `default` row when it holds no value of its own
|
|
13117
|
+
* (m-one-ui CONTEXT.md OptionSet). The Field's own value — its config, its form
|
|
13118
|
+
* data — outranks the row, so a value already held is kept.
|
|
13119
|
+
*
|
|
13120
|
+
* Each marked row is consulted once: a User who clears the pick is not handed
|
|
13121
|
+
* it back, and only a list that moves its mark offers the new row. A disabled
|
|
13122
|
+
* row is never preset — the User could not have picked it either. Must be
|
|
13123
|
+
* called from an injection context.
|
|
13124
|
+
*/
|
|
13125
|
+
function presetDefaultOption(options, current, apply) {
|
|
13126
|
+
let consulted;
|
|
13127
|
+
effect(() => {
|
|
13128
|
+
const row = options().find((option) => option.default && !option.disabled);
|
|
13129
|
+
if (!row || row.value === consulted)
|
|
13130
|
+
return;
|
|
13131
|
+
consulted = row.value;
|
|
13132
|
+
untracked(() => {
|
|
13133
|
+
if (isEmptyValue(current()))
|
|
13134
|
+
apply(row.value);
|
|
13135
|
+
});
|
|
13136
|
+
});
|
|
13137
|
+
}
|
|
13109
13138
|
|
|
13110
13139
|
const FILTER_VARIANTS = [
|
|
13111
13140
|
'single',
|
|
@@ -22034,13 +22063,17 @@ class DropdownInputComponent extends BaseDropdownComponent {
|
|
|
22034
22063
|
this.setValue(option.value);
|
|
22035
22064
|
this.closePanel();
|
|
22036
22065
|
}
|
|
22037
|
-
|
|
22066
|
+
constructor() {
|
|
22067
|
+
super();
|
|
22068
|
+
presetDefaultOption(this.dropdownOptions, this.value, (value) => this.value.set(value));
|
|
22069
|
+
}
|
|
22070
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DropdownInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22038
22071
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DropdownInputComponent, isStandalone: true, selector: "m-dropdown-input", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, usesInheritance: true, ngImport: i0, template: "\n @if (config(); as dropdown) {\n @if (dropdown.label) {\n <m-label\n [for]=\"dropdown.name ?? ''\"\n [placeholder]=\"dropdown.label\"\n [params]=\"dropdown.params\"\n [required]=\"required()\"\n [disabled]=\"disabled()\"\n />\n }\n <div\n class=\"trigger-wrap\"\n #wrapper\n [mSelector]=\"selectorConfig()\"\n [disabled]=\"disabled() || readonly() || !!config()?.readonly\"\n (opened)=\"onOpened()\"\n (closed)=\"onClosed()\"\n (focusin)=\"isFocused.set(true)\"\n (focusout)=\"isFocused.set(false)\"\n >\n <m-text-input\n [config]=\"triggerInputConfig()\"\n [value]=\"displayValue()\"\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [hideErrors]=\"true\"\n [(touched)]=\"touched\"\n [focused]=\"focused()\"\n (valueChange)=\"onInput($event)\"\n (click)=\"preventToggleWhenOpen($event)\"\n (keydown.space)=\"$event.stopPropagation()\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.arrowdown)=\"onArrow($event, 1)\"\n (keydown.arrowup)=\"onArrow($event, -1)\"\n (keydown.tab)=\"$event.stopPropagation()\"\n />\n <m-button [disabled]=\"disabled()\" [config]=\"chevron()\" />\n </div>\n @if (showErrors()) {\n @for (error of errors(); track $index) {\n <m-text-output\n variant=\"footer\"\n color=\"error\"\n [label]=\"error.message\"\n />\n }\n }\n }\n", isInline: true, styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:contents}.trigger-wrap{position:relative;--m-text-input-padding-right: 2.25em }.trigger-wrap m-button{position:absolute;right:0;top:0;bottom:0;--m-button-size: 1em !important;height:100%;border-radius:0 var(--m-input-radius, calc(var(--input-size, 1em) * .5)) var(--m-input-radius, calc(var(--input-size, 1em) * .5)) 0;--m-button-radius: 0 var(--m-input-radius, calc(var(--input-size, 1em) * .5)) var(--m-input-radius, calc(var(--input-size, 1em) * .5)) 0}\n"], dependencies: [{ kind: "component", type: LabelComponent, selector: "m-label", inputs: ["for", "placeholder", "params", "required", "disabled", "color", "noTranslate"] }, { kind: "component", type: TextOutputComponent, selector: "m-text-output", inputs: ["config", "align", "variant", "color", "fontWeight", "label", "noTranslate", "params"], outputs: ["configChange", "clicked"] }, { kind: "component", type: TextInputComponent, selector: "m-text-input", inputs: ["value", "config", "required", "disabled", "invalid", "touched", "focused", "errors", "hideErrors"], outputs: ["valueChange", "touchedChange"] }, { kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "directive", type: SelectorDirective, selector: "[mSelector]", inputs: ["mSelector", "disabled"], outputs: ["opened", "closed"], exportAs: ["mSelector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22039
22072
|
}
|
|
22040
22073
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DropdownInputComponent, decorators: [{
|
|
22041
22074
|
type: Component,
|
|
22042
22075
|
args: [{ selector: 'm-dropdown-input', template: DROPDOWN_TEMPLATE, imports: DROPDOWN_IMPORTS, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:contents}.trigger-wrap{position:relative;--m-text-input-padding-right: 2.25em }.trigger-wrap m-button{position:absolute;right:0;top:0;bottom:0;--m-button-size: 1em !important;height:100%;border-radius:0 var(--m-input-radius, calc(var(--input-size, 1em) * .5)) var(--m-input-radius, calc(var(--input-size, 1em) * .5)) 0;--m-button-radius: 0 var(--m-input-radius, calc(var(--input-size, 1em) * .5)) var(--m-input-radius, calc(var(--input-size, 1em) * .5)) 0}\n"] }]
|
|
22043
|
-
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }] } });
|
|
22076
|
+
}], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }] } });
|
|
22044
22077
|
|
|
22045
22078
|
var dropdown = /*#__PURE__*/Object.freeze({
|
|
22046
22079
|
__proto__: null,
|
|
@@ -22066,6 +22099,10 @@ class MultiselectInputComponent extends BaseDropdownComponent {
|
|
|
22066
22099
|
this.value.set(value);
|
|
22067
22100
|
this.touched.set(true);
|
|
22068
22101
|
};
|
|
22102
|
+
constructor() {
|
|
22103
|
+
super();
|
|
22104
|
+
presetDefaultOption(this.dropdownOptions, this.selectedValues, (value) => this.value.set([value]));
|
|
22105
|
+
}
|
|
22069
22106
|
// The panel stays open across picks; each one ticks or unticks its row.
|
|
22070
22107
|
selectOption(option) {
|
|
22071
22108
|
const current = this.selectedValues();
|
|
@@ -22073,13 +22110,13 @@ class MultiselectInputComponent extends BaseDropdownComponent {
|
|
|
22073
22110
|
? current.filter((v) => v !== option.value)
|
|
22074
22111
|
: [...current, option.value]);
|
|
22075
22112
|
}
|
|
22076
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: MultiselectInputComponent, deps:
|
|
22113
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: MultiselectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
22077
22114
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: MultiselectInputComponent, isStandalone: true, selector: "m-multiselect-input", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, usesInheritance: true, ngImport: i0, template: "\n @if (config(); as dropdown) {\n @if (dropdown.label) {\n <m-label\n [for]=\"dropdown.name ?? ''\"\n [placeholder]=\"dropdown.label\"\n [params]=\"dropdown.params\"\n [required]=\"required()\"\n [disabled]=\"disabled()\"\n />\n }\n <div\n class=\"trigger-wrap\"\n #wrapper\n [mSelector]=\"selectorConfig()\"\n [disabled]=\"disabled() || readonly() || !!config()?.readonly\"\n (opened)=\"onOpened()\"\n (closed)=\"onClosed()\"\n (focusin)=\"isFocused.set(true)\"\n (focusout)=\"isFocused.set(false)\"\n >\n <m-text-input\n [config]=\"triggerInputConfig()\"\n [value]=\"displayValue()\"\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [hideErrors]=\"true\"\n [(touched)]=\"touched\"\n [focused]=\"focused()\"\n (valueChange)=\"onInput($event)\"\n (click)=\"preventToggleWhenOpen($event)\"\n (keydown.space)=\"$event.stopPropagation()\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.arrowdown)=\"onArrow($event, 1)\"\n (keydown.arrowup)=\"onArrow($event, -1)\"\n (keydown.tab)=\"$event.stopPropagation()\"\n />\n <m-button [disabled]=\"disabled()\" [config]=\"chevron()\" />\n </div>\n @if (showErrors()) {\n @for (error of errors(); track $index) {\n <m-text-output\n variant=\"footer\"\n color=\"error\"\n [label]=\"error.message\"\n />\n }\n }\n }\n", isInline: true, styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:contents}.trigger-wrap{position:relative;--m-text-input-padding-right: 2.25em }.trigger-wrap m-button{position:absolute;right:0;top:0;bottom:0;--m-button-size: 1em !important;height:100%;border-radius:0 var(--m-input-radius, calc(var(--input-size, 1em) * .5)) var(--m-input-radius, calc(var(--input-size, 1em) * .5)) 0;--m-button-radius: 0 var(--m-input-radius, calc(var(--input-size, 1em) * .5)) var(--m-input-radius, calc(var(--input-size, 1em) * .5)) 0}\n"], dependencies: [{ kind: "component", type: LabelComponent, selector: "m-label", inputs: ["for", "placeholder", "params", "required", "disabled", "color", "noTranslate"] }, { kind: "component", type: TextOutputComponent, selector: "m-text-output", inputs: ["config", "align", "variant", "color", "fontWeight", "label", "noTranslate", "params"], outputs: ["configChange", "clicked"] }, { kind: "component", type: TextInputComponent, selector: "m-text-input", inputs: ["value", "config", "required", "disabled", "invalid", "touched", "focused", "errors", "hideErrors"], outputs: ["valueChange", "touchedChange"] }, { kind: "component", type: ButtonComponent, selector: "m-button,m-one-button", inputs: ["config", "color", "labelClass", "fullWidth", "nav", "navParams", "href", "disabled", "variant", "name", "baseUrl", "one", "remote", "label", "noTranslate", "params", "noNative", "icon", "isRightIcon", "iconOnly", "stacked", "imgSrc", "nonClickable", "inverted", "isSubmit", "tabindex"], outputs: ["configChange", "clicked"] }, { kind: "directive", type: SelectorDirective, selector: "[mSelector]", inputs: ["mSelector", "disabled"], outputs: ["opened", "closed"], exportAs: ["mSelector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22078
22115
|
}
|
|
22079
22116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: MultiselectInputComponent, decorators: [{
|
|
22080
22117
|
type: Component,
|
|
22081
22118
|
args: [{ selector: 'm-multiselect-input', template: DROPDOWN_TEMPLATE, imports: DROPDOWN_IMPORTS, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:contents}.trigger-wrap{position:relative;--m-text-input-padding-right: 2.25em }.trigger-wrap m-button{position:absolute;right:0;top:0;bottom:0;--m-button-size: 1em !important;height:100%;border-radius:0 var(--m-input-radius, calc(var(--input-size, 1em) * .5)) var(--m-input-radius, calc(var(--input-size, 1em) * .5)) 0;--m-button-radius: 0 var(--m-input-radius, calc(var(--input-size, 1em) * .5)) var(--m-input-radius, calc(var(--input-size, 1em) * .5)) 0}\n"] }]
|
|
22082
|
-
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }] } });
|
|
22119
|
+
}], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }] } });
|
|
22083
22120
|
|
|
22084
22121
|
var multiselect = /*#__PURE__*/Object.freeze({
|
|
22085
22122
|
__proto__: null,
|
|
@@ -23321,7 +23358,7 @@ class WrapperInputComponent extends ConfigComponent {
|
|
|
23321
23358
|
break;
|
|
23322
23359
|
}
|
|
23323
23360
|
case InputType.TOGGLE: {
|
|
23324
|
-
const { ToggleInputComponent } = await import('./magmonium-one-toggle-
|
|
23361
|
+
const { ToggleInputComponent } = await import('./magmonium-one-toggle-AXRopys5.mjs');
|
|
23325
23362
|
this.createDynamicComponent(seq, ToggleInputComponent, [], true);
|
|
23326
23363
|
break;
|
|
23327
23364
|
}
|
|
@@ -23333,12 +23370,12 @@ class WrapperInputComponent extends ConfigComponent {
|
|
|
23333
23370
|
break;
|
|
23334
23371
|
}
|
|
23335
23372
|
case InputType.PASSWORD: {
|
|
23336
|
-
const { PasswordInputComponent } = await import('./magmonium-one-password-
|
|
23373
|
+
const { PasswordInputComponent } = await import('./magmonium-one-password-idcVo1X1.mjs');
|
|
23337
23374
|
this.createDynamicComponent(seq, PasswordInputComponent);
|
|
23338
23375
|
break;
|
|
23339
23376
|
}
|
|
23340
23377
|
case InputType.OTP: {
|
|
23341
|
-
const { OtpInputComponent } = await import('./magmonium-one-otp-
|
|
23378
|
+
const { OtpInputComponent } = await import('./magmonium-one-otp-BKjTa-rP.mjs');
|
|
23342
23379
|
this.createDynamicComponent(seq, OtpInputComponent);
|
|
23343
23380
|
break;
|
|
23344
23381
|
}
|
|
@@ -23712,6 +23749,7 @@ class ToggleRadioInputComponent extends BaseTextInputComponent {
|
|
|
23712
23749
|
observer;
|
|
23713
23750
|
constructor() {
|
|
23714
23751
|
super();
|
|
23752
|
+
presetDefaultOption(this.sourceOptions, this.value, (value) => this.value.set(String(value)));
|
|
23715
23753
|
effect(this.updateOptions);
|
|
23716
23754
|
effect(this.resetVisibleCount);
|
|
23717
23755
|
effect(() => {
|
|
@@ -24030,6 +24068,13 @@ class SelectableCardInputComponent extends BaseInputComponent {
|
|
|
24030
24068
|
return source;
|
|
24031
24069
|
return this.assetOptions();
|
|
24032
24070
|
}, ...(ngDevMode ? [{ debugName: "cardOptions" }] : /* istanbul ignore next */ []));
|
|
24071
|
+
// Bound `data` draws its own cards, so only an options list can mark the
|
|
24072
|
+
// row a Field starts on.
|
|
24073
|
+
presetOptions = computed(() => this.data()?.length ? [] : this.cardOptions(), ...(ngDevMode ? [{ debugName: "presetOptions" }] : /* istanbul ignore next */ []));
|
|
24074
|
+
constructor() {
|
|
24075
|
+
super();
|
|
24076
|
+
presetDefaultOption(this.presetOptions, this.value, (value) => this.value.set(this.config()?.multiSelect ? [String(value)] : String(value)));
|
|
24077
|
+
}
|
|
24033
24078
|
// A SelectableCard is its cards and nothing else — no label of its own, no
|
|
24034
24079
|
// box around them — so with no options it draws nothing at all. Shipped that
|
|
24035
24080
|
// is right; on a Canvas it leaves a Control the User cannot see, select or
|
|
@@ -24105,7 +24150,7 @@ class SelectableCardInputComponent extends BaseInputComponent {
|
|
|
24105
24150
|
event.stopPropagation();
|
|
24106
24151
|
this.onCardClick(id);
|
|
24107
24152
|
};
|
|
24108
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SelectableCardInputComponent, deps:
|
|
24153
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SelectableCardInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
24109
24154
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SelectableCardInputComponent, isStandalone: true, selector: "m-selectable-card", inputs: { element: { classPropertyName: "element", publicName: "element", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, queries: [{ propertyName: "projectedTemplate", first: true, predicate: (TemplateRef), descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
24110
24155
|
@if (config(); as cfg) {
|
|
24111
24156
|
@if (cfg.label) {
|
|
@@ -24251,7 +24296,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
24251
24296
|
IconComponent,
|
|
24252
24297
|
LabelComponent,
|
|
24253
24298
|
], changeDetection: ChangeDetectionStrategy.OnPush, styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}:host{display:block;width:100%;max-width:100%;min-width:0}.selectable-card{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.selectable-card--vertical{flex-direction:column;flex-wrap:nowrap}.selectable-card--vertical .selectable-card__item{width:100%;max-width:100%;min-width:0;align-items:flex-start}.selectable-card--vertical .selectable-card__indicator{padding-top:.125rem}.selectable-card--vertical .selectable-card__content{align-items:flex-start}.selectable-card__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--m-selectable-card-border, color-mix(in srgb, var(--m-text) 18%, var(--m-background)));border-radius:var(--m-input-radius, .5rem);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--m-selectable-card-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background)));transition:border-color .2s ease,box-shadow .2s ease,background .15s ease;box-sizing:border-box;max-width:100%;min-width:0}.selectable-card__item.selectable-card__item--line{border:1px solid var(--border, var(--m-border));border-radius:16px}.selectable-card__item.selectable-card__item--line:hover:not(.selectable-card__item.selectable-card__item--line--disabled){border-color:var(--border, var(--m-border));box-shadow:none}.selectable-card__item.selectable-card__item--line--selected{border-color:var(--border, var(--m-border));box-shadow:none;background:var(--background, var(--m-background))}.selectable-card__item.selectable-card__item--line--selected:hover:not(.selectable-card__item--disabled){box-shadow:none}.selectable-card__item.selectable-card__item--line:focus-visible{outline-color:var(--border, var(--m-border))}.selectable-card__item.selectable-card__item--line .selectable-card__indicator{display:none}.selectable-card__item:hover:not(.selectable-card__item--disabled){border-color:var(--m-selectable-card-hover-border, color-mix(in srgb, var(--m-focus) 55%, var(--m-background)));box-shadow:none}.selectable-card__item--selected{border-color:var(--m-selectable-card-selected-border, var(--m-focus));box-shadow:none;background:color-mix(in srgb,var(--m-focus) 5%,var(--m-background))}.selectable-card__item:focus-visible{outline:2px solid var(--m-focus);outline-offset:3px}.selectable-card__item--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.selectable-card__content{flex:1;min-width:0;max-width:100%;display:flex;align-items:center;gap:.5rem}.selectable-card__content>*{flex:1;min-width:0;max-width:100%}.selectable-card__icon{flex-shrink:0;display:flex}.selectable-card__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selectable-card__indicator{flex-shrink:0;display:flex;align-items:center}.selectable-card__indicator input[type=checkbox],.selectable-card__indicator input[type=radio]{appearance:none;-webkit-appearance:none;width:1.25rem;height:1.25rem;border:var(--m-input-border-width, 1px) solid color-mix(in srgb,var(--m-text) 18%,var(--m-background));border-radius:var(--m-checkbox-radius, .35rem);background:var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background)));cursor:pointer;box-sizing:border-box;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease;position:relative;flex-shrink:0;outline:none}.selectable-card__indicator input[type=checkbox][type=radio],.selectable-card__indicator input[type=radio][type=radio]{border-radius:50%}.selectable-card__indicator input[type=checkbox]:hover:not(:disabled),.selectable-card__indicator input[type=radio]:hover:not(:disabled){border-color:color-mix(in srgb,var(--m-focus) 55%,var(--m-background))}.selectable-card__indicator input[type=checkbox]:focus-visible,.selectable-card__indicator input[type=radio]:focus-visible{border-color:var(--m-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--m-focus) 14%,transparent)}.selectable-card__indicator input[type=checkbox]:checked,.selectable-card__indicator input[type=radio]:checked{background:var(--m-focus);border-color:var(--m-focus)}.selectable-card__indicator input[type=checkbox]:checked:hover:not(:disabled),.selectable-card__indicator input[type=radio]:checked:hover:not(:disabled){box-shadow:0 0 0 3px color-mix(in srgb,var(--m-focus) 18%,transparent)}.selectable-card__indicator input[type=checkbox]:checked:after,.selectable-card__indicator input[type=radio]:checked:after{content:\"\";position:absolute;top:50%;left:50%}.selectable-card__indicator input[type=checkbox][type=checkbox]:checked:after,.selectable-card__indicator input[type=radio][type=checkbox]:checked:after{width:.45rem;height:.25rem;border-left:2px solid white;border-bottom:2px solid white;transform:translate(-50%,-60%) rotate(-45deg)}.selectable-card__indicator input[type=checkbox][type=radio]:checked:after,.selectable-card__indicator input[type=radio][type=radio]:checked:after{width:.5rem;height:.5rem;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}.selectable-card__indicator input[type=checkbox]:disabled,.selectable-card__indicator input[type=radio]:disabled{opacity:.5;cursor:not-allowed}\n"] }]
|
|
24254
|
-
}], propDecorators: { element: [{ type: i0.Input, args: [{ isSignal: true, alias: "element", required: false }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], template: [{ type: i0.Input, args: [{ isSignal: true, alias: "template", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], projectedTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
24299
|
+
}], ctorParameters: () => [], propDecorators: { element: [{ type: i0.Input, args: [{ isSignal: true, alias: "element", required: false }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], template: [{ type: i0.Input, args: [{ isSignal: true, alias: "template", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], projectedTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
|
|
24255
24300
|
|
|
24256
24301
|
var selectableCard = /*#__PURE__*/Object.freeze({
|
|
24257
24302
|
__proto__: null,
|
|
@@ -25059,7 +25104,7 @@ class FileUploadInputComponent extends BaseInputComponent {
|
|
|
25059
25104
|
const modalStore = this.modalStore;
|
|
25060
25105
|
if (!modalStore)
|
|
25061
25106
|
return undefined;
|
|
25062
|
-
const { ImageEditorComponent } = await import('./magmonium-one-image-editor-
|
|
25107
|
+
const { ImageEditorComponent } = await import('./magmonium-one-image-editor-mHRn2N35.mjs');
|
|
25063
25108
|
const ratio = String(this.config()?.ratio ?? '');
|
|
25064
25109
|
return new Promise((resolve) => {
|
|
25065
25110
|
const modalRef = new ModalRef();
|
|
@@ -40683,5 +40728,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
40683
40728
|
* Generated bundle index. Do not edit.
|
|
40684
40729
|
*/
|
|
40685
40730
|
|
|
40686
|
-
export { CheckboxGroupComponent as $, ACCESS_DOMAINS as A, ButtonComponent as B, AssetUrlPipe as C, Assets as D, AuthActivityPageComponent as E, AuthApiService as F, AuthStore as G, HeaderComponent$1 as H, InputType as I, AutosizeDirective as J, BadgeComponent as K, LabelComponent as L, MODAL_REF as M, BandingComponent as N, BaseArrayInputComponent as O, BaseRootWebComponent as P, BaseWebComponent as Q, RangeInputComponent as R, ButtonGroupComponent as S, TranslatePipe as T, CALLING_APP_HEADER as U, COMPONENT_INPUT_REGISTRY as V, CardComponent as W, CardWrapperComponent as X, CarouselComponent as Y, ChartComponent as Z, ChatBubbleComponent as _, MIN_ZOOM as a, ICON_SOURCE as a$, CheckboxInputComponent as a0, ClearableInputComponent as a1, ClipboardService as a2, ColComponent as a3, ColorPickerInputComponent as a4, CommentItemComponent as a5, CommentsApiService as a6, CommentsComponent as a7, CommentsStore as a8, CompactNumberPipe as a9, DocComponent as aA, DocEditorComponent as aB, DomService as aC, Domain as aD, DotGridComponent as aE, DragListDirective as aF, DragListItemDirective as aG, DraggableDirective as aH, DropdownInputComponent as aI, FILTER_GROUP_CONTEXT as aJ, FILTER_RANGE_MODES as aK, FILTER_VARIANTS as aL, FLEX_VARIANTS as aM, FOLDER_PICK_LISTENER as aN, FORM_ASSET_FOLDER as aO, FileService as aP, FileUploadDirective as aQ, FileUploadInputComponent as aR, FlexComponent as aS, FlexItemComponent as aT, FormGroupComponent as aU, FrameComponent as aV, FreezeService as aW, GRID_BREAKPOINTS as aX, GetNavService as aY, HighlightDirective as aZ, HttpService as a_, ComponentInputComponent as aa, ComponentStepperComponent as ab, ConfigComponent as ac, ConfirmComponent as ad, ContextMenuComponent as ae, CustomIconClass as af, CustomIconEditComponent as ag, DEFAULT_DENIAL as ah, DEFAULT_DOC_DENSITY as ai, DEFAULT_DOC_VARIANT as aj, DEFAULT_FILTER_RANGE_MODE as ak, DEFAULT_FILTER_VARIANT as al, DEFAULT_NAV_PARAM as am, DEFAULT_NAV_SEGMENT as an, DEFAULT_SIZE as ao, DOCK_MIN_PAGE_REMAINDER as ap, DOCS_FOLDER as aq, DOC_ACTION_ICONS as ar, DOC_DENSITIES as as, DOC_EDIT_ACTIONS as at, DOC_TOOLBAR_GROUPS as au, DOC_VARIANTS as av, DashboardCardComponent as aw, DateInputComponent as ax, DatePickerComponent as ay, DeviceService as az, MAX_ZOOM as b, PLATFORM_EXTENSIBLE_NAV_IDS as b$, IS_SIDE_PANEL as b0, IconComponent as b1, ImgComponent as b2, InstrumentScoreComponent as b3, InterceptorObservables as b4, JumbotronComponent as b5, KeyValueComponent as b6, LAYOUT_ASSET_FOLDER as b7, LOGIN_COMPONENT as b8, LOGIN_STORE as b9, NAV_SEGMENT_RE as bA, NAV_STORE_REF as bB, NAV_WC_COMPONENTS as bC, NAV_WIDGET_MAP as bD, NavComponent as bE, NavDetailsComponent as bF, NavHeaderComponent as bG, NavMenuComponent as bH, NavStore as bI, NavTrailComponent as bJ, NothingComponent as bK, NotificationElementComponent as bL, NotificationGroupComponent as bM, NotificationPopupComponent as bN, NotificationService as bO, NotificationStore as bP, NotificationType as bQ, NotificationWidgetComponent as bR, ONE_ASSET_BASE_URL as bS, OPTIONS_SOURCE as bT, OVERLAY_WIDGETS as bU, OneApp as bV, OptionsSourceDirective as bW, OverlayBodyComponent as bX, OverlayRef as bY, OverlayService as bZ, PLATFORM_BUTTON_NAV_IDS as b_, LanguageComponent as ba, ListComponent as bb, LogoComponent as bc, MAG_SOCKET_EVENT as bd, MHeroColorDirective as be, MHeroComponent as bf, MODAL_STORE_REF as bg, MOUNT_STATIC_SEGMENT as bh, MOUNT_TOKEN as bi, MRefDirective as bj, MStepComponent as bk, MURL_PARAM as bl, MURL_SEP as bm, ManifestEnrichmentService as bn, MarginDirective as bo, MenuComponent as bp, ModalDirective as bq, ModalRef as br, ModalStore as bs, MoneyPipe as bt, MultiRangeInputComponent as bu, MultiselectInputComponent as bv, MurlUrlSerializer as bw, NAV_DEFAULT_MURL as bx, NAV_ID_SEP as by, NAV_MAIN_BUTTONS as bz, cropRect as c, SelectableCardInputComponent as c$, PLATFORM_NAV_MAP as c0, PLATFORM_ROOT_CHILDREN as c1, PaddingDirective as c2, PaginationComponent as c3, PanelComponent as c4, PercentagePipe as c5, PlaygroundComponent as c6, PositionDirective as c7, PwaInstallComponent as c8, RECENT_SEARCH_LIMIT as c9, SectionAccordionGroupDirective as cA, SectionBackComponent as cB, SectionBadgesComponent as cC, SectionButtonGroupComponent as cD, SectionCardComponent as cE, SectionCarouselComponent as cF, SectionComponent as cG, SectionFilterComponent as cH, SectionFilterGroupComponent as cI, SectionFilterMenuComponent as cJ, SectionFilterPanelComponent as cK, SectionFilterRangePanelComponent as cL, SectionFooterComponent as cM, SectionFormComponent as cN, SectionFormItemComponent as cO, SectionHeaderComponent as cP, SectionHeroComponent as cQ, SectionPaginationComponent as cR, SectionSearchComponent as cS, SectionStepperComponent as cT, SectionTableCellComponent as cU, SectionTableComponent as cV, SectionTableRowComponent as cW, SectionTableSortPipe as cX, SectionTabsComponent as cY, SectionToggleComponent as cZ, SectionToggleItemDirective as c_, REMOTE_PAGE_RELOAD as ca, ROOT_NAV$1 as cb, RadioGroupComponent as cc, RadioInputComponent as cd, RatingInputComponent as ce, ReactiveElementComponent as cf, RemoteComponent as cg, RemoteLoaderService as ch, ResizeElementComponent as ci, RouteContainer as cj, RowComponent as ck, SEARCH_QUERY as cl, SEARCH_RESULTS_EVENT as cm, SECTION_ACCORDION_GROUP as cn, SECTION_FORM_CONTEXT as co, SECTION_TABLE_VARIANTS as cp, SHARED_ICONS as cq, SIZE_CONTEXT as cr, SPACING_INWARD as cs, ScoreComponent as ct, ScrollComponent as cu, ScrollService as cv, SearchPanelComponent as cw, SearchStore as cx, SearchUserPanelComponent as cy, SectionAccordionDirective as cz, drawFramed as d, bootstrapMagApp as d$, SelectorDirective as d0, SettingsSearchBarComponent as d1, SettingsSearchService as d2, ShapeComponent as d3, SharedStoreRegistry as d4, SidePanelDirective as d5, Size as d6, SocketStore as d7, SortComponent as d8, StatComponent as d9, ToolTipDirective as dA, TooltipComponent as dB, TranslateService as dC, TreeGridComponent as dD, URL_SEP as dE, USER_STORE_REF as dF, USER_TAB_MAP as dG, UniverseComponent as dH, UserApiService as dI, UserAvatarComponent as dJ, UserComponent as dK, UserNavComponent as dL, UserSettingsComponent as dM, UserStore as dN, WC_BUNDLE as dO, WC_NAVIGATE_EVENT as dP, WC_ROUTE_CHANGED_EVENT as dQ, WC_SEARCH_GROUPS as dR, WIN_USER_TAB_HOOK as dS, WIN_USER_TAB_KEY as dT, WatermarkComponent as dU, WcRouterStore as dV, WrapperInputComponent as dW, anchorNavId as dX, applyColorsToElement as dY, applyDocEdit as dZ, assetOptions as d_, StepComponent as da, StepperComponent as db, StepsComponent as dc, StorageService as dd, StrokeLinecap as de, StrokeLinejoin as df, SummaryComponent as dg, SvgGeneratorComponent as dh, SvgGeneratorService as di, SvgService as dj, TOTAL_COLUMNS as dk, TRANSLATION_SOURCE as dl, TableComponent as dm, TechnicalMeterComponent as dn, TextInputComponent as dp, TextareaInputComponent as dq, ThemeComponent as dr, ThemeDataService as ds, ThemeService as dt, ThemeStore as du, TimeAgoPipe as dv, TimelineComponent as dw, ToggleButtonComponent as dx, ToggleInputComponent as dy, ToggleRadioInputComponent as dz, encodeFramed as e, injectAuthenticate as e$, bootstrapPwaInstall as e0, buildWcBaseUrl as e1, calculateLuminance as e2, calculateRanks as e3, cellText as e4, checkDoc as e5, checkFilterCondition as e6, childNavId as e7, claimDenial as e8, classListSignal as e9, filterNumberList as eA, filterOne as eB, filterPanelOf as eC, filterPanelWidth as eD, filterRange as eE, filterTreeGridRows as eF, filterValueList as eG, filterValues as eH, flattenTreeGridRows as eI, formatBadgeCount as eJ, fullName as eK, generateClipPath as eL, generateTransform as eM, getClassList as eN, getProperty as eO, getScrollParent as eP, getTierFromPreviewPath as eQ, getTreeGridRow as eR, getUniqueId as eS, getValue as eT, hasErrorComputed as eU, hexToRgb as eV, hslToRgb$1 as eW, initMagmoniumApp as eX, initialNotificationState as eY, initialState$2 as eZ, initials as e_, coerceSize as ea, cornerEdge as eb, cornerSide as ec, createMap as ed, createPlatformNavMap as ee, definedWcTierOf as ef, deriveAvatarGradient as eg, deriveContrastColor as eh, deriveOppositeColor as ei, derivePropertyName as ej, docActionKey as ek, docAssetCandidates as el, docProblemKey as em, docRemotePath as en, emailValidation as eo, evaluate as ep, evaluateBool as eq, fieldBoolean as er, fieldNumber as es, fieldString as et, filterHoldsList as eu, filterHoldsOneBound as ev, filterHoldsOptions as ew, filterHoldsRange as ex, filterList as ey, filterNumber as ez, clampFraming as f, permissionRefusal as f$, injectDefaultDenial as f0, injectInstallApp as f1, injectParentSize as f2, injectScrollSticky as f3, isBootRedirect as f4, isButtonName as f5, isCancelledComputed as f6, isExtensiblePlatformNavId as f7, isJson as f8, isLoadingComputed as f9, minLengthValidation as fA, minValidation as fB, miniMarkToHtml as fC, mountFor as fD, mountPatternProblem as fE, mountPatternText as fF, mountSegmentOf as fG, mountTokenOf as fH, navIdChain as fI, navIdFor as fJ, navIdSegment as fK, navIdToRoutePath as fL, navIdToSegments as fM, navParamOf as fN, navTailMatcher as fO, navToId as fP, navVisibilityGuard as fQ, nextSectionTableSort as fR, normalizeAssetOptions as fS, offsetOfLine as fT, parentNavId as fU, parseAddress as fV, parseColor as fW, parseMountPattern as fX, parsePatternNames as fY, patternValidation as fZ, patternsValidation as f_, isLocalhost as fa, isNavInstanceConfig as fb, isNavMenuConfig as fc, isNavRowsConfig as fd, isNavVisibilityConfig as fe, isPlatformNavId as ff, isSize as fg, isTierPreview as fh, isUrlLocalhost as fi, isValidNavId as fj, isValidNavSegment as fk, isWebComponent as fl, linkToId as fm, linkToNav as fn, loadingActions as fo, mInterceptor as fp, manualValidation as fq, matchFieldValidation as fr, matchMount as fs, maxLengthValidation as ft, maxValidation as fu, mergePlatformNav as fv, mergeUnique as fw, mergeUniqueBy as fx, mergeUniqueWith as fy, minAgeValidation as fz, BaseInputComponent as g, platformNavWidgets as g0, privateGuard as g1, processImageToSvg as g2, provideAppContext as g3, provideMagAppConfig as g4, provideMagWcConfig as g5, provideMagWcRoutes as g6, provideModalComponents as g7, provideMurlUrlSerializer as g8, provideNavWidgets as g9, setProperty as gA, setTreeGridChildren as gB, setWcTier as gC, settingsWidgets as gD, shouldShowBadge as gE, sortSectionTableRows as gF, splitNavId as gG, splitOnMatch as gH, stringToColor as gI, tailRouteOf as gJ, toAttrBool as gK, toAttrNumber as gL, toCssLength as gM, toHostNavId as gN, toLength$1 as gO, toLocalNavId as gP, toggleTreeGridRow as gQ, unfetchedPlatformNav as gR, ungroupedDocActions as gS, urlValidation as gT, wcTierOf as gU, provideOverlayWidgets as ga, providePlatformNavWidgets as gb, provideSearch as gc, provideSizeContext as gd, provideUserTabs as ge, publicGuard as gf, readFieldPatterns as gg, recordDefinedWcTier as gh, remoteOutletRoute as gi, renderAddress as gj, renderDocument as gk, requiredValidation as gl, resolveConfigAsset as gm, resolveIconSize as gn, resolvePallet as go, resolvePatternRules as gp, resolveSize as gq, resolveSpacing as gr, rgbToHex as gs, rgbToHsl as gt, rowHasChildren as gu, samePatterns as gv, sectionTableColumnId as gw, sectionTableColumnWidths as gx, sectionTableFrozenCount as gy, segmentsToNavId as gz, BaseTextInputComponent as h, initialFraming as i, TextOutputComponent as j, IS_DESIGN_MODE as k, APP_CONTEXT_REF as l, APP_LINK as m, ASSET_BASE_URL as n, outputSize as o, parseRatio as p, AccordionBodyDirective as q, renameForType as r, AccordionComponent as s, AccordionGroupComponent as t, ActionComponent as u, AnimatedGraphsComponent as v, AppCardComponent as w, AppRelationType as x, AppTileComponent as y, AssetStore as z };
|
|
40687
|
-
//# sourceMappingURL=magmonium-one-magmonium-one-
|
|
40731
|
+
export { CheckboxGroupComponent as $, ACCESS_DOMAINS as A, ButtonComponent as B, AssetUrlPipe as C, Assets as D, AuthActivityPageComponent as E, AuthApiService as F, AuthStore as G, HeaderComponent$1 as H, InputType as I, AutosizeDirective as J, BadgeComponent as K, LabelComponent as L, MODAL_REF as M, BandingComponent as N, BaseArrayInputComponent as O, BaseRootWebComponent as P, BaseWebComponent as Q, RangeInputComponent as R, ButtonGroupComponent as S, TranslatePipe as T, CALLING_APP_HEADER as U, COMPONENT_INPUT_REGISTRY as V, CardComponent as W, CardWrapperComponent as X, CarouselComponent as Y, ChartComponent as Z, ChatBubbleComponent as _, MIN_ZOOM as a, ICON_SOURCE as a$, CheckboxInputComponent as a0, ClearableInputComponent as a1, ClipboardService as a2, ColComponent as a3, ColorPickerInputComponent as a4, CommentItemComponent as a5, CommentsApiService as a6, CommentsComponent as a7, CommentsStore as a8, CompactNumberPipe as a9, DocComponent as aA, DocEditorComponent as aB, DomService as aC, Domain as aD, DotGridComponent as aE, DragListDirective as aF, DragListItemDirective as aG, DraggableDirective as aH, DropdownInputComponent as aI, FILTER_GROUP_CONTEXT as aJ, FILTER_RANGE_MODES as aK, FILTER_VARIANTS as aL, FLEX_VARIANTS as aM, FOLDER_PICK_LISTENER as aN, FORM_ASSET_FOLDER as aO, FileService as aP, FileUploadDirective as aQ, FileUploadInputComponent as aR, FlexComponent as aS, FlexItemComponent as aT, FormGroupComponent as aU, FrameComponent as aV, FreezeService as aW, GRID_BREAKPOINTS as aX, GetNavService as aY, HighlightDirective as aZ, HttpService as a_, ComponentInputComponent as aa, ComponentStepperComponent as ab, ConfigComponent as ac, ConfirmComponent as ad, ContextMenuComponent as ae, CustomIconClass as af, CustomIconEditComponent as ag, DEFAULT_DENIAL as ah, DEFAULT_DOC_DENSITY as ai, DEFAULT_DOC_VARIANT as aj, DEFAULT_FILTER_RANGE_MODE as ak, DEFAULT_FILTER_VARIANT as al, DEFAULT_NAV_PARAM as am, DEFAULT_NAV_SEGMENT as an, DEFAULT_SIZE as ao, DOCK_MIN_PAGE_REMAINDER as ap, DOCS_FOLDER as aq, DOC_ACTION_ICONS as ar, DOC_DENSITIES as as, DOC_EDIT_ACTIONS as at, DOC_TOOLBAR_GROUPS as au, DOC_VARIANTS as av, DashboardCardComponent as aw, DateInputComponent as ax, DatePickerComponent as ay, DeviceService as az, MAX_ZOOM as b, PLATFORM_EXTENSIBLE_NAV_IDS as b$, IS_SIDE_PANEL as b0, IconComponent as b1, ImgComponent as b2, InstrumentScoreComponent as b3, InterceptorObservables as b4, JumbotronComponent as b5, KeyValueComponent as b6, LAYOUT_ASSET_FOLDER as b7, LOGIN_COMPONENT as b8, LOGIN_STORE as b9, NAV_SEGMENT_RE as bA, NAV_STORE_REF as bB, NAV_WC_COMPONENTS as bC, NAV_WIDGET_MAP as bD, NavComponent as bE, NavDetailsComponent as bF, NavHeaderComponent as bG, NavMenuComponent as bH, NavStore as bI, NavTrailComponent as bJ, NothingComponent as bK, NotificationElementComponent as bL, NotificationGroupComponent as bM, NotificationPopupComponent as bN, NotificationService as bO, NotificationStore as bP, NotificationType as bQ, NotificationWidgetComponent as bR, ONE_ASSET_BASE_URL as bS, OPTIONS_SOURCE as bT, OVERLAY_WIDGETS as bU, OneApp as bV, OptionsSourceDirective as bW, OverlayBodyComponent as bX, OverlayRef as bY, OverlayService as bZ, PLATFORM_BUTTON_NAV_IDS as b_, LanguageComponent as ba, ListComponent as bb, LogoComponent as bc, MAG_SOCKET_EVENT as bd, MHeroColorDirective as be, MHeroComponent as bf, MODAL_STORE_REF as bg, MOUNT_STATIC_SEGMENT as bh, MOUNT_TOKEN as bi, MRefDirective as bj, MStepComponent as bk, MURL_PARAM as bl, MURL_SEP as bm, ManifestEnrichmentService as bn, MarginDirective as bo, MenuComponent as bp, ModalDirective as bq, ModalRef as br, ModalStore as bs, MoneyPipe as bt, MultiRangeInputComponent as bu, MultiselectInputComponent as bv, MurlUrlSerializer as bw, NAV_DEFAULT_MURL as bx, NAV_ID_SEP as by, NAV_MAIN_BUTTONS as bz, cropRect as c, SelectableCardInputComponent as c$, PLATFORM_NAV_MAP as c0, PLATFORM_ROOT_CHILDREN as c1, PaddingDirective as c2, PaginationComponent as c3, PanelComponent as c4, PercentagePipe as c5, PlaygroundComponent as c6, PositionDirective as c7, PwaInstallComponent as c8, RECENT_SEARCH_LIMIT as c9, SectionAccordionGroupDirective as cA, SectionBackComponent as cB, SectionBadgesComponent as cC, SectionButtonGroupComponent as cD, SectionCardComponent as cE, SectionCarouselComponent as cF, SectionComponent as cG, SectionFilterComponent as cH, SectionFilterGroupComponent as cI, SectionFilterMenuComponent as cJ, SectionFilterPanelComponent as cK, SectionFilterRangePanelComponent as cL, SectionFooterComponent as cM, SectionFormComponent as cN, SectionFormItemComponent as cO, SectionHeaderComponent as cP, SectionHeroComponent as cQ, SectionPaginationComponent as cR, SectionSearchComponent as cS, SectionStepperComponent as cT, SectionTableCellComponent as cU, SectionTableComponent as cV, SectionTableRowComponent as cW, SectionTableSortPipe as cX, SectionTabsComponent as cY, SectionToggleComponent as cZ, SectionToggleItemDirective as c_, REMOTE_PAGE_RELOAD as ca, ROOT_NAV$1 as cb, RadioGroupComponent as cc, RadioInputComponent as cd, RatingInputComponent as ce, ReactiveElementComponent as cf, RemoteComponent as cg, RemoteLoaderService as ch, ResizeElementComponent as ci, RouteContainer as cj, RowComponent as ck, SEARCH_QUERY as cl, SEARCH_RESULTS_EVENT as cm, SECTION_ACCORDION_GROUP as cn, SECTION_FORM_CONTEXT as co, SECTION_TABLE_VARIANTS as cp, SHARED_ICONS as cq, SIZE_CONTEXT as cr, SPACING_INWARD as cs, ScoreComponent as ct, ScrollComponent as cu, ScrollService as cv, SearchPanelComponent as cw, SearchStore as cx, SearchUserPanelComponent as cy, SectionAccordionDirective as cz, drawFramed as d, bootstrapMagApp as d$, SelectorDirective as d0, SettingsSearchBarComponent as d1, SettingsSearchService as d2, ShapeComponent as d3, SharedStoreRegistry as d4, SidePanelDirective as d5, Size as d6, SocketStore as d7, SortComponent as d8, StatComponent as d9, ToolTipDirective as dA, TooltipComponent as dB, TranslateService as dC, TreeGridComponent as dD, URL_SEP as dE, USER_STORE_REF as dF, USER_TAB_MAP as dG, UniverseComponent as dH, UserApiService as dI, UserAvatarComponent as dJ, UserComponent as dK, UserNavComponent as dL, UserSettingsComponent as dM, UserStore as dN, WC_BUNDLE as dO, WC_NAVIGATE_EVENT as dP, WC_ROUTE_CHANGED_EVENT as dQ, WC_SEARCH_GROUPS as dR, WIN_USER_TAB_HOOK as dS, WIN_USER_TAB_KEY as dT, WatermarkComponent as dU, WcRouterStore as dV, WrapperInputComponent as dW, anchorNavId as dX, applyColorsToElement as dY, applyDocEdit as dZ, assetOptions as d_, StepComponent as da, StepperComponent as db, StepsComponent as dc, StorageService as dd, StrokeLinecap as de, StrokeLinejoin as df, SummaryComponent as dg, SvgGeneratorComponent as dh, SvgGeneratorService as di, SvgService as dj, TOTAL_COLUMNS as dk, TRANSLATION_SOURCE as dl, TableComponent as dm, TechnicalMeterComponent as dn, TextInputComponent as dp, TextareaInputComponent as dq, ThemeComponent as dr, ThemeDataService as ds, ThemeService as dt, ThemeStore as du, TimeAgoPipe as dv, TimelineComponent as dw, ToggleButtonComponent as dx, ToggleInputComponent as dy, ToggleRadioInputComponent as dz, encodeFramed as e, injectAuthenticate as e$, bootstrapPwaInstall as e0, buildWcBaseUrl as e1, calculateLuminance as e2, calculateRanks as e3, cellText as e4, checkDoc as e5, checkFilterCondition as e6, childNavId as e7, claimDenial as e8, classListSignal as e9, filterNumberList as eA, filterOne as eB, filterPanelOf as eC, filterPanelWidth as eD, filterRange as eE, filterTreeGridRows as eF, filterValueList as eG, filterValues as eH, flattenTreeGridRows as eI, formatBadgeCount as eJ, fullName as eK, generateClipPath as eL, generateTransform as eM, getClassList as eN, getProperty as eO, getScrollParent as eP, getTierFromPreviewPath as eQ, getTreeGridRow as eR, getUniqueId as eS, getValue as eT, hasErrorComputed as eU, hexToRgb as eV, hslToRgb$1 as eW, initMagmoniumApp as eX, initialNotificationState as eY, initialState$2 as eZ, initials as e_, coerceSize as ea, cornerEdge as eb, cornerSide as ec, createMap as ed, createPlatformNavMap as ee, definedWcTierOf as ef, deriveAvatarGradient as eg, deriveContrastColor as eh, deriveOppositeColor as ei, derivePropertyName as ej, docActionKey as ek, docAssetCandidates as el, docProblemKey as em, docRemotePath as en, emailValidation as eo, evaluate as ep, evaluateBool as eq, fieldBoolean as er, fieldNumber as es, fieldString as et, filterHoldsList as eu, filterHoldsOneBound as ev, filterHoldsOptions as ew, filterHoldsRange as ex, filterList as ey, filterNumber as ez, clampFraming as f, permissionRefusal as f$, injectDefaultDenial as f0, injectInstallApp as f1, injectParentSize as f2, injectScrollSticky as f3, isBootRedirect as f4, isButtonName as f5, isCancelledComputed as f6, isExtensiblePlatformNavId as f7, isJson as f8, isLoadingComputed as f9, minLengthValidation as fA, minValidation as fB, miniMarkToHtml as fC, mountFor as fD, mountPatternProblem as fE, mountPatternText as fF, mountSegmentOf as fG, mountTokenOf as fH, navIdChain as fI, navIdFor as fJ, navIdSegment as fK, navIdToRoutePath as fL, navIdToSegments as fM, navParamOf as fN, navTailMatcher as fO, navToId as fP, navVisibilityGuard as fQ, nextSectionTableSort as fR, normalizeAssetOptions as fS, offsetOfLine as fT, parentNavId as fU, parseAddress as fV, parseColor as fW, parseMountPattern as fX, parsePatternNames as fY, patternValidation as fZ, patternsValidation as f_, isLocalhost as fa, isNavInstanceConfig as fb, isNavMenuConfig as fc, isNavRowsConfig as fd, isNavVisibilityConfig as fe, isPlatformNavId as ff, isSize as fg, isTierPreview as fh, isUrlLocalhost as fi, isValidNavId as fj, isValidNavSegment as fk, isWebComponent as fl, linkToId as fm, linkToNav as fn, loadingActions as fo, mInterceptor as fp, manualValidation as fq, matchFieldValidation as fr, matchMount as fs, maxLengthValidation as ft, maxValidation as fu, mergePlatformNav as fv, mergeUnique as fw, mergeUniqueBy as fx, mergeUniqueWith as fy, minAgeValidation as fz, BaseInputComponent as g, platformNavWidgets as g0, presetDefaultOption as g1, privateGuard as g2, processImageToSvg as g3, provideAppContext as g4, provideMagAppConfig as g5, provideMagWcConfig as g6, provideMagWcRoutes as g7, provideModalComponents as g8, provideMurlUrlSerializer as g9, segmentsToNavId as gA, setProperty as gB, setTreeGridChildren as gC, setWcTier as gD, settingsWidgets as gE, shouldShowBadge as gF, sortSectionTableRows as gG, splitNavId as gH, splitOnMatch as gI, stringToColor as gJ, tailRouteOf as gK, toAttrBool as gL, toAttrNumber as gM, toCssLength as gN, toHostNavId as gO, toLength$1 as gP, toLocalNavId as gQ, toggleTreeGridRow as gR, unfetchedPlatformNav as gS, ungroupedDocActions as gT, urlValidation as gU, wcTierOf as gV, provideNavWidgets as ga, provideOverlayWidgets as gb, providePlatformNavWidgets as gc, provideSearch as gd, provideSizeContext as ge, provideUserTabs as gf, publicGuard as gg, readFieldPatterns as gh, recordDefinedWcTier as gi, remoteOutletRoute as gj, renderAddress as gk, renderDocument as gl, requiredValidation as gm, resolveConfigAsset as gn, resolveIconSize as go, resolvePallet as gp, resolvePatternRules as gq, resolveSize as gr, resolveSpacing as gs, rgbToHex as gt, rgbToHsl as gu, rowHasChildren as gv, samePatterns as gw, sectionTableColumnId as gx, sectionTableColumnWidths as gy, sectionTableFrozenCount as gz, BaseTextInputComponent as h, initialFraming as i, TextOutputComponent as j, IS_DESIGN_MODE as k, APP_CONTEXT_REF as l, APP_LINK as m, ASSET_BASE_URL as n, outputSize as o, parseRatio as p, AccordionBodyDirective as q, renameForType as r, AccordionComponent as s, AccordionGroupComponent as t, ActionComponent as u, AnimatedGraphsComponent as v, AppCardComponent as w, AppRelationType as x, AppTileComponent as y, AssetStore as z };
|
|
40732
|
+
//# sourceMappingURL=magmonium-one-magmonium-one-DdYdOA7f.mjs.map
|