@brokerize/elements 1.0.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.
@@ -0,0 +1,956 @@
1
+ import type { AuthContextConfiguration } from '@brokerize/client';
2
+ import type { AuthorizedApiContext } from '@brokerize/client';
3
+ import type { Brokerize } from '@brokerize/client';
4
+ import type { BrokerizeError } from '@brokerize/client';
5
+ import * as Client from '@brokerize/client';
6
+ import type { Models } from '@brokerize/client';
7
+
8
+ export declare type BrokerizeBaseConfig = {
9
+ /**
10
+ * @deprecated just provide the theme in config objects directly
11
+ */
12
+ renderConfig?: BrokerizeRenderConfig;
13
+
14
+ /**
15
+ * Optionally provide a theme, otherwise a default theme will be used.
16
+ */
17
+ theme?: Theme;
18
+
19
+ /**
20
+ * If true, a frame with some "powered by brokerize" information and links will be added to the component.
21
+ */
22
+ addFrame?: boolean;
23
+
24
+ /**
25
+ * If provided, a support link will be added to footers (only if `addFrame` is used),
26
+ */
27
+ supportLink?: SupportLink;
28
+
29
+ renderTo: HTMLElement;
30
+ authorizedApiContext: AuthorizedApiContext;
31
+
32
+ /**
33
+ * If provided, the function will be used to open external links (e.g. for cost estimation documents).
34
+ * If not provided, this will default to creating a window using `window.open`.
35
+ *
36
+ * @param url the URL to open
37
+ */
38
+ openExternalLink?: openExternalLinkCallback;
39
+
40
+ /**
41
+ * If provided, overrides the "save to disk" behavior. Defaults to creating an `a` HTML element and issuing
42
+ * a click event on that, which works fine in browsers but not in mobile apps.
43
+ *
44
+ * @param download the downloaded file to save
45
+ */
46
+ saveDownloadedFile?: SaveDownloadedFile;
47
+ };
48
+
49
+ export declare type BrokerizeElement = {
50
+ theme: Theme;
51
+ destroy: () => void;
52
+ };
53
+
54
+ export declare type BrokerizeElements = {
55
+ createBrokerizeMain: (cfg: BrokerizeMainConfig) => BrokerizeMainElement;
56
+ createBrokerList: (cfg: BrokerListConfig) => BrokerizeElement;
57
+ createLoginForm: (cfg: LoginFormConfig) => BrokerizeElement;
58
+ createBrokerLoginForm: (cfg: BrokerLoginFormConfig) => BrokerizeElement;
59
+ createOrderForm: (cfg: OrderFormConfig) => BrokerizeElement;
60
+ createPortfolioTable: (cfg: PortfolioTableConfig) => BrokerizeElement;
61
+ createSessionTanForm: (cfg: SessionTanFormConfig) => BrokerizeElement;
62
+ createOrderTable: (cfg: OrderTableConfig) => BrokerizeElement;
63
+ createOrderReceipt: (cfg: OrderReceiptConfig) => BrokerizeElement;
64
+ createPositionsTable: (cfg: PositionsTableConfig) => BrokerizeElement;
65
+ createChangeOrderForm: (cfg: ChangeOrderFormConfig) => BrokerizeElement;
66
+ createCancelOrderForm: (cfg: CancelOrderFormConfig) => BrokerizeElement;
67
+ createSessionsTable: (cfg: SessionsTableConfig) => BrokerizeElement;
68
+ createPortfolioView: (cfg: PortfolioViewConfig) => BrokerizeElement;
69
+ createModalHost: (cfg: ModalHostConfig) => BrokerizeElement;
70
+ modalService: ModalService;
71
+ /**
72
+ * Configure global settings for Brokerize Elements. The global configuration is shared across all instances of Brokerize Elements.
73
+ * All configuration parameters are optional.
74
+ *
75
+ * @param config configuration parameters to set
76
+ * @returns
77
+ */
78
+ configure: (config: Partial<BrokerizeElementsGlobalConfiguration>) => void;
79
+ };
80
+
81
+ export declare type BrokerizeElementsGlobalConfiguration = {
82
+ /**
83
+ * Optionally provide a path where static assets (image files) can be loaded from. If it is not provided, assets will be
84
+ * included from `https://assets.brokerize.com`, so make sure your Content-Security-Policy allows this.
85
+ *
86
+ * If you bundle the assets yourself (have a look at the `@brokerize/elements` assets subdirectory), you can
87
+ * change this path. This makes sense if you are building a mobile app where you can bundle the assets together
88
+ * with other app resources.
89
+ */
90
+ assetsPath?: string;
91
+ };
92
+
93
+ export declare type BrokerizeMainConfig = BrokerizeBaseConfig & {
94
+ onNavigationStateChange?: (state: any) => void;
95
+ useNavigation?: boolean;
96
+ /**
97
+ * If provided, OAuth broker logins will return to this URL. Defaults to window.location.href.
98
+ */
99
+ returnToUrl?: string;
100
+ };
101
+
102
+ export declare type BrokerizeMainElement = BrokerizeElement & {
103
+ navigation: BrokerizeNavigation;
104
+ };
105
+
106
+ export declare type BrokerizeNavigation = {
107
+ NavigateToPortfolio: (portfolioId: string) => void;
108
+ NavigateToOrderForm: (_isin: string, _initialOrderCreateValues: OrderFormInitialOrder) => void;
109
+ NavigateToChangeBroker: () => void;
110
+ NavigateToDepot: () => void;
111
+ NavigateToSessions: () => void;
112
+ };
113
+
114
+ /**
115
+ * @deprecated
116
+ */
117
+ export declare type BrokerizeRenderConfig = {
118
+ theme: Theme;
119
+ assetsPath?: string;
120
+ };
121
+
122
+ export declare type BrokerizeSummaryData = { title: string } & any;
123
+
124
+ export declare type BrokerListConfig = {
125
+ onLogin: (data: { brokerName: string }) => void;
126
+ confirmationStorage?: ConfirmationStorage;
127
+ } & BrokerizeBaseConfig;
128
+
129
+ export declare type BrokerLoginFormConfig = {
130
+ brokerName: string;
131
+
132
+ /**
133
+ * If this is given, only this env will be available. Clients may choose to store the environment after a successful login so that
134
+ * users may skip the env selection.
135
+ */
136
+ env?: string;
137
+
138
+ onExit: (loggedIn: boolean) => void;
139
+
140
+ /**
141
+ * If provided, OAuth broker logins will return to this URL. Defaults to window.location.href.
142
+ */
143
+ returnToUrl?: string;
144
+
145
+ /**
146
+ * If provided, this function will be called to start a broker OAuth login. Defaults to setting window.location.href to
147
+ * the url.
148
+ */
149
+ onRedirect?: (url: string) => void;
150
+
151
+ /**
152
+ * If provided, the store will be used to try load and store broker credentials. Note that this *MUST* be a safe storage,
153
+ * as it contains the user's full broker login data (username and password). This is designed to be only used in native
154
+ * apps, where those credentials can be stored safely (e.g. encrypted in the Secure Encalve).
155
+ *
156
+ * If in doubt, *DO NOT* provide a CredentialsStore.
157
+ *
158
+ * @deprecated credentials will only be interacted with on external OAuth pages
159
+ */
160
+ credentialsStore?: CredentialsStore;
161
+ } & BrokerizeBaseConfig;
162
+
163
+ export declare type CancelOrderFormConfig = {
164
+ orderId: string;
165
+ onExit: () => void;
166
+ onNavigate: (linkTarget: LinkTarget) => void;
167
+ } & BrokerizeBaseConfig;
168
+
169
+ export declare type ChangeOrderFormConfig = {
170
+ orderId: string;
171
+ onExit: () => void;
172
+ } & BrokerizeBaseConfig;
173
+
174
+ export { Client }
175
+
176
+ /**
177
+ * Wrapper for AWS Cognito, which can be provided to `@brokerize/client` (given a proper configuration).
178
+ * @public
179
+ */
180
+ export declare const cognitoFacade: Client.CognitoFacade;
181
+
182
+ export declare type ConfirmationStorage = {
183
+ getTermsAccepted(termsId: string): ConfirmItemAcceptanceEntry | null | undefined;
184
+ setTermsAccepted(termsId: string, entry: ConfirmItemAcceptanceEntry | null);
185
+ };
186
+
187
+ export declare type ConfirmItemAcceptanceEntry = {
188
+ acceptedAt: number;
189
+ };
190
+
191
+ export declare type CredentialsStore = {
192
+ storeCredentials: (displayLabel: string, brokerName: string, value: string) => Promise<void>;
193
+ loadCredentials: (brokerName: string) => Promise<string | null>;
194
+ };
195
+
196
+ export declare type DataCellValue =
197
+ | DataCellValueString
198
+ | DataCellValueBrokerName
199
+ | DataCellValueDateTime
200
+ | DataCellValueDate
201
+ | DataCellValueAmount
202
+ | DataCellValueLink
203
+ | DataCellValueActions
204
+ | DataCellValueOrderValidity
205
+ | DataCellValueOrderTrailingDistance
206
+ | DataCellValueProfitLossRel
207
+ | DataCellValueProfitLossAbs
208
+ | DataCellValueImage
209
+ | DataCellValueHtml
210
+ | DataCellValueDebug
211
+ | DataCellValueOrderModelBadge
212
+ | DataCellValuePlainText;
213
+
214
+ export declare type DataCellValueActions = {
215
+ type: 'actions';
216
+ value: TableRowAction[];
217
+ };
218
+
219
+ export declare type DataCellValueAmount = {
220
+ type: 'amount';
221
+ value: Models.Amount;
222
+ tooltip?: string;
223
+ };
224
+
225
+ export declare type DataCellValueBrokerName = {
226
+ type: 'brokerName';
227
+ value: string;
228
+ };
229
+
230
+ export declare type DataCellValueDate = {
231
+ type: 'date';
232
+ value: Date;
233
+ };
234
+
235
+ export declare type DataCellValueDateTime = {
236
+ type: 'datetime';
237
+ value: Date;
238
+ };
239
+
240
+ export declare type DataCellValueDebug = {
241
+ type: 'debug';
242
+ value: any;
243
+ };
244
+
245
+ export declare type DataCellValueHtml = {
246
+ type: 'html';
247
+ value: string;
248
+ };
249
+
250
+ export declare type DataCellValueImage = {
251
+ type: 'image';
252
+ value: Image_2;
253
+ };
254
+
255
+ export declare type DataCellValueLink = {
256
+ type: 'link';
257
+ value: Models.GenericTableRowValueLinkPortfolio | Models.GenericTableRowValueLinkUrl;
258
+ };
259
+
260
+ declare type DataCellValueOrderModelBadge = {
261
+ type: 'orderModelBadge';
262
+ value: {
263
+ orderModelLabel: string;
264
+ direction: Models.Direction;
265
+ intent: Models.OrderIntent;
266
+ };
267
+ };
268
+
269
+ export declare type DataCellValueOrderTrailingDistance = {
270
+ type: 'orderTrailingDistance';
271
+ value: Models.TrailingDistance;
272
+ currency: string;
273
+ };
274
+
275
+ export declare type DataCellValueOrderValidity = {
276
+ type: 'orderValidity';
277
+ value: Models.OrderValidity;
278
+ };
279
+
280
+ declare type DataCellValuePlainText = {
281
+ type: 'plainText';
282
+ value: string;
283
+ };
284
+
285
+ export declare type DataCellValueProfitLossAbs = {
286
+ type: 'profitLossAbs';
287
+ value: Models.Amount;
288
+ };
289
+
290
+ export declare type DataCellValueProfitLossRel = {
291
+ type: 'profitLossRel';
292
+ value: number;
293
+ };
294
+
295
+ export declare type DataCellValueString = {
296
+ type: 'text';
297
+ value: string;
298
+ /**
299
+ * If true, a "copy to clipboard" button is shown
300
+ */
301
+ clipboard?: boolean;
302
+ /**
303
+ * If true, dispatch a "rowNavigate" event when the text is clicked
304
+ */
305
+ navigate?: boolean;
306
+ cssConfig?: any;
307
+ };
308
+
309
+ export declare type DownloadedFile = {
310
+ blob: Blob;
311
+ filename: string;
312
+ };
313
+
314
+ /**
315
+ * Entry-point for creating all available brokerize elements.
316
+ * @public
317
+ */
318
+ export declare const Elements: BrokerizeElements;
319
+
320
+ export declare type Header = HeaderItem[];
321
+
322
+ export declare type HeaderItem = {
323
+ id: string;
324
+ label: string;
325
+ align?: 'left' | 'right' | 'center';
326
+ width?: number | string;
327
+ sortable?: boolean;
328
+ visuallyHidden?: boolean;
329
+ defaultDirection?: OrderDirection;
330
+ };
331
+
332
+ declare type Image_2 = {
333
+ url: string;
334
+ height: string;
335
+ };
336
+ export { Image_2 as Image }
337
+
338
+ export declare type LinkTarget = {
339
+ type: 'portfolio';
340
+ portfolioId: string;
341
+ };
342
+
343
+ export declare type LoginFormConfig = {
344
+ onGuestLogin: () => void;
345
+ client: Brokerize;
346
+ onLogin: (authCtxConfiguration: AuthContextConfiguration) => void;
347
+ } & BrokerizeBaseConfig;
348
+
349
+ export declare type ModalHostConfig = { showToast?: ShowToast } & BrokerizeBaseConfig;
350
+
351
+ export declare interface ModalService {
352
+ showSecurityInformation(title: string, content: string): void;
353
+ showConfirm(msg: string): Promise<boolean>;
354
+ showSessionTanModal(sessionId: string): void;
355
+ activate(): void;
356
+ deactivate(): void;
357
+ override(overrides: Partial<ModalService>): void;
358
+ showReceipt(data: ReceiptData, showActions: boolean, handleOrderTableAction: (e: any) => void): void;
359
+ showDetailedTable(table: Models.GenericTable): void;
360
+ showPositionDetail(
361
+ position: Models.Position,
362
+ row?: TableRow,
363
+ header?: Header,
364
+ handleTableAction?: (actionId: string, rowId: string) => void
365
+ ): void;
366
+ showLoginForm(brokerName: any, returnToUrl: string, redirect: (redirecTo: string) => void): void;
367
+ showToast(opts: ToastOptions): void;
368
+ }
369
+
370
+ export declare type openExternalLinkCallback = (url: string, target?: string, windowfeatures?: string) => void;
371
+
372
+ export declare type OrderDirection = 'asc' | 'desc';
373
+
374
+ export declare type OrderFormConfig = {
375
+ portfolioId: string;
376
+ /**
377
+ * The ISIN to show the OrderForm.
378
+ * @deprecated
379
+ */
380
+ isin?: string;
381
+ /**
382
+ * The security to show the OrderForm.
383
+ */
384
+ security: Models.Security;
385
+ /**
386
+ * Can be provided to pick a default exchange from the known brokerize exchanges.
387
+ * Note that it may be ignored depending on broker's preferences.
388
+ */
389
+ preferredExchangeId?: number;
390
+ /*
391
+ * If provided, the given broker exchange id will be pre-selected in the OrderForm.
392
+ * Note that depending on `PreparedTrade.noExchangeDefault`, frontends are obligated to present a selection of exchanges
393
+ * before passing this value, as brokers may not allow pre-selecting exchanges. Make sure to only
394
+ * pass this value if the user has already selected an exchange and knows their options.
395
+ *
396
+ * The value will only be applied if it is available via PreparedTrade - the frontend should check this before passing the value.
397
+ */
398
+ overrideBrokerExchangeId?: string;
399
+
400
+ /**
401
+ * If true, users cannot change the order direction. A direction must be provided in `initialOrder.direction` in this case.
402
+ */
403
+ lockOrderDirection?: boolean;
404
+
405
+ /**
406
+ * If true, the order direction toggle button is hidden. It should be used in combination with `lockOrderDirection=true`.
407
+ */
408
+ hideOrderDirection?: boolean;
409
+
410
+ /**
411
+ * Some initial order parameters may be provided here optionally (direction, size, orderModel, limit, stop, stopLimit, stopLoss and validity).
412
+ * Note that the OrderForm may ignore some or all of the desired parameters, depending on whether the values can be set for the given broker / portfolio / ISIN combination.
413
+ */
414
+ initialOrder?: OrderFormInitialOrder;
415
+ onOrderCreated: (response: Models.CreateTradeResponse) => void;
416
+ /**
417
+ * If order creation is unsucessful, this callback will be called with the error response.
418
+ */
419
+ onOrderError?: (details: { error: BrokerizeError }) => void;
420
+ /**
421
+ * If custom quotes should be shown in the order form, provide an implementation of `SecurityQuotesProvider`.
422
+ */
423
+ quotesProvider?: SecurityQuotesProvider;
424
+ } & BrokerizeBaseConfig;
425
+
426
+ export declare type OrderFormInitialOrder = Partial<
427
+ Pick<
428
+ Models.OrderCreate,
429
+ | 'direction'
430
+ | 'intent'
431
+ | 'orderModel'
432
+ | 'limit'
433
+ | 'stop'
434
+ | 'stopLimit'
435
+ | 'stopLoss'
436
+ | 'takeProfit'
437
+ | 'validity'
438
+ | 'size'
439
+ | 'trailingDistance'
440
+ | 'trailingLimitTolerance'
441
+ >
442
+ >;
443
+
444
+ export declare type OrderReceiptConfig = {
445
+ orderId: string;
446
+ onNavigate: (linkTarget: LinkTarget) => void;
447
+ } & BrokerizeBaseConfig;
448
+
449
+ export declare type OrderTableConfig = {
450
+ portfolioId: string;
451
+
452
+ onEditOrder: ({ orderId }: { orderId: string }) => void;
453
+ onCancelOrder: ({ orderId }: { orderId: string }) => void;
454
+ onShowReceipt: ({ orderId }: { orderId: string }) => void;
455
+ } & BrokerizeBaseConfig;
456
+
457
+ export declare type PortfolioTableConfig = {
458
+ hideInactivePortfolios?: boolean;
459
+ onNavigate: (portfolio: Models.Portfolio) => void;
460
+ } & BrokerizeBaseConfig;
461
+
462
+ export declare type PortfolioViewConfig = {
463
+ portfolioId: string;
464
+ onBuy: (opts: { security: Models.Security; isin: string }) => void;
465
+ onSell: (opts: { security: Models.Security; isin: string; availableSize: number }) => void;
466
+ onCancelOrder: (opts: { orderId: string }) => void;
467
+ onChangeOrder: (opts: { orderId: string }) => void;
468
+ onShowReceipt: (opts: { orderId: string }) => void;
469
+ } & BrokerizeBaseConfig;
470
+
471
+ export declare type PositionsTableConfig = {
472
+ portfolioId: string;
473
+
474
+ onTradeInstrument: (opts: { security: Models.Security; isin: string; direction: Models.Direction }) => void;
475
+ } & BrokerizeBaseConfig;
476
+
477
+ export declare type ReceiptData = {
478
+ order: Models.Order;
479
+ portfolio: Models.Portfolio;
480
+ };
481
+
482
+ export declare type SaveDownloadedFile = (download: DownloadedFile) => Promise<void>;
483
+
484
+ export declare type SecurityQuote = {
485
+ quote: number;
486
+ date: Date;
487
+ };
488
+
489
+ export declare type SecurityQuoteCallback = (err: Error, quote: SecurityQuoteContainer) => void;
490
+
491
+ export declare type SecurityQuoteContainer = {
492
+ bid?: SecurityQuote;
493
+ ask?: SecurityQuote;
494
+ };
495
+
496
+ export declare type SecurityQuoteMeta = {
497
+ decimals: number;
498
+ currency: string;
499
+ quoteSourceName: string;
500
+ };
501
+
502
+ export declare type SecurityQuotes = {
503
+ loadMeta: (abortSignal?: AbortSignal) => Promise<SecurityQuoteMeta>;
504
+ subscribe: (cb: SecurityQuoteCallback) => SecurityQuoteSubscription;
505
+ };
506
+
507
+ export declare type SecurityQuotesProvider = (opts: SecurityQuotesProviderOpts) => SecurityQuotes;
508
+
509
+ export declare type SecurityQuotesProviderOpts = {
510
+ security?: Models.Security;
511
+ /**
512
+ * The ISIN of the security.
513
+ * @deprecated
514
+ */
515
+ isin?: string;
516
+ /**
517
+ * The (brokerize) exchangeId that is currently selected. Note that it may be empty if the exchange is not
518
+ * mapped to a brokerize exchange.
519
+ */
520
+ exchangeId?: number;
521
+ /**
522
+ * If provided by the brokerize API, the token that can be used to access the quotes via brokerize.
523
+ */
524
+ securityQuotesToken?: string;
525
+ };
526
+
527
+ export declare type SecurityQuoteSubscription = { unsubscribe: () => void };
528
+
529
+ export declare type SessionsTableConfig = {
530
+ onEnableSessionTan: (opts: { sessionId: string }) => void;
531
+ } & BrokerizeBaseConfig;
532
+
533
+ export declare type SessionTanFormConfig = {
534
+ sessionId: string;
535
+ /**
536
+ * Called when the SessionTanForm is ended.
537
+ * @param details `enabled` is `true` if the Session TAN has been enabled successfully.
538
+ * @returns
539
+ */
540
+ onExit: (details: { enabled: boolean }) => void;
541
+ } & BrokerizeBaseConfig;
542
+
543
+ export declare type ShowToast = (opts: ToastOptions) => void;
544
+
545
+ export declare type SupportLink = {
546
+ emailSubject: string;
547
+ };
548
+
549
+ export declare type TableData = TableRow[];
550
+
551
+ export declare type TableOrder = {
552
+ field: string;
553
+ direction: OrderDirection;
554
+ };
555
+
556
+ export declare type TableRow = {
557
+ id: string;
558
+ map: Record<string, DataCellValue>;
559
+ showFaded?: boolean;
560
+ };
561
+
562
+ export declare type TableRowAction = {
563
+ id: string;
564
+ label: string;
565
+ };
566
+
567
+ export declare type Theme = {
568
+ layout: 'block' | 'columns';
569
+ tokens: ThemeTokens;
570
+ logoStyle: 'dark' | 'light';
571
+ };
572
+
573
+ export declare type ThemeTokens = {
574
+ 'zl-app-background-color'?: string;
575
+ 'zl-app-background-image'?: string;
576
+ 'zl-app-frame-border-color'?: string;
577
+ 'zl-app-frame-border-radius'?: string;
578
+ 'zl-app-frame-border-style'?: string;
579
+ 'zl-app-frame-border-width'?: string;
580
+ 'zl-app-frame-box-shadow'?: string;
581
+ 'zl-app-frame-padding'?: string;
582
+ 'zl-app-min-height'?: string;
583
+ 'zl-app-padding'?: string;
584
+ 'zl-border-radius-2xl'?: string;
585
+ 'zl-border-radius-3xl'?: string;
586
+ 'zl-border-radius-full'?: string;
587
+ 'zl-border-radius-lg'?: string;
588
+ 'zl-border-radius-md'?: string;
589
+ 'zl-border-radius-none'?: string;
590
+ 'zl-border-radius-sm'?: string;
591
+ 'zl-border-radius-xl'?: string;
592
+ 'zl-box-shadow-2xl'?: string;
593
+ 'zl-box-shadow-lg'?: string;
594
+ 'zl-box-shadow-md'?: string;
595
+ 'zl-box-shadow-sm'?: string;
596
+ 'zl-box-shadow-xl'?: string;
597
+ 'zl-btn-active-background-color'?: string;
598
+ 'zl-btn-active-background-image'?: string;
599
+ 'zl-btn-background-color'?: string;
600
+ 'zl-btn-background-image'?: string;
601
+ 'zl-btn-border-color'?: string;
602
+ 'zl-btn-border-radius'?: string;
603
+ 'zl-btn-border-style'?: string;
604
+ 'zl-btn-border-width'?: string;
605
+ 'zl-btn-countdown-bar-color'?: string;
606
+ 'zl-btn-default-color'?: string;
607
+ 'zl-btn-focus-background-image'?: string;
608
+ 'zl-btn-focus-color'?: string;
609
+ 'zl-btn-hover-background-color'?: string;
610
+ 'zl-btn-hover-background-image'?: string;
611
+ 'zl-btn-hover-box-shadow'?: string;
612
+ 'zl-btn-hover-color'?: string;
613
+ 'zl-btn-lg-font-size'?: string;
614
+ 'zl-btn-lg-padding-x'?: string;
615
+ 'zl-btn-lg-padding-y'?: string;
616
+ 'zl-btn-md-font-size'?: string;
617
+ 'zl-btn-md-padding-x'?: string;
618
+ 'zl-btn-md-padding-y'?: string;
619
+ 'zl-btn-muted-color'?: string;
620
+ 'zl-btn-outlined-color'?: string;
621
+ 'zl-btn-progessbar-height'?: string;
622
+ 'zl-btn-sm-font-size'?: string;
623
+ 'zl-btn-sm-padding-x'?: string;
624
+ 'zl-btn-sm-padding-y'?: string;
625
+ 'zl-card-background-color'?: string;
626
+ 'zl-card-border-color'?: string;
627
+ 'zl-card-border-radius'?: string;
628
+ 'zl-card-border-style'?: string;
629
+ 'zl-card-border-width'?: string;
630
+ 'zl-card-logo-max-width'?: string;
631
+ 'zl-card-logo-size'?: string;
632
+ 'zl-card-min-height'?: string;
633
+ 'zl-checkbox-border-radius'?: string;
634
+ 'zl-checkbox-border-width'?: string;
635
+ 'zl-checkbox-check-size'?: string;
636
+ 'zl-checkbox-color'?: string;
637
+ 'zl-checkbox-contrast-color'?: string;
638
+ 'zl-checkbox-label-color'?: string;
639
+ 'zl-checkbox-label-font-size'?: string;
640
+ 'zl-color-black'?: string;
641
+ 'zl-color-buy-base'?: string;
642
+ 'zl-color-dark'?: string;
643
+ 'zl-color-error-base'?: string;
644
+ 'zl-color-error-dark'?: string;
645
+ 'zl-color-error-decent'?: string;
646
+ 'zl-color-error-light'?: string;
647
+ 'zl-color-error-text'?: string;
648
+ 'zl-color-gray-base'?: string;
649
+ 'zl-color-gray-dark'?: string;
650
+ 'zl-color-gray-darker'?: string;
651
+ 'zl-color-gray-darkest'?: string;
652
+ 'zl-color-gray-light'?: string;
653
+ 'zl-color-gray-lighter'?: string;
654
+ 'zl-color-gray-lightest'?: string;
655
+ 'zl-color-light'?: string;
656
+ 'zl-color-outline'?: string;
657
+ 'zl-color-primary-base'?: string;
658
+ 'zl-color-primary-dark'?: string;
659
+ 'zl-color-primary-decent'?: string;
660
+ 'zl-color-primary-light'?: string;
661
+ 'zl-color-primary-text'?: string;
662
+ 'zl-color-sell-base'?: string;
663
+ 'zl-color-success-base'?: string;
664
+ 'zl-color-success-dark'?: string;
665
+ 'zl-color-success-decent'?: string;
666
+ 'zl-color-success-light'?: string;
667
+ 'zl-color-success-text'?: string;
668
+ 'zl-color-warning-base'?: string;
669
+ 'zl-color-warning-dark'?: string;
670
+ 'zl-color-warning-decent'?: string;
671
+ 'zl-color-warning-light'?: string;
672
+ 'zl-color-warning-text'?: string;
673
+ 'zl-color-white'?: string;
674
+ 'zl-cost-item-background-color'?: string;
675
+ 'zl-cost-item-border-radius'?: string;
676
+ 'zl-cost-item-box-shadow'?: string;
677
+ 'zl-cost-item-label-color'?: string;
678
+ 'zl-cost-item-label-font-size'?: string;
679
+ 'zl-cost-item-value-color'?: string;
680
+ 'zl-cost-item-value-font-size'?: string;
681
+ 'zl-cost-item-value-font-weight'?: string;
682
+ 'zl-countdown-duration-static'?: string;
683
+ 'zl-countdown-duration'?: string;
684
+ 'zl-default-base-rem'?: string;
685
+ 'zl-default-border-color'?: string;
686
+ 'zl-default-border-radius'?: string;
687
+ 'zl-default-border-width'?: string;
688
+ 'zl-default-box-shadow'?: string;
689
+ 'zl-default-font-size'?: string;
690
+ 'zl-default-link-color'?: string;
691
+ 'zl-default-link-decoration'?: string;
692
+ 'zl-default-padding-x'?: string;
693
+ 'zl-default-padding-y'?: string;
694
+ 'zl-default-text-color'?: string;
695
+ 'zl-font-family'?: string;
696
+ 'zl-font-size-2xl'?: string;
697
+ 'zl-font-size-2xs'?: string;
698
+ 'zl-font-size-3xl'?: string;
699
+ 'zl-font-size-4xl'?: string;
700
+ 'zl-font-size-5xl'?: string;
701
+ 'zl-font-size-6xl'?: string;
702
+ 'zl-font-size-base'?: string;
703
+ 'zl-font-size-lg'?: string;
704
+ 'zl-font-size-md'?: string;
705
+ 'zl-font-size-sm'?: string;
706
+ 'zl-font-size-xl'?: string;
707
+ 'zl-font-size-xs'?: string;
708
+ 'zl-font-weight-bold'?: string;
709
+ 'zl-font-weight-extrabold'?: string;
710
+ 'zl-font-weight-light'?: string;
711
+ 'zl-font-weight-medium'?: string;
712
+ 'zl-font-weight-normal'?: string;
713
+ 'zl-font-weight-semibold'?: string;
714
+ 'zl-footer-color'?: string;
715
+ 'zl-footer-font-size'?: string;
716
+ 'zl-form-item-background-color'?: string;
717
+ 'zl-form-item-border-radius'?: string;
718
+ 'zl-form-item-border'?: string;
719
+ 'zl-form-item-first-border-radius'?: string;
720
+ 'zl-form-item-focus-within-outline-blur'?: string;
721
+ 'zl-form-item-focus-within-outline-color'?: string;
722
+ 'zl-form-item-focus-within-outline-position'?: string;
723
+ 'zl-form-item-focus-within-outline-width'?: string;
724
+ 'zl-form-item-gap-x'?: string;
725
+ 'zl-form-item-gap-y'?: string;
726
+ 'zl-form-item-gap'?: string;
727
+ 'zl-form-item-last-border-radius'?: string;
728
+ 'zl-form-item-margin'?: string;
729
+ 'zl-form-item-padding-x'?: string;
730
+ 'zl-form-item-padding-y'?: string;
731
+ 'zl-form-label-margin'?: string;
732
+ 'zl-gap-2xl'?: string;
733
+ 'zl-gap-3xl'?: string;
734
+ 'zl-gap-4xl'?: string;
735
+ 'zl-gap-base'?: string;
736
+ 'zl-gap-form'?: string;
737
+ 'zl-gap-lg'?: string;
738
+ 'zl-gap-md'?: string;
739
+ 'zl-gap-sm'?: string;
740
+ 'zl-gap-xl'?: string;
741
+ 'zl-gap-xs'?: string;
742
+ 'zl-input-background-color'?: string;
743
+ 'zl-input-border-color'?: string;
744
+ 'zl-input-border-radius'?: string;
745
+ 'zl-input-border-style'?: string;
746
+ 'zl-input-border-width'?: string;
747
+ 'zl-input-color'?: string;
748
+ 'zl-input-focus-border-color'?: string;
749
+ 'zl-input-focus-error-border-color'?: string;
750
+ 'zl-input-font-size-mobile'?: string;
751
+ 'zl-input-font-size'?: string;
752
+ 'zl-input-padding-x-mobile'?: string;
753
+ 'zl-input-padding-x'?: string;
754
+ 'zl-input-padding-y-mobile'?: string;
755
+ 'zl-input-padding-y'?: string;
756
+ 'zl-input-placeholder-color'?: string;
757
+ 'zl-input-with-dropdown-background-color'?: string;
758
+ 'zl-input-with-dropdown-border-bottom-left-radius'?: string;
759
+ 'zl-input-with-dropdown-border-bottom-right-radius'?: string;
760
+ 'zl-input-with-dropdown-border-top-left-radius'?: string;
761
+ 'zl-input-with-dropdown-border-top-right-radius'?: string;
762
+ 'zl-keyfigures-font-size'?: string;
763
+ 'zl-keyfigures-gap-x'?: string;
764
+ 'zl-keyfigures-gap-y'?: string;
765
+ 'zl-keyfigures-key-color'?: string;
766
+ 'zl-keyfigures-key-font-weight'?: string;
767
+ 'zl-keyfigures-padding-x'?: string;
768
+ 'zl-keyfigures-padding-y'?: string;
769
+ 'zl-keyfigures-value-font-weight'?: string;
770
+ 'zl-label-color'?: string;
771
+ 'zl-label-font-size'?: string;
772
+ 'zl-label-font-weight'?: string;
773
+ 'zl-link-underline-offset'?: string;
774
+ 'zl-listbox-background-color'?: string;
775
+ 'zl-listbox-border-color'?: string;
776
+ 'zl-listbox-border-radius'?: string;
777
+ 'zl-listbox-border-style'?: string;
778
+ 'zl-listbox-border-width'?: string;
779
+ 'zl-listbox-max-width'?: string;
780
+ 'zl-listbox-padding'?: string;
781
+ 'zl-loader-color'?: string;
782
+ 'zl-loader-contrast-color'?: string;
783
+ 'zl-logo-margin'?: string;
784
+ 'zl-logo-max-width'?: string;
785
+ 'zl-overlay-backdrop-opacity'?: string;
786
+ 'zl-modal-background-color'?: string;
787
+ 'zl-modal-background-image'?: string;
788
+ 'zl-modal-close-offset'?: string;
789
+ 'zl-modal-margin'?: string;
790
+ 'zl-modal-max-height'?: string;
791
+ 'zl-modal-max-width'?: string;
792
+ 'zl-modal-padding'?: string;
793
+ 'zl-notification-border-color'?: string;
794
+ 'zl-notification-error-background-color'?: string;
795
+ 'zl-notification-error-border-color'?: string;
796
+ 'zl-notification-error-color'?: string;
797
+ 'zl-notification-font-size'?: string;
798
+ 'zl-notification-font-weight'?: string;
799
+ 'zl-notification-info-background-color'?: string;
800
+ 'zl-notification-info-color'?: string;
801
+ 'zl-notification-success-background-color'?: string;
802
+ 'zl-notification-success-border-color'?: string;
803
+ 'zl-notification-success-color'?: string;
804
+ 'zl-notification-warning-background-color'?: string;
805
+ 'zl-notification-warning-border-color'?: string;
806
+ 'zl-notification-warning-color'?: string;
807
+ 'zl-order-shortview-background-color'?: string;
808
+ 'zl-order-shortview-background-gradient-end'?: string;
809
+ 'zl-order-shortview-background-gradient-start'?: string;
810
+ 'zl-order-shortview-background-gradient-stop'?: string;
811
+ 'zl-order-shortview-background-image'?: string;
812
+ 'zl-order-shortview-border-radius'?: string;
813
+ 'zl-order-shortview-color-prio-one'?: string;
814
+ 'zl-order-shortview-color-prio-two'?: string;
815
+ 'zl-order-shortview-color'?: string;
816
+ 'zl-order-shortview-padding'?: string;
817
+ 'zl-order-shortview-position-isin-font-size'?: string;
818
+ 'zl-order-shortview-position-name-font-size'?: string;
819
+ 'zl-order-shortview-tile-background-color'?: string;
820
+ 'zl-order-shortview-tile-border-radius'?: string;
821
+ 'zl-order-shortview-tile-box-shadow'?: string;
822
+ 'zl-order-shortview-tile-description-font-size'?: string;
823
+ 'zl-order-shortview-tile-price-font-size'?: string;
824
+ 'zl-order-toggle-background-color'?: string;
825
+ 'zl-order-toggle-buy-background-color'?: string;
826
+ 'zl-order-toggle-buy-border-left-radius'?: string;
827
+ 'zl-order-toggle-buy-border-right-radius'?: string;
828
+ 'zl-order-toggle-buy-color'?: string;
829
+ 'zl-order-toggle-buy-selected-background-color'?: string;
830
+ 'zl-order-toggle-buy-selected-color'?: string;
831
+ 'zl-order-toggle-container-background-color'?: string;
832
+ 'zl-order-toggle-container-border-radius'?: string;
833
+ 'zl-order-toggle-container-padding-x'?: string;
834
+ 'zl-order-toggle-container-padding-y'?: string;
835
+ 'zl-order-toggle-padding-x'?: string;
836
+ 'zl-order-toggle-padding-y'?: string;
837
+ 'zl-order-toggle-selected-box-shadow'?: string;
838
+ 'zl-order-toggle-sell-background-color'?: string;
839
+ 'zl-order-toggle-sell-border-left-radius'?: string;
840
+ 'zl-order-toggle-sell-border-right-radius'?: string;
841
+ 'zl-order-toggle-sell-color'?: string;
842
+ 'zl-order-toggle-sell-selected-background-color'?: string;
843
+ 'zl-order-toggle-sell-selected-color'?: string;
844
+ 'zl-order-toggle-text-align'?: string;
845
+ 'zl-popup-background-color'?: string;
846
+ 'zl-popup-color'?: string;
847
+ 'zl-popup-font-weight'?: string;
848
+ 'zl-popup-title-color'?: string;
849
+ 'zl-popup-title-font-size'?: string;
850
+ 'zl-primary-background-color'?: string;
851
+ 'zl-select-background-color'?: string;
852
+ 'zl-select-border-color'?: string;
853
+ 'zl-select-border-radius'?: string;
854
+ 'zl-select-border-style'?: string;
855
+ 'zl-select-border-width'?: string;
856
+ 'zl-select-color'?: string;
857
+ 'zl-select-font-size-mobile'?: string;
858
+ 'zl-select-font-size'?: string;
859
+ 'zl-select-padding-x-mobile'?: string;
860
+ 'zl-select-padding-x'?: string;
861
+ 'zl-select-padding-y-mobile'?: string;
862
+ 'zl-select-padding-y'?: string;
863
+ 'zl-size-2xl'?: string;
864
+ 'zl-size-3xl'?: string;
865
+ 'zl-size-lg'?: string;
866
+ 'zl-size-md'?: string;
867
+ 'zl-size-sm'?: string;
868
+ 'zl-size-xl'?: string;
869
+ 'zl-size-xs'?: string;
870
+ 'zl-spacing-2xl'?: string;
871
+ 'zl-spacing-3xl'?: string;
872
+ 'zl-spacing-4xl'?: string;
873
+ 'zl-spacing-base'?: string;
874
+ 'zl-spacing-lg'?: string;
875
+ 'zl-spacing-md'?: string;
876
+ 'zl-spacing-sm'?: string;
877
+ 'zl-spacing-xl'?: string;
878
+ 'zl-spacing-xs'?: string;
879
+ 'zl-state-border-color'?: string;
880
+ 'zl-state-error-background-color'?: string;
881
+ 'zl-state-error-border-color'?: string;
882
+ 'zl-state-error-color'?: string;
883
+ 'zl-state-font-size'?: string;
884
+ 'zl-state-font-weight'?: string;
885
+ 'zl-state-info-background-color'?: string;
886
+ 'zl-state-info-color'?: string;
887
+ 'zl-state-success-background-color'?: string;
888
+ 'zl-state-success-border-color'?: string;
889
+ 'zl-state-success-color'?: string;
890
+ 'zl-state-warning-background-color'?: string;
891
+ 'zl-state-warning-border-color'?: string;
892
+ 'zl-state-warning-color'?: string;
893
+ 'zl-summary-border-color'?: string;
894
+ 'zl-summary-border-style'?: string;
895
+ 'zl-summary-border-width'?: string;
896
+ 'zl-summary-key-color'?: string;
897
+ 'zl-summary-key-font-weight'?: string;
898
+ 'zl-summary-key-value-gap'?: string;
899
+ 'zl-summary-padding-x'?: string;
900
+ 'zl-summary-padding-y'?: string;
901
+ 'zl-summary-row-gap'?: string;
902
+ 'zl-summary-title-color'?: string;
903
+ 'zl-summary-title-font-size'?: string;
904
+ 'zl-summary-title-font-weight'?: string;
905
+ 'zl-summary-value-alignment'?: string;
906
+ 'zl-summary-value-color'?: string;
907
+ 'zl-summary-value-font-weight'?: string;
908
+ 'zl-table-background-color'?: string;
909
+ 'zl-table-border'?: string;
910
+ 'zl-table-box-shadow'?: string;
911
+ 'zl-table-color'?: string;
912
+ 'zl-table-empty-icon-color'?: string;
913
+ 'zl-table-padding-x'?: string;
914
+ 'zl-table-padding-y'?: string;
915
+ 'zl-table-scroll-overflow-color-fade-base'?: string;
916
+ 'zl-table-scroll-overflow-color-solid-base'?: string;
917
+ 'zl-table-th-background-color'?: string;
918
+ 'zl-table-th-color'?: string;
919
+ 'zl-tabs-container-border-color'?: string;
920
+ 'zl-tabs-container-border-radius'?: string;
921
+ 'zl-tabs-container-border-style'?: string;
922
+ 'zl-tabs-container-border-width'?: string;
923
+ 'zl-tabs-container-padding'?: string;
924
+ 'zl-tabs-item-border-color'?: string;
925
+ 'zl-tabs-item-border-width'?: string;
926
+ 'zl-tabs-link-active-background-color'?: string;
927
+ 'zl-tabs-link-active-border-color'?: string;
928
+ 'zl-tabs-link-active-color'?: string;
929
+ 'zl-tabs-link-hover-color'?: string;
930
+ 'zl-tabs-link-padding-x'?: string;
931
+ 'zl-tabs-link-padding-y'?: string;
932
+ 'zl-tabs-list-border-color'?: string;
933
+ 'zl-tabs-list-border-width'?: string;
934
+ 'zl-tooltip-background-color'?: string;
935
+ 'zl-tooltip-border-color'?: string;
936
+ 'zl-tooltip-border-style'?: string;
937
+ 'zl-tooltip-border-width'?: string;
938
+ 'zl-tooltip-box-shadow'?: string;
939
+ 'zl-tooltip-color'?: string;
940
+ 'zl-tooltip-font-size'?: string;
941
+ 'zl-tooltip-max-width'?: string;
942
+ 'zl-tooltip-padding'?: string;
943
+ 'zl-tooltip-text-align'?: string;
944
+ 'zl-z-index-content'?: string;
945
+ 'zl-z-index-header'?: string;
946
+ 'zl-z-index-modal'?: string;
947
+ 'zl-z-index-popup'?: string;
948
+ 'zl-z-index'?: string;
949
+ };
950
+
951
+ declare type ToastOptions = {
952
+ message: string;
953
+ style: 'info' | 'error' | 'success';
954
+ };
955
+
956
+ export { }