mautourco-components 0.2.13 → 0.2.15
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/components/atoms/Icon/icons/PlusCircleIcon.d.ts +12 -0
- package/dist/components/atoms/Icon/icons/PlusCircleIcon.js +36 -0
- package/dist/components/atoms/Icon/icons/QuotationIcon.d.ts +8 -0
- package/dist/components/atoms/Icon/icons/QuotationIcon.js +36 -0
- package/dist/components/atoms/Icon/icons/registry.d.ts +2 -0
- package/dist/components/atoms/Icon/icons/registry.js +4 -0
- package/dist/components/atoms/Inputs/DropdownInput/DropdownInput.js +15 -3
- package/dist/components/organisms/MultipleQuotationDocket/MultipleQuotationDocket.d.ts +64 -0
- package/dist/components/organisms/MultipleQuotationDocket/MultipleQuotationDocket.js +45 -0
- package/dist/components/organisms/MultipleQuotationDocket/index.d.ts +2 -0
- package/dist/components/organisms/MultipleQuotationDocket/index.js +1 -0
- package/dist/components/organisms/QuoteHeader/QuoteHeader.css +2142 -0
- package/dist/components/organisms/QuoteHeader/QuoteHeader.d.ts +12 -0
- package/dist/components/organisms/QuoteHeader/QuoteHeader.js +41 -0
- package/dist/components/organisms/QuoteHeader/constant.d.ts +3 -0
- package/dist/components/organisms/QuoteHeader/constant.js +8 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +2 -0
- package/dist/styles/components/dropdown.css +7 -6
- package/dist/styles/components/forms.css +18 -9
- package/dist/styles/components/organism/multiple-quotation-docket.css +2304 -0
- package/package.json +1 -1
- package/src/components/atoms/Icon/icons/PlusCircleIcon.tsx +60 -0
- package/src/components/atoms/Icon/icons/QuotationIcon.tsx +50 -0
- package/src/components/atoms/Icon/icons/registry.tsx +4 -0
- package/src/components/atoms/Inputs/DropdownInput/DropdownInput.tsx +29 -17
- package/src/components/organisms/CarBookingCard/index.ts +1 -0
- package/src/components/organisms/MultipleQuotationDocket/MultipleQuotationDocket.tsx +349 -0
- package/src/components/organisms/MultipleQuotationDocket/index.ts +6 -0
- package/src/components/organisms/QuoteHeader/QuoteHeader.css +37 -0
- package/src/components/organisms/QuoteHeader/QuoteHeader.tsx +93 -0
- package/src/components/organisms/QuoteHeader/constant.ts +8 -0
- package/src/styles/components/dropdown.css +7 -6
- package/src/styles/components/forms.css +18 -11
- package/src/styles/components/organism/multiple-quotation-docket.css +222 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './QuoteHeader.css';
|
|
3
|
+
export interface QuoteHeaderProps {
|
|
4
|
+
/** Current tab */
|
|
5
|
+
current: 'quotation' | 'booking';
|
|
6
|
+
/** Callback to navigate to a different tab */
|
|
7
|
+
onNavigate: (tab: 'quotation' | 'booking') => void;
|
|
8
|
+
/** Callback to create a new quote */
|
|
9
|
+
onNewQuote: () => void;
|
|
10
|
+
onFilterChange: (filter: 'date' | 'clientType' | 'fileStatus', value: string) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const QuoteHeader: React.FC<QuoteHeaderProps>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import Button from '../../atoms/Button/Button';
|
|
14
|
+
import DropdownInput from '../../atoms/Inputs/DropdownInput/DropdownInput';
|
|
15
|
+
import Input from '../../atoms/Inputs/Input/Input';
|
|
16
|
+
import { Heading } from '../../atoms/Typography/Typography';
|
|
17
|
+
import { SORT_BY__FILE_STATUS_OPTIONS, SORT_BY_CLIENT_TYPE_OPTIONS, SORT_BY_DATE_OPTIONS, } from './constant';
|
|
18
|
+
import './QuoteHeader.css';
|
|
19
|
+
var filterConfig = {
|
|
20
|
+
date: {
|
|
21
|
+
options: SORT_BY_DATE_OPTIONS,
|
|
22
|
+
placeholder: 'Sort by date',
|
|
23
|
+
},
|
|
24
|
+
clientType: {
|
|
25
|
+
options: SORT_BY_CLIENT_TYPE_OPTIONS,
|
|
26
|
+
placeholder: 'Client type',
|
|
27
|
+
},
|
|
28
|
+
fileStatus: {
|
|
29
|
+
options: SORT_BY__FILE_STATUS_OPTIONS,
|
|
30
|
+
placeholder: 'File status',
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
export var QuoteHeader = function (props) {
|
|
34
|
+
var _a = props.current, current = _a === void 0 ? 'quotation' : _a, onNavigate = props.onNavigate, onNewQuote = props.onNewQuote, onFilterChange = props.onFilterChange;
|
|
35
|
+
return (_jsxs("div", __assign({ className: "quote-header" }, { children: [_jsx(Heading, __assign({ level: 4, as: "h1", className: "quote-header__title", color: "accent" }, { children: "Quotation & Booking" })), _jsxs("div", __assign({ className: "flex gap-4" }, { children: [_jsx(Button, __assign({ variant: current === 'quotation' ? 'primary' : 'outline-primary', className: "quote-header__button", onClick: function () { return onNavigate('quotation'); } }, { children: "Quotation" })), _jsx(Button, __assign({ variant: current === 'booking' ? 'primary' : 'outline-primary', className: "quote-header__button", onClick: function () { return onNavigate('booking'); } }, { children: "Booking" }))] })), _jsxs("div", __assign({ className: "quote-header__search-container" }, { children: [_jsx(Input, { placeholder: "Search", icon: "search", iconPosition: "leading", className: "quote-header__search" }), _jsx(Button, __assign({ variant: "primary", leadingIcon: "plus-circle", iconSize: "md", size: "sm", onClick: onNewQuote }, { children: "New quote" }))] })), _jsx("div", __assign({ className: "quote-header__filters" }, { children: Object.entries(filterConfig).map(function (_a) {
|
|
36
|
+
var key = _a[0], value = _a[1];
|
|
37
|
+
return (_jsx(DropdownInput, { placeholder: value.placeholder, options: value.options, onSelect: function (value) {
|
|
38
|
+
return onFilterChange(key, value);
|
|
39
|
+
} }, key));
|
|
40
|
+
}) }))] })));
|
|
41
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export var SORT_BY_DATE_OPTIONS = ['Newest to oldest', 'Last week', 'Oldest to newest'];
|
|
2
|
+
export var SORT_BY_CLIENT_TYPE_OPTIONS = ['All', 'Standard', 'Honeymoon', 'Wedding'];
|
|
3
|
+
export var SORT_BY__FILE_STATUS_OPTIONS = [
|
|
4
|
+
'All',
|
|
5
|
+
'Free sales',
|
|
6
|
+
'On request',
|
|
7
|
+
'Pay to book',
|
|
8
|
+
];
|
package/dist/index.d.ts
CHANGED
|
@@ -33,7 +33,9 @@ export { CardContainer } from './components/organisms/CardContainer/CardContaine
|
|
|
33
33
|
export { default as DateTimePicker } from './components/organisms/DateTimePicker/DateTimePicker';
|
|
34
34
|
export { Dialog } from './components/organisms/Dialog/Dialog';
|
|
35
35
|
export { Footer } from './components/organisms/Footer/Footer';
|
|
36
|
+
export { default as MultipleQuotationDocket } from './components/organisms/MultipleQuotationDocket';
|
|
36
37
|
export { default as PaxSelector } from './components/organisms/PaxSelector/PaxSelector';
|
|
38
|
+
export { QuoteHeader } from './components/organisms/QuoteHeader/QuoteHeader';
|
|
37
39
|
export { default as RoundTrip } from './components/organisms/RoundTrip/RoundTrip';
|
|
38
40
|
export { default as SearchBarTransfer } from './components/organisms/SearchBarTransfer/SearchBarTransfer';
|
|
39
41
|
export * from './components/organisms/Table';
|
|
@@ -60,6 +62,7 @@ export type { CardContainerProps, CardContainerSpacing, } from './components/org
|
|
|
60
62
|
export type { DateTimePickerProps } from './components/organisms/DateTimePicker/DateTimePicker';
|
|
61
63
|
export type { DialogProps, DialogSize } from './components/organisms/Dialog/Dialog';
|
|
62
64
|
export type { FooterProps } from './components/organisms/Footer/Footer';
|
|
65
|
+
export type { DocketDetailsData, DocketServiceType, MultipleQuotationDocketProps, } from './components/organisms/MultipleQuotationDocket';
|
|
63
66
|
export type { ClientType, PaxData, PaxSelectorProps, } from './components/organisms/PaxSelector/PaxSelector';
|
|
64
67
|
export type { RoundTripData, RoundTripProps, RoundTripTransfer, } from './components/organisms/RoundTrip/RoundTrip';
|
|
65
68
|
export type { SearchBarTransferData, SearchBarTransferProps, TransferMode, } from './components/organisms/SearchBarTransfer/SearchBarTransfer';
|
|
@@ -68,4 +71,5 @@ export type { TransferLineData, TransferLineProps, TransferType, } from './compo
|
|
|
68
71
|
export type { FromToProps } from './components/molecules/FromTo/FromTo';
|
|
69
72
|
export type { SectionTitleProps } from './components/molecules/SectionTitle/SectionTitle';
|
|
70
73
|
export type { DetailsColProps, ItemColProps, RowAccommodationProps, RowExcursionProps, RowTransferProps, } from './components/molecules/TableServiceItem';
|
|
74
|
+
export type { QuoteHeaderProps } from './components/organisms/QuoteHeader/QuoteHeader';
|
|
71
75
|
export * from './types/table';
|
package/dist/index.js
CHANGED
|
@@ -36,7 +36,9 @@ export { CardContainer } from './components/organisms/CardContainer/CardContaine
|
|
|
36
36
|
export { default as DateTimePicker } from './components/organisms/DateTimePicker/DateTimePicker';
|
|
37
37
|
export { Dialog } from './components/organisms/Dialog/Dialog';
|
|
38
38
|
export { Footer } from './components/organisms/Footer/Footer';
|
|
39
|
+
export { default as MultipleQuotationDocket } from './components/organisms/MultipleQuotationDocket';
|
|
39
40
|
export { default as PaxSelector } from './components/organisms/PaxSelector/PaxSelector';
|
|
41
|
+
export { QuoteHeader } from './components/organisms/QuoteHeader/QuoteHeader';
|
|
40
42
|
export { default as RoundTrip } from './components/organisms/RoundTrip/RoundTrip';
|
|
41
43
|
export { default as SearchBarTransfer } from './components/organisms/SearchBarTransfer/SearchBarTransfer';
|
|
42
44
|
export * from './components/organisms/Table';
|
|
@@ -2089,8 +2089,8 @@
|
|
|
2089
2089
|
width: 100%;
|
|
2090
2090
|
min-height: 40px;
|
|
2091
2091
|
padding: 8px 12px;
|
|
2092
|
-
border: 1px solid var(--color-slate-500, #
|
|
2093
|
-
border-radius:
|
|
2092
|
+
border: 1px solid var(--color-slate-500, #6b7280);
|
|
2093
|
+
border-radius: var(--input-border-radius-default);
|
|
2094
2094
|
background-color: var(--color-white, #ffffff);
|
|
2095
2095
|
cursor: pointer;
|
|
2096
2096
|
transition: all 0.2s ease-in-out;
|
|
@@ -2161,7 +2161,7 @@
|
|
|
2161
2161
|
|
|
2162
2162
|
.dropdown-input--disabled {
|
|
2163
2163
|
background-color: var(--color-slate-100);
|
|
2164
|
-
border-color: var(--color-slate-300, #
|
|
2164
|
+
border-color: var(--color-slate-300, #d1d5db);
|
|
2165
2165
|
cursor: not-allowed;
|
|
2166
2166
|
}
|
|
2167
2167
|
|
|
@@ -2183,10 +2183,11 @@
|
|
|
2183
2183
|
z-index: 1000;
|
|
2184
2184
|
width: 100%;
|
|
2185
2185
|
background-color: var(--color-white);
|
|
2186
|
-
border: 1px solid var(--color-
|
|
2187
|
-
border-top: 1px solid var(--color-neutral-400);
|
|
2186
|
+
border: 1px solid var(--color-border-subtle);
|
|
2188
2187
|
border-radius: var(--multiselect-border-radius, 0.75rem);
|
|
2189
|
-
box-shadow:
|
|
2188
|
+
box-shadow:
|
|
2189
|
+
0 4px 6px -1px rgba(0, 0, 0, 0.1),
|
|
2190
|
+
0 2px 4px -1px rgba(0, 0, 0, 0.06);
|
|
2190
2191
|
max-height: var(--multiselect-size-menu-max-height, 17.25rem);
|
|
2191
2192
|
overflow-y: auto;
|
|
2192
2193
|
padding: var(--spacing-padding-px-0);
|
|
@@ -2077,10 +2077,10 @@
|
|
|
2077
2077
|
/* Styles Input centralisés: consomment uniquement des variables CSS issues de Style Dictionary */
|
|
2078
2078
|
|
|
2079
2079
|
.input-field {
|
|
2080
|
-
font-family: var(--typography-font-family-sans, Inter,system-ui,sans-serif);
|
|
2080
|
+
font-family: var(--typography-font-family-sans, Inter, system-ui, sans-serif);
|
|
2081
2081
|
font-size: var(--input-font-size-default, 1rem);
|
|
2082
2082
|
line-height: var(--input-line-height-default, 1.5rem);
|
|
2083
|
-
border-radius:
|
|
2083
|
+
border-radius: var(--input-border-radius-default);
|
|
2084
2084
|
border-width: 1px;
|
|
2085
2085
|
border-style: solid;
|
|
2086
2086
|
padding: var(--input-padding-vertical, 0.5rem) var(--input-padding-horizontal, 0.75rem);
|
|
@@ -2095,6 +2095,7 @@
|
|
|
2095
2095
|
.input-wrapper {
|
|
2096
2096
|
position: relative;
|
|
2097
2097
|
width: 100%;
|
|
2098
|
+
height: 42px;
|
|
2098
2099
|
}
|
|
2099
2100
|
|
|
2100
2101
|
.input-icon {
|
|
@@ -2106,16 +2107,24 @@
|
|
|
2106
2107
|
height: var(--input-search-iconSize, 1rem);
|
|
2107
2108
|
}
|
|
2108
2109
|
|
|
2109
|
-
.input-icon--leading {
|
|
2110
|
+
.input-icon--leading {
|
|
2111
|
+
left: var(--input-padding-horizontal, 0.75rem);
|
|
2112
|
+
}
|
|
2110
2113
|
|
|
2111
|
-
.input-icon--trailing {
|
|
2114
|
+
.input-icon--trailing {
|
|
2115
|
+
right: var(--input-padding-horizontal, 0.75rem);
|
|
2116
|
+
}
|
|
2112
2117
|
|
|
2113
2118
|
.input-field--with-icon.input-field--icon-leading {
|
|
2114
|
-
padding-left: calc(
|
|
2119
|
+
padding-left: calc(
|
|
2120
|
+
var(--input-padding-horizontal, 0.75rem) + var(--input-search-iconSize, 1rem) + 0.5rem
|
|
2121
|
+
);
|
|
2115
2122
|
}
|
|
2116
2123
|
|
|
2117
2124
|
.input-field--with-icon.input-field--icon-trailing {
|
|
2118
|
-
padding-right: calc(
|
|
2125
|
+
padding-right: calc(
|
|
2126
|
+
var(--input-padding-horizontal, 0.75rem) + var(--input-search-iconSize, 1rem) + 0.5rem
|
|
2127
|
+
);
|
|
2119
2128
|
}
|
|
2120
2129
|
|
|
2121
2130
|
.input-field:focus {
|
|
@@ -2126,7 +2135,7 @@
|
|
|
2126
2135
|
|
|
2127
2136
|
.input-field--default {
|
|
2128
2137
|
background-color: var(--color-white);
|
|
2129
|
-
border-color: var(--color-
|
|
2138
|
+
border-color: var(--color-tuna-500);
|
|
2130
2139
|
color: var(--color-slate-900);
|
|
2131
2140
|
}
|
|
2132
2141
|
|
|
@@ -2194,7 +2203,7 @@
|
|
|
2194
2203
|
}
|
|
2195
2204
|
|
|
2196
2205
|
.input-showcase h1 {
|
|
2197
|
-
font-family: var(--typography-font-family-sans, Inter,system-ui,sans-serif);
|
|
2206
|
+
font-family: var(--typography-font-family-sans, Inter, system-ui, sans-serif);
|
|
2198
2207
|
font-size: var(--typography-font-size-2xl, 1.5re);
|
|
2199
2208
|
font-weight: var(--font-weight-font-bold);
|
|
2200
2209
|
color: var(--color-slate-900);
|
|
@@ -2202,7 +2211,7 @@
|
|
|
2202
2211
|
}
|
|
2203
2212
|
|
|
2204
2213
|
.input-showcase h2 {
|
|
2205
|
-
font-family: var(--typography-font-family-sans, Inter,system-ui,sans-serif);
|
|
2214
|
+
font-family: var(--typography-font-family-sans, Inter, system-ui, sans-serif);
|
|
2206
2215
|
font-size: var(--typography-font-size-lg, 1.125rem);
|
|
2207
2216
|
font-weight: var(--font-weight-font-medium);
|
|
2208
2217
|
color: var(--color-slate-700);
|