@cratis/components 1.3.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/CommandForm/fields/CalendarField.js +13 -0
- package/dist/cjs/CommandForm/fields/CalendarField.js.map +1 -0
- package/dist/cjs/CommandForm/fields/ChipsField.js +18 -0
- package/dist/cjs/CommandForm/fields/ChipsField.js.map +1 -0
- package/dist/cjs/CommandForm/fields/ColorPickerField.js +17 -0
- package/dist/cjs/CommandForm/fields/ColorPickerField.js.map +1 -0
- package/dist/cjs/CommandForm/fields/MultiSelectField.js +18 -0
- package/dist/cjs/CommandForm/fields/MultiSelectField.js.map +1 -0
- package/dist/cjs/CommandForm/index.js +8 -0
- package/dist/cjs/CommandForm/index.js.map +1 -1
- package/dist/cjs/PivotViewer/PivotViewer.css +8 -2
- package/dist/cjs/PivotViewer/PivotViewer.js +3 -0
- package/dist/cjs/PivotViewer/PivotViewer.js.map +1 -1
- package/dist/cjs/PivotViewer/engine/layout.js +2 -2
- package/dist/cjs/PivotViewer/engine/layout.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/useCardSelection.js +4 -4
- package/dist/cjs/PivotViewer/hooks/useCardSelection.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/useDetailPanelClose.js +3 -3
- package/dist/cjs/PivotViewer/hooks/useDetailPanelClose.js.map +1 -1
- package/dist/cjs/PivotViewer/hooks/useWheelZoom.js +8 -1
- package/dist/cjs/PivotViewer/hooks/useWheelZoom.js.map +1 -1
- package/dist/cjs/PivotViewer/utils/selection.js +22 -2
- package/dist/cjs/PivotViewer/utils/selection.js.map +1 -1
- package/dist/cjs/tailwind-utilities.css +3 -0
- package/dist/esm/CommandDialog/CommandDialog.stories.d.ts.map +1 -1
- package/dist/esm/CommandDialog/CommandDialog.stories.js +129 -142
- package/dist/esm/CommandDialog/CommandDialog.stories.js.map +1 -1
- package/dist/esm/CommandForm/fields/CalendarField.d.ts +17 -0
- package/dist/esm/CommandForm/fields/CalendarField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/CalendarField.js +11 -0
- package/dist/esm/CommandForm/fields/CalendarField.js.map +1 -0
- package/dist/esm/CommandForm/fields/ChipsField.d.ts +15 -0
- package/dist/esm/CommandForm/fields/ChipsField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/ChipsField.js +16 -0
- package/dist/esm/CommandForm/fields/ChipsField.js.map +1 -0
- package/dist/esm/CommandForm/fields/ColorPickerField.d.ts +12 -0
- package/dist/esm/CommandForm/fields/ColorPickerField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/ColorPickerField.js +15 -0
- package/dist/esm/CommandForm/fields/ColorPickerField.js.map +1 -0
- package/dist/esm/CommandForm/fields/Fields.stories.d.ts +4 -0
- package/dist/esm/CommandForm/fields/Fields.stories.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/Fields.stories.js +45 -3
- package/dist/esm/CommandForm/fields/Fields.stories.js.map +1 -1
- package/dist/esm/CommandForm/fields/MultiSelectField.d.ts +18 -0
- package/dist/esm/CommandForm/fields/MultiSelectField.d.ts.map +1 -0
- package/dist/esm/CommandForm/fields/MultiSelectField.js +16 -0
- package/dist/esm/CommandForm/fields/MultiSelectField.js.map +1 -0
- package/dist/esm/CommandForm/fields/index.d.ts +4 -0
- package/dist/esm/CommandForm/fields/index.d.ts.map +1 -1
- package/dist/esm/CommandForm/fields/index.js +4 -0
- package/dist/esm/CommandForm/fields/index.js.map +1 -1
- package/dist/esm/CommandForm/index.js +4 -0
- package/dist/esm/CommandForm/index.js.map +1 -1
- package/dist/esm/Dialogs/Dialog.stories.d.ts.map +1 -1
- package/dist/esm/Dialogs/Dialog.stories.js +15 -16
- package/dist/esm/Dialogs/Dialog.stories.js.map +1 -1
- package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.stories.d.ts.map +1 -1
- package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.stories.js +12 -13
- package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.stories.js.map +1 -1
- package/dist/esm/PivotViewer/PivotViewer.css +8 -2
- package/dist/esm/PivotViewer/PivotViewer.d.ts.map +1 -1
- package/dist/esm/PivotViewer/PivotViewer.js +3 -0
- package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
- package/dist/esm/PivotViewer/PivotViewer.stories.d.ts +1 -0
- package/dist/esm/PivotViewer/PivotViewer.stories.d.ts.map +1 -1
- package/dist/esm/PivotViewer/PivotViewer.stories.js +177 -0
- package/dist/esm/PivotViewer/PivotViewer.stories.js.map +1 -1
- package/dist/esm/PivotViewer/engine/layout.js +2 -2
- package/dist/esm/PivotViewer/engine/layout.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useCardSelection.d.ts +4 -1
- package/dist/esm/PivotViewer/hooks/useCardSelection.d.ts.map +1 -1
- package/dist/esm/PivotViewer/hooks/useCardSelection.js +4 -4
- package/dist/esm/PivotViewer/hooks/useCardSelection.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useDetailPanelClose.d.ts +3 -1
- package/dist/esm/PivotViewer/hooks/useDetailPanelClose.d.ts.map +1 -1
- package/dist/esm/PivotViewer/hooks/useDetailPanelClose.js +3 -3
- package/dist/esm/PivotViewer/hooks/useDetailPanelClose.js.map +1 -1
- package/dist/esm/PivotViewer/hooks/useWheelZoom.d.ts.map +1 -1
- package/dist/esm/PivotViewer/hooks/useWheelZoom.js +8 -1
- package/dist/esm/PivotViewer/hooks/useWheelZoom.js.map +1 -1
- package/dist/esm/PivotViewer/utils/selection.d.ts.map +1 -1
- package/dist/esm/PivotViewer/utils/selection.js +23 -3
- package/dist/esm/PivotViewer/utils/selection.js.map +1 -1
- package/dist/esm/SchemaEditor/SchemaEditor.stories.d.ts.map +1 -1
- package/dist/esm/SchemaEditor/SchemaEditor.stories.js +7 -8
- package/dist/esm/SchemaEditor/SchemaEditor.stories.js.map +1 -1
- package/dist/esm/tailwind-utilities.css +3 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -41,8 +41,18 @@ function handleCardSelection({ itemId, selectedItemId, container, cardPosition,
|
|
|
41
41
|
if (isFirstSelection) {
|
|
42
42
|
if (viewMode === 'collection') {
|
|
43
43
|
if (cardPosition) {
|
|
44
|
+
setIsZooming(true);
|
|
44
45
|
const { scrollLeft, scrollTop } = animations.calculateCenterScrollPosition(container, cardPosition, zoomLevel, 0, totalHeight);
|
|
45
|
-
animations.
|
|
46
|
+
animations.animateZoomAndScroll({
|
|
47
|
+
container,
|
|
48
|
+
cardPosition,
|
|
49
|
+
startZoom: zoomLevel,
|
|
50
|
+
targetZoom: zoomLevel,
|
|
51
|
+
targetScrollLeft: scrollLeft,
|
|
52
|
+
targetScrollTop: scrollTop,
|
|
53
|
+
onUpdate: setZoomLevel,
|
|
54
|
+
onComplete: () => setIsZooming(false),
|
|
55
|
+
});
|
|
46
56
|
}
|
|
47
57
|
}
|
|
48
58
|
else {
|
|
@@ -63,9 +73,19 @@ function handleCardSelection({ itemId, selectedItemId, container, cardPosition,
|
|
|
63
73
|
}
|
|
64
74
|
else {
|
|
65
75
|
if (cardPosition) {
|
|
76
|
+
setIsZooming(true);
|
|
66
77
|
const detailWidth = viewMode === 'collection' ? 0 : constants.DETAIL_PANEL_WIDTH;
|
|
67
78
|
const { scrollLeft, scrollTop } = animations.calculateCenterScrollPosition(container, cardPosition, zoomLevel, detailWidth, totalHeight);
|
|
68
|
-
animations.
|
|
79
|
+
animations.animateZoomAndScroll({
|
|
80
|
+
container,
|
|
81
|
+
cardPosition,
|
|
82
|
+
startZoom: zoomLevel,
|
|
83
|
+
targetZoom: zoomLevel,
|
|
84
|
+
targetScrollLeft: scrollLeft,
|
|
85
|
+
targetScrollTop: scrollTop,
|
|
86
|
+
onUpdate: setZoomLevel,
|
|
87
|
+
onComplete: () => setIsZooming(false),
|
|
88
|
+
});
|
|
69
89
|
}
|
|
70
90
|
}
|
|
71
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection.js","sources":["../../../../PivotViewer/utils/selection.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { animateZoomAndScroll, calculateCenterScrollPosition, smoothScrollTo } from './animations';\nimport { ZOOM_MAX, MIN_ZOOM_ON_SELECT, ZOOM_MULTIPLIER, DETAIL_PANEL_WIDTH } from './constants';\nimport type { ViewMode } from '../components/Toolbar';\n\nexport interface SelectionState {\n zoom: number;\n scrollLeft: number;\n scrollTop: number;\n}\n\nexport interface CardClickHandlerParams<TItem> {\n item: TItem;\n itemId: string | number;\n selectedItemId: string | number | null;\n container: HTMLElement;\n cardPosition: { x: number; y: number; width: number; height: number } | null;\n targetCardPosition?: { x: number; y: number; width: number; height: number } | null;\n getCardPositionAtZoom?: (zoom: number) => { x: number; y: number; width: number; height: number } | null;\n getLayoutSizeAtZoom?: (zoom: number) => { width: number; height: number };\n spacer?: HTMLElement | null;\n viewMode: ViewMode;\n zoomLevel: number;\n totalHeight?: number;\n preSelectionState: SelectionState | null;\n startScrollPosition?: { x: number; y: number };\n setZoomLevel: (zoom: number) => void;\n setIsZooming: (isZooming: boolean) => void;\n setSelectedItem: (item: TItem | null) => void;\n setPreSelectionState: (state: SelectionState | null) => void;\n}\n\n/**\n * Compare two item IDs handling type coercion (string vs number)\n */\nfunction isSameItemId(id1: string | number | null, id2: string | number | null): boolean {\n if (id1 === null || id2 === null) return false;\n // Strict equality\n if (id1 === id2) return true;\n // Compare as strings to handle number/string mismatches\n return String(id1) === String(id2);\n}\n\n/**\n * Handle card click for selection with zoom and scroll animation\n */\nexport function handleCardSelection<TItem>({\n itemId,\n selectedItemId,\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n viewMode,\n zoomLevel,\n totalHeight,\n preSelectionState,\n startScrollPosition,\n setZoomLevel,\n setIsZooming,\n setSelectedItem,\n setPreSelectionState,\n item,\n}: CardClickHandlerParams<TItem>): void {\n // Clicking the same card - deselect (using type-coerced comparison)\n if (isSameItemId(selectedItemId, itemId)) {\n deselectCard({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n viewMode,\n zoomLevel,\n preSelectionState,\n setZoomLevel,\n setIsZooming,\n setSelectedItem,\n setPreSelectionState,\n });\n return;\n }\n\n // First selection - save state and zoom in\n const isFirstSelection = selectedItemId === null;\n\n if (isFirstSelection) {\n setPreSelectionState({\n zoom: zoomLevel,\n scrollLeft: container.scrollLeft,\n scrollTop: container.scrollTop,\n });\n }\n\n setSelectedItem(item);\n\n if (isFirstSelection) {\n if (viewMode === 'collection') {\n // Collection mode: just smooth scroll to center, no zoom\n if (cardPosition) {\n // In collection mode, we don't have a detail panel width offset because the panel is an overlay or separate\n // But if we want to center it, we should consider if the detail panel pushes content\n // For now, assume 0 offset as per original code\n const { scrollLeft, scrollTop } = calculateCenterScrollPosition(container, cardPosition, zoomLevel, 0, totalHeight);\n smoothScrollTo(container, scrollLeft, scrollTop, true);\n }\n } else {\n // Grouped mode: animate zoom and scroll\n zoomAndCenterCard({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n itemId,\n zoomLevel,\n totalHeight,\n startScrollPosition,\n setZoomLevel,\n setIsZooming,\n });\n }\n } else {\n // Subsequent selections: just center the new card\n if (cardPosition) {\n // In collection mode, we don't zoom, so we just center.\n // In grouped mode, we might be zoomed in, so we center with offset.\n const detailWidth = viewMode === 'collection' ? 0 : DETAIL_PANEL_WIDTH;\n const { scrollLeft, scrollTop } = calculateCenterScrollPosition(container, cardPosition, zoomLevel, detailWidth, totalHeight);\n smoothScrollTo(container, scrollLeft, scrollTop, true);\n }\n }\n}\n\ninterface DeselectParams {\n container: HTMLElement;\n cardPosition: { x: number; y: number; width: number; height: number } | null;\n targetCardPosition?: { x: number; y: number; width: number; height: number } | null;\n getCardPositionAtZoom?: (zoom: number) => { x: number; y: number; width: number; height: number } | null;\n getLayoutSizeAtZoom?: (zoom: number) => { width: number; height: number };\n spacer?: HTMLElement | null;\n viewMode: ViewMode;\n zoomLevel: number;\n preSelectionState: SelectionState | null;\n setZoomLevel: (zoom: number) => void;\n setIsZooming: (isZooming: boolean) => void;\n setSelectedItem: (item: null) => void;\n setPreSelectionState: (state: SelectionState | null) => void;\n}\n\n/**\n * Deselect card with zoom-out animation if needed\n */\nfunction deselectCard({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n viewMode,\n zoomLevel,\n preSelectionState,\n setZoomLevel,\n setIsZooming,\n setSelectedItem,\n setPreSelectionState,\n}: DeselectParams): void {\n if (!preSelectionState) {\n setSelectedItem(null);\n return;\n }\n\n // Collection mode: just scroll back\n if (viewMode === 'collection') {\n setSelectedItem(null);\n smoothScrollTo(container, preSelectionState.scrollLeft, preSelectionState.scrollTop, true);\n setPreSelectionState(null);\n return;\n }\n\n // Grouped mode: check if zoom changed\n const zoomChanged = Math.abs(preSelectionState.zoom - zoomLevel) > 0.001;\n\n if (!zoomChanged || !cardPosition) {\n setSelectedItem(null);\n smoothScrollTo(container, preSelectionState.scrollLeft, preSelectionState.scrollTop, true);\n setPreSelectionState(null);\n return;\n }\n\n // Animate zoom out\n setIsZooming(true);\n\n animateZoomAndScroll({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n startZoom: zoomLevel,\n targetZoom: preSelectionState.zoom,\n targetScrollLeft: preSelectionState.scrollLeft,\n targetScrollTop: preSelectionState.scrollTop,\n onUpdate: setZoomLevel,\n onComplete: () => {\n setIsZooming(false);\n setSelectedItem(null);\n setPreSelectionState(null);\n },\n });\n}\n\ninterface ZoomAndCenterParams {\n container: HTMLElement;\n cardPosition: { x: number; y: number; width: number; height: number } | null;\n targetCardPosition?: { x: number; y: number; width: number; height: number } | null;\n getCardPositionAtZoom?: (zoom: number) => { x: number; y: number; width: number; height: number } | null;\n getLayoutSizeAtZoom?: (zoom: number) => { width: number; height: number };\n spacer?: HTMLElement | null;\n itemId: string | number;\n zoomLevel: number;\n totalHeight?: number;\n startScrollPosition?: { x: number; y: number };\n setZoomLevel: (zoom: number) => void;\n setIsZooming: (isZooming: boolean) => void;\n}\n\n/**\n * Zoom in and center a card\n */\nfunction zoomAndCenterCard({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n zoomLevel,\n totalHeight,\n startScrollPosition,\n setZoomLevel,\n setIsZooming,\n}: ZoomAndCenterParams): void {\n const targetZoom = Math.min(ZOOM_MAX, Math.max(MIN_ZOOM_ON_SELECT, zoomLevel * ZOOM_MULTIPLIER));\n const shouldZoom = Math.abs(targetZoom - zoomLevel) > 0.001;\n\n if (!shouldZoom || !cardPosition) {\n if (cardPosition) {\n const { scrollLeft, scrollTop } = calculateCenterScrollPosition(container, cardPosition, zoomLevel, DETAIL_PANEL_WIDTH, totalHeight);\n smoothScrollTo(container, scrollLeft, scrollTop, true);\n }\n return;\n }\n\n setIsZooming(true);\n\n // Use targetCardPosition if available, otherwise fallback to cardPosition\n const { scrollLeft: targetScrollLeft, scrollTop: targetScrollTop } = calculateCenterScrollPosition(\n container,\n targetCardPosition || cardPosition,\n targetZoom,\n DETAIL_PANEL_WIDTH,\n totalHeight\n );\n\n animateZoomAndScroll({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n startZoom: zoomLevel,\n targetZoom,\n targetScrollLeft,\n targetScrollTop,\n startScrollLeft: startScrollPosition?.x,\n startScrollTop: startScrollPosition?.y,\n onUpdate: setZoomLevel,\n onComplete: () => {\n setIsZooming(false);\n },\n });\n}\n\n/**\n * Get card element by ID from container\n */\nexport function getCardElementById(_container: HTMLElement, _itemId: string | number): HTMLElement | null {\n // Deprecated: Pixi renderer doesn't use DOM elements for cards\n // Keep parameter names prefixed to indicate intentional non-use.\n void _container;\n void _itemId;\n return null;\n}\n"],"names":["calculateCenterScrollPosition","smoothScrollTo","DETAIL_PANEL_WIDTH","animateZoomAndScroll","ZOOM_MAX","MIN_ZOOM_ON_SELECT","ZOOM_MULTIPLIER"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selection.js","sources":["../../../../PivotViewer/utils/selection.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { animateZoomAndScroll, calculateCenterScrollPosition, smoothScrollTo } from './animations';\nimport { ZOOM_MAX, MIN_ZOOM_ON_SELECT, ZOOM_MULTIPLIER, DETAIL_PANEL_WIDTH } from './constants';\nimport type { ViewMode } from '../components/Toolbar';\n\nexport interface SelectionState {\n zoom: number;\n scrollLeft: number;\n scrollTop: number;\n}\n\nexport interface CardClickHandlerParams<TItem> {\n item: TItem;\n itemId: string | number;\n selectedItemId: string | number | null;\n container: HTMLElement;\n cardPosition: { x: number; y: number; width: number; height: number } | null;\n targetCardPosition?: { x: number; y: number; width: number; height: number } | null;\n getCardPositionAtZoom?: (zoom: number) => { x: number; y: number; width: number; height: number } | null;\n getLayoutSizeAtZoom?: (zoom: number) => { width: number; height: number };\n spacer?: HTMLElement | null;\n viewMode: ViewMode;\n zoomLevel: number;\n totalHeight?: number;\n preSelectionState: SelectionState | null;\n startScrollPosition?: { x: number; y: number };\n setZoomLevel: (zoom: number) => void;\n setIsZooming: (isZooming: boolean) => void;\n setSelectedItem: (item: TItem | null) => void;\n setPreSelectionState: (state: SelectionState | null) => void;\n}\n\n/**\n * Compare two item IDs handling type coercion (string vs number)\n */\nfunction isSameItemId(id1: string | number | null, id2: string | number | null): boolean {\n if (id1 === null || id2 === null) return false;\n // Strict equality\n if (id1 === id2) return true;\n // Compare as strings to handle number/string mismatches\n return String(id1) === String(id2);\n}\n\n/**\n * Handle card click for selection with zoom and scroll animation\n */\nexport function handleCardSelection<TItem>({\n itemId,\n selectedItemId,\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n viewMode,\n zoomLevel,\n totalHeight,\n preSelectionState,\n startScrollPosition,\n setZoomLevel,\n setIsZooming,\n setSelectedItem,\n setPreSelectionState,\n item,\n}: CardClickHandlerParams<TItem>): void {\n // Clicking the same card - deselect (using type-coerced comparison)\n if (isSameItemId(selectedItemId, itemId)) {\n deselectCard({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n viewMode,\n zoomLevel,\n preSelectionState,\n setZoomLevel,\n setIsZooming,\n setSelectedItem,\n setPreSelectionState,\n });\n return;\n }\n\n // First selection - save state and zoom in\n const isFirstSelection = selectedItemId === null;\n\n if (isFirstSelection) {\n setPreSelectionState({\n zoom: zoomLevel,\n scrollLeft: container.scrollLeft,\n scrollTop: container.scrollTop,\n });\n }\n\n setSelectedItem(item);\n\n if (isFirstSelection) {\n if (viewMode === 'collection') {\n // Collection mode: animate scroll to center the selected card (no zoom change)\n if (cardPosition) {\n setIsZooming(true);\n const { scrollLeft, scrollTop } = calculateCenterScrollPosition(container, cardPosition, zoomLevel, 0, totalHeight);\n animateZoomAndScroll({\n container,\n cardPosition,\n startZoom: zoomLevel,\n targetZoom: zoomLevel,\n targetScrollLeft: scrollLeft,\n targetScrollTop: scrollTop,\n onUpdate: setZoomLevel,\n onComplete: () => setIsZooming(false),\n });\n }\n } else {\n // Grouped mode: animate zoom and scroll\n zoomAndCenterCard({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n itemId,\n zoomLevel,\n totalHeight,\n startScrollPosition,\n setZoomLevel,\n setIsZooming,\n });\n }\n } else {\n // Subsequent selections: animate the scroll to center the new card\n if (cardPosition) {\n setIsZooming(true);\n const detailWidth = viewMode === 'collection' ? 0 : DETAIL_PANEL_WIDTH;\n const { scrollLeft, scrollTop } = calculateCenterScrollPosition(container, cardPosition, zoomLevel, detailWidth, totalHeight);\n animateZoomAndScroll({\n container,\n cardPosition,\n startZoom: zoomLevel,\n targetZoom: zoomLevel,\n targetScrollLeft: scrollLeft,\n targetScrollTop: scrollTop,\n onUpdate: setZoomLevel,\n onComplete: () => setIsZooming(false),\n });\n }\n }\n}\n\ninterface DeselectParams {\n container: HTMLElement;\n cardPosition: { x: number; y: number; width: number; height: number } | null;\n targetCardPosition?: { x: number; y: number; width: number; height: number } | null;\n getCardPositionAtZoom?: (zoom: number) => { x: number; y: number; width: number; height: number } | null;\n getLayoutSizeAtZoom?: (zoom: number) => { width: number; height: number };\n spacer?: HTMLElement | null;\n viewMode: ViewMode;\n zoomLevel: number;\n preSelectionState: SelectionState | null;\n setZoomLevel: (zoom: number) => void;\n setIsZooming: (isZooming: boolean) => void;\n setSelectedItem: (item: null) => void;\n setPreSelectionState: (state: SelectionState | null) => void;\n}\n\n/**\n * Deselect card with zoom-out animation if needed\n */\nfunction deselectCard({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n viewMode,\n zoomLevel,\n preSelectionState,\n setZoomLevel,\n setIsZooming,\n setSelectedItem,\n setPreSelectionState,\n}: DeselectParams): void {\n if (!preSelectionState) {\n setSelectedItem(null);\n return;\n }\n\n // Collection mode: just scroll back\n if (viewMode === 'collection') {\n setSelectedItem(null);\n smoothScrollTo(container, preSelectionState.scrollLeft, preSelectionState.scrollTop, true);\n setPreSelectionState(null);\n return;\n }\n\n // Grouped mode: check if zoom changed\n const zoomChanged = Math.abs(preSelectionState.zoom - zoomLevel) > 0.001;\n\n if (!zoomChanged || !cardPosition) {\n setSelectedItem(null);\n smoothScrollTo(container, preSelectionState.scrollLeft, preSelectionState.scrollTop, true);\n setPreSelectionState(null);\n return;\n }\n\n // Animate zoom out\n setIsZooming(true);\n\n animateZoomAndScroll({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n startZoom: zoomLevel,\n targetZoom: preSelectionState.zoom,\n targetScrollLeft: preSelectionState.scrollLeft,\n targetScrollTop: preSelectionState.scrollTop,\n onUpdate: setZoomLevel,\n onComplete: () => {\n setIsZooming(false);\n setSelectedItem(null);\n setPreSelectionState(null);\n },\n });\n}\n\ninterface ZoomAndCenterParams {\n container: HTMLElement;\n cardPosition: { x: number; y: number; width: number; height: number } | null;\n targetCardPosition?: { x: number; y: number; width: number; height: number } | null;\n getCardPositionAtZoom?: (zoom: number) => { x: number; y: number; width: number; height: number } | null;\n getLayoutSizeAtZoom?: (zoom: number) => { width: number; height: number };\n spacer?: HTMLElement | null;\n itemId: string | number;\n zoomLevel: number;\n totalHeight?: number;\n startScrollPosition?: { x: number; y: number };\n setZoomLevel: (zoom: number) => void;\n setIsZooming: (isZooming: boolean) => void;\n}\n\n/**\n * Zoom in and center a card\n */\nfunction zoomAndCenterCard({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n zoomLevel,\n totalHeight,\n startScrollPosition,\n setZoomLevel,\n setIsZooming,\n}: ZoomAndCenterParams): void {\n const targetZoom = Math.min(ZOOM_MAX, Math.max(MIN_ZOOM_ON_SELECT, zoomLevel * ZOOM_MULTIPLIER));\n const shouldZoom = Math.abs(targetZoom - zoomLevel) > 0.001;\n\n if (!shouldZoom || !cardPosition) {\n if (cardPosition) {\n const { scrollLeft, scrollTop } = calculateCenterScrollPosition(container, cardPosition, zoomLevel, DETAIL_PANEL_WIDTH, totalHeight);\n smoothScrollTo(container, scrollLeft, scrollTop, true);\n }\n return;\n }\n\n setIsZooming(true);\n\n // Use targetCardPosition if available, otherwise fallback to cardPosition\n const { scrollLeft: targetScrollLeft, scrollTop: targetScrollTop } = calculateCenterScrollPosition(\n container,\n targetCardPosition || cardPosition,\n targetZoom,\n DETAIL_PANEL_WIDTH,\n totalHeight\n );\n\n animateZoomAndScroll({\n container,\n cardPosition,\n targetCardPosition,\n getCardPositionAtZoom,\n getLayoutSizeAtZoom,\n spacer,\n startZoom: zoomLevel,\n targetZoom,\n targetScrollLeft,\n targetScrollTop,\n startScrollLeft: startScrollPosition?.x,\n startScrollTop: startScrollPosition?.y,\n onUpdate: setZoomLevel,\n onComplete: () => {\n setIsZooming(false);\n },\n });\n}\n\n/**\n * Get card element by ID from container\n */\nexport function getCardElementById(_container: HTMLElement, _itemId: string | number): HTMLElement | null {\n // Deprecated: Pixi renderer doesn't use DOM elements for cards\n // Keep parameter names prefixed to indicate intentional non-use.\n void _container;\n void _itemId;\n return null;\n}\n"],"names":["calculateCenterScrollPosition","animateZoomAndScroll","DETAIL_PANEL_WIDTH","smoothScrollTo","ZOOM_MAX","MIN_ZOOM_ON_SELECT","ZOOM_MULTIPLIER"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandDialog.stories.d.ts","sourceRoot":"","sources":["../../../CommandDialog/CommandDialog.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhD,OAAO,wBAAwB,CAAC;AAEhC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,aAAa,CAGpC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"CommandDialog.stories.d.ts","sourceRoot":"","sources":["../../../CommandDialog/CommandDialog.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhD,OAAO,wBAAwB,CAAC;AAEhC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,aAAa,CAGpC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,aAAa,CAAC,CAAC;AAgH5C,eAAO,MAAM,OAAO,EAAE,KAkDrB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KA+DlC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KA2D/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KA6DlC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KA2B9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KA2BhC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KA4B5B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KA4BvC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KA0C3B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KA0CvB,CAAC;AAmDF,eAAO,MAAM,iBAAiB,EAAE,KAmC/B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAiC3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KA2C3B,CAAC"}
|
|
@@ -100,146 +100,136 @@ class UpdateUserCommandWithServer extends Command {
|
|
|
100
100
|
return ['name', 'email', 'age'];
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
-
const ServerValidationWrapper = () => {
|
|
104
|
-
const [visible, setVisible] = useState(true);
|
|
105
|
-
const [result, setResult] = useState('');
|
|
106
|
-
const [validationErrors, setValidationErrors] = useState([]);
|
|
107
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => {
|
|
108
|
-
setVisible(true);
|
|
109
|
-
setValidationErrors([]);
|
|
110
|
-
setResult('');
|
|
111
|
-
}, children: "Open Dialog" }), validationErrors.length > 0 && (_jsxs("div", { className: "p-3 mt-3 bg-red-100 border-round", children: [_jsx("strong", { children: "Validation Errors:" }), _jsx("ul", { className: "mt-2 mb-0", children: validationErrors.map((error, index) => (_jsx("li", { children: error }, index))) })] })), result && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Command executed:" }), " ", result] })), _jsxs(CommandDialog, { command: UpdateUserCommandWithServer, visible: visible, title: "Update User Information (with Server Validation)", okLabel: "Save", cancelLabel: "Cancel", onConfirm: async () => {
|
|
112
|
-
setResult('Command executed successfully');
|
|
113
|
-
setVisible(false);
|
|
114
|
-
}, onCancel: () => setVisible(false), onFieldChange: async (command) => {
|
|
115
|
-
const validationResult = await command.validate();
|
|
116
|
-
if (!validationResult.isValid) {
|
|
117
|
-
setValidationErrors(validationResult.validationResults.map(v => v.message));
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
setValidationErrors([]);
|
|
121
|
-
}
|
|
122
|
-
}, children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Enter name (min 2 chars)" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Enter age (18-120)" })] })] }));
|
|
123
|
-
};
|
|
124
|
-
const AwaitableWithResultWrapper = () => {
|
|
125
|
-
const [result, setResult] = useState('');
|
|
126
|
-
const UpdateUserDialog = () => {
|
|
127
|
-
const { closeDialog } = useDialogContext();
|
|
128
|
-
return (_jsxs(CommandDialog, { command: UpdateUserCommand, title: "Update User Information (awaitable result)", okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, onConfirm: async () => closeDialog(DialogResult.Ok), onCancel: () => closeDialog(DialogResult.Cancelled), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Enter name (min 2 chars)" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Enter age (18-120)" })] }));
|
|
129
|
-
};
|
|
130
|
-
const [UpdateUserDialogComponent, showUpdateUserDialog] = useDialog(UpdateUserDialog);
|
|
131
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: async () => {
|
|
132
|
-
const [dialogResult, commandResult] = await showUpdateUserDialog();
|
|
133
|
-
if (dialogResult === DialogResult.Ok && commandResult) {
|
|
134
|
-
setResult(JSON.stringify(commandResult));
|
|
135
|
-
}
|
|
136
|
-
}, children: "Open Dialog" }), result && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Command executed:" }), " ", result] })), _jsx(UpdateUserDialogComponent, {})] }));
|
|
137
|
-
};
|
|
138
103
|
export const Default = {
|
|
139
|
-
render: () =>
|
|
104
|
+
render: () => {
|
|
105
|
+
const [result, setResult] = useState('');
|
|
106
|
+
const UpdateUserDialog = () => {
|
|
107
|
+
const { closeDialog } = useDialogContext();
|
|
108
|
+
return (_jsxs(CommandDialog, { command: UpdateUserCommand, title: "Update User Information (awaitable result)", okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, onConfirm: async () => closeDialog(DialogResult.Ok), onCancel: () => closeDialog(DialogResult.Cancelled), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Enter name (min 2 chars)" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Enter age (18-120)" })] }));
|
|
109
|
+
};
|
|
110
|
+
const [UpdateUserDialogComponent, showUpdateUserDialog] = useDialog(UpdateUserDialog);
|
|
111
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: async () => {
|
|
112
|
+
const [dialogResult, commandResult] = await showUpdateUserDialog();
|
|
113
|
+
if (dialogResult === DialogResult.Ok && commandResult) {
|
|
114
|
+
setResult(JSON.stringify(commandResult));
|
|
115
|
+
}
|
|
116
|
+
}, children: "Open Dialog" }), result && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Command executed:" }), " ", result] })), _jsx(UpdateUserDialogComponent, {})] }));
|
|
117
|
+
},
|
|
140
118
|
};
|
|
141
119
|
export const WithServerValidation = {
|
|
142
|
-
render: () =>
|
|
143
|
-
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
120
|
+
render: () => {
|
|
121
|
+
const [visible, setVisible] = useState(true);
|
|
122
|
+
const [result, setResult] = useState('');
|
|
123
|
+
const [validationErrors, setValidationErrors] = useState([]);
|
|
124
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => {
|
|
125
|
+
setVisible(true);
|
|
126
|
+
setValidationErrors([]);
|
|
127
|
+
setResult('');
|
|
128
|
+
}, children: "Open Dialog" }), validationErrors.length > 0 && (_jsxs("div", { className: "p-3 mt-3 bg-red-100 border-round", children: [_jsx("strong", { children: "Validation Errors:" }), _jsx("ul", { className: "mt-2 mb-0", children: validationErrors.map((error, index) => (_jsx("li", { children: error }, index))) })] })), result && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Command executed:" }), " ", result] })), _jsxs(CommandDialog, { command: UpdateUserCommandWithServer, visible: visible, title: "Update User Information (with Server Validation)", okLabel: "Save", cancelLabel: "Cancel", onConfirm: async () => {
|
|
129
|
+
setResult('Command executed successfully');
|
|
130
|
+
setVisible(false);
|
|
131
|
+
}, onCancel: () => setVisible(false), onFieldChange: async (command) => {
|
|
132
|
+
const validationResult = await command.validate();
|
|
133
|
+
if (!validationResult.isValid) {
|
|
134
|
+
setValidationErrors(validationResult.validationResults.map(v => v.message));
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
setValidationErrors([]);
|
|
138
|
+
}
|
|
139
|
+
}, children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Enter name (min 2 chars)" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Enter age (18-120)" })] })] }));
|
|
140
|
+
},
|
|
161
141
|
};
|
|
162
142
|
export const WithInitialValues = {
|
|
163
|
-
render: () =>
|
|
143
|
+
render: () => {
|
|
144
|
+
const [visible, setVisible] = useState(false);
|
|
145
|
+
const [selectedUser, setSelectedUser] = useState(undefined);
|
|
146
|
+
const [result, setResult] = useState('');
|
|
147
|
+
const users = [
|
|
148
|
+
{ name: 'Jane Doe', email: 'jane@example.com', age: 30 },
|
|
149
|
+
{ name: 'John Smith', email: 'john@example.com', age: 45 },
|
|
150
|
+
];
|
|
151
|
+
const handleEdit = (user) => {
|
|
152
|
+
setSelectedUser(user);
|
|
153
|
+
setResult('');
|
|
154
|
+
setVisible(true);
|
|
155
|
+
};
|
|
156
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("div", { style: { display: 'flex', gap: '0.5rem', marginBottom: '1rem' }, children: users.map(user => (_jsxs("button", { className: "p-button p-component", onClick: () => handleEdit(user), children: ["Edit ", user.name] }, user.email))) }), result && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Saved:" }), " ", result] })), _jsxs(CommandDialog, { command: UpdateUserCommand, initialValues: selectedUser, visible: visible, title: `Edit User: ${selectedUser?.name ?? ''}`, okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, onConfirm: async () => {
|
|
157
|
+
setResult(`User "${selectedUser?.name}" updated successfully`);
|
|
158
|
+
setVisible(false);
|
|
159
|
+
}, onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Enter name" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Enter age" })] }, selectedUser?.email ?? 'empty')] }));
|
|
160
|
+
},
|
|
164
161
|
};
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
162
|
+
export const WithCustomValidation = {
|
|
163
|
+
render: () => {
|
|
164
|
+
const [visible, setVisible] = useState(true);
|
|
165
|
+
const [result, setResult] = useState('');
|
|
166
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => {
|
|
167
|
+
setResult('');
|
|
168
|
+
setVisible(true);
|
|
169
|
+
}, children: "Open Dialog" }), result && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Saved:" }), " ", result] })), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Add User (with Custom Validation)", okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, onConfirm: async () => {
|
|
170
|
+
setResult('User added successfully');
|
|
171
|
+
setVisible(false);
|
|
172
|
+
}, onCancel: () => setVisible(false), onFieldValidate: (_command, fieldName, _oldValue, newValue) => {
|
|
173
|
+
if (fieldName === 'name') {
|
|
174
|
+
const name = newValue;
|
|
175
|
+
if (name && name.toLowerCase().includes('test')) {
|
|
176
|
+
return 'Name cannot contain the word "test"';
|
|
177
|
+
}
|
|
178
|
+
if (name && !/^[a-zA-Z\s]+$/.test(name)) {
|
|
179
|
+
return 'Name can only contain letters and spaces';
|
|
180
|
+
}
|
|
182
181
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
182
|
+
if (fieldName === 'email') {
|
|
183
|
+
const email = newValue;
|
|
184
|
+
if (email && email.endsWith('@example.com')) {
|
|
185
|
+
return 'Please use a real email address, not @example.com';
|
|
186
|
+
}
|
|
188
187
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
};
|
|
193
|
-
export const WithCustomValidation = {
|
|
194
|
-
render: () => _jsx(CustomValidationWrapper, {}),
|
|
195
|
-
};
|
|
196
|
-
const ValidationOnBlurWrapper = () => {
|
|
197
|
-
const [visible, setVisible] = useState(true);
|
|
198
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Validation on Blur", okLabel: "Save", cancelLabel: "Cancel", validateOn: "blur", autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Click away to validate" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Click away to validate", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Click away to validate" })] })] }));
|
|
188
|
+
return undefined;
|
|
189
|
+
}, children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: 'Try "test123" or numbers' }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: 'Try user@example.com', type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Enter age (18-120)" })] })] }));
|
|
190
|
+
},
|
|
199
191
|
};
|
|
200
192
|
export const ValidationOnBlur = {
|
|
201
|
-
render: () =>
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Validation on Change", okLabel: "Save", cancelLabel: "Cancel", validateOn: "change", autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Errors appear while typing" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Errors appear while typing", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Errors appear while typing" })] })] }));
|
|
193
|
+
render: () => {
|
|
194
|
+
const [visible, setVisible] = useState(true);
|
|
195
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Validation on Blur", okLabel: "Save", cancelLabel: "Cancel", validateOn: "blur", autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Click away to validate" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Click away to validate", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Click away to validate" })] })] }));
|
|
196
|
+
},
|
|
206
197
|
};
|
|
207
198
|
export const ValidationOnChange = {
|
|
208
|
-
render: () =>
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Validate on Initialization", okLabel: "Save", cancelLabel: "Cancel", validateOnInit: true, autoServerValidate: false, initialValues: { name: 'A', email: 'invalid', age: 10 }, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Errors shown immediately" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Errors shown immediately", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Errors shown immediately" })] })] }));
|
|
199
|
+
render: () => {
|
|
200
|
+
const [visible, setVisible] = useState(true);
|
|
201
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Validation on Change", okLabel: "Save", cancelLabel: "Cancel", validateOn: "change", autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Errors appear while typing" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Errors appear while typing", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Errors appear while typing" })] })] }));
|
|
202
|
+
},
|
|
213
203
|
};
|
|
214
204
|
export const ValidateOnInit = {
|
|
215
|
-
render: () =>
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Validate All Fields on Change", okLabel: "Save", cancelLabel: "Cancel", validateOn: "blur", validateAllFieldsOnChange: true, autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Blur one field \u2014 all validate" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Blur one field \u2014 all validate", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Blur one field \u2014 all validate" })] })] }));
|
|
205
|
+
render: () => {
|
|
206
|
+
const [visible, setVisible] = useState(true);
|
|
207
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Validate on Initialization", okLabel: "Save", cancelLabel: "Cancel", validateOnInit: true, autoServerValidate: false, initialValues: { name: 'A', email: 'invalid', age: 10 }, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Errors shown immediately" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Errors shown immediately", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Errors shown immediately" })] })] }));
|
|
208
|
+
},
|
|
220
209
|
};
|
|
221
210
|
export const ValidateAllFieldsOnChange = {
|
|
222
|
-
render: () =>
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
const [preprocessedData, setPreprocessedData] = useState('');
|
|
227
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => { setVisible(true); setPreprocessedData(''); }, children: "Open Dialog" }), preprocessedData && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Preprocessed before submit:" }), _jsx("pre", { style: { marginTop: '0.5rem', fontSize: '0.875rem' }, children: preprocessedData })] })), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Before Execute Callback", okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, initialValues: { name: '', email: '', age: 18 }, onBeforeExecute: (command) => {
|
|
228
|
-
command.name = command.name.trim().replace(/\s+/g, ' ');
|
|
229
|
-
command.email = command.email.toLowerCase().trim();
|
|
230
|
-
setPreprocessedData(JSON.stringify(command, null, 2));
|
|
231
|
-
return command;
|
|
232
|
-
}, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: 'Try " Extra Spaces "' }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Try UPPERCASE@EMAIL.COM", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Enter age (18-120)" })] })] }));
|
|
211
|
+
render: () => {
|
|
212
|
+
const [visible, setVisible] = useState(true);
|
|
213
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Validate All Fields on Change", okLabel: "Save", cancelLabel: "Cancel", validateOn: "blur", validateAllFieldsOnChange: true, autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Blur one field \u2014 all validate" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Blur one field \u2014 all validate", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Blur one field \u2014 all validate" })] })] }));
|
|
214
|
+
},
|
|
233
215
|
};
|
|
234
216
|
export const BeforeExecute = {
|
|
235
|
-
render: () =>
|
|
236
|
-
|
|
237
|
-
const
|
|
238
|
-
|
|
239
|
-
|
|
217
|
+
render: () => {
|
|
218
|
+
const [visible, setVisible] = useState(true);
|
|
219
|
+
const [preprocessedData, setPreprocessedData] = useState('');
|
|
220
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => { setVisible(true); setPreprocessedData(''); }, children: "Open Dialog" }), preprocessedData && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Preprocessed before submit:" }), _jsx("pre", { style: { marginTop: '0.5rem', fontSize: '0.875rem' }, children: preprocessedData })] })), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Before Execute Callback", okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, initialValues: { name: '', email: '', age: 18 }, onBeforeExecute: (command) => {
|
|
221
|
+
command.name = command.name.trim().replace(/\s+/g, ' ');
|
|
222
|
+
command.email = command.email.toLowerCase().trim();
|
|
223
|
+
setPreprocessedData(JSON.stringify(command, null, 2));
|
|
224
|
+
return command;
|
|
225
|
+
}, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: 'Try " Extra Spaces "' }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Try UPPERCASE@EMAIL.COM", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Enter age (18-120)" })] })] }));
|
|
226
|
+
},
|
|
240
227
|
};
|
|
241
228
|
export const WithIcons = {
|
|
242
|
-
render: () =>
|
|
229
|
+
render: () => {
|
|
230
|
+
const [visible, setVisible] = useState(true);
|
|
231
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateUserCommand, visible: visible, title: "Fields with Icons", okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Enter name", icon: _jsx("span", { style: { fontSize: '1.25rem' }, children: "\uD83D\uDC64" }) }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email", icon: _jsx("span", { style: { fontSize: '1.25rem' }, children: "\uD83D\uDCE7" }) }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Enter age", icon: _jsx("span", { style: { fontSize: '1.25rem' }, children: "\uD83C\uDF82" }) })] })] }));
|
|
232
|
+
},
|
|
243
233
|
};
|
|
244
234
|
class UpdateProfileCommandValidator extends CommandValidator {
|
|
245
235
|
constructor() {
|
|
@@ -283,32 +273,29 @@ class UpdateProfileCommand extends Command {
|
|
|
283
273
|
return CommandResult.empty;
|
|
284
274
|
}
|
|
285
275
|
}
|
|
286
|
-
const MultiColumnWrapper = () => {
|
|
287
|
-
const [visible, setVisible] = useState(true);
|
|
288
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateProfileCommand, visible: visible, title: "Edit Profile", okLabel: "Save", cancelLabel: "Cancel", width: "70vw", autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsxs("div", { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '1.5rem' }, children: [_jsxs(CommandDialog.Column, { children: [_jsx(InputTextField, { value: (c) => c.firstName, title: "First Name", placeholder: "Enter first name" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email" })] }), _jsxs(CommandDialog.Column, { children: [_jsx(InputTextField, { value: (c) => c.lastName, title: "Last Name", placeholder: "Enter last name" }), _jsx(InputTextField, { value: (c) => c.phone, title: "Phone", placeholder: "Enter phone number" })] })] }), _jsx(TextAreaField, { value: (c) => c.bio, title: "Bio", placeholder: "Tell us about yourself", rows: 3 })] })] }));
|
|
289
|
-
};
|
|
290
276
|
export const MultiColumnLayout = {
|
|
291
|
-
render: () =>
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateProfileCommand, visible: visible, title: "Edit Profile (Mixed Children)", okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx("h3", { style: { marginTop: 0, marginBottom: '0.75rem' }, children: "Personal Information" }), _jsx(InputTextField, { value: (c) => c.firstName, title: "First Name", placeholder: "Enter first name" }), _jsx(InputTextField, { value: (c) => c.lastName, title: "Last Name", placeholder: "Enter last name" }), _jsx("h3", { style: { marginTop: '1rem', marginBottom: '0.75rem' }, children: "Contact Details" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email" }), _jsx(InputTextField, { value: (c) => c.phone, title: "Phone", placeholder: "Enter phone number" }), _jsx("h3", { style: { marginTop: '1rem', marginBottom: '0.75rem' }, children: "About You" }), _jsx(TextAreaField, { value: (c) => c.bio, title: "Bio", placeholder: "Tell us about yourself (min 10 chars)", rows: 3 })] })] }));
|
|
277
|
+
render: () => {
|
|
278
|
+
const [visible, setVisible] = useState(true);
|
|
279
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateProfileCommand, visible: visible, title: "Edit Profile", okLabel: "Save", cancelLabel: "Cancel", width: "70vw", autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsxs("div", { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '1.5rem' }, children: [_jsxs(CommandDialog.Column, { children: [_jsx(InputTextField, { value: (c) => c.firstName, title: "First Name", placeholder: "Enter first name" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email" })] }), _jsxs(CommandDialog.Column, { children: [_jsx(InputTextField, { value: (c) => c.lastName, title: "Last Name", placeholder: "Enter last name" }), _jsx(InputTextField, { value: (c) => c.phone, title: "Phone", placeholder: "Enter phone number" })] })] }), _jsx(TextAreaField, { value: (c) => c.bio, title: "Bio", placeholder: "Tell us about yourself", rows: 3 })] })] }));
|
|
280
|
+
},
|
|
296
281
|
};
|
|
297
282
|
export const MixedChildren = {
|
|
298
|
-
render: () =>
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
const [result, setResult] = useState('');
|
|
303
|
-
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => {
|
|
304
|
-
setResult('');
|
|
305
|
-
setVisible(true);
|
|
306
|
-
}, children: "Open Dialog" }), result && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Saved:" }), " ", result] })), _jsxs(CommandDialog, { command: DemoSlowUpdateUserCommand, visible: visible, title: "Save User (2s simulated delay)", okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, onConfirm: async () => {
|
|
307
|
-
setResult('User saved successfully');
|
|
308
|
-
setVisible(false);
|
|
309
|
-
}, onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Enter name (min 2 chars)" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Enter age (18-120)" })] })] }));
|
|
283
|
+
render: () => {
|
|
284
|
+
const [visible, setVisible] = useState(true);
|
|
285
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => setVisible(true), children: "Open Dialog" }), _jsxs(CommandDialog, { command: UpdateProfileCommand, visible: visible, title: "Edit Profile (Mixed Children)", okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, onConfirm: async () => setVisible(false), onCancel: () => setVisible(false), children: [_jsx("h3", { style: { marginTop: 0, marginBottom: '0.75rem' }, children: "Personal Information" }), _jsx(InputTextField, { value: (c) => c.firstName, title: "First Name", placeholder: "Enter first name" }), _jsx(InputTextField, { value: (c) => c.lastName, title: "Last Name", placeholder: "Enter last name" }), _jsx("h3", { style: { marginTop: '1rem', marginBottom: '0.75rem' }, children: "Contact Details" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email" }), _jsx(InputTextField, { value: (c) => c.phone, title: "Phone", placeholder: "Enter phone number" }), _jsx("h3", { style: { marginTop: '1rem', marginBottom: '0.75rem' }, children: "About You" }), _jsx(TextAreaField, { value: (c) => c.bio, title: "Bio", placeholder: "Tell us about yourself (min 10 chars)", rows: 3 })] })] }));
|
|
286
|
+
},
|
|
310
287
|
};
|
|
311
288
|
export const WithBusyState = {
|
|
312
|
-
render: () =>
|
|
289
|
+
render: () => {
|
|
290
|
+
const [visible, setVisible] = useState(true);
|
|
291
|
+
const [result, setResult] = useState('');
|
|
292
|
+
return (_jsxs("div", { className: "storybook-wrapper", children: [_jsx("button", { className: "p-button p-component mb-3", onClick: () => {
|
|
293
|
+
setResult('');
|
|
294
|
+
setVisible(true);
|
|
295
|
+
}, children: "Open Dialog" }), result && (_jsxs("div", { className: "p-3 mt-3 bg-green-100 border-round", children: [_jsx("strong", { children: "Saved:" }), " ", result] })), _jsxs(CommandDialog, { command: DemoSlowUpdateUserCommand, visible: visible, title: "Save User (2s simulated delay)", okLabel: "Save", cancelLabel: "Cancel", autoServerValidate: false, onConfirm: async () => {
|
|
296
|
+
setResult('User saved successfully');
|
|
297
|
+
setVisible(false);
|
|
298
|
+
}, onCancel: () => setVisible(false), children: [_jsx(InputTextField, { value: (c) => c.name, title: "Name", placeholder: "Enter name (min 2 chars)" }), _jsx(InputTextField, { value: (c) => c.email, title: "Email", placeholder: "Enter email", type: "email" }), _jsx(NumberField, { value: (c) => c.age, title: "Age", placeholder: "Enter age (18-120)" })] })] }));
|
|
299
|
+
},
|
|
313
300
|
};
|
|
314
301
|
//# sourceMappingURL=CommandDialog.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandDialog.stories.js","sourceRoot":"","sources":["../../../CommandDialog/CommandDialog.stories.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CommandDialog.stories.js","sourceRoot":"","sources":["../../../CommandDialog/CommandDialog.stories.tsx"],"names":[],"mappings":";AAGA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,wBAAwB,CAAC;AAEhC,MAAM,IAAI,GAA+B;IACrC,KAAK,EAAE,6BAA6B;IACpC,SAAS,EAAE,aAAa;CAC3B,CAAC;AAEF,eAAe,IAAI,CAAC;AAGpB,MAAM,0BAA2B,SAAQ,gBAAgB;IACrD;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC;QAC1E,IAAI,CAAC,OAAO,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9F,CAAC;CACJ;AAED,MAAM,iBAAkB,SAAQ,OAAe;IAClC,KAAK,GAAW,mBAAmB,CAAC;IACpC,UAAU,GAAqB,IAAI,0BAA0B,EAAE,CAAC;IAChE,mBAAmB,GAAyB;QACjD,IAAI,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC;QACtC,IAAI,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC;QACvC,IAAI,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC;KACxC,CAAC;IAEF,IAAI,GAAG,EAAE,CAAC;IACV,KAAK,GAAG,EAAE,CAAC;IACX,GAAG,GAAG,CAAC,CAAC;IAER;QACI,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,iBAAiB;QACjB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,UAAU;QACV,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAEQ,KAAK,CAAC,QAAQ;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,aAAa,CAAC,KAAK,CAAC;IAC/B,CAAC;CACJ;AAGD,MAAM,yBAA0B,SAAQ,OAAe;IAC1C,KAAK,GAAW,mBAAmB,CAAC;IACpC,UAAU,GAAqB,IAAI,0BAA0B,EAAE,CAAC;IAChE,mBAAmB,GAAyB;QACjD,IAAI,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC;QACtC,IAAI,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC;QACvC,IAAI,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC;KACxC,CAAC;IAEF,IAAI,GAAG,EAAE,CAAC;IACV,KAAK,GAAG,EAAE,CAAC;IACX,GAAG,GAAG,CAAC,CAAC;IAER;QACI,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,iBAAiB;QACjB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,UAAU;QACV,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAEQ,KAAK,CAAC,QAAQ;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,aAAa,CAAC,KAAK,CAAC;IAC/B,CAAC;IAEQ,KAAK,CAAC,OAAO;QAClB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACxD,OAAO,aAAa,CAAC,KAAK,CAAC;IAC/B,CAAC;CACJ;AAGD,MAAM,2BAA4B,SAAQ,OAAe;IAC5C,KAAK,GAAW,mBAAmB,CAAC;IACpC,UAAU,GAAqB,IAAI,0BAA0B,EAAE,CAAC;IAChE,mBAAmB,GAAyB;QACjD,IAAI,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC;QACtC,IAAI,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC;QACvC,IAAI,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC;KACxC,CAAC;IAEF,IAAI,GAAG,EAAE,CAAC;IACV,KAAK,GAAG,EAAE,CAAC;IACX,GAAG,GAAG,CAAC,CAAC;IAER;QACI,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,iBAAiB;QACjB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,UAAU;QACV,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,OAAO,GAAU;IAC1B,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;QAEjD,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,EAAyB,CAAC;YAElE,OAAO,CACH,MAAC,aAAa,IACV,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAC,4CAA4C,EAClD,OAAO,EAAC,MAAM,EACd,WAAW,EAAC,QAAQ,EACpB,kBAAkB,EAAE,KAAK,EACzB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,EACnD,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,aAEnD,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAC,MAAM,EAAC,WAAW,EAAC,0BAA0B,GAAG,EAC/G,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,aAAa,EAAC,IAAI,EAAC,OAAO,GAAG,EACjH,KAAC,WAAW,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,WAAW,EAAC,oBAAoB,GAAG,IACxF,CACnB,CAAC;QACN,CAAC,CAAC;QAEF,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,CAAC,GAAG,SAAS,CAAwB,gBAAgB,CAAC,CAAC;QAE7G,OAAO,CACH,eAAK,SAAS,EAAC,mBAAmB,aAC9B,iBACI,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,KAAK,IAAI,EAAE;wBAChB,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,MAAM,oBAAoB,EAAE,CAAC;wBACnE,IAAI,YAAY,KAAK,YAAY,CAAC,EAAE,IAAI,aAAa,EAAE,CAAC;4BACpD,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;wBAC7C,CAAC;oBACL,CAAC,4BAGI,EAER,MAAM,IAAI,CACP,eAAK,SAAS,EAAC,oCAAoC,aAC/C,iDAAkC,OAAE,MAAM,IACxC,CACT,EAED,KAAC,yBAAyB,KAAG,IAC3B,CACT,CAAC;IACN,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAU;IACvC,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;QAEvE,OAAO,CACH,eAAK,SAAS,EAAC,mBAAmB,aAC9B,iBACI,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,GAAG,EAAE;wBACV,UAAU,CAAC,IAAI,CAAC,CAAC;wBACjB,mBAAmB,CAAC,EAAE,CAAC,CAAC;wBACxB,SAAS,CAAC,EAAE,CAAC,CAAC;oBAClB,CAAC,4BAGI,EAER,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,CAC5B,eAAK,SAAS,EAAC,kCAAkC,aAC7C,kDAAmC,EACnC,aAAI,SAAS,EAAC,WAAW,YACpB,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,uBAAiB,KAAK,IAAb,KAAK,CAAc,CAC/B,CAAC,GACD,IACH,CACT,EAEA,MAAM,IAAI,CACP,eAAK,SAAS,EAAC,oCAAoC,aAC/C,iDAAkC,OAAE,MAAM,IACxC,CACT,EAED,MAAC,aAAa,IACV,OAAO,EAAE,2BAA2B,EACpC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,kDAAkD,EACxD,OAAO,EAAC,MAAM,EACd,WAAW,EAAC,QAAQ,EACpB,SAAS,EAAE,KAAK,IAAI,EAAE;wBAClB,SAAS,CAAC,+BAA+B,CAAC,CAAC;wBAC3C,UAAU,CAAC,KAAK,CAAC,CAAC;oBACtB,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EACjC,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;wBAC7B,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;wBAClD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;4BAC5B,mBAAmB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;wBAChF,CAAC;6BAAM,CAAC;4BACJ,mBAAmB,CAAC,EAAE,CAAC,CAAC;wBAC5B,CAAC;oBACL,CAAC,aAED,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAA8B,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAC,MAAM,EAAC,WAAW,EAAC,0BAA0B,GAAG,EACzH,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAA8B,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,aAAa,EAAC,IAAI,EAAC,OAAO,GAAG,EAC3H,KAAC,WAAW,IAAC,KAAK,EAAE,CAAC,CAA8B,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,WAAW,EAAC,oBAAoB,GAAG,IAClG,IACd,CACT,CAAC;IACN,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAU;IACpC,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAA2D,SAAS,CAAC,CAAC;QACtH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;QAEjD,MAAM,KAAK,GAAG;YACV,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,EAAE,EAAE;YACxD,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,EAAE,EAAE;SAC7D,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,IAAqB,EAAE,EAAE;YACzC,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;QAEF,OAAO,CACH,eAAK,SAAS,EAAC,mBAAmB,aAC9B,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,YAC/D,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACf,kBAEI,SAAS,EAAC,sBAAsB,EAChC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,sBAEzB,IAAI,CAAC,IAAI,KAJV,IAAI,CAAC,KAAK,CAKV,CACZ,CAAC,GACA,EAEL,MAAM,IAAI,CACP,eAAK,SAAS,EAAC,oCAAoC,aAC/C,sCAAuB,OAAE,MAAM,IAC7B,CACT,EAED,MAAC,aAAa,IACV,OAAO,EAAE,iBAAiB,EAE1B,aAAa,EAAE,YAAY,EAC3B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,cAAc,YAAY,EAAE,IAAI,IAAI,EAAE,EAAE,EAC/C,OAAO,EAAC,MAAM,EACd,WAAW,EAAC,QAAQ,EACpB,kBAAkB,EAAE,KAAK,EACzB,SAAS,EAAE,KAAK,IAAI,EAAE;wBAClB,SAAS,CAAC,SAAS,YAAY,EAAE,IAAI,wBAAwB,CAAC,CAAC;wBAC/D,UAAU,CAAC,KAAK,CAAC,CAAC;oBACtB,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,aAEjC,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAC,MAAM,EAAC,WAAW,EAAC,YAAY,GAAG,EACjG,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,aAAa,EAAC,IAAI,EAAC,OAAO,GAAG,EACjH,KAAC,WAAW,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,WAAW,EAAC,WAAW,GAAG,KAftF,YAAY,EAAE,KAAK,IAAI,OAAO,CAgBvB,IACd,CACT,CAAC;IACN,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAU;IACvC,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;QAEjD,OAAO,CACH,eAAK,SAAS,EAAC,mBAAmB,aAC9B,iBACI,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,GAAG,EAAE;wBACV,SAAS,CAAC,EAAE,CAAC,CAAC;wBACd,UAAU,CAAC,IAAI,CAAC,CAAC;oBACrB,CAAC,4BAGI,EAER,MAAM,IAAI,CACP,eAAK,SAAS,EAAC,oCAAoC,aAC/C,sCAAuB,OAAE,MAAM,IAC7B,CACT,EAED,MAAC,aAAa,IACV,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,mCAAmC,EACzC,OAAO,EAAC,MAAM,EACd,WAAW,EAAC,QAAQ,EACpB,kBAAkB,EAAE,KAAK,EACzB,SAAS,EAAE,KAAK,IAAI,EAAE;wBAClB,SAAS,CAAC,yBAAyB,CAAC,CAAC;wBACrC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACtB,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EACjC,eAAe,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;wBAC1D,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;4BACvB,MAAM,IAAI,GAAG,QAAkB,CAAC;4BAChC,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gCAC9C,OAAO,qCAAqC,CAAC;4BACjD,CAAC;4BACD,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gCACtC,OAAO,0CAA0C,CAAC;4BACtD,CAAC;wBACL,CAAC;wBACD,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;4BACxB,MAAM,KAAK,GAAG,QAAkB,CAAC;4BACjC,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gCAC1C,OAAO,mDAAmD,CAAC;4BAC/D,CAAC;wBACL,CAAC;wBACD,OAAO,SAAS,CAAC;oBACrB,CAAC,aAED,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAC,MAAM,EAAC,WAAW,EAAC,0BAA0B,GAAG,EAC/G,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,sBAAsB,EAAC,IAAI,EAAC,OAAO,GAAG,EAC1H,KAAC,WAAW,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,WAAW,EAAC,oBAAoB,GAAG,IACxF,IACd,CACT,CAAC;IACN,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAU;IACnC,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,CACH,eAAK,SAAS,EAAC,mBAAmB,aAC9B,iBAAQ,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,4BAEpE,EACT,MAAC,aAAa,IACV,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,oBAAoB,EAC1B,OAAO,EAAC,MAAM,EACd,WAAW,EAAC,QAAQ,EACpB,UAAU,EAAC,MAAM,EACjB,kBAAkB,EAAE,KAAK,EACzB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EACxC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,aAEjC,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAC,MAAM,EAAC,WAAW,EAAC,wBAAwB,GAAG,EAC7G,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,wBAAwB,EAAC,IAAI,EAAC,OAAO,GAAG,EAC5H,KAAC,WAAW,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,WAAW,EAAC,wBAAwB,GAAG,IAC5F,IACd,CACT,CAAC;IACN,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAU;IACrC,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,CACH,eAAK,SAAS,EAAC,mBAAmB,aAC9B,iBAAQ,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,4BAEpE,EACT,MAAC,aAAa,IACV,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,sBAAsB,EAC5B,OAAO,EAAC,MAAM,EACd,WAAW,EAAC,QAAQ,EACpB,UAAU,EAAC,QAAQ,EACnB,kBAAkB,EAAE,KAAK,EACzB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EACxC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,aAEjC,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAC,MAAM,EAAC,WAAW,EAAC,4BAA4B,GAAG,EACjH,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,4BAA4B,EAAC,IAAI,EAAC,OAAO,GAAG,EAChI,KAAC,WAAW,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,WAAW,EAAC,4BAA4B,GAAG,IAChG,IACd,CACT,CAAC;IACN,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAU;IACjC,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,CACH,eAAK,SAAS,EAAC,mBAAmB,aAC9B,iBAAQ,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,4BAEpE,EACT,MAAC,aAAa,IACV,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,MAAM,EACd,WAAW,EAAC,QAAQ,EACpB,cAAc,EAAE,IAAI,EACpB,kBAAkB,EAAE,KAAK,EACzB,aAAa,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,EACvD,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EACxC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,aAEjC,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAC,MAAM,EAAC,WAAW,EAAC,0BAA0B,GAAG,EAC/G,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,0BAA0B,EAAC,IAAI,EAAC,OAAO,GAAG,EAC9H,KAAC,WAAW,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,WAAW,EAAC,0BAA0B,GAAG,IAC9F,IACd,CACT,CAAC;IACN,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAU;IAC5C,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,CACH,eAAK,SAAS,EAAC,mBAAmB,aAC9B,iBAAQ,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,4BAEpE,EACT,MAAC,aAAa,IACV,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,+BAA+B,EACrC,OAAO,EAAC,MAAM,EACd,WAAW,EAAC,QAAQ,EACpB,UAAU,EAAC,MAAM,EACjB,yBAAyB,EAAE,IAAI,EAC/B,kBAAkB,EAAE,KAAK,EACzB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EACxC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,aAEjC,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAC,MAAM,EAAC,WAAW,EAAC,oCAA+B,GAAG,EACpH,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,oCAA+B,EAAC,IAAI,EAAC,OAAO,GAAG,EACnI,KAAC,WAAW,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,WAAW,EAAC,oCAA+B,GAAG,IACnG,IACd,CACT,CAAC;IACN,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAU;IAChC,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;QAErE,OAAO,CACH,eAAK,SAAS,EAAC,mBAAmB,aAC9B,iBAAQ,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,4BAElG,EAER,gBAAgB,IAAI,CACjB,eAAK,SAAS,EAAC,oCAAoC,aAC/C,2DAA4C,EAC5C,cAAK,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAG,gBAAgB,GAAO,IACjF,CACT,EAED,MAAC,aAAa,IACV,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,yBAAyB,EAC/B,OAAO,EAAC,MAAM,EACd,WAAW,EAAC,QAAQ,EACpB,kBAAkB,EAAE,KAAK,EACzB,aAAa,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAC/C,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;wBACzB,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;wBACxD,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;wBACnD,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;wBACtD,OAAO,OAAO,CAAC;oBACnB,CAAC,EACD,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EACxC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,aAEjC,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAC,MAAM,EAAC,WAAW,EAAC,0BAA0B,GAAG,EAC/G,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,yBAAyB,EAAC,IAAI,EAAC,OAAO,GAAG,EAC7H,KAAC,WAAW,IAAC,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,WAAW,EAAC,oBAAoB,GAAG,IACxF,IACd,CACT,CAAC;IACN,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAU;IAC5B,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,CACH,eAAK,SAAS,EAAC,mBAAmB,aAC9B,iBAAQ,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,4BAEpE,EACT,MAAC,aAAa,IACV,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,mBAAmB,EACzB,OAAO,EAAC,MAAM,EACd,WAAW,EAAC,QAAQ,EACpB,kBAAkB,EAAE,KAAK,EACzB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EACxC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,aAEjC,KAAC,cAAc,IACX,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EACvC,KAAK,EAAC,MAAM,EACZ,WAAW,EAAC,YAAY,EACxB,IAAI,EAAE,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,6BAAW,GACvD,EACF,KAAC,cAAc,IACX,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EACxC,KAAK,EAAC,OAAO,EACb,WAAW,EAAC,aAAa,EACzB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,6BAAW,GACvD,EACF,KAAC,WAAW,IACR,KAAK,EAAE,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EACtC,KAAK,EAAC,KAAK,EACX,WAAW,EAAC,WAAW,EACvB,IAAI,EAAE,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,6BAAW,GACvD,IACU,IACd,CACT,CAAC;IACN,CAAC;CACJ,CAAC;AAEF,MAAM,6BAA8B,SAAQ,gBAAgB;IACxD;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,CAAC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,OAAO,CAAC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC;QAC7E,IAAI,CAAC,OAAO,CAAC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;CACJ;AAED,MAAM,oBAAqB,SAAQ,OAAe;IACrC,KAAK,GAAW,qBAAqB,CAAC;IACtC,UAAU,GAAqB,IAAI,6BAA6B,EAAE,CAAC;IACnE,mBAAmB,GAAyB;QACjD,IAAI,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC;QAC3C,IAAI,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC;QAC1C,IAAI,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC;QACvC,IAAI,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC;QACvC,IAAI,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC;KACxC,CAAC;IAEF,SAAS,GAAG,EAAE,CAAC;IACf,QAAQ,GAAG,EAAE,CAAC;IACd,KAAK,GAAG,EAAE,CAAC;IACX,KAAK,GAAG,EAAE,CAAC;IACX,GAAG,GAAG,EAAE,CAAC;IAET;QACI,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,iBAAiB;QACjB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,UAAU;QACV,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAEQ,KAAK,CAAC,QAAQ;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,aAAa,CAAC,KAAK,CAAC;IAC/B,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAU;IACpC,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,CACH,eAAK,SAAS,EAAC,mBAAmB,aAC9B,iBAAQ,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,4BAEpE,EACT,MAAC,aAAa,IACV,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,cAAc,EACpB,OAAO,EAAC,MAAM,EACd,WAAW,EAAC,QAAQ,EACpB,KAAK,EAAC,MAAM,EACZ,kBAAkB,EAAE,KAAK,EACzB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EACxC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,aAEjC,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,aAC1E,MAAC,aAAa,CAAC,MAAM,eACjB,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAC,YAAY,EAAC,WAAW,EAAC,kBAAkB,GAAG,EACrH,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,aAAa,EAAC,IAAI,EAAC,OAAO,GAAG,IACjG,EACvB,MAAC,aAAa,CAAC,MAAM,eACjB,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,iBAAiB,GAAG,EAClH,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,oBAAoB,GAAG,IAC3F,IACrB,EACN,KAAC,aAAa,IAAC,KAAK,EAAE,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,WAAW,EAAC,wBAAwB,EAAC,IAAI,EAAE,CAAC,GAAI,IAC1G,IACd,CACT,CAAC;IACN,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAU;IAChC,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,CACH,eAAK,SAAS,EAAC,mBAAmB,aAC9B,iBAAQ,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,4BAEpE,EACT,MAAC,aAAa,IACV,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,+BAA+B,EACrC,OAAO,EAAC,MAAM,EACd,WAAW,EAAC,QAAQ,EACpB,kBAAkB,EAAE,KAAK,EACzB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EACxC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,aAEjC,aAAI,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,qCAA2B,EAC/E,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAC,YAAY,EAAC,WAAW,EAAC,kBAAkB,GAAG,EACrH,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,iBAAiB,GAAG,EAElH,aAAI,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,gCAAsB,EAC/E,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,aAAa,EAAC,IAAI,EAAC,OAAO,GAAG,EACpH,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,oBAAoB,GAAG,EAE9G,aAAI,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,0BAAgB,EACzE,KAAC,aAAa,IAAC,KAAK,EAAE,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,WAAW,EAAC,uCAAuC,EAAC,IAAI,EAAE,CAAC,GAAI,IACzH,IACd,CACT,CAAC;IACN,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAU;IAChC,MAAM,EAAE,GAAG,EAAE;QACT,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;QAEjD,OAAO,CACH,eAAK,SAAS,EAAC,mBAAmB,aAC9B,iBACI,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,GAAG,EAAE;wBACV,SAAS,CAAC,EAAE,CAAC,CAAC;wBACd,UAAU,CAAC,IAAI,CAAC,CAAC;oBACrB,CAAC,4BAGI,EAER,MAAM,IAAI,CACP,eAAK,SAAS,EAAC,oCAAoC,aAC/C,sCAAuB,OAAE,MAAM,IAC7B,CACT,EAED,MAAC,aAAa,IACV,OAAO,EAAE,yBAAyB,EAClC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,gCAAgC,EACtC,OAAO,EAAC,MAAM,EACd,WAAW,EAAC,QAAQ,EACpB,kBAAkB,EAAE,KAAK,EACzB,SAAS,EAAE,KAAK,IAAI,EAAE;wBAClB,SAAS,CAAC,yBAAyB,CAAC,CAAC;wBACrC,UAAU,CAAC,KAAK,CAAC,CAAC;oBACtB,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,aAEjC,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAA4B,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAC,MAAM,EAAC,WAAW,EAAC,0BAA0B,GAAG,EACvH,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,CAA4B,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,aAAa,EAAC,IAAI,EAAC,OAAO,GAAG,EACzH,KAAC,WAAW,IAAC,KAAK,EAAE,CAAC,CAA4B,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAC,KAAK,EAAC,WAAW,EAAC,oBAAoB,GAAG,IAChG,IACd,CACT,CAAC;IACN,CAAC;CACJ,CAAC"}
|