@almadar/ui 5.76.7 → 5.77.0
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/avl/index.cjs +264 -443
- package/dist/avl/index.css +3 -3
- package/dist/avl/index.js +265 -444
- package/dist/components/core/atoms/FlipContainer.d.ts +1 -1
- package/dist/components/core/molecules/Card.d.ts +1 -1
- package/dist/components/core/molecules/DataGrid.d.ts +1 -1
- package/dist/components/core/molecules/DataList.d.ts +1 -1
- package/dist/components/core/molecules/DocPagination.d.ts +1 -8
- package/dist/components/core/molecules/DocSearch.d.ts +1 -8
- package/dist/components/core/molecules/FlipCard.d.ts +1 -1
- package/dist/components/core/molecules/MapView.d.ts +1 -18
- package/dist/components/core/molecules/SortableList.d.ts +1 -1
- package/dist/components/core/molecules/TableView.d.ts +1 -1
- package/dist/components/core/organisms/DataTable.d.ts +1 -1
- package/dist/components/core/organisms/debug/RuntimeDebugger.d.ts +1 -10
- package/dist/components/core/organisms/debug/tabs/EntitiesTab.d.ts +1 -2
- package/dist/components/core/organisms/debug/tabs/EventDispatcherTab.d.ts +1 -2
- package/dist/components/core/organisms/debug/tabs/EventFlowTab.d.ts +1 -6
- package/dist/components/core/organisms/debug/tabs/GuardsPanel.d.ts +1 -6
- package/dist/components/core/organisms/debug/tabs/ServerBridgeTab.d.ts +1 -12
- package/dist/components/core/organisms/debug/tabs/TicksTab.d.ts +1 -2
- package/dist/components/core/organisms/debug/tabs/TraitsTab.d.ts +1 -2
- package/dist/components/core/organisms/debug/tabs/TransitionTimeline.d.ts +1 -11
- package/dist/components/core/organisms/debug/tabs/VerificationTab.d.ts +1 -8
- package/dist/components/game/2d/atoms/ActionButton.d.ts +1 -2
- package/dist/components/game/2d/atoms/ChoiceButton.d.ts +1 -2
- package/dist/components/game/2d/atoms/ComboCounter.d.ts +1 -2
- package/dist/components/game/2d/atoms/ControlButton.d.ts +1 -2
- package/dist/components/game/2d/atoms/DamageNumber.d.ts +1 -2
- package/dist/components/game/2d/atoms/DialogueBubble.d.ts +1 -2
- package/dist/components/game/2d/atoms/GameIcon.d.ts +1 -2
- package/dist/components/game/2d/atoms/HealthBar.d.ts +1 -2
- package/dist/components/game/2d/atoms/ItemSlot.d.ts +1 -2
- package/dist/components/game/2d/atoms/MiniMap.d.ts +1 -2
- package/dist/components/game/2d/atoms/ResourceCounter.d.ts +1 -2
- package/dist/components/game/2d/atoms/ScoreDisplay.d.ts +1 -2
- package/dist/components/game/2d/atoms/StatusEffect.d.ts +1 -2
- package/dist/components/game/2d/atoms/TimerDisplay.d.ts +1 -2
- package/dist/components/game/2d/atoms/TurnIndicator.d.ts +1 -2
- package/dist/components/game/2d/atoms/WaypointMarker.d.ts +1 -2
- package/dist/components/game/2d/molecules/GameHud.d.ts +1 -2
- package/dist/components/game/2d/molecules/GameMenu.d.ts +1 -2
- package/dist/components/game/2d/molecules/InventoryGrid.d.ts +1 -2
- package/dist/components/game/2d/molecules/ResourceBar.d.ts +1 -2
- package/dist/components/game/2d/molecules/StatBadge.d.ts +1 -2
- package/dist/components/game/shared/lib/editorUtils.d.ts +8 -8
- package/dist/components/index.cjs +133 -134
- package/dist/components/index.css +3 -3
- package/dist/components/index.js +133 -134
- package/dist/hooks/useGitHub.d.ts +7 -7
- package/dist/marketing/index.cjs +2 -2
- package/dist/marketing/index.js +2 -2
- package/dist/providers/EventBusProvider.d.ts +1 -1
- package/dist/providers/SelectionProvider.d.ts +1 -1
- package/dist/providers/ServerBridge.d.ts +1 -1
- package/dist/providers/index.cjs +260 -439
- package/dist/providers/index.css +3 -3
- package/dist/providers/index.js +261 -440
- package/dist/runtime/index.cjs +260 -439
- package/dist/runtime/index.css +3 -3
- package/dist/runtime/index.js +261 -440
- package/package.json +2 -2
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
1
|
import { type IconInput } from '../../../core/atoms/Icon';
|
|
3
2
|
import type { Asset } from '@almadar/core';
|
|
4
3
|
/**
|
|
@@ -33,7 +32,7 @@ export interface StatBadgeProps {
|
|
|
33
32
|
/** Additional CSS classes */
|
|
34
33
|
className?: string;
|
|
35
34
|
}
|
|
36
|
-
export declare function StatBadge({ assetUrl, iconUrl, label, value, max, format, icon, size, variant, className, source: _source, field: _field, }: StatBadgeProps):
|
|
35
|
+
export declare function StatBadge({ assetUrl, iconUrl, label, value, max, format, icon, size, variant, className, source: _source, field: _field, }: StatBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
37
36
|
export declare namespace StatBadge {
|
|
38
37
|
var displayName: string;
|
|
39
38
|
}
|
|
@@ -23,7 +23,7 @@ export interface CollapsibleSectionProps {
|
|
|
23
23
|
};
|
|
24
24
|
className?: string;
|
|
25
25
|
}
|
|
26
|
-
export declare function CollapsibleSection({ title, expanded, onToggle, children, assetManifest, className }: CollapsibleSectionProps):
|
|
26
|
+
export declare function CollapsibleSection({ title, expanded, onToggle, children, assetManifest, className }: CollapsibleSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
27
27
|
export declare namespace CollapsibleSection {
|
|
28
28
|
var displayName: string;
|
|
29
29
|
}
|
|
@@ -36,7 +36,7 @@ export interface EditorSliderProps {
|
|
|
36
36
|
onChange: (value: number) => void;
|
|
37
37
|
className?: string;
|
|
38
38
|
}
|
|
39
|
-
export declare function EditorSlider({ label, value, min, max, step, onChange, className }: EditorSliderProps):
|
|
39
|
+
export declare function EditorSlider({ label, value, min, max, step, onChange, className }: EditorSliderProps): import("react/jsx-runtime").JSX.Element;
|
|
40
40
|
export declare namespace EditorSlider {
|
|
41
41
|
var displayName: string;
|
|
42
42
|
}
|
|
@@ -50,7 +50,7 @@ export interface EditorSelectProps {
|
|
|
50
50
|
onChange: (value: string) => void;
|
|
51
51
|
className?: string;
|
|
52
52
|
}
|
|
53
|
-
export declare function EditorSelect({ label, value, options, onChange, className }: EditorSelectProps):
|
|
53
|
+
export declare function EditorSelect({ label, value, options, onChange, className }: EditorSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
54
54
|
export declare namespace EditorSelect {
|
|
55
55
|
var displayName: string;
|
|
56
56
|
}
|
|
@@ -60,7 +60,7 @@ export interface EditorCheckboxProps {
|
|
|
60
60
|
onChange: (checked: boolean) => void;
|
|
61
61
|
className?: string;
|
|
62
62
|
}
|
|
63
|
-
export declare function EditorCheckbox({ label, checked, onChange, className }: EditorCheckboxProps):
|
|
63
|
+
export declare function EditorCheckbox({ label, checked, onChange, className }: EditorCheckboxProps): import("react/jsx-runtime").JSX.Element;
|
|
64
64
|
export declare namespace EditorCheckbox {
|
|
65
65
|
var displayName: string;
|
|
66
66
|
}
|
|
@@ -71,7 +71,7 @@ export interface EditorTextInputProps {
|
|
|
71
71
|
placeholder?: string;
|
|
72
72
|
className?: string;
|
|
73
73
|
}
|
|
74
|
-
export declare function EditorTextInput({ label, value, onChange, placeholder, className }: EditorTextInputProps):
|
|
74
|
+
export declare function EditorTextInput({ label, value, onChange, placeholder, className }: EditorTextInputProps): import("react/jsx-runtime").JSX.Element;
|
|
75
75
|
export declare namespace EditorTextInput {
|
|
76
76
|
var displayName: string;
|
|
77
77
|
}
|
|
@@ -89,7 +89,7 @@ export interface StatusBarProps {
|
|
|
89
89
|
featureCount?: number;
|
|
90
90
|
className?: string;
|
|
91
91
|
}
|
|
92
|
-
export declare function StatusBar({ hoveredTile, mode, gridSize, unitCount, featureCount, className }: StatusBarProps):
|
|
92
|
+
export declare function StatusBar({ hoveredTile, mode, gridSize, unitCount, featureCount, className }: StatusBarProps): import("react/jsx-runtime").JSX.Element;
|
|
93
93
|
export declare namespace StatusBar {
|
|
94
94
|
var displayName: string;
|
|
95
95
|
}
|
|
@@ -99,7 +99,7 @@ export interface TerrainPaletteProps {
|
|
|
99
99
|
onSelect: (terrain: string) => void;
|
|
100
100
|
className?: string;
|
|
101
101
|
}
|
|
102
|
-
export declare function TerrainPalette({ terrains, selectedTerrain, onSelect, className }: TerrainPaletteProps):
|
|
102
|
+
export declare function TerrainPalette({ terrains, selectedTerrain, onSelect, className }: TerrainPaletteProps): import("react/jsx-runtime").JSX.Element;
|
|
103
103
|
export declare namespace TerrainPalette {
|
|
104
104
|
var displayName: string;
|
|
105
105
|
}
|
|
@@ -108,7 +108,7 @@ export interface EditorToolbarProps {
|
|
|
108
108
|
onModeChange: (mode: EditorMode) => void;
|
|
109
109
|
className?: string;
|
|
110
110
|
}
|
|
111
|
-
export declare function EditorToolbar({ mode, onModeChange, className }: EditorToolbarProps):
|
|
111
|
+
export declare function EditorToolbar({ mode, onModeChange, className }: EditorToolbarProps): import("react/jsx-runtime").JSX.Element;
|
|
112
112
|
export declare namespace EditorToolbar {
|
|
113
113
|
var displayName: string;
|
|
114
114
|
}
|
|
@@ -12354,9 +12354,9 @@ var init_BehaviorView = __esm({
|
|
|
12354
12354
|
}
|
|
12355
12355
|
});
|
|
12356
12356
|
|
|
12357
|
-
// node_modules
|
|
12357
|
+
// node_modules/katex/dist/katex.min.css
|
|
12358
12358
|
var init_katex_min = __esm({
|
|
12359
|
-
"node_modules
|
|
12359
|
+
"node_modules/katex/dist/katex.min.css"() {
|
|
12360
12360
|
}
|
|
12361
12361
|
});
|
|
12362
12362
|
exports.Tabs = void 0;
|
|
@@ -17045,129 +17045,6 @@ var init_BuilderBoard = __esm({
|
|
|
17045
17045
|
BuilderBoard.displayName = "BuilderBoard";
|
|
17046
17046
|
}
|
|
17047
17047
|
});
|
|
17048
|
-
function useSafeEventBus2() {
|
|
17049
|
-
try {
|
|
17050
|
-
return useEventBus();
|
|
17051
|
-
} catch {
|
|
17052
|
-
return { emit: () => {
|
|
17053
|
-
}, on: () => () => {
|
|
17054
|
-
}, once: () => {
|
|
17055
|
-
} };
|
|
17056
|
-
}
|
|
17057
|
-
}
|
|
17058
|
-
var log6, lookStyles4; exports.ButtonGroup = void 0;
|
|
17059
|
-
var init_ButtonGroup = __esm({
|
|
17060
|
-
"components/core/molecules/ButtonGroup.tsx"() {
|
|
17061
|
-
"use client";
|
|
17062
|
-
init_cn();
|
|
17063
|
-
init_atoms();
|
|
17064
|
-
init_useEventBus();
|
|
17065
|
-
log6 = logger.createLogger("almadar:ui:button-group");
|
|
17066
|
-
lookStyles4 = {
|
|
17067
|
-
"right-aligned-buttons": "",
|
|
17068
|
-
"floating-bar": "fixed bottom-section left-1/2 -translate-x-1/2 shadow-elevation-toast bg-card p-card-sm rounded-container",
|
|
17069
|
-
"inline-row": "gap-2 inline-flex",
|
|
17070
|
-
"dropdown-menu": "[&>button:not(:first-child)]:hidden",
|
|
17071
|
-
"command-palette-trigger": "[&>button:not(:first-child)]:hidden"
|
|
17072
|
-
};
|
|
17073
|
-
exports.ButtonGroup = ({
|
|
17074
|
-
children,
|
|
17075
|
-
primary,
|
|
17076
|
-
secondary,
|
|
17077
|
-
variant = "default",
|
|
17078
|
-
orientation = "horizontal",
|
|
17079
|
-
className,
|
|
17080
|
-
// Filter-group pattern props (entity and filters are used for schema-driven filtering)
|
|
17081
|
-
entity: _entity,
|
|
17082
|
-
filters,
|
|
17083
|
-
look = "right-aligned-buttons"
|
|
17084
|
-
}) => {
|
|
17085
|
-
const eventBus = useSafeEventBus2();
|
|
17086
|
-
const variantClasses2 = {
|
|
17087
|
-
default: "gap-0",
|
|
17088
|
-
segmented: "gap-0 [&>button]:rounded-none [&>button:first-child]:rounded-l-lg [&>button:last-child]:rounded-r-lg [&>button:not(:first-child)]:border-l-0",
|
|
17089
|
-
toggle: "gap-0 [&>button]:rounded-none [&>button:first-child]:rounded-l-lg [&>button:last-child]:rounded-r-lg [&>button:not(:first-child)]:border-l-0"
|
|
17090
|
-
};
|
|
17091
|
-
const orientationClasses = {
|
|
17092
|
-
horizontal: "flex-row",
|
|
17093
|
-
vertical: "flex-col [&>button:first-child]:rounded-t-lg [&>button:last-child]:rounded-b-lg [&>button:not(:first-child)]:border-t-0 [&>button:not(:first-child)]:border-l"
|
|
17094
|
-
};
|
|
17095
|
-
const handleActionClick = (action) => {
|
|
17096
|
-
if (action.event) {
|
|
17097
|
-
eventBus.emit("UI:DISPATCH", { event: action.event });
|
|
17098
|
-
}
|
|
17099
|
-
if (action.navigatesTo) {
|
|
17100
|
-
eventBus.emit("UI:NAVIGATE", { url: action.navigatesTo });
|
|
17101
|
-
}
|
|
17102
|
-
};
|
|
17103
|
-
const renderFormActions = () => {
|
|
17104
|
-
const buttons = [];
|
|
17105
|
-
if (secondary) {
|
|
17106
|
-
secondary.forEach((action, index) => {
|
|
17107
|
-
buttons.push(
|
|
17108
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17109
|
-
exports.Button,
|
|
17110
|
-
{
|
|
17111
|
-
type: action.actionType === "submit" ? "submit" : "button",
|
|
17112
|
-
variant: action.variant || "ghost",
|
|
17113
|
-
onClick: () => handleActionClick(action),
|
|
17114
|
-
children: action.label
|
|
17115
|
-
},
|
|
17116
|
-
`secondary-${index}`
|
|
17117
|
-
)
|
|
17118
|
-
);
|
|
17119
|
-
});
|
|
17120
|
-
}
|
|
17121
|
-
if (primary) {
|
|
17122
|
-
const isSubmit = primary.actionType === "submit";
|
|
17123
|
-
buttons.push(
|
|
17124
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
17125
|
-
exports.Button,
|
|
17126
|
-
{
|
|
17127
|
-
type: isSubmit ? "submit" : "button",
|
|
17128
|
-
variant: primary.variant || "primary",
|
|
17129
|
-
onClick: () => handleActionClick(primary),
|
|
17130
|
-
"data-testid": isSubmit ? "form-submit" : void 0,
|
|
17131
|
-
children: primary.label
|
|
17132
|
-
},
|
|
17133
|
-
"primary"
|
|
17134
|
-
)
|
|
17135
|
-
);
|
|
17136
|
-
}
|
|
17137
|
-
return buttons;
|
|
17138
|
-
};
|
|
17139
|
-
const renderFilters = () => {
|
|
17140
|
-
if (!filters || filters.length === 0) return null;
|
|
17141
|
-
return filters.map((filter, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
17142
|
-
exports.Button,
|
|
17143
|
-
{
|
|
17144
|
-
variant: "ghost",
|
|
17145
|
-
onClick: () => {
|
|
17146
|
-
log6.debug("Filter clicked", { field: filter.field });
|
|
17147
|
-
},
|
|
17148
|
-
children: filter.label
|
|
17149
|
-
},
|
|
17150
|
-
`filter-${filter.field}-${index}`
|
|
17151
|
-
));
|
|
17152
|
-
};
|
|
17153
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
17154
|
-
"div",
|
|
17155
|
-
{
|
|
17156
|
-
className: cn(
|
|
17157
|
-
"inline-flex gap-2",
|
|
17158
|
-
variantClasses2[variant],
|
|
17159
|
-
orientationClasses[orientation],
|
|
17160
|
-
lookStyles4[look],
|
|
17161
|
-
className
|
|
17162
|
-
),
|
|
17163
|
-
role: "group",
|
|
17164
|
-
children: children || renderFilters() || renderFormActions()
|
|
17165
|
-
}
|
|
17166
|
-
);
|
|
17167
|
-
};
|
|
17168
|
-
exports.ButtonGroup.displayName = "ButtonGroup";
|
|
17169
|
-
}
|
|
17170
|
-
});
|
|
17171
17048
|
function useSwipeGesture(callbacks, options = {}) {
|
|
17172
17049
|
const { threshold = 50, velocityThreshold = 0.3, preventDefault = false } = options;
|
|
17173
17050
|
const startX = React80.useRef(0);
|
|
@@ -19594,7 +19471,7 @@ var init_CardGrid = __esm({
|
|
|
19594
19471
|
exports.CardGrid.displayName = "CardGrid";
|
|
19595
19472
|
}
|
|
19596
19473
|
});
|
|
19597
|
-
function
|
|
19474
|
+
function useSafeEventBus2() {
|
|
19598
19475
|
try {
|
|
19599
19476
|
return useEventBus();
|
|
19600
19477
|
} catch {
|
|
@@ -19630,7 +19507,7 @@ var init_Carousel = __esm({
|
|
|
19630
19507
|
const [activeIndex, setActiveIndex] = React80.useState(0);
|
|
19631
19508
|
const scrollRef = React80.useRef(null);
|
|
19632
19509
|
const autoPlayRef = React80.useRef(null);
|
|
19633
|
-
const eventBus =
|
|
19510
|
+
const eventBus = useSafeEventBus2();
|
|
19634
19511
|
const { t } = hooks.useTranslate();
|
|
19635
19512
|
const safeItems = items ?? [];
|
|
19636
19513
|
const totalSlides = safeItems.length;
|
|
@@ -24255,7 +24132,7 @@ function DataGrid({
|
|
|
24255
24132
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24256
24133
|
exports.Box,
|
|
24257
24134
|
{
|
|
24258
|
-
className: cn("grid", gapStyles5[gap], scrollX ? "grid-flow-col overflow-x-auto" : colsClass,
|
|
24135
|
+
className: cn("grid", gapStyles5[gap], scrollX ? "grid-flow-col overflow-x-auto" : colsClass, lookStyles4[look], className),
|
|
24259
24136
|
style: scrollX ? { gridAutoFlow: "column", gridAutoColumns: `minmax(${minCardWidth}px, 1fr)` } : gridTemplateColumns ? { gridTemplateColumns } : void 0,
|
|
24260
24137
|
children: data.map((item, index) => {
|
|
24261
24138
|
const itemData = item;
|
|
@@ -24450,7 +24327,7 @@ function DataGrid({
|
|
|
24450
24327
|
] })
|
|
24451
24328
|
);
|
|
24452
24329
|
}
|
|
24453
|
-
var dataGridLog, BADGE_VARIANTS, gapStyles5,
|
|
24330
|
+
var dataGridLog, BADGE_VARIANTS, gapStyles5, lookStyles4;
|
|
24454
24331
|
var init_DataGrid = __esm({
|
|
24455
24332
|
"components/core/molecules/DataGrid.tsx"() {
|
|
24456
24333
|
"use client";
|
|
@@ -24485,7 +24362,7 @@ var init_DataGrid = __esm({
|
|
|
24485
24362
|
lg: "gap-6",
|
|
24486
24363
|
xl: "gap-8"
|
|
24487
24364
|
};
|
|
24488
|
-
|
|
24365
|
+
lookStyles4 = {
|
|
24489
24366
|
dense: "gap-2 [&>*]:p-card-sm",
|
|
24490
24367
|
spacious: "gap-8 [&>*]:p-card-lg",
|
|
24491
24368
|
striped: "[&>*:nth-child(even)]:bg-muted/30",
|
|
@@ -26029,6 +25906,129 @@ var init_FormField = __esm({
|
|
|
26029
25906
|
exports.FormField.displayName = "FormField";
|
|
26030
25907
|
}
|
|
26031
25908
|
});
|
|
25909
|
+
function useSafeEventBus3() {
|
|
25910
|
+
try {
|
|
25911
|
+
return useEventBus();
|
|
25912
|
+
} catch {
|
|
25913
|
+
return { emit: () => {
|
|
25914
|
+
}, on: () => () => {
|
|
25915
|
+
}, once: () => {
|
|
25916
|
+
} };
|
|
25917
|
+
}
|
|
25918
|
+
}
|
|
25919
|
+
var log6, lookStyles5; exports.ButtonGroup = void 0;
|
|
25920
|
+
var init_ButtonGroup = __esm({
|
|
25921
|
+
"components/core/molecules/ButtonGroup.tsx"() {
|
|
25922
|
+
"use client";
|
|
25923
|
+
init_cn();
|
|
25924
|
+
init_atoms();
|
|
25925
|
+
init_useEventBus();
|
|
25926
|
+
log6 = logger.createLogger("almadar:ui:button-group");
|
|
25927
|
+
lookStyles5 = {
|
|
25928
|
+
"right-aligned-buttons": "",
|
|
25929
|
+
"floating-bar": "fixed bottom-section left-1/2 -translate-x-1/2 shadow-elevation-toast bg-card p-card-sm rounded-container",
|
|
25930
|
+
"inline-row": "gap-2 inline-flex",
|
|
25931
|
+
"dropdown-menu": "[&>button:not(:first-child)]:hidden",
|
|
25932
|
+
"command-palette-trigger": "[&>button:not(:first-child)]:hidden"
|
|
25933
|
+
};
|
|
25934
|
+
exports.ButtonGroup = ({
|
|
25935
|
+
children,
|
|
25936
|
+
primary,
|
|
25937
|
+
secondary,
|
|
25938
|
+
variant = "default",
|
|
25939
|
+
orientation = "horizontal",
|
|
25940
|
+
className,
|
|
25941
|
+
// Filter-group pattern props (entity and filters are used for schema-driven filtering)
|
|
25942
|
+
entity: _entity,
|
|
25943
|
+
filters,
|
|
25944
|
+
look = "right-aligned-buttons"
|
|
25945
|
+
}) => {
|
|
25946
|
+
const eventBus = useSafeEventBus3();
|
|
25947
|
+
const variantClasses2 = {
|
|
25948
|
+
default: "gap-0",
|
|
25949
|
+
segmented: "gap-0 [&>button]:rounded-none [&>button:first-child]:rounded-l-lg [&>button:last-child]:rounded-r-lg [&>button:not(:first-child)]:border-l-0",
|
|
25950
|
+
toggle: "gap-0 [&>button]:rounded-none [&>button:first-child]:rounded-l-lg [&>button:last-child]:rounded-r-lg [&>button:not(:first-child)]:border-l-0"
|
|
25951
|
+
};
|
|
25952
|
+
const orientationClasses = {
|
|
25953
|
+
horizontal: "flex-row",
|
|
25954
|
+
vertical: "flex-col [&>button:first-child]:rounded-t-lg [&>button:last-child]:rounded-b-lg [&>button:not(:first-child)]:border-t-0 [&>button:not(:first-child)]:border-l"
|
|
25955
|
+
};
|
|
25956
|
+
const handleActionClick = (action) => {
|
|
25957
|
+
if (action.event) {
|
|
25958
|
+
eventBus.emit("UI:DISPATCH", { event: action.event });
|
|
25959
|
+
}
|
|
25960
|
+
if (action.navigatesTo) {
|
|
25961
|
+
eventBus.emit("UI:NAVIGATE", { url: action.navigatesTo });
|
|
25962
|
+
}
|
|
25963
|
+
};
|
|
25964
|
+
const renderFormActions = () => {
|
|
25965
|
+
const buttons = [];
|
|
25966
|
+
if (secondary) {
|
|
25967
|
+
secondary.forEach((action, index) => {
|
|
25968
|
+
buttons.push(
|
|
25969
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25970
|
+
exports.Button,
|
|
25971
|
+
{
|
|
25972
|
+
type: action.actionType === "submit" ? "submit" : "button",
|
|
25973
|
+
variant: action.variant || "ghost",
|
|
25974
|
+
onClick: () => handleActionClick(action),
|
|
25975
|
+
children: action.label
|
|
25976
|
+
},
|
|
25977
|
+
`secondary-${index}`
|
|
25978
|
+
)
|
|
25979
|
+
);
|
|
25980
|
+
});
|
|
25981
|
+
}
|
|
25982
|
+
if (primary) {
|
|
25983
|
+
const isSubmit = primary.actionType === "submit";
|
|
25984
|
+
buttons.push(
|
|
25985
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
25986
|
+
exports.Button,
|
|
25987
|
+
{
|
|
25988
|
+
type: isSubmit ? "submit" : "button",
|
|
25989
|
+
variant: primary.variant || "primary",
|
|
25990
|
+
onClick: () => handleActionClick(primary),
|
|
25991
|
+
"data-testid": isSubmit ? "form-submit" : void 0,
|
|
25992
|
+
children: primary.label
|
|
25993
|
+
},
|
|
25994
|
+
"primary"
|
|
25995
|
+
)
|
|
25996
|
+
);
|
|
25997
|
+
}
|
|
25998
|
+
return buttons;
|
|
25999
|
+
};
|
|
26000
|
+
const renderFilters = () => {
|
|
26001
|
+
if (!filters || filters.length === 0) return null;
|
|
26002
|
+
return filters.map((filter, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
26003
|
+
exports.Button,
|
|
26004
|
+
{
|
|
26005
|
+
variant: "ghost",
|
|
26006
|
+
onClick: () => {
|
|
26007
|
+
log6.debug("Filter clicked", { field: filter.field });
|
|
26008
|
+
},
|
|
26009
|
+
children: filter.label
|
|
26010
|
+
},
|
|
26011
|
+
`filter-${filter.field}-${index}`
|
|
26012
|
+
));
|
|
26013
|
+
};
|
|
26014
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
26015
|
+
"div",
|
|
26016
|
+
{
|
|
26017
|
+
className: cn(
|
|
26018
|
+
"inline-flex gap-2",
|
|
26019
|
+
variantClasses2[variant],
|
|
26020
|
+
orientationClasses[orientation],
|
|
26021
|
+
lookStyles5[look],
|
|
26022
|
+
className
|
|
26023
|
+
),
|
|
26024
|
+
role: "group",
|
|
26025
|
+
children: children || renderFilters() || renderFormActions()
|
|
26026
|
+
}
|
|
26027
|
+
);
|
|
26028
|
+
};
|
|
26029
|
+
exports.ButtonGroup.displayName = "ButtonGroup";
|
|
26030
|
+
}
|
|
26031
|
+
});
|
|
26032
26032
|
function getOrCreateStore(query) {
|
|
26033
26033
|
if (!queryStores.has(query)) {
|
|
26034
26034
|
queryStores.set(query, {
|
|
@@ -52825,7 +52825,6 @@ var init_component_registry_generated = __esm({
|
|
|
52825
52825
|
init_BranchingLogicBuilder();
|
|
52826
52826
|
init_Breadcrumb();
|
|
52827
52827
|
init_BuilderBoard();
|
|
52828
|
-
init_ButtonGroup();
|
|
52829
52828
|
init_CTABanner();
|
|
52830
52829
|
init_CalendarGrid();
|
|
52831
52830
|
init_Canvas2D();
|
|
@@ -52902,9 +52901,9 @@ var init_component_registry_generated = __esm({
|
|
|
52902
52901
|
init_FlipContainer();
|
|
52903
52902
|
init_FloatingActionButton();
|
|
52904
52903
|
init_Form();
|
|
52904
|
+
init_FormSection();
|
|
52905
52905
|
init_FormField();
|
|
52906
52906
|
init_FormSectionHeader();
|
|
52907
|
-
init_GameAudioProvider();
|
|
52908
52907
|
init_GameAudioToggle();
|
|
52909
52908
|
init_GameCard();
|
|
52910
52909
|
init_GameHud();
|
|
@@ -53153,7 +53152,6 @@ var init_component_registry_generated = __esm({
|
|
|
53153
53152
|
"Breadcrumb": exports.Breadcrumb,
|
|
53154
53153
|
"BuilderBoard": BuilderBoard,
|
|
53155
53154
|
"Button": ButtonPattern,
|
|
53156
|
-
"ButtonGroup": exports.ButtonGroup,
|
|
53157
53155
|
"ButtonPattern": ButtonPattern,
|
|
53158
53156
|
"CTABanner": exports.CTABanner,
|
|
53159
53157
|
"CalendarGrid": CalendarGrid,
|
|
@@ -53233,9 +53231,10 @@ var init_component_registry_generated = __esm({
|
|
|
53233
53231
|
"FlipContainer": exports.FlipContainer,
|
|
53234
53232
|
"FloatingActionButton": exports.FloatingActionButton,
|
|
53235
53233
|
"Form": exports.Form,
|
|
53234
|
+
"FormActions": exports.FormActions,
|
|
53236
53235
|
"FormField": exports.FormField,
|
|
53236
|
+
"FormLayout": exports.FormLayout,
|
|
53237
53237
|
"FormSectionHeader": exports.FormSectionHeader,
|
|
53238
|
-
"GameAudioProvider": GameAudioProvider,
|
|
53239
53238
|
"GameAudioToggle": GameAudioToggle,
|
|
53240
53239
|
"GameBoard3D": GameBoard3D,
|
|
53241
53240
|
"GameCanvas3D": GameCanvas3D,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* node_modules
|
|
1
|
+
/* node_modules/katex/dist/katex.min.css */
|
|
2
2
|
@font-face {
|
|
3
3
|
font-display: block;
|
|
4
4
|
font-family: KaTeX_AMS;
|
|
@@ -214,11 +214,11 @@
|
|
|
214
214
|
border-color: currentColor;
|
|
215
215
|
}
|
|
216
216
|
.katex .katex-version:after {
|
|
217
|
-
content: "0.16.
|
|
217
|
+
content: "0.16.45";
|
|
218
218
|
}
|
|
219
219
|
.katex .katex-mathml {
|
|
220
|
+
clip: rect(1px, 1px, 1px, 1px);
|
|
220
221
|
border: 0;
|
|
221
|
-
clip-path: inset(50%);
|
|
222
222
|
height: 1px;
|
|
223
223
|
overflow: hidden;
|
|
224
224
|
padding: 0;
|