@veevarts/design-system 1.6.0-dev.7 → 1.6.0-dev.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ import { ItemCardProps } from './type';
2
+ declare const ItemCard: React.FC<ItemCardProps>;
3
+ export default ItemCard;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * ItemCard Component Tests
3
+ */
4
+ export {};
@@ -0,0 +1,2 @@
1
+ export { default as ItemCard } from './ItemCard';
2
+ export type * from './type';
@@ -0,0 +1,14 @@
1
+ export interface ItemCardProps {
2
+ /**
3
+ * Selection key. Pass as `itemKey` in JSX (React reserves `key` and does not forward it).
4
+ */
5
+ itemKey: string;
6
+ name: string;
7
+ price: number;
8
+ locale?: string;
9
+ currency?: string;
10
+ type?: string;
11
+ isSelected?: boolean;
12
+ onSelect?: (key: string) => void;
13
+ className?: string;
14
+ }
@@ -0,0 +1,3 @@
1
+ import { MembershipSelectCardsProps } from './types';
2
+ declare const MembershipSelectCards: React.FC<MembershipSelectCardsProps>;
3
+ export default MembershipSelectCards;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * MembershipSelectCards Component Tests
3
+ */
4
+ export {};
@@ -0,0 +1,2 @@
1
+ export { default as MembershipSelectCards } from './MembershipSelectCards';
2
+ export type * from './types';
@@ -0,0 +1,23 @@
1
+ export interface MembershipSelectCardsProps {
2
+ /** Card list; use [] or omit when data is loading (null/undefined is normalized to []). */
3
+ cards?: MembershipSelectCard[] | null;
4
+ locale?: string;
5
+ currency?: string;
6
+ labels?: Partial<MembershipSelectCardsLabels>;
7
+ showRenewal?: boolean;
8
+ defaultRenewalValue?: boolean;
9
+ onRenewalChange?: (value: boolean) => void;
10
+ onCardSelect?: (id: string) => void;
11
+ className?: string;
12
+ }
13
+ export interface MembershipSelectCardsLabels {
14
+ title: string;
15
+ renewalTitle: string;
16
+ renewalDescription: string;
17
+ }
18
+ export interface MembershipSelectCard {
19
+ id: string;
20
+ name: string;
21
+ price: number;
22
+ type?: 'Family' | 'Individual';
23
+ }
@@ -0,0 +1,6 @@
1
+ import { Editor } from '@tiptap/react';
2
+ export interface LinkButtonProps {
3
+ editor: Editor;
4
+ isDisabled?: boolean;
5
+ }
6
+ export declare function LinkButton({ editor, isDisabled }: LinkButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -15,3 +15,5 @@ export { ColorPicker } from './ColorPicker';
15
15
  export type { ColorPickerProps } from './ColorPicker';
16
16
  export { ZoomControls } from './ZoomControls';
17
17
  export type { ZoomControlsProps } from './ZoomControls';
18
+ export { LinkButton } from './LinkButton';
19
+ export type { LinkButtonProps } from './LinkButton';
@@ -0,0 +1,3 @@
1
+ import { TicketSelectionProps } from './types';
2
+ declare const TicketSelection: React.FC<TicketSelectionProps>;
3
+ export default TicketSelection;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * TicketSelection Component Tests
3
+ */
4
+ export {};
@@ -0,0 +1,2 @@
1
+ export { default as TicketSelection } from './TicketSelection';
2
+ export type * from './types';
@@ -0,0 +1,48 @@
1
+ export type TicketSelectionSettings = {
2
+ locale: string;
3
+ currency: string;
4
+ };
5
+ export type TicketSelectionLabels = {
6
+ ticketSelectionTitle: string;
7
+ ticketsAllowedToRedeem: string;
8
+ ticketsSelectedToRedeem: string;
9
+ noUpgradeTicketsAvailable: string;
10
+ selectAllButtonLabel: string;
11
+ };
12
+ export type TicketData = {
13
+ id: string;
14
+ name: string;
15
+ price: number;
16
+ originalPrice: number;
17
+ max: number;
18
+ };
19
+ export type ExhibitionData = {
20
+ id: string;
21
+ exhibitionName: string;
22
+ tickets: TicketData[];
23
+ };
24
+ export type TicketSelectionState = {
25
+ [groupId: string]: {
26
+ [ticketId: string]: {
27
+ id: string;
28
+ selectedQuantity: number;
29
+ originalPrice: number;
30
+ discountedPrice: number;
31
+ };
32
+ };
33
+ };
34
+ export type TicketSelectionData = ExhibitionData[];
35
+ export interface TicketSelectionProps {
36
+ /** Maximum number of tickets the user can select globally */
37
+ userMaxLimit?: number;
38
+ /** Labels for internationalization */
39
+ labels?: Partial<TicketSelectionLabels>;
40
+ /** Regional settings for locale and currency formatting */
41
+ settings?: TicketSelectionSettings;
42
+ /** Exhibition and ticket data */
43
+ ticketSelectionData?: TicketSelectionData;
44
+ /** Additional CSS classes for the root element */
45
+ className?: string;
46
+ /** Callback fired whenever the ticket selection state changes */
47
+ onSelectionChange?: (state: TicketSelectionState) => void;
48
+ }
@@ -0,0 +1,3 @@
1
+ import { ToggleProps } from './type';
2
+ declare const Toggle: React.FC<ToggleProps>;
3
+ export default Toggle;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Toggle Component Tests
3
+ */
4
+ export {};
@@ -0,0 +1,2 @@
1
+ export { default as Toggle } from './Toggle';
2
+ export type * from './type';
@@ -0,0 +1,7 @@
1
+ export interface ToggleProps {
2
+ title?: string;
3
+ value: boolean;
4
+ onValueChange: (value: boolean) => void;
5
+ description?: string;
6
+ className?: string;
7
+ }
@@ -17,3 +17,11 @@ export { OfferCard, OfferCardList, OfferCardSkeleton, OfferCardError, OfferCardE
17
17
  export type { Offer, OfferSelection, OfferCardLabels, OfferCardErrorLabels, OfferCardClassNames, OfferCardListClassNames, OfferCardSkeletonClassNames, OfferCardErrorClassNames, OfferCardEmptyClassNames, OfferCardSlots, OfferCardProps, OfferCardListProps, OfferCardSkeletonProps, OfferCardErrorProps, OfferCardEmptyProps, } from './OfferCard';
18
18
  export { RevenueDistributionCard, RevenueDistributionSkeleton, RevenueDistributionError, RevenueDistributionEmpty, formatAmount as formatRevenueAmount, formatCurrency as formatRevenueCurrency, getCurrencySymbol, parseCurrency as parseRevenueCurrency, calculateAllocationDifference, generateDistributionId, } from './RevenueDistribution';
19
19
  export type { GlAccount, Distribution, RevenueDistributionLabels, RevenueDistributionErrorLabels, RevenueDistributionEmptyLabels, RevenueDistributionCardClassNames, RevenueDistributionSkeletonClassNames, RevenueDistributionErrorClassNames, RevenueDistributionEmptyClassNames, RevenueDistributionCardProps, RevenueDistributionSkeletonProps, RevenueDistributionErrorProps, RevenueDistributionEmptyProps, } from './RevenueDistribution';
20
+ export { MembershipSelectCards } from './MembershipSelectCards';
21
+ export type * from './MembershipSelectCards';
22
+ export { ItemCard } from './ItemCard';
23
+ export type * from './ItemCard';
24
+ export { Toggle } from './Toggle';
25
+ export type * from './Toggle';
26
+ export { TicketSelection } from './TicketSelection';
27
+ export type * from './TicketSelection';
package/dist/styles.css CHANGED
@@ -96,3 +96,101 @@
96
96
  body {
97
97
  font-family: var(--font-primary);
98
98
  }
99
+
100
+ /**
101
+ * Veevart Design System - Color CSS Variables
102
+ *
103
+ * Generated from src/tokens/colors.ts values.
104
+ * Prefix: --veevart-color-*
105
+ */
106
+
107
+ :root {
108
+ /* Brand */
109
+ --veevart-color-brand-primary-50: #fef5f1;
110
+ --veevart-color-brand-primary-100: #fde8e0;
111
+ --veevart-color-brand-primary-200: #fbd5c7;
112
+ --veevart-color-brand-primary-300: #f7b79f;
113
+ --veevart-color-brand-primary-400: #f18d68;
114
+ --veevart-color-brand-primary-500: #c14615;
115
+ --veevart-color-brand-primary-600: #a83b11;
116
+ --veevart-color-brand-primary-700: #8b2f0e;
117
+ --veevart-color-brand-primary-800: #73260d;
118
+ --veevart-color-brand-primary-900: #5f210c;
119
+ --veevart-color-brand-primary-default: #c14615;
120
+
121
+ /* Semantic */
122
+ --veevart-color-semantic-secondary: #000000;
123
+ --veevart-color-semantic-success: #057a54;
124
+ --veevart-color-semantic-warning: #f5a524;
125
+ --veevart-color-semantic-danger: #b62214;
126
+ --veevart-color-semantic-info: #2563eb;
127
+
128
+ /* Neutral */
129
+ --veevart-color-neutral-white: #ffffff;
130
+ --veevart-color-neutral-black: #000000;
131
+ --veevart-color-neutral-gray-50: #f9fafb;
132
+ --veevart-color-neutral-gray-100: #f3f4f6;
133
+ --veevart-color-neutral-gray-200: #e5e7eb;
134
+ --veevart-color-neutral-gray-300: #d1d5db;
135
+ --veevart-color-neutral-gray-400: #9ca3af;
136
+ --veevart-color-neutral-gray-500: #6b7280;
137
+ --veevart-color-neutral-gray-600: #4b5563;
138
+ --veevart-color-neutral-gray-700: #374151;
139
+ --veevart-color-neutral-gray-800: #1f2937;
140
+ --veevart-color-neutral-gray-900: #111827;
141
+
142
+ /* Palettes - Secondary */
143
+ --veevart-color-palette-secondary-50: #f9fafb;
144
+ --veevart-color-palette-secondary-100: #f3f4f6;
145
+ --veevart-color-palette-secondary-200: #e5e7eb;
146
+ --veevart-color-palette-secondary-300: #d1d5db;
147
+ --veevart-color-palette-secondary-400: #9ca3af;
148
+ --veevart-color-palette-secondary-500: #000000;
149
+ --veevart-color-palette-secondary-600: #000000;
150
+ --veevart-color-palette-secondary-700: #000000;
151
+ --veevart-color-palette-secondary-800: #000000;
152
+ --veevart-color-palette-secondary-900: #000000;
153
+ --veevart-color-palette-secondary-default: #000000;
154
+
155
+ /* Palettes - Danger */
156
+ --veevart-color-palette-danger-50: #fef2f2;
157
+ --veevart-color-palette-danger-100: #fee2e2;
158
+ --veevart-color-palette-danger-200: #fecaca;
159
+ --veevart-color-palette-danger-300: #fca5a5;
160
+ --veevart-color-palette-danger-400: #f87171;
161
+ --veevart-color-palette-danger-500: #b62214;
162
+ --veevart-color-palette-danger-600: #a31e12;
163
+ --veevart-color-palette-danger-700: #8b1a0f;
164
+ --veevart-color-palette-danger-800: #73160d;
165
+ --veevart-color-palette-danger-900: #5c120a;
166
+ --veevart-color-palette-danger-default: #b62214;
167
+
168
+ /* Palettes - Success */
169
+ --veevart-color-palette-success-50: #ecfdf5;
170
+ --veevart-color-palette-success-100: #d1fae5;
171
+ --veevart-color-palette-success-200: #a7f3d0;
172
+ --veevart-color-palette-success-300: #6ee7b7;
173
+ --veevart-color-palette-success-400: #34d399;
174
+ --veevart-color-palette-success-500: #057a54;
175
+ --veevart-color-palette-success-600: #046c4a;
176
+ --veevart-color-palette-success-700: #035e40;
177
+ --veevart-color-palette-success-800: #025035;
178
+ --veevart-color-palette-success-900: #01422b;
179
+ --veevart-color-palette-success-default: #057a54;
180
+
181
+ /* Palettes - Warning */
182
+ --veevart-color-palette-warning-50: #fffbeb;
183
+ --veevart-color-palette-warning-100: #fef3c7;
184
+ --veevart-color-palette-warning-200: #fde68a;
185
+ --veevart-color-palette-warning-300: #fcd34d;
186
+ --veevart-color-palette-warning-400: #fbbf24;
187
+ --veevart-color-palette-warning-500: #f5a524;
188
+ --veevart-color-palette-warning-600: #d97706;
189
+ --veevart-color-palette-warning-700: #b45309;
190
+ --veevart-color-palette-warning-800: #92400e;
191
+ --veevart-color-palette-warning-900: #78350f;
192
+ --veevart-color-palette-warning-default: #f5a524;
193
+
194
+ /* Aliases */
195
+ --veevart-base-color-white: var(--veevart-color-neutral-white);
196
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@veevarts/design-system",
3
3
  "private": false,
4
- "version": "1.6.0-dev.7",
4
+ "version": "1.6.0-dev.8",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -28,7 +28,7 @@
28
28
  "dev": "vite",
29
29
  "build": "vite build && npm run build:tailwind && npm run build:styles",
30
30
  "build:tailwind": "esbuild src/tailwind/index.ts --bundle --platform=node --format=cjs --outfile=dist/tailwind/index.js && tsc -p src/tailwind/tsconfig.json",
31
- "build:styles": "cp src/styles/fonts.css dist/styles.css",
31
+ "build:styles": "node scripts/build-styles.mjs",
32
32
  "lint": "eslint .",
33
33
  "preview": "vite preview",
34
34
  "test": "vitest --run",
@@ -118,4 +118,4 @@
118
118
  "vite": "^7.2.4",
119
119
  "vitest": "^4.0.13"
120
120
  }
121
- }
121
+ }