@almadar/ui 4.33.0 → 4.35.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 +22 -7
- package/dist/avl/index.css +1 -1
- package/dist/avl/index.js +22 -7
- package/dist/components/atoms/FilterPill.d.ts +18 -0
- package/dist/components/atoms/index.d.ts +1 -0
- package/dist/components/index.cjs +4260 -1417
- package/dist/components/index.css +1 -1
- package/dist/components/index.js +3364 -521
- package/dist/components/molecules/BranchingLogicBuilder.d.ts +23 -0
- package/dist/components/molecules/LikertScale.d.ts +29 -0
- package/dist/components/molecules/MapView.d.ts +22 -0
- package/dist/components/molecules/MatrixQuestion.d.ts +29 -0
- package/dist/components/molecules/OptionConstraintGroup.d.ts +38 -0
- package/dist/components/molecules/PositionedCanvas.d.ts +32 -0
- package/dist/components/molecules/QrScanner.d.ts +17 -0
- package/dist/components/molecules/ReplyTree.d.ts +29 -0
- package/dist/components/molecules/RichBlockEditor.d.ts +27 -0
- package/dist/components/molecules/VersionDiff.d.ts +44 -0
- package/dist/components/molecules/VoteStack.d.ts +23 -0
- package/dist/components/molecules/index.d.ts +11 -1
- package/dist/docs/index.cjs +2 -2
- package/dist/docs/index.js +2 -2
- package/dist/marketing/index.cjs +2 -2
- package/dist/marketing/index.js +2 -2
- package/dist/providers/index.cjs +18 -3
- package/dist/providers/index.css +1 -1
- package/dist/providers/index.js +18 -3
- package/dist/runtime/index.cjs +18 -3
- package/dist/runtime/index.css +1 -1
- package/dist/runtime/index.js +18 -3
- package/package.json +14 -8
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface BranchingQuestion {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
optionValues?: string[];
|
|
6
|
+
}
|
|
7
|
+
export type BranchingOperator = 'equals' | 'not-equals' | 'contains' | 'in';
|
|
8
|
+
export declare const END_OF_SURVEY = "end-of-survey";
|
|
9
|
+
export interface BranchingRule {
|
|
10
|
+
id: string;
|
|
11
|
+
sourceQuestionId: string;
|
|
12
|
+
operator: BranchingOperator;
|
|
13
|
+
value: string | string[];
|
|
14
|
+
targetQuestionId: string | typeof END_OF_SURVEY;
|
|
15
|
+
}
|
|
16
|
+
export interface BranchingLogicBuilderProps {
|
|
17
|
+
questions: BranchingQuestion[];
|
|
18
|
+
rules: BranchingRule[];
|
|
19
|
+
onRulesChange?: (rules: BranchingRule[]) => void;
|
|
20
|
+
readOnly?: boolean;
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare const BranchingLogicBuilder: React.FC<BranchingLogicBuilderProps>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export type LikertScaleSize = "sm" | "md" | "lg";
|
|
3
|
+
export type LikertScaleVariant = "radios" | "buttons";
|
|
4
|
+
export interface LikertOption {
|
|
5
|
+
/** Underlying value bound to the option */
|
|
6
|
+
value: number | string;
|
|
7
|
+
/** Visible label below (radios) or inside (buttons) the control */
|
|
8
|
+
label: string;
|
|
9
|
+
}
|
|
10
|
+
export interface LikertScaleProps {
|
|
11
|
+
/** Optional row prompt above the scale */
|
|
12
|
+
question?: string;
|
|
13
|
+
/** Scale points (defaults to a 5-point agree/disagree set) */
|
|
14
|
+
options?: LikertOption[];
|
|
15
|
+
/** Selected value (controlled) */
|
|
16
|
+
value?: number | string | null;
|
|
17
|
+
/** Change callback */
|
|
18
|
+
onChange?: (value: number | string) => void;
|
|
19
|
+
/** Disabled state */
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
/** Size variant */
|
|
22
|
+
size?: LikertScaleSize;
|
|
23
|
+
/** Visual variant: classic radios or pill segmented buttons */
|
|
24
|
+
variant?: LikertScaleVariant;
|
|
25
|
+
/** Additional CSS classes */
|
|
26
|
+
className?: string;
|
|
27
|
+
}
|
|
28
|
+
export declare const DEFAULT_LIKERT_OPTIONS: LikertOption[];
|
|
29
|
+
export declare const LikertScale: React.ForwardRefExoticComponent<LikertScaleProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -11,9 +11,31 @@ export interface MapMarkerData {
|
|
|
11
11
|
/** Optional category for styling */
|
|
12
12
|
category?: string;
|
|
13
13
|
}
|
|
14
|
+
export interface MapRouteWaypoint {
|
|
15
|
+
lat: number;
|
|
16
|
+
lng: number;
|
|
17
|
+
}
|
|
18
|
+
export interface MapRouteData {
|
|
19
|
+
/** Unique route identifier */
|
|
20
|
+
id: string | number;
|
|
21
|
+
/** Ordered waypoints rendered as a polyline */
|
|
22
|
+
waypoints: MapRouteWaypoint[];
|
|
23
|
+
/** Stroke color (CSS color). Defaults to a theme-aware accent. */
|
|
24
|
+
color?: string;
|
|
25
|
+
/** Stroke weight in pixels (default 4) */
|
|
26
|
+
weight?: number;
|
|
27
|
+
/** Stroke opacity 0..1 (default 0.8) */
|
|
28
|
+
opacity?: number;
|
|
29
|
+
/** Optional dashed pattern (e.g. "8 4") */
|
|
30
|
+
dashArray?: string;
|
|
31
|
+
/** Label shown in a popup at the midpoint */
|
|
32
|
+
label?: string;
|
|
33
|
+
}
|
|
14
34
|
export interface MapViewProps {
|
|
15
35
|
/** Array of markers to display */
|
|
16
36
|
markers?: MapMarkerData[];
|
|
37
|
+
/** Routes (polylines with optional popups) drawn over the tile layer */
|
|
38
|
+
routes?: MapRouteData[];
|
|
17
39
|
/** Map center latitude */
|
|
18
40
|
centerLat?: number;
|
|
19
41
|
/** Map center longitude */
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface MatrixRow {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
}
|
|
6
|
+
export interface MatrixColumn {
|
|
7
|
+
value: number | string;
|
|
8
|
+
label: string;
|
|
9
|
+
}
|
|
10
|
+
export interface MatrixQuestionProps {
|
|
11
|
+
/** Optional title rendered above the matrix */
|
|
12
|
+
title?: string;
|
|
13
|
+
/** Question rows */
|
|
14
|
+
rows: MatrixRow[];
|
|
15
|
+
/** Column definitions; defaults to 5-point Likert */
|
|
16
|
+
columns?: MatrixColumn[];
|
|
17
|
+
/** Selected value per row, keyed by rowId */
|
|
18
|
+
values?: Record<string, number | string>;
|
|
19
|
+
/** Change handler invoked with rowId and selected column value */
|
|
20
|
+
onChange?: (rowId: string, value: number | string) => void;
|
|
21
|
+
/** Disable all inputs */
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
/** Visual size */
|
|
24
|
+
size?: 'sm' | 'md';
|
|
25
|
+
/** Additional CSS classes */
|
|
26
|
+
className?: string;
|
|
27
|
+
}
|
|
28
|
+
export declare const DEFAULT_MATRIX_COLUMNS: MatrixColumn[];
|
|
29
|
+
export declare const MatrixQuestion: React.FC<MatrixQuestionProps>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OptionConstraintGroup Molecule Component
|
|
3
|
+
*
|
|
4
|
+
* Generic constrained option selector (radio for "single", checkbox for "multi") with required/optional/multi
|
|
5
|
+
* constraints. Renders radio inputs for `single` constraint and checkboxes for
|
|
6
|
+
* `multi`. Reports validation errors inline when the current selection
|
|
7
|
+
* violates the constraint.
|
|
8
|
+
*
|
|
9
|
+
* **Atomic Design**: Composed using Typography atom and native form controls.
|
|
10
|
+
*/
|
|
11
|
+
import React from 'react';
|
|
12
|
+
export interface OptionConstraintOption {
|
|
13
|
+
id: string;
|
|
14
|
+
label: string;
|
|
15
|
+
priceDelta?: number;
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
outOfStock?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export type OptionConstraint = {
|
|
20
|
+
type: 'single';
|
|
21
|
+
required?: boolean;
|
|
22
|
+
} | {
|
|
23
|
+
type: 'multi';
|
|
24
|
+
min?: number;
|
|
25
|
+
max?: number;
|
|
26
|
+
};
|
|
27
|
+
export interface OptionConstraintGroupProps {
|
|
28
|
+
groupId: string;
|
|
29
|
+
title: string;
|
|
30
|
+
description?: string;
|
|
31
|
+
options: OptionConstraintOption[];
|
|
32
|
+
constraint: OptionConstraint;
|
|
33
|
+
selected?: string[];
|
|
34
|
+
onChange?: (selected: string[]) => void;
|
|
35
|
+
size?: 'sm' | 'md';
|
|
36
|
+
className?: string;
|
|
37
|
+
}
|
|
38
|
+
export declare const OptionConstraintGroup: React.FC<OptionConstraintGroupProps>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { EventPayloadValue } from "@almadar/core";
|
|
3
|
+
export type CanvasItemStatus = 'empty' | 'seated' | 'ordered' | 'awaiting-bill' | 'cleaning';
|
|
4
|
+
export type CanvasItemShape = 'round' | 'rectangle' | 'square';
|
|
5
|
+
export interface CanvasItem {
|
|
6
|
+
id: string;
|
|
7
|
+
label: string;
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
shape?: CanvasItemShape;
|
|
11
|
+
capacity: number;
|
|
12
|
+
status?: CanvasItemStatus;
|
|
13
|
+
partySize?: number;
|
|
14
|
+
serverName?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface PositionedCanvasProps {
|
|
17
|
+
/**
|
|
18
|
+
* Items to render. Accepts either a typed array (direct consumers) or the
|
|
19
|
+
* runtime payload shape from a render-ui binding (`@payload.data`). The
|
|
20
|
+
* molecule narrows non-array values to `[]` and validates element shape at
|
|
21
|
+
* render time via the `id` / `x` / `y` guards.
|
|
22
|
+
*/
|
|
23
|
+
items: readonly CanvasItem[] | EventPayloadValue;
|
|
24
|
+
width?: number;
|
|
25
|
+
height?: number;
|
|
26
|
+
selectedId?: string | null;
|
|
27
|
+
editable?: boolean;
|
|
28
|
+
onSelect?: (id: string | null) => void;
|
|
29
|
+
onMove?: (id: string, x: number, y: number) => void;
|
|
30
|
+
className?: string;
|
|
31
|
+
}
|
|
32
|
+
export declare const PositionedCanvas: React.FC<PositionedCanvasProps>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface QrScanResult {
|
|
3
|
+
text: string;
|
|
4
|
+
format: string;
|
|
5
|
+
timestamp: number;
|
|
6
|
+
}
|
|
7
|
+
export interface QrScannerProps {
|
|
8
|
+
onScan?: (result: QrScanResult) => void;
|
|
9
|
+
onError?: (error: Error) => void;
|
|
10
|
+
facingMode?: 'environment' | 'user';
|
|
11
|
+
paused?: boolean;
|
|
12
|
+
showOverlay?: boolean;
|
|
13
|
+
showCameraControls?: boolean;
|
|
14
|
+
fallback?: React.ReactNode;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const QrScanner: React.FC<QrScannerProps>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ReplyTree Organism Component
|
|
3
|
+
*
|
|
4
|
+
* Recursive nested-thread reply renderer with collapse, per-node mod actions, and vote.
|
|
5
|
+
* Composes the VoteStack molecule + Avatar/Typography/Button atoms.
|
|
6
|
+
*/
|
|
7
|
+
import React from "react";
|
|
8
|
+
export interface ReplyNode {
|
|
9
|
+
id: string;
|
|
10
|
+
authorName: string;
|
|
11
|
+
authorAvatarUrl?: string;
|
|
12
|
+
content: string;
|
|
13
|
+
postedAt: string;
|
|
14
|
+
voteCount?: number;
|
|
15
|
+
userVote?: 'up' | 'down' | null;
|
|
16
|
+
replies?: ReplyNode[];
|
|
17
|
+
collapsed?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface ReplyTreeProps {
|
|
20
|
+
nodes: ReplyNode[];
|
|
21
|
+
maxDepth?: number;
|
|
22
|
+
onVote?: (nodeId: string, vote: 'up' | 'down' | null) => void;
|
|
23
|
+
onReply?: (parentNodeId: string) => void;
|
|
24
|
+
onFlag?: (nodeId: string) => void;
|
|
25
|
+
onContinueThread?: (nodeId: string) => void;
|
|
26
|
+
showActions?: boolean;
|
|
27
|
+
className?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare const ReplyTree: React.FC<ReplyTreeProps>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RichBlockEditor Organism Component
|
|
3
|
+
*
|
|
4
|
+
* Notion / Lexical-style block authoring editor. Internal state owns the
|
|
5
|
+
* block tree; contentEditable spans flow updates back through onInput.
|
|
6
|
+
*
|
|
7
|
+
* TODO(phase-11): collaboration / undo-redo / markdown export are out of
|
|
8
|
+
* scope for the Phase 10 scaffold.
|
|
9
|
+
*/
|
|
10
|
+
import React from "react";
|
|
11
|
+
export type BlockType = "paragraph" | "heading-1" | "heading-2" | "heading-3" | "bullet-list" | "numbered-list" | "quote" | "code" | "divider" | "image";
|
|
12
|
+
export interface RichBlock {
|
|
13
|
+
id: string;
|
|
14
|
+
type: BlockType;
|
|
15
|
+
content?: string;
|
|
16
|
+
metadata?: Record<string, string | number | boolean>;
|
|
17
|
+
children?: RichBlock[];
|
|
18
|
+
}
|
|
19
|
+
export interface RichBlockEditorProps {
|
|
20
|
+
initialBlocks?: RichBlock[];
|
|
21
|
+
onChange?: (blocks: RichBlock[]) => void;
|
|
22
|
+
readOnly?: boolean;
|
|
23
|
+
placeholder?: string;
|
|
24
|
+
showToolbar?: boolean;
|
|
25
|
+
className?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare const RichBlockEditor: React.FC<RichBlockEditorProps>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VersionDiff Organism Component
|
|
3
|
+
*
|
|
4
|
+
* Side-by-side or inline diff render with line-level highlights and
|
|
5
|
+
* a revision picker. Composes atoms for layout. Computes a minimal
|
|
6
|
+
* LCS-based line diff inline (no external diff library).
|
|
7
|
+
*/
|
|
8
|
+
import React from "react";
|
|
9
|
+
export interface DiffRevision {
|
|
10
|
+
id: string;
|
|
11
|
+
label: string;
|
|
12
|
+
author?: string;
|
|
13
|
+
timestamp?: string;
|
|
14
|
+
content: string;
|
|
15
|
+
}
|
|
16
|
+
export type DiffLineType = "added" | "removed" | "unchanged" | "context";
|
|
17
|
+
export interface DiffLine {
|
|
18
|
+
type: DiffLineType;
|
|
19
|
+
beforeLineNumber?: number;
|
|
20
|
+
afterLineNumber?: number;
|
|
21
|
+
content: string;
|
|
22
|
+
}
|
|
23
|
+
export type VersionDiffView = "side-by-side" | "inline";
|
|
24
|
+
export interface VersionDiffProps {
|
|
25
|
+
/** All available revisions (at least 2). */
|
|
26
|
+
revisions: DiffRevision[];
|
|
27
|
+
/** Currently selected "before" revision id. */
|
|
28
|
+
beforeId?: string;
|
|
29
|
+
/** Currently selected "after" revision id. */
|
|
30
|
+
afterId?: string;
|
|
31
|
+
/** Display mode. */
|
|
32
|
+
view?: VersionDiffView;
|
|
33
|
+
/** Called when the user picks a different "before" revision. */
|
|
34
|
+
onSelectBefore?: (id: string) => void;
|
|
35
|
+
/** Called when the user picks a different "after" revision. */
|
|
36
|
+
onSelectAfter?: (id: string) => void;
|
|
37
|
+
/** Called when the user clicks the revert button (passes the "before" id). */
|
|
38
|
+
onRevert?: (id: string) => void;
|
|
39
|
+
/** Language label (informational). */
|
|
40
|
+
language?: string;
|
|
41
|
+
/** Additional CSS classes. */
|
|
42
|
+
className?: string;
|
|
43
|
+
}
|
|
44
|
+
export declare const VersionDiff: React.FC<VersionDiffProps>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export type VoteStackSize = "sm" | "md" | "lg";
|
|
3
|
+
export type VoteStackVariant = "vertical" | "horizontal";
|
|
4
|
+
export type VoteValue = "up" | "down" | null;
|
|
5
|
+
export interface VoteStackProps {
|
|
6
|
+
/** Current tally */
|
|
7
|
+
count: number;
|
|
8
|
+
/** Current user's vote (null = no vote cast) */
|
|
9
|
+
userVote?: VoteValue;
|
|
10
|
+
/** Toggle handler. Clicking the same arrow clears (emits null). */
|
|
11
|
+
onVote?: (next: VoteValue) => void;
|
|
12
|
+
/** Disabled state */
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
/** Size variant */
|
|
15
|
+
size?: VoteStackSize;
|
|
16
|
+
/** Layout orientation. `vertical` = forum/Q&A column; `horizontal` = compact row. */
|
|
17
|
+
variant?: VoteStackVariant;
|
|
18
|
+
/** Additional CSS classes */
|
|
19
|
+
className?: string;
|
|
20
|
+
/** Accessible label for the group */
|
|
21
|
+
label?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare const VoteStack: React.FC<VoteStackProps>;
|
|
@@ -45,7 +45,7 @@ export { LineChart, type LineChartProps, type ChartDataPoint } from './LineChart
|
|
|
45
45
|
export { ProgressDots, type ProgressDotsProps, type DotState, type DotSize } from './ProgressDots';
|
|
46
46
|
export * from './game';
|
|
47
47
|
export { GraphView, type GraphViewProps, type GraphViewNode, type GraphViewEdge } from './GraphView';
|
|
48
|
-
export { MapView, type MapViewProps, type MapMarkerData } from './MapView';
|
|
48
|
+
export { MapView, type MapViewProps, type MapMarkerData, type MapRouteData, type MapRouteWaypoint } from './MapView';
|
|
49
49
|
export { NumberStepper, type NumberStepperProps, type NumberStepperSize } from './NumberStepper';
|
|
50
50
|
export { StarRating, type StarRatingProps, type StarRatingSize, type StarRatingPrecision } from './StarRating';
|
|
51
51
|
export { UploadDropZone, type UploadDropZoneProps } from './UploadDropZone';
|
|
@@ -79,3 +79,13 @@ export { TeamCard, type TeamCardProps } from './TeamCard';
|
|
|
79
79
|
export { ShowcaseCard, type ShowcaseCardProps } from './ShowcaseCard';
|
|
80
80
|
export { GeometricPattern, type GeometricPatternProps } from './GeometricPattern';
|
|
81
81
|
export { EdgeDecoration, type EdgeDecorationProps, type EdgeVariant, type EdgeSide } from './EdgeDecoration';
|
|
82
|
+
export { VoteStack, type VoteStackProps } from './VoteStack';
|
|
83
|
+
export { LikertScale, type LikertScaleProps, type LikertOption, DEFAULT_LIKERT_OPTIONS } from './LikertScale';
|
|
84
|
+
export { MatrixQuestion, type MatrixQuestionProps, type MatrixRow, type MatrixColumn, DEFAULT_MATRIX_COLUMNS } from './MatrixQuestion';
|
|
85
|
+
export { QrScanner, type QrScannerProps, type QrScanResult } from './QrScanner';
|
|
86
|
+
export { OptionConstraintGroup, type OptionConstraintGroupProps, type OptionConstraintOption, type OptionConstraint } from './OptionConstraintGroup';
|
|
87
|
+
export { PositionedCanvas, type PositionedCanvasProps, type CanvasItem, type CanvasItemStatus, type CanvasItemShape } from './PositionedCanvas';
|
|
88
|
+
export { RichBlockEditor, type RichBlockEditorProps, type RichBlock, type BlockType } from './RichBlockEditor';
|
|
89
|
+
export { ReplyTree, type ReplyTreeProps, type ReplyNode } from './ReplyTree';
|
|
90
|
+
export { BranchingLogicBuilder, type BranchingLogicBuilderProps, type BranchingQuestion, type BranchingRule } from './BranchingLogicBuilder';
|
|
91
|
+
export { VersionDiff, type VersionDiffProps, type DiffRevision, type DiffLine as VersionDiffLine, type DiffLineType } from './VersionDiff';
|
package/dist/docs/index.cjs
CHANGED
|
@@ -27,7 +27,7 @@ function _interopNamespace(e) {
|
|
|
27
27
|
var React5__default = /*#__PURE__*/_interopDefault(React5);
|
|
28
28
|
var LucideIcons__namespace = /*#__PURE__*/_interopNamespace(LucideIcons);
|
|
29
29
|
|
|
30
|
-
// node_modules
|
|
30
|
+
// node_modules/clsx/dist/clsx.mjs
|
|
31
31
|
function r(e) {
|
|
32
32
|
var t, f, n = "";
|
|
33
33
|
if ("string" == typeof e || "number" == typeof e) n += e;
|
|
@@ -42,7 +42,7 @@ function clsx() {
|
|
|
42
42
|
return n;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
// node_modules
|
|
45
|
+
// node_modules/tailwind-merge/dist/bundle-mjs.mjs
|
|
46
46
|
var CLASS_PART_SEPARATOR = "-";
|
|
47
47
|
var createClassGroupUtils = (config) => {
|
|
48
48
|
const classMap = createClassMap(config);
|
package/dist/docs/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { jsx, jsxs } from 'react/jsx-runtime';
|
|
|
3
3
|
import * as LucideIcons from 'lucide-react';
|
|
4
4
|
import { Loader2, ChevronDown, X } from 'lucide-react';
|
|
5
5
|
|
|
6
|
-
// node_modules
|
|
6
|
+
// node_modules/clsx/dist/clsx.mjs
|
|
7
7
|
function r(e) {
|
|
8
8
|
var t, f, n = "";
|
|
9
9
|
if ("string" == typeof e || "number" == typeof e) n += e;
|
|
@@ -18,7 +18,7 @@ function clsx() {
|
|
|
18
18
|
return n;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
// node_modules
|
|
21
|
+
// node_modules/tailwind-merge/dist/bundle-mjs.mjs
|
|
22
22
|
var CLASS_PART_SEPARATOR = "-";
|
|
23
23
|
var createClassGroupUtils = (config) => {
|
|
24
24
|
const classMap = createClassMap(config);
|
package/dist/marketing/index.cjs
CHANGED
|
@@ -27,7 +27,7 @@ function _interopNamespace(e) {
|
|
|
27
27
|
var React6__default = /*#__PURE__*/_interopDefault(React6);
|
|
28
28
|
var LucideIcons__namespace = /*#__PURE__*/_interopNamespace(LucideIcons);
|
|
29
29
|
|
|
30
|
-
// node_modules
|
|
30
|
+
// node_modules/clsx/dist/clsx.mjs
|
|
31
31
|
function r(e) {
|
|
32
32
|
var t, f3, n = "";
|
|
33
33
|
if ("string" == typeof e || "number" == typeof e) n += e;
|
|
@@ -42,7 +42,7 @@ function clsx() {
|
|
|
42
42
|
return n;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
// node_modules
|
|
45
|
+
// node_modules/tailwind-merge/dist/bundle-mjs.mjs
|
|
46
46
|
var CLASS_PART_SEPARATOR = "-";
|
|
47
47
|
var createClassGroupUtils = (config) => {
|
|
48
48
|
const classMap = createClassMap(config);
|
package/dist/marketing/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
|
3
3
|
import * as LucideIcons from 'lucide-react';
|
|
4
4
|
import { Loader2, Check, User } from 'lucide-react';
|
|
5
5
|
|
|
6
|
-
// node_modules
|
|
6
|
+
// node_modules/clsx/dist/clsx.mjs
|
|
7
7
|
function r(e) {
|
|
8
8
|
var t, f3, n = "";
|
|
9
9
|
if ("string" == typeof e || "number" == typeof e) n += e;
|
|
@@ -18,7 +18,7 @@ function clsx() {
|
|
|
18
18
|
return n;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
// node_modules
|
|
21
|
+
// node_modules/tailwind-merge/dist/bundle-mjs.mjs
|
|
22
22
|
var CLASS_PART_SEPARATOR = "-";
|
|
23
23
|
var createClassGroupUtils = (config) => {
|
|
24
24
|
const classMap = createClassMap(config);
|
package/dist/providers/index.cjs
CHANGED
|
@@ -7002,7 +7002,7 @@ var init_MapView = __esm({
|
|
|
7002
7002
|
import('leaflet')
|
|
7003
7003
|
]);
|
|
7004
7004
|
await import('leaflet/dist/leaflet.css');
|
|
7005
|
-
const { MapContainer, TileLayer, Marker, Popup, useMap } = reactLeaflet;
|
|
7005
|
+
const { MapContainer, TileLayer, Marker, Polyline, Popup, useMap } = reactLeaflet;
|
|
7006
7006
|
const L = leafletMod.default;
|
|
7007
7007
|
const defaultIcon = L.icon({
|
|
7008
7008
|
iconUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon.png",
|
|
@@ -7045,6 +7045,7 @@ var init_MapView = __esm({
|
|
|
7045
7045
|
}
|
|
7046
7046
|
function MapViewInner({
|
|
7047
7047
|
markers = [],
|
|
7048
|
+
routes = [],
|
|
7048
7049
|
centerLat = 51.505,
|
|
7049
7050
|
centerLng = -0.09,
|
|
7050
7051
|
zoom = 13,
|
|
@@ -7113,6 +7114,20 @@ var init_MapView = __esm({
|
|
|
7113
7114
|
] }) : null
|
|
7114
7115
|
},
|
|
7115
7116
|
marker.id
|
|
7117
|
+
)),
|
|
7118
|
+
routes.map((route) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7119
|
+
Polyline,
|
|
7120
|
+
{
|
|
7121
|
+
positions: route.waypoints.map((wp) => [wp.lat, wp.lng]),
|
|
7122
|
+
pathOptions: {
|
|
7123
|
+
color: route.color ?? "var(--primary, #2563eb)",
|
|
7124
|
+
weight: route.weight ?? 4,
|
|
7125
|
+
opacity: route.opacity ?? 0.8,
|
|
7126
|
+
dashArray: route.dashArray
|
|
7127
|
+
},
|
|
7128
|
+
children: route.label ? /* @__PURE__ */ jsxRuntime.jsx(Popup, { children: /* @__PURE__ */ jsxRuntime.jsx(Typography2, { variant: "body2", children: route.label }) }) : null
|
|
7129
|
+
},
|
|
7130
|
+
route.id
|
|
7116
7131
|
))
|
|
7117
7132
|
]
|
|
7118
7133
|
},
|
|
@@ -9595,9 +9610,9 @@ var init_ScaledDiagram = __esm({
|
|
|
9595
9610
|
}
|
|
9596
9611
|
});
|
|
9597
9612
|
|
|
9598
|
-
// node_modules
|
|
9613
|
+
// node_modules/katex/dist/katex.min.css
|
|
9599
9614
|
var init_katex_min = __esm({
|
|
9600
|
-
"node_modules
|
|
9615
|
+
"node_modules/katex/dist/katex.min.css"() {
|
|
9601
9616
|
}
|
|
9602
9617
|
});
|
|
9603
9618
|
var MarkdownContent;
|
package/dist/providers/index.css
CHANGED
package/dist/providers/index.js
CHANGED
|
@@ -6957,7 +6957,7 @@ var init_MapView = __esm({
|
|
|
6957
6957
|
import('leaflet')
|
|
6958
6958
|
]);
|
|
6959
6959
|
await import('leaflet/dist/leaflet.css');
|
|
6960
|
-
const { MapContainer, TileLayer, Marker, Popup, useMap } = reactLeaflet;
|
|
6960
|
+
const { MapContainer, TileLayer, Marker, Polyline, Popup, useMap } = reactLeaflet;
|
|
6961
6961
|
const L = leafletMod.default;
|
|
6962
6962
|
const defaultIcon = L.icon({
|
|
6963
6963
|
iconUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon.png",
|
|
@@ -7000,6 +7000,7 @@ var init_MapView = __esm({
|
|
|
7000
7000
|
}
|
|
7001
7001
|
function MapViewInner({
|
|
7002
7002
|
markers = [],
|
|
7003
|
+
routes = [],
|
|
7003
7004
|
centerLat = 51.505,
|
|
7004
7005
|
centerLng = -0.09,
|
|
7005
7006
|
zoom = 13,
|
|
@@ -7068,6 +7069,20 @@ var init_MapView = __esm({
|
|
|
7068
7069
|
] }) : null
|
|
7069
7070
|
},
|
|
7070
7071
|
marker.id
|
|
7072
|
+
)),
|
|
7073
|
+
routes.map((route) => /* @__PURE__ */ jsx(
|
|
7074
|
+
Polyline,
|
|
7075
|
+
{
|
|
7076
|
+
positions: route.waypoints.map((wp) => [wp.lat, wp.lng]),
|
|
7077
|
+
pathOptions: {
|
|
7078
|
+
color: route.color ?? "var(--primary, #2563eb)",
|
|
7079
|
+
weight: route.weight ?? 4,
|
|
7080
|
+
opacity: route.opacity ?? 0.8,
|
|
7081
|
+
dashArray: route.dashArray
|
|
7082
|
+
},
|
|
7083
|
+
children: route.label ? /* @__PURE__ */ jsx(Popup, { children: /* @__PURE__ */ jsx(Typography2, { variant: "body2", children: route.label }) }) : null
|
|
7084
|
+
},
|
|
7085
|
+
route.id
|
|
7071
7086
|
))
|
|
7072
7087
|
]
|
|
7073
7088
|
},
|
|
@@ -9550,9 +9565,9 @@ var init_ScaledDiagram = __esm({
|
|
|
9550
9565
|
}
|
|
9551
9566
|
});
|
|
9552
9567
|
|
|
9553
|
-
// node_modules
|
|
9568
|
+
// node_modules/katex/dist/katex.min.css
|
|
9554
9569
|
var init_katex_min = __esm({
|
|
9555
|
-
"node_modules
|
|
9570
|
+
"node_modules/katex/dist/katex.min.css"() {
|
|
9556
9571
|
}
|
|
9557
9572
|
});
|
|
9558
9573
|
var MarkdownContent;
|
package/dist/runtime/index.cjs
CHANGED
|
@@ -6890,7 +6890,7 @@ var init_MapView = __esm({
|
|
|
6890
6890
|
import('leaflet')
|
|
6891
6891
|
]);
|
|
6892
6892
|
await import('leaflet/dist/leaflet.css');
|
|
6893
|
-
const { MapContainer, TileLayer, Marker, Popup, useMap } = reactLeaflet;
|
|
6893
|
+
const { MapContainer, TileLayer, Marker, Polyline, Popup, useMap } = reactLeaflet;
|
|
6894
6894
|
const L = leafletMod.default;
|
|
6895
6895
|
const defaultIcon = L.icon({
|
|
6896
6896
|
iconUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon.png",
|
|
@@ -6933,6 +6933,7 @@ var init_MapView = __esm({
|
|
|
6933
6933
|
}
|
|
6934
6934
|
function MapViewInner({
|
|
6935
6935
|
markers = [],
|
|
6936
|
+
routes = [],
|
|
6936
6937
|
centerLat = 51.505,
|
|
6937
6938
|
centerLng = -0.09,
|
|
6938
6939
|
zoom = 13,
|
|
@@ -7001,6 +7002,20 @@ var init_MapView = __esm({
|
|
|
7001
7002
|
] }) : null
|
|
7002
7003
|
},
|
|
7003
7004
|
marker.id
|
|
7005
|
+
)),
|
|
7006
|
+
routes.map((route) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
7007
|
+
Polyline,
|
|
7008
|
+
{
|
|
7009
|
+
positions: route.waypoints.map((wp) => [wp.lat, wp.lng]),
|
|
7010
|
+
pathOptions: {
|
|
7011
|
+
color: route.color ?? "var(--primary, #2563eb)",
|
|
7012
|
+
weight: route.weight ?? 4,
|
|
7013
|
+
opacity: route.opacity ?? 0.8,
|
|
7014
|
+
dashArray: route.dashArray
|
|
7015
|
+
},
|
|
7016
|
+
children: route.label ? /* @__PURE__ */ jsxRuntime.jsx(Popup, { children: /* @__PURE__ */ jsxRuntime.jsx(Typography2, { variant: "body2", children: route.label }) }) : null
|
|
7017
|
+
},
|
|
7018
|
+
route.id
|
|
7004
7019
|
))
|
|
7005
7020
|
]
|
|
7006
7021
|
},
|
|
@@ -9495,9 +9510,9 @@ var init_ScaledDiagram = __esm({
|
|
|
9495
9510
|
}
|
|
9496
9511
|
});
|
|
9497
9512
|
|
|
9498
|
-
// node_modules
|
|
9513
|
+
// node_modules/katex/dist/katex.min.css
|
|
9499
9514
|
var init_katex_min = __esm({
|
|
9500
|
-
"node_modules
|
|
9515
|
+
"node_modules/katex/dist/katex.min.css"() {
|
|
9501
9516
|
}
|
|
9502
9517
|
});
|
|
9503
9518
|
var MarkdownContent;
|
package/dist/runtime/index.css
CHANGED
package/dist/runtime/index.js
CHANGED
|
@@ -6845,7 +6845,7 @@ var init_MapView = __esm({
|
|
|
6845
6845
|
import('leaflet')
|
|
6846
6846
|
]);
|
|
6847
6847
|
await import('leaflet/dist/leaflet.css');
|
|
6848
|
-
const { MapContainer, TileLayer, Marker, Popup, useMap } = reactLeaflet;
|
|
6848
|
+
const { MapContainer, TileLayer, Marker, Polyline, Popup, useMap } = reactLeaflet;
|
|
6849
6849
|
const L = leafletMod.default;
|
|
6850
6850
|
const defaultIcon = L.icon({
|
|
6851
6851
|
iconUrl: "https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon.png",
|
|
@@ -6888,6 +6888,7 @@ var init_MapView = __esm({
|
|
|
6888
6888
|
}
|
|
6889
6889
|
function MapViewInner({
|
|
6890
6890
|
markers = [],
|
|
6891
|
+
routes = [],
|
|
6891
6892
|
centerLat = 51.505,
|
|
6892
6893
|
centerLng = -0.09,
|
|
6893
6894
|
zoom = 13,
|
|
@@ -6956,6 +6957,20 @@ var init_MapView = __esm({
|
|
|
6956
6957
|
] }) : null
|
|
6957
6958
|
},
|
|
6958
6959
|
marker.id
|
|
6960
|
+
)),
|
|
6961
|
+
routes.map((route) => /* @__PURE__ */ jsx(
|
|
6962
|
+
Polyline,
|
|
6963
|
+
{
|
|
6964
|
+
positions: route.waypoints.map((wp) => [wp.lat, wp.lng]),
|
|
6965
|
+
pathOptions: {
|
|
6966
|
+
color: route.color ?? "var(--primary, #2563eb)",
|
|
6967
|
+
weight: route.weight ?? 4,
|
|
6968
|
+
opacity: route.opacity ?? 0.8,
|
|
6969
|
+
dashArray: route.dashArray
|
|
6970
|
+
},
|
|
6971
|
+
children: route.label ? /* @__PURE__ */ jsx(Popup, { children: /* @__PURE__ */ jsx(Typography2, { variant: "body2", children: route.label }) }) : null
|
|
6972
|
+
},
|
|
6973
|
+
route.id
|
|
6959
6974
|
))
|
|
6960
6975
|
]
|
|
6961
6976
|
},
|
|
@@ -9450,9 +9465,9 @@ var init_ScaledDiagram = __esm({
|
|
|
9450
9465
|
}
|
|
9451
9466
|
});
|
|
9452
9467
|
|
|
9453
|
-
// node_modules
|
|
9468
|
+
// node_modules/katex/dist/katex.min.css
|
|
9454
9469
|
var init_katex_min = __esm({
|
|
9455
|
-
"node_modules
|
|
9470
|
+
"node_modules/katex/dist/katex.min.css"() {
|
|
9456
9471
|
}
|
|
9457
9472
|
});
|
|
9458
9473
|
var MarkdownContent;
|