@wakastellar/ui 0.1.8 → 0.1.10
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/blocks/index.d.ts +2 -0
- package/dist/blocks/sidebar/index.d.ts +149 -0
- package/dist/components/DataTable/DataTable.d.ts +1 -1
- package/dist/components/DataTable/DataTableAdvanced.d.ts +1 -1
- package/dist/components/DataTable/DataTableBody.d.ts +68 -0
- package/dist/components/DataTable/DataTableCell.d.ts +34 -0
- package/dist/components/DataTable/DataTableConflictResolver.d.ts +45 -0
- package/dist/components/DataTable/DataTableFilterBuilder.d.ts +14 -0
- package/dist/components/DataTable/DataTableFilters.d.ts +3 -3
- package/dist/components/DataTable/DataTableHeader.d.ts +48 -0
- package/dist/components/DataTable/DataTableSelection.d.ts +17 -12
- package/dist/components/DataTable/DataTableSyncStatus.d.ts +31 -0
- package/dist/components/DataTable/formatters/index.d.ts +127 -0
- package/dist/components/DataTable/hooks/useDataTable.d.ts +1 -1
- package/dist/components/DataTable/hooks/useDataTableAdvanced.d.ts +1 -1
- package/dist/components/DataTable/hooks/useDataTableAdvancedFilters.d.ts +18 -0
- package/dist/components/DataTable/hooks/useDataTableColumnTemplates.d.ts +28 -0
- package/dist/components/DataTable/hooks/useDataTableExport.d.ts +7 -3
- package/dist/components/DataTable/hooks/useDataTableImport.d.ts +4 -2
- package/dist/components/DataTable/hooks/useDataTableOffline.d.ts +80 -0
- package/dist/components/DataTable/hooks/useDataTableVirtualization.d.ts +1 -1
- package/dist/components/DataTable/index.d.ts +48 -2
- package/dist/components/DataTable/services/IndexedDBService.d.ts +117 -0
- package/dist/components/DataTable/templates/index.d.ts +104 -0
- package/dist/components/DataTable/types.d.ts +417 -25
- package/dist/components/command/index.d.ts +1 -1
- package/dist/components/error-boundary/ErrorBoundary.d.ts +102 -0
- package/dist/components/error-boundary/index.d.ts +2 -0
- package/dist/components/index.d.ts +6 -0
- package/dist/components/typography/index.d.ts +1 -1
- package/dist/components/waka-autocomplete/index.d.ts +59 -0
- package/dist/components/waka-charts/WakaAreaChart.d.ts +12 -0
- package/dist/components/waka-charts/WakaBarChart.d.ts +12 -0
- package/dist/components/waka-charts/WakaChart.d.ts +17 -0
- package/dist/components/waka-charts/WakaLineChart.d.ts +12 -0
- package/dist/components/waka-charts/WakaMiniChart.d.ts +13 -0
- package/dist/components/waka-charts/WakaPieChart.d.ts +12 -0
- package/dist/components/waka-charts/WakaSparkline.d.ts +13 -0
- package/dist/components/waka-charts/dataTableHelpers.d.ts +34 -0
- package/dist/components/waka-charts/hooks/useChartTheme.d.ts +23 -0
- package/dist/components/waka-charts/hooks/useRechartsLoader.d.ts +161 -0
- package/dist/components/waka-charts/index.d.ts +57 -0
- package/dist/components/waka-charts/types.d.ts +298 -0
- package/dist/components/waka-color-picker/index.d.ts +40 -0
- package/dist/components/waka-file-upload/index.d.ts +49 -0
- package/dist/components/waka-rich-text-editor/index.d.ts +36 -0
- package/dist/context/admincrumb-context.d.ts +118 -1
- package/dist/context/language-context.d.ts +160 -22
- package/dist/context/theme-provider.d.ts +39 -1
- package/dist/context/waka-provider.d.ts +50 -7
- package/dist/hooks/use-toast.d.ts +116 -0
- package/dist/hooks/use-translation.d.ts +24 -1
- package/dist/hooks/useToast.d.ts +82 -0
- package/dist/index.cjs.js +32 -26
- package/dist/index.d.ts +9 -3
- package/dist/index.es.js +11356 -5724
- package/dist/types/provider.d.ts +30 -0
- package/dist/ui.css +1 -1
- package/dist/utils/cn.d.ts +15 -1
- package/dist/utils/datetime-helpers.d.ts +241 -33
- package/dist/utils/error-handling.d.ts +190 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/logger.d.ts +4 -4
- package/dist/utils/theme-loader.d.ts +140 -30
- package/dist/utils/tweak.d.ts +14 -1
- package/package.json +63 -52
package/dist/types/provider.d.ts
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Variables CSS pour un thème au format JSON
|
|
3
|
+
*/
|
|
4
|
+
export type ThemeCSSVariables = Record<string, string | number | {
|
|
5
|
+
r?: number;
|
|
6
|
+
g?: number;
|
|
7
|
+
b?: number;
|
|
8
|
+
a?: number;
|
|
9
|
+
h?: number;
|
|
10
|
+
s?: number;
|
|
11
|
+
l?: number;
|
|
12
|
+
}>;
|
|
1
13
|
/**
|
|
2
14
|
* Configuration d'un thème
|
|
3
15
|
*/
|
|
@@ -10,6 +22,15 @@ export interface ThemeConfigItem {
|
|
|
10
22
|
description?: string;
|
|
11
23
|
/** Couleur représentative */
|
|
12
24
|
previewColor?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Variables CSS inline au format JSON
|
|
27
|
+
* Si fourni, ces variables sont utilisées directement sans charger depuis S3
|
|
28
|
+
*/
|
|
29
|
+
cssVars?: ThemeCSSVariables;
|
|
30
|
+
/**
|
|
31
|
+
* Variables CSS pour le mode sombre (optionnel)
|
|
32
|
+
*/
|
|
33
|
+
darkCssVars?: ThemeCSSVariables;
|
|
13
34
|
}
|
|
14
35
|
/**
|
|
15
36
|
* Configuration S3 pour les thèmes
|
|
@@ -56,6 +77,10 @@ export interface WakaS3Config {
|
|
|
56
77
|
/** Dossier des traductions dans le bucket */
|
|
57
78
|
translationsPath?: string;
|
|
58
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Type pour les traductions JSON inline
|
|
82
|
+
*/
|
|
83
|
+
export type TranslationsJSON = Record<string, string | Record<string, unknown>>;
|
|
59
84
|
/**
|
|
60
85
|
* Configuration d'une langue
|
|
61
86
|
*/
|
|
@@ -68,6 +93,11 @@ export interface LanguageConfigItem {
|
|
|
68
93
|
flagEmoji?: string;
|
|
69
94
|
/** URL du drapeau */
|
|
70
95
|
flag?: string;
|
|
96
|
+
/**
|
|
97
|
+
* Traductions inline au format JSON
|
|
98
|
+
* Si fourni, les traductions sont utilisées directement sans charger depuis S3
|
|
99
|
+
*/
|
|
100
|
+
translations?: TranslationsJSON;
|
|
71
101
|
}
|
|
72
102
|
/**
|
|
73
103
|
* Configuration de la langue et des traductions
|
package/dist/ui.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media (max-width: 400px),(max-height: 550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-wrapper,.react-datepicker__input-container{display:block!important;width:100%!important}.react-datepicker-popper{z-index:9999!important}.react-datepicker,.waka-datepicker{font-family:inherit!important;font-size:.875rem!important;background-color:hsl(var(--popover))!important;color:hsl(var(--popover-foreground))!important;border:1px solid hsl(var(--border))!important;border-radius:.5rem!important;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d!important;display:inline-block!important;position:relative!important}.waka-datepicker .react-datepicker__month-container{background-color:inherit!important}.react-datepicker__header{text-align:center!important;background-color:hsl(var(--popover))!important;border-bottom:1px solid hsl(var(--border))!important;border-top-left-radius:.5rem!important;border-top-right-radius:.5rem!important;padding:.5rem 0!important;position:relative!important}.react-datepicker__current-month{margin-top:0!important;color:hsl(var(--foreground))!important;font-weight:600!important;font-size:.875rem!important}.react-datepicker__day-names{margin-bottom:-.5rem!important;display:flex!important;justify-content:space-around!important;padding:.5rem 0!important}.react-datepicker__day-name{color:hsl(var(--muted-foreground))!important;display:inline-block!important;width:2rem!important;line-height:2rem!important;text-align:center!important;margin:.166rem!important;font-weight:500!important;font-size:.75rem!important}.react-datepicker__navigation{background:none!important;border:none!important;line-height:1.7rem!important;text-align:center!important;cursor:pointer!important;position:absolute!important;top:.5rem!important;padding:0!important;z-index:1!important;height:2rem!important;width:2rem!important;text-indent:-999em!important;overflow:hidden!important;border-radius:.25rem!important}.react-datepicker__navigation:hover{background-color:hsl(var(--accent))!important}.react-datepicker__navigation--previous{left:.5rem!important;border-right-color:hsl(var(--foreground))!important}.react-datepicker__navigation--next{right:.5rem!important;border-left-color:hsl(var(--foreground))!important}.react-datepicker__navigation-icon:before{border-color:hsl(var(--foreground))!important;border-style:solid!important;border-width:2px 2px 0 0!important;content:""!important;display:block!important;height:9px!important;position:absolute!important;top:6px!important;width:9px!important}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg)!important;right:-2px!important}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg)!important;left:-2px!important}.react-datepicker__month{margin:.4rem!important;text-align:center!important}.react-datepicker__week{display:flex!important;justify-content:space-around!important}.react-datepicker__day{cursor:pointer!important;display:inline-block!important;width:2rem!important;line-height:2rem!important;text-align:center!important;margin:.166rem!important;color:hsl(var(--foreground))!important;border-radius:.375rem!important;font-size:.875rem!important;background:transparent!important;transition:all .15s ease-in-out!important}.react-datepicker__day:hover{background-color:hsl(var(--accent))!important;color:hsl(var(--accent-foreground))!important}.react-datepicker__day--selected{background-color:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important;font-weight:600!important}.react-datepicker__day--selected:hover{background-color:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important}.react-datepicker__day--today{background-color:hsl(var(--accent))!important;color:hsl(var(--accent-foreground))!important;font-weight:600!important}.react-datepicker__day--keyboard-selected{background-color:hsl(var(--accent))!important;color:hsl(var(--accent-foreground))!important}.react-datepicker__day--outside-month{color:hsl(var(--muted-foreground))!important;opacity:.5!important}.react-datepicker__day--disabled{cursor:not-allowed!important;opacity:.3!important;color:hsl(var(--muted-foreground))!important}.react-datepicker__day--disabled:hover{background-color:transparent!important}.react-datepicker__day--in-range{background-color:hsl(var(--primary) / .2)!important;color:hsl(var(--primary))!important}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range){background-color:hsl(var(--primary) / .1)!important}.react-datepicker__day--range-start,.react-datepicker__day--range-end{background-color:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important}.react-datepicker__time-container{float:right!important;border-left:1px solid hsl(var(--border))!important;width:85px!important}.react-datepicker__time{position:relative!important;background:hsl(var(--popover))!important;border-bottom-right-radius:.5rem!important}.react-datepicker__time-box{width:85px!important;overflow-x:hidden!important;margin:0 auto!important;text-align:center!important;border-bottom-right-radius:.5rem!important}.react-datepicker__time-list{height:calc(195px + .85rem)!important;overflow-y:scroll!important;margin:0!important;padding:0!important;list-style:none!important;background:hsl(var(--popover))!important}.react-datepicker__time-list-item{height:30px!important;padding:5px 10px!important;white-space:nowrap!important;cursor:pointer!important;color:hsl(var(--foreground))!important;font-size:.875rem!important}.react-datepicker__time-list-item:hover{background-color:hsl(var(--accent))!important;color:hsl(var(--accent-foreground))!important}.react-datepicker__time-list-item--selected{background-color:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important;font-weight:600!important}.react-datepicker__time-list-item--disabled{color:hsl(var(--muted-foreground))!important;opacity:.3!important;cursor:not-allowed!important}.react-datepicker__time-list-item--disabled:hover{background-color:transparent!important}.react-datepicker__input-container input{width:100%!important;border-radius:.375rem!important;border:1px solid hsl(var(--input))!important;background-color:hsl(var(--background))!important;padding:.5rem .75rem!important;font-size:.875rem!important;line-height:1.25rem!important;color:hsl(var(--foreground))!important}.react-datepicker__input-container input:focus{outline:none!important;box-shadow:0 0 0 2px hsl(var(--ring))!important;border-color:hsl(var(--ring))!important}.react-datepicker__input-container input::placeholder{color:hsl(var(--muted-foreground))!important}.react-datepicker__input-container input:disabled{cursor:not-allowed!important;opacity:.5!important}.react-datepicker__week-number{color:hsl(var(--muted-foreground))!important;display:inline-block!important;width:2rem!important;line-height:2rem!important;text-align:center!important;margin:.166rem!important;font-weight:500!important;font-size:.75rem!important}.react-datepicker__month-dropdown,.react-datepicker__year-dropdown{background-color:hsl(var(--popover))!important;position:absolute!important;width:50%!important;left:25%!important;top:30px!important;z-index:1!important;text-align:center!important;border-radius:.5rem!important;border:1px solid hsl(var(--border))!important;box-shadow:0 10px 15px -3px #0000001a!important}.react-datepicker__month-option,.react-datepicker__year-option{line-height:20px!important;width:100%!important;display:block!important;padding:.5rem!important;cursor:pointer!important;color:hsl(var(--foreground))!important}.react-datepicker__month-option:hover,.react-datepicker__year-option:hover{background-color:hsl(var(--accent))!important;color:hsl(var(--accent-foreground))!important}.react-datepicker__month-option--selected_month,.react-datepicker__year-option--selected_year{background-color:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important;font-weight:600!important}.react-datepicker__portal{position:fixed!important;width:100vw!important;height:100vh!important;background-color:#000c!important;left:0!important;top:0!important;justify-content:center!important;align-items:center!important;display:flex!important;z-index:2147483647!important}.react-datepicker__portal .react-datepicker{position:relative!important}.waka-datepicker-container{position:relative!important;display:block!important;width:100%!important}.waka-datepicker-container .react-datepicker-wrapper{display:block!important;width:100%!important}.waka-datepicker .highlighted-date{position:relative!important;background-color:hsl(var(--accent) / .5)!important;color:hsl(var(--accent-foreground))!important;font-weight:600!important}.waka-datepicker .highlighted-date:after{content:""!important;position:absolute!important;bottom:.25rem!important;left:50%!important;transform:translate(-50%)!important;width:.25rem!important;height:.25rem!important;border-radius:50%!important;background-color:hsl(var(--primary))!important}.waka-datepicker.no-animations *{transition:none!important;animation:none!important}.react-datepicker__month-container{float:left!important}.react-datepicker--time-only .react-datepicker__time-container{border-left:0!important}.react-datepicker--time-only .react-datepicker__time{border-radius:.5rem!important}.react-datepicker *{box-sizing:border-box!important}.react-datepicker button{border:none!important;cursor:pointer!important;background:transparent!important;padding:0!important}.waka-carousel{position:relative;overflow:hidden;border-radius:.5rem;background-color:#000;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.waka-carousel--fullscreen{position:fixed;inset:0;z-index:9999;border-radius:0;background-color:#000}.waka-carousel__image-container{position:relative;width:100%;height:100%;overflow:hidden}.waka-carousel__image{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease-in-out,transform .3s ease-in-out;will-change:opacity,transform}.waka-carousel__overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:1.5rem;color:#fff;z-index:5}.waka-carousel__title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:#fff;line-height:1.3}.waka-carousel__description{font-size:.875rem;color:#ffffffe6;line-height:1.4;margin-bottom:.5rem}.waka-carousel__caption{font-size:.75rem;color:#fffc;font-style:italic}.waka-carousel__navigation{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:#0009;color:#fff;padding:.75rem;border-radius:50%;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.waka-carousel__navigation:hover{background:#000c;transform:translateY(-50%) scale(1.1)}.waka-carousel__navigation:focus{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.waka-carousel__navigation:active{transform:translateY(-50%) scale(.95)}.waka-carousel__navigation--prev{left:1rem}.waka-carousel__navigation--next{right:1rem}.waka-carousel__navigation--small{padding:.5rem}.waka-carousel__navigation--large{padding:1rem}.waka-carousel__control-button{position:absolute;top:1rem;z-index:10;background:#0009;color:#fff;padding:.5rem;border-radius:50%;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.waka-carousel__control-button:hover{background:#000c;transform:scale(1.1)}.waka-carousel__control-button:focus{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.waka-carousel__play-button{right:1rem}.waka-carousel__fullscreen-button{left:1rem}.waka-carousel__download-button{right:3.5rem}.waka-carousel__share-button{right:6rem}.waka-carousel__counter{position:absolute;top:1rem;left:50%;transform:translate(-50%);z-index:10;background:#0009;color:#fff;padding:.5rem 1rem;border-radius:1rem;font-size:.875rem;font-weight:500;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.waka-carousel__indicators{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:10}.waka-carousel__indicator{border:none;cursor:pointer;transition:all .2s ease;background:#ffffff80;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.waka-carousel__indicator:hover{background:#ffffffb3;transform:scale(1.1)}.waka-carousel__indicator:focus{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.waka-carousel__indicator--active{background:#fff}.waka-carousel__indicator--circle{width:.5rem;height:.5rem;border-radius:50%}.waka-carousel__indicator--square{width:.5rem;height:.5rem;border-radius:.125rem}.waka-carousel__indicator--diamond{width:.5rem;height:.5rem;border-radius:.125rem;transform:rotate(45deg)}.waka-carousel__indicator--line{height:.25rem;border-radius:.125rem}.waka-carousel__indicator--small{width:.375rem;height:.375rem}.waka-carousel__indicator--small.waka-carousel__indicator--line{width:1.5rem;height:.1875rem}.waka-carousel__indicator--medium{width:.5rem;height:.5rem}.waka-carousel__indicator--medium.waka-carousel__indicator--line{width:2rem;height:.25rem}.waka-carousel__indicator--large{width:.625rem;height:.625rem}.waka-carousel__indicator--large.waka-carousel__indicator--line{width:2.5rem;height:.3125rem}.waka-carousel__thumbnails{display:flex;gap:.5rem;padding:1rem;background-color:#f8fafc;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9;border-top:1px solid #e2e8f0}.waka-carousel__thumbnails::-webkit-scrollbar{height:6px}.waka-carousel__thumbnails::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.waka-carousel__thumbnails::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.waka-carousel__thumbnails::-webkit-scrollbar-thumb:hover{background:#94a3b8}.waka-carousel__thumbnail{flex-shrink:0;border-radius:.375rem;overflow:hidden;border:2px solid #d1d5db;cursor:pointer;transition:all .2s ease;position:relative}.waka-carousel__thumbnail:hover{border-color:#9ca3af;transform:scale(1.05)}.waka-carousel__thumbnail:focus{outline:2px solid #3b82f6;outline-offset:2px}.waka-carousel__thumbnail--active{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.waka-carousel__thumbnail--small{width:3rem;height:3rem}.waka-carousel__thumbnail--medium{width:4rem;height:4rem}.waka-carousel__thumbnail--large{width:5rem;height:5rem}.waka-carousel__thumbnail-image{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.waka-carousel__thumbnail:hover .waka-carousel__thumbnail-image{transform:scale(1.1)}.waka-carousel__progress{position:absolute;bottom:0;left:0;right:0;height:.25rem;background:#0000004d;z-index:5}.waka-carousel__progress-bar{height:100%;background:#fff;transition:width .1s ease;border-radius:0 .125rem .125rem 0}.waka-carousel__loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20;background:#000000b3;color:#fff;padding:1rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.waka-carousel__spinner{width:2rem;height:2rem;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOut{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes zoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes flip{0%{transform:rotateY(0)}50%{transform:rotateY(90deg)}to{transform:rotateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.waka-carousel__image--fade{animation:fadeIn .3s ease-in-out}.waka-carousel__image--slide{animation:slideIn .3s ease-in-out}.waka-carousel__image--zoom{animation:zoomIn .3s ease-in-out}.waka-carousel__image--flip{animation:flip .6s ease-in-out}.waka-carousel:focus-within{outline:2px solid #3b82f6;outline-offset:2px}.waka-carousel__navigation:focus-visible,.waka-carousel__control-button:focus-visible,.waka-carousel__indicator:focus-visible,.waka-carousel__thumbnail:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media (max-width: 768px){.waka-carousel__navigation{padding:.5rem}.waka-carousel__navigation svg{width:1rem;height:1rem}.waka-carousel__control-button{padding:.375rem}.waka-carousel__control-button svg{width:.875rem;height:.875rem}.waka-carousel__thumbnails{padding:.75rem}.waka-carousel__thumbnail--small{width:2.5rem;height:2.5rem}.waka-carousel__thumbnail--medium{width:3rem;height:3rem}.waka-carousel__thumbnail--large{width:3.5rem;height:3.5rem}.waka-carousel__overlay{padding:1rem}.waka-carousel__title{font-size:1rem}.waka-carousel__description{font-size:.8125rem}}@media (max-width: 480px){.waka-carousel__navigation{padding:.375rem}.waka-carousel__navigation--prev{left:.5rem}.waka-carousel__navigation--next{right:.5rem}.waka-carousel__control-button{padding:.25rem}.waka-carousel__control-button svg{width:.75rem;height:.75rem}.waka-carousel__download-button{right:2.5rem}.waka-carousel__share-button{right:4.5rem}}@media (prefers-color-scheme: dark){.waka-carousel__thumbnails{background-color:#1f2937;border-top-color:#374151}.waka-carousel__thumbnail{border-color:#374151}.waka-carousel__thumbnail:hover{border-color:#4b5563}.waka-carousel__thumbnail--active{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}}.waka-carousel.dark .waka-carousel__thumbnails{background-color:#1f2937;border-top-color:#374151}.waka-carousel.dark .waka-carousel__thumbnail{border-color:#374151}.waka-carousel.dark .waka-carousel__thumbnail:hover{border-color:#4b5563}.waka-carousel.dark .waka-carousel__thumbnail--active{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}@media (prefers-reduced-motion: reduce){.waka-carousel__image,.waka-carousel__navigation,.waka-carousel__control-button,.waka-carousel__indicator,.waka-carousel__thumbnail,.waka-carousel__progress-bar{transition:none;animation:none}}.waka-carousel__image{will-change:opacity,transform}.waka-carousel__navigation,.waka-carousel__control-button,.waka-carousel__indicator,.waka-carousel__thumbnail{will-change:transform,background-color}.waka-carousel[data-theme=light]{background-color:#fff}.waka-carousel[data-theme=dark]{background-color:#000}.waka-carousel__error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20;background:#ef4444e6;color:#fff;padding:1rem;border-radius:.5rem;text-align:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.waka-carousel[aria-hidden=true]{display:none}.waka-carousel__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
|
|
1
|
+
@charset "UTF-8";.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media(max-width:400px),(max-height:550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-wrapper,.react-datepicker__input-container{display:block!important;width:100%!important}.react-datepicker-popper{z-index:9999!important}.react-datepicker,.waka-datepicker{font-family:inherit!important;font-size:.875rem!important;background-color:hsl(var(--popover))!important;color:hsl(var(--popover-foreground))!important;border:1px solid hsl(var(--border))!important;border-radius:.5rem!important;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d!important;display:inline-block!important;position:relative!important}.waka-datepicker .react-datepicker__month-container{background-color:inherit!important}.react-datepicker__header{text-align:center!important;background-color:hsl(var(--popover))!important;border-bottom:1px solid hsl(var(--border))!important;border-top-left-radius:.5rem!important;border-top-right-radius:.5rem!important;padding:.5rem 0!important;position:relative!important}.react-datepicker__current-month{margin-top:0!important;color:hsl(var(--foreground))!important;font-weight:600!important;font-size:.875rem!important}.react-datepicker__day-names{margin-bottom:-.5rem!important;display:flex!important;justify-content:space-around!important;padding:.5rem 0!important}.react-datepicker__day-name{color:hsl(var(--muted-foreground))!important;display:inline-block!important;width:2rem!important;line-height:2rem!important;text-align:center!important;margin:.166rem!important;font-weight:500!important;font-size:.75rem!important}.react-datepicker__navigation{background:none!important;border:none!important;line-height:1.7rem!important;text-align:center!important;cursor:pointer!important;position:absolute!important;top:.5rem!important;padding:0!important;z-index:1!important;height:2rem!important;width:2rem!important;text-indent:-999em!important;overflow:hidden!important;border-radius:.25rem!important}.react-datepicker__navigation:hover{background-color:hsl(var(--accent))!important}.react-datepicker__navigation--previous{left:.5rem!important;border-right-color:hsl(var(--foreground))!important}.react-datepicker__navigation--next{right:.5rem!important;border-left-color:hsl(var(--foreground))!important}.react-datepicker__navigation-icon:before{border-color:hsl(var(--foreground))!important;border-style:solid!important;border-width:2px 2px 0 0!important;content:""!important;display:block!important;height:9px!important;position:absolute!important;top:6px!important;width:9px!important}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg)!important;right:-2px!important}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg)!important;left:-2px!important}.react-datepicker__month{margin:.4rem!important;text-align:center!important}.react-datepicker__week{display:flex!important;justify-content:space-around!important}.react-datepicker__day{cursor:pointer!important;display:inline-block!important;width:2rem!important;line-height:2rem!important;text-align:center!important;margin:.166rem!important;color:hsl(var(--foreground))!important;border-radius:.375rem!important;font-size:.875rem!important;background:transparent!important;transition:all .15s ease-in-out!important}.react-datepicker__day:hover{background-color:hsl(var(--accent))!important;color:hsl(var(--accent-foreground))!important}.react-datepicker__day--selected{background-color:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important;font-weight:600!important}.react-datepicker__day--selected:hover{background-color:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important}.react-datepicker__day--today{background-color:hsl(var(--accent))!important;color:hsl(var(--accent-foreground))!important;font-weight:600!important}.react-datepicker__day--keyboard-selected{background-color:hsl(var(--accent))!important;color:hsl(var(--accent-foreground))!important}.react-datepicker__day--outside-month{color:hsl(var(--muted-foreground))!important;opacity:.5!important}.react-datepicker__day--disabled{cursor:not-allowed!important;opacity:.3!important;color:hsl(var(--muted-foreground))!important}.react-datepicker__day--disabled:hover{background-color:transparent!important}.react-datepicker__day--in-range{background-color:hsl(var(--primary) / .2)!important;color:hsl(var(--primary))!important}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range){background-color:hsl(var(--primary) / .1)!important}.react-datepicker__day--range-start,.react-datepicker__day--range-end{background-color:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important}.react-datepicker__time-container{float:right!important;border-left:1px solid hsl(var(--border))!important;width:85px!important}.react-datepicker__time{position:relative!important;background:hsl(var(--popover))!important;border-bottom-right-radius:.5rem!important}.react-datepicker__time-box{width:85px!important;overflow-x:hidden!important;margin:0 auto!important;text-align:center!important;border-bottom-right-radius:.5rem!important}.react-datepicker__time-list{height:calc(195px + .85rem)!important;overflow-y:scroll!important;margin:0!important;padding:0!important;list-style:none!important;background:hsl(var(--popover))!important}.react-datepicker__time-list-item{height:30px!important;padding:5px 10px!important;white-space:nowrap!important;cursor:pointer!important;color:hsl(var(--foreground))!important;font-size:.875rem!important}.react-datepicker__time-list-item:hover{background-color:hsl(var(--accent))!important;color:hsl(var(--accent-foreground))!important}.react-datepicker__time-list-item--selected{background-color:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important;font-weight:600!important}.react-datepicker__time-list-item--disabled{color:hsl(var(--muted-foreground))!important;opacity:.3!important;cursor:not-allowed!important}.react-datepicker__time-list-item--disabled:hover{background-color:transparent!important}.react-datepicker__input-container input{width:100%!important;border-radius:.375rem!important;border:1px solid hsl(var(--input))!important;background-color:hsl(var(--background))!important;padding:.5rem .75rem!important;font-size:.875rem!important;line-height:1.25rem!important;color:hsl(var(--foreground))!important}.react-datepicker__input-container input:focus{outline:none!important;box-shadow:0 0 0 2px hsl(var(--ring))!important;border-color:hsl(var(--ring))!important}.react-datepicker__input-container input::placeholder{color:hsl(var(--muted-foreground))!important}.react-datepicker__input-container input:disabled{cursor:not-allowed!important;opacity:.5!important}.react-datepicker__week-number{color:hsl(var(--muted-foreground))!important;display:inline-block!important;width:2rem!important;line-height:2rem!important;text-align:center!important;margin:.166rem!important;font-weight:500!important;font-size:.75rem!important}.react-datepicker__month-dropdown,.react-datepicker__year-dropdown{background-color:hsl(var(--popover))!important;position:absolute!important;width:50%!important;left:25%!important;top:30px!important;z-index:1!important;text-align:center!important;border-radius:.5rem!important;border:1px solid hsl(var(--border))!important;box-shadow:0 10px 15px -3px #0000001a!important}.react-datepicker__month-option,.react-datepicker__year-option{line-height:20px!important;width:100%!important;display:block!important;padding:.5rem!important;cursor:pointer!important;color:hsl(var(--foreground))!important}.react-datepicker__month-option:hover,.react-datepicker__year-option:hover{background-color:hsl(var(--accent))!important;color:hsl(var(--accent-foreground))!important}.react-datepicker__month-option--selected_month,.react-datepicker__year-option--selected_year{background-color:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important;font-weight:600!important}.react-datepicker__portal{position:fixed!important;width:100vw!important;height:100vh!important;background-color:#000c!important;left:0!important;top:0!important;justify-content:center!important;align-items:center!important;display:flex!important;z-index:2147483647!important}.react-datepicker__portal .react-datepicker{position:relative!important}.waka-datepicker-container{position:relative!important;display:block!important;width:100%!important}.waka-datepicker-container .react-datepicker-wrapper{display:block!important;width:100%!important}.waka-datepicker .highlighted-date{position:relative!important;background-color:hsl(var(--accent) / .5)!important;color:hsl(var(--accent-foreground))!important;font-weight:600!important}.waka-datepicker .highlighted-date:after{content:""!important;position:absolute!important;bottom:.25rem!important;left:50%!important;transform:translate(-50%)!important;width:.25rem!important;height:.25rem!important;border-radius:50%!important;background-color:hsl(var(--primary))!important}.waka-datepicker.no-animations *{transition:none!important;animation:none!important}.react-datepicker__month-container{float:left!important}.react-datepicker--time-only .react-datepicker__time-container{border-left:0!important}.react-datepicker--time-only .react-datepicker__time{border-radius:.5rem!important}.react-datepicker *{box-sizing:border-box!important}.react-datepicker button{border:none!important;cursor:pointer!important;background:transparent!important;padding:0!important}.waka-carousel{position:relative;overflow:hidden;border-radius:.5rem;background-color:#000;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.waka-carousel--fullscreen{position:fixed;inset:0;z-index:9999;border-radius:0;background-color:#000}.waka-carousel__image-container{position:relative;width:100%;height:100%;overflow:hidden}.waka-carousel__image{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease-in-out,transform .3s ease-in-out;will-change:opacity,transform}.waka-carousel__overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:1.5rem;color:#fff;z-index:5}.waka-carousel__title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:#fff;line-height:1.3}.waka-carousel__description{font-size:.875rem;color:#ffffffe6;line-height:1.4;margin-bottom:.5rem}.waka-carousel__caption{font-size:.75rem;color:#fffc;font-style:italic}.waka-carousel__navigation{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:#0009;color:#fff;padding:.75rem;border-radius:50%;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.waka-carousel__navigation:hover{background:#000c;transform:translateY(-50%) scale(1.1)}.waka-carousel__navigation:focus{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.waka-carousel__navigation:active{transform:translateY(-50%) scale(.95)}.waka-carousel__navigation--prev{left:1rem}.waka-carousel__navigation--next{right:1rem}.waka-carousel__navigation--small{padding:.5rem}.waka-carousel__navigation--large{padding:1rem}.waka-carousel__control-button{position:absolute;top:1rem;z-index:10;background:#0009;color:#fff;padding:.5rem;border-radius:50%;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.waka-carousel__control-button:hover{background:#000c;transform:scale(1.1)}.waka-carousel__control-button:focus{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.waka-carousel__play-button{right:1rem}.waka-carousel__fullscreen-button{left:1rem}.waka-carousel__download-button{right:3.5rem}.waka-carousel__share-button{right:6rem}.waka-carousel__counter{position:absolute;top:1rem;left:50%;transform:translate(-50%);z-index:10;background:#0009;color:#fff;padding:.5rem 1rem;border-radius:1rem;font-size:.875rem;font-weight:500;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.waka-carousel__indicators{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:10}.waka-carousel__indicator{border:none;cursor:pointer;transition:all .2s ease;background:#ffffff80;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.waka-carousel__indicator:hover{background:#ffffffb3;transform:scale(1.1)}.waka-carousel__indicator:focus{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.waka-carousel__indicator--active{background:#fff}.waka-carousel__indicator--circle{width:.5rem;height:.5rem;border-radius:50%}.waka-carousel__indicator--square{width:.5rem;height:.5rem;border-radius:.125rem}.waka-carousel__indicator--diamond{width:.5rem;height:.5rem;border-radius:.125rem;transform:rotate(45deg)}.waka-carousel__indicator--line{height:.25rem;border-radius:.125rem}.waka-carousel__indicator--small{width:.375rem;height:.375rem}.waka-carousel__indicator--small.waka-carousel__indicator--line{width:1.5rem;height:.1875rem}.waka-carousel__indicator--medium{width:.5rem;height:.5rem}.waka-carousel__indicator--medium.waka-carousel__indicator--line{width:2rem;height:.25rem}.waka-carousel__indicator--large{width:.625rem;height:.625rem}.waka-carousel__indicator--large.waka-carousel__indicator--line{width:2.5rem;height:.3125rem}.waka-carousel__thumbnails{display:flex;gap:.5rem;padding:1rem;background-color:#f8fafc;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9;border-top:1px solid #e2e8f0}.waka-carousel__thumbnails::-webkit-scrollbar{height:6px}.waka-carousel__thumbnails::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.waka-carousel__thumbnails::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.waka-carousel__thumbnails::-webkit-scrollbar-thumb:hover{background:#94a3b8}.waka-carousel__thumbnail{flex-shrink:0;border-radius:.375rem;overflow:hidden;border:2px solid #d1d5db;cursor:pointer;transition:all .2s ease;position:relative}.waka-carousel__thumbnail:hover{border-color:#9ca3af;transform:scale(1.05)}.waka-carousel__thumbnail:focus{outline:2px solid #3b82f6;outline-offset:2px}.waka-carousel__thumbnail--active{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.waka-carousel__thumbnail--small{width:3rem;height:3rem}.waka-carousel__thumbnail--medium{width:4rem;height:4rem}.waka-carousel__thumbnail--large{width:5rem;height:5rem}.waka-carousel__thumbnail-image{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.waka-carousel__thumbnail:hover .waka-carousel__thumbnail-image{transform:scale(1.1)}.waka-carousel__progress{position:absolute;bottom:0;left:0;right:0;height:.25rem;background:#0000004d;z-index:5}.waka-carousel__progress-bar{height:100%;background:#fff;transition:width .1s ease;border-radius:0 .125rem .125rem 0}.waka-carousel__loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20;background:#000000b3;color:#fff;padding:1rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.waka-carousel__spinner{width:2rem;height:2rem;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOut{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes zoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes flip{0%{transform:rotateY(0)}50%{transform:rotateY(90deg)}to{transform:rotateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.waka-carousel__image--fade{animation:fadeIn .3s ease-in-out}.waka-carousel__image--slide{animation:slideIn .3s ease-in-out}.waka-carousel__image--zoom{animation:zoomIn .3s ease-in-out}.waka-carousel__image--flip{animation:flip .6s ease-in-out}.waka-carousel:focus-within{outline:2px solid #3b82f6;outline-offset:2px}.waka-carousel__navigation:focus-visible,.waka-carousel__control-button:focus-visible,.waka-carousel__indicator:focus-visible,.waka-carousel__thumbnail:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media(max-width:768px){.waka-carousel__navigation{padding:.5rem}.waka-carousel__navigation svg{width:1rem;height:1rem}.waka-carousel__control-button{padding:.375rem}.waka-carousel__control-button svg{width:.875rem;height:.875rem}.waka-carousel__thumbnails{padding:.75rem}.waka-carousel__thumbnail--small{width:2.5rem;height:2.5rem}.waka-carousel__thumbnail--medium{width:3rem;height:3rem}.waka-carousel__thumbnail--large{width:3.5rem;height:3.5rem}.waka-carousel__overlay{padding:1rem}.waka-carousel__title{font-size:1rem}.waka-carousel__description{font-size:.8125rem}}@media(max-width:480px){.waka-carousel__navigation{padding:.375rem}.waka-carousel__navigation--prev{left:.5rem}.waka-carousel__navigation--next{right:.5rem}.waka-carousel__control-button{padding:.25rem}.waka-carousel__control-button svg{width:.75rem;height:.75rem}.waka-carousel__download-button{right:2.5rem}.waka-carousel__share-button{right:4.5rem}}@media(prefers-color-scheme:dark){.waka-carousel__thumbnails{background-color:#1f2937;border-top-color:#374151}.waka-carousel__thumbnail{border-color:#374151}.waka-carousel__thumbnail:hover{border-color:#4b5563}.waka-carousel__thumbnail--active{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}}.waka-carousel.dark .waka-carousel__thumbnails{background-color:#1f2937;border-top-color:#374151}.waka-carousel.dark .waka-carousel__thumbnail{border-color:#374151}.waka-carousel.dark .waka-carousel__thumbnail:hover{border-color:#4b5563}.waka-carousel.dark .waka-carousel__thumbnail--active{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}@media(prefers-reduced-motion:reduce){.waka-carousel__image,.waka-carousel__navigation,.waka-carousel__control-button,.waka-carousel__indicator,.waka-carousel__thumbnail,.waka-carousel__progress-bar{transition:none;animation:none}}.waka-carousel__image{will-change:opacity,transform}.waka-carousel__navigation,.waka-carousel__control-button,.waka-carousel__indicator,.waka-carousel__thumbnail{will-change:transform,background-color}.waka-carousel[data-theme=light]{background-color:#fff}.waka-carousel[data-theme=dark]{background-color:#000}.waka-carousel__error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20;background:#ef4444e6;color:#fff;padding:1rem;border-radius:.5rem;text-align:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.waka-carousel[aria-hidden=true]{display:none}.waka-carousel__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
|
package/dist/utils/cn.d.ts
CHANGED
|
@@ -1 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
import { ClassValue } from 'clsx';
|
|
2
|
+
/**
|
|
3
|
+
* Utilitaire pour fusionner des classes CSS de manière intelligente.
|
|
4
|
+
* Combine clsx et tailwind-merge pour résoudre les conflits de classes Tailwind.
|
|
5
|
+
*
|
|
6
|
+
* @param inputs - Classes CSS à fusionner (strings, objets, tableaux, etc.)
|
|
7
|
+
* @returns La chaîne de classes CSS fusionnée
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* cn("px-2 py-4", "px-4") // => "py-4 px-4"
|
|
12
|
+
* cn("bg-red-500", condition && "bg-blue-500") // => "bg-blue-500" si condition est true
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare const cn: (...inputs: ClassValue[]) => string;
|
|
@@ -1,62 +1,160 @@
|
|
|
1
1
|
import { DatePreset, DateRange } from '../components/waka-datetime-picker';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Crée des presets pour les dates courantes (aujourd'hui, hier, semaine, mois, etc.)
|
|
4
|
+
*
|
|
5
|
+
* @param locale - Locale date-fns pour le calcul des semaines (défaut: fr)
|
|
6
|
+
* @returns Tableau de presets configurés
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <WakaDateTimePicker presets={createCommonPresets()} />
|
|
11
|
+
* ```
|
|
4
12
|
*/
|
|
5
13
|
export declare const createCommonPresets: (locale?: import('date-fns').Locale) => DatePreset[];
|
|
6
14
|
/**
|
|
7
|
-
*
|
|
15
|
+
* Crée des presets pour les 7, 30 et 90 derniers jours
|
|
16
|
+
*
|
|
17
|
+
* @returns Tableau de presets pour les périodes récentes
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* const presets = [...createCommonPresets(), ...createLastDaysPresets()]
|
|
22
|
+
* ```
|
|
8
23
|
*/
|
|
9
24
|
export declare const createLastDaysPresets: () => DatePreset[];
|
|
10
25
|
/**
|
|
11
|
-
*
|
|
26
|
+
* Crée des presets pour les N prochains jours
|
|
27
|
+
*
|
|
28
|
+
* @param days - Tableau des nombres de jours (ex: [7, 14, 30])
|
|
29
|
+
* @returns Tableau de presets pour les périodes futures
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```tsx
|
|
33
|
+
* const futurePresets = createNextDaysPresets([7, 14, 30])
|
|
34
|
+
* // Génère: "7 prochains jours", "14 prochains jours", "30 prochains jours"
|
|
35
|
+
* ```
|
|
12
36
|
*/
|
|
13
37
|
export declare const createNextDaysPresets: (days: number[]) => DatePreset[];
|
|
14
38
|
/**
|
|
15
|
-
*
|
|
39
|
+
* Crée un preset de date personnalisé
|
|
40
|
+
*
|
|
41
|
+
* @param label - Libellé du preset
|
|
42
|
+
* @param dateOrRange - Date, DateRange, ou fonction retournant l'un ou l'autre
|
|
43
|
+
* @returns Preset configuré
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```tsx
|
|
47
|
+
* // Preset avec date fixe
|
|
48
|
+
* const christmas = createCustomPreset("Noël", new Date(2025, 11, 25))
|
|
49
|
+
*
|
|
50
|
+
* // Preset avec range dynamique
|
|
51
|
+
* const fiscalYear = createCustomPreset("Année fiscale", () => ({
|
|
52
|
+
* from: new Date(2025, 3, 1),
|
|
53
|
+
* to: new Date(2026, 2, 31)
|
|
54
|
+
* }))
|
|
55
|
+
* ```
|
|
16
56
|
*/
|
|
17
57
|
export declare const createCustomPreset: (label: string, dateOrRange: Date | DateRange | (() => Date) | (() => DateRange)) => DatePreset;
|
|
18
58
|
/**
|
|
19
|
-
*
|
|
59
|
+
* Vérifie si une date est dans le futur (après aujourd'hui à minuit)
|
|
60
|
+
*
|
|
61
|
+
* @param date - Date à vérifier
|
|
62
|
+
* @returns true si la date est dans le futur
|
|
20
63
|
*/
|
|
21
64
|
export declare const isFutureDate: (date: Date) => boolean;
|
|
22
65
|
/**
|
|
23
|
-
*
|
|
66
|
+
* Vérifie si une date est dans le passé (avant aujourd'hui à minuit)
|
|
67
|
+
*
|
|
68
|
+
* @param date - Date à vérifier
|
|
69
|
+
* @returns true si la date est dans le passé
|
|
24
70
|
*/
|
|
25
71
|
export declare const isPastDate: (date: Date) => boolean;
|
|
26
72
|
/**
|
|
27
|
-
*
|
|
73
|
+
* Vérifie si une date correspond à aujourd'hui
|
|
74
|
+
*
|
|
75
|
+
* @param date - Date à vérifier
|
|
76
|
+
* @returns true si la date est aujourd'hui
|
|
28
77
|
*/
|
|
29
78
|
export declare const isToday: (date: Date) => boolean;
|
|
30
79
|
/**
|
|
31
|
-
*
|
|
80
|
+
* Vérifie si une date est un jour de semaine (lundi à vendredi)
|
|
81
|
+
*
|
|
82
|
+
* @param date - Date à vérifier
|
|
83
|
+
* @returns true si la date est un jour ouvrable
|
|
32
84
|
*/
|
|
33
85
|
export declare const isWeekday: (date: Date) => boolean;
|
|
34
86
|
/**
|
|
35
|
-
*
|
|
87
|
+
* Vérifie si une date tombe un weekend (samedi ou dimanche)
|
|
88
|
+
*
|
|
89
|
+
* @param date - Date à vérifier
|
|
90
|
+
* @returns true si la date est un weekend
|
|
36
91
|
*/
|
|
37
92
|
export declare const isWeekend: (date: Date) => boolean;
|
|
38
93
|
/**
|
|
39
|
-
*
|
|
94
|
+
* Vérifie si une date est un jour férié
|
|
95
|
+
*
|
|
96
|
+
* @param date - Date à vérifier
|
|
97
|
+
* @param holidays - Liste des jours fériés
|
|
98
|
+
* @returns true si la date est un jour férié
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```tsx
|
|
102
|
+
* const holidays = getFrenchHolidays(2025)
|
|
103
|
+
* if (isHoliday(selectedDate, holidays)) {
|
|
104
|
+
* console.log("Jour férié!")
|
|
105
|
+
* }
|
|
106
|
+
* ```
|
|
40
107
|
*/
|
|
41
108
|
export declare const isHoliday: (date: Date, holidays: Date[]) => boolean;
|
|
42
109
|
/**
|
|
43
|
-
*
|
|
110
|
+
* Vérifie si une date est comprise dans un intervalle
|
|
111
|
+
*
|
|
112
|
+
* @param date - Date à vérifier
|
|
113
|
+
* @param start - Début de l'intervalle
|
|
114
|
+
* @param end - Fin de l'intervalle
|
|
115
|
+
* @returns true si la date est dans l'intervalle (bornes incluses)
|
|
44
116
|
*/
|
|
45
117
|
export declare const isDateInRange: (date: Date, start: Date, end: Date) => boolean;
|
|
46
118
|
/**
|
|
47
|
-
*
|
|
119
|
+
* Crée un validateur d'âge minimum
|
|
120
|
+
*
|
|
121
|
+
* @param minAge - Âge minimum requis en années
|
|
122
|
+
* @returns Fonction de validation retournant true ou un message d'erreur
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```tsx
|
|
126
|
+
* const validateAdult = createMinAgeValidator(18)
|
|
127
|
+
* const result = validateAdult(birthdate)
|
|
128
|
+
* if (result !== true) console.error(result)
|
|
129
|
+
* ```
|
|
48
130
|
*/
|
|
49
131
|
export declare const createMinAgeValidator: (minAge: number) => (birthdate: Date) => boolean | string;
|
|
50
132
|
/**
|
|
51
|
-
*
|
|
133
|
+
* Crée un validateur d'âge maximum
|
|
134
|
+
*
|
|
135
|
+
* @param maxAge - Âge maximum autorisé en années
|
|
136
|
+
* @returns Fonction de validation retournant true ou un message d'erreur
|
|
52
137
|
*/
|
|
53
138
|
export declare const createMaxAgeValidator: (maxAge: number) => (birthdate: Date) => boolean | string;
|
|
54
139
|
/**
|
|
55
|
-
*
|
|
140
|
+
* Valide qu'une date n'est pas expirée (n'est pas dans le passé)
|
|
141
|
+
*
|
|
142
|
+
* @param date - Date à vérifier
|
|
143
|
+
* @returns true si valide, message d'erreur sinon
|
|
56
144
|
*/
|
|
57
145
|
export declare const isNotExpired: (date: Date) => boolean | string;
|
|
58
146
|
/**
|
|
59
|
-
*
|
|
147
|
+
* Calcule la durée entre deux dates en jours, semaines et mois
|
|
148
|
+
*
|
|
149
|
+
* @param from - Date de début
|
|
150
|
+
* @param to - Date de fin
|
|
151
|
+
* @returns Objet avec les durées en différentes unités
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```tsx
|
|
155
|
+
* const duration = calculateDuration(startDate, endDate)
|
|
156
|
+
* console.log(`${duration.days} jours (${duration.weeks} semaines)`)
|
|
157
|
+
* ```
|
|
60
158
|
*/
|
|
61
159
|
export declare const calculateDuration: (from: Date, to: Date) => {
|
|
62
160
|
days: number;
|
|
@@ -64,74 +162,184 @@ export declare const calculateDuration: (from: Date, to: Date) => {
|
|
|
64
162
|
months: number;
|
|
65
163
|
};
|
|
66
164
|
/**
|
|
67
|
-
*
|
|
165
|
+
* Formate une plage de dates en chaîne lisible
|
|
166
|
+
*
|
|
167
|
+
* @param range - Plage de dates à formater
|
|
168
|
+
* @param formatStr - Format date-fns (défaut: "PPP" = "1 janvier 2025")
|
|
169
|
+
* @param locale - Locale pour le formatage (défaut: fr)
|
|
170
|
+
* @returns Chaîne formatée "date1 - date2"
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```tsx
|
|
174
|
+
* formatDateRange({ from: start, to: end })
|
|
175
|
+
* // => "1 janvier 2025 - 31 janvier 2025"
|
|
176
|
+
* ```
|
|
68
177
|
*/
|
|
69
178
|
export declare const formatDateRange: (range: DateRange, formatStr?: string, locale?: import('date-fns').Locale) => string;
|
|
70
179
|
/**
|
|
71
|
-
*
|
|
180
|
+
* Retourne la liste des jours fériés français pour une année donnée
|
|
181
|
+
*
|
|
182
|
+
* Note: N'inclut pas les fêtes mobiles (Pâques, Ascension, Pentecôte)
|
|
183
|
+
*
|
|
184
|
+
* @param year - Année concernée
|
|
185
|
+
* @returns Tableau des dates de jours fériés
|
|
186
|
+
*
|
|
187
|
+
* @example
|
|
188
|
+
* ```tsx
|
|
189
|
+
* const holidays2025 = getFrenchHolidays(2025)
|
|
190
|
+
* // Utiliser pour désactiver ces dates dans un calendrier
|
|
191
|
+
* ```
|
|
72
192
|
*/
|
|
73
193
|
export declare const getFrenchHolidays: (year: number) => Date[];
|
|
74
194
|
/**
|
|
75
|
-
*
|
|
195
|
+
* Retourne toutes les dates d'un mois donné
|
|
196
|
+
*
|
|
197
|
+
* @param year - Année
|
|
198
|
+
* @param month - Mois (0-11, janvier = 0)
|
|
199
|
+
* @returns Tableau de toutes les dates du mois
|
|
76
200
|
*/
|
|
77
201
|
export declare const getDatesInMonth: (year: number, month: number) => Date[];
|
|
78
202
|
/**
|
|
79
|
-
*
|
|
203
|
+
* Retourne tous les weekends d'un mois donné
|
|
204
|
+
*
|
|
205
|
+
* @param year - Année
|
|
206
|
+
* @param month - Mois (0-11)
|
|
207
|
+
* @returns Tableau des dates de weekend
|
|
80
208
|
*/
|
|
81
209
|
export declare const getWeekendsInMonth: (year: number, month: number) => Date[];
|
|
82
210
|
/**
|
|
83
|
-
*
|
|
211
|
+
* Retourne tous les jours ouvrables d'un mois donné (lundi à vendredi)
|
|
212
|
+
*
|
|
213
|
+
* @param year - Année
|
|
214
|
+
* @param month - Mois (0-11)
|
|
215
|
+
* @returns Tableau des dates de jours ouvrables
|
|
84
216
|
*/
|
|
85
217
|
export declare const getWeekdaysInMonth: (year: number, month: number) => Date[];
|
|
86
218
|
/**
|
|
87
|
-
*
|
|
219
|
+
* Crée un validateur pour les dates d'expiration de carte bancaire
|
|
220
|
+
*
|
|
221
|
+
* Vérifie que la carte n'est pas expirée et avertit si elle expire bientôt.
|
|
222
|
+
*
|
|
223
|
+
* @returns Fonction de validation retournant true ou un message
|
|
88
224
|
*/
|
|
89
225
|
export declare const createCardExpiryValidator: () => (date: Date) => boolean | string;
|
|
90
226
|
/**
|
|
91
|
-
*
|
|
227
|
+
* Crée un validateur pour les réservations nécessitant un délai minimum
|
|
228
|
+
*
|
|
229
|
+
* @param minDaysInAdvance - Nombre de jours minimum avant la date
|
|
230
|
+
* @returns Fonction de validation retournant true ou un message d'erreur
|
|
231
|
+
*
|
|
232
|
+
* @example
|
|
233
|
+
* ```tsx
|
|
234
|
+
* const validateBooking = createBookingDateValidator(3)
|
|
235
|
+
* // Exige une réservation au moins 3 jours à l'avance
|
|
236
|
+
* ```
|
|
92
237
|
*/
|
|
93
238
|
export declare const createBookingDateValidator: (minDaysInAdvance: number) => (date: Date) => boolean | string;
|
|
94
239
|
/**
|
|
95
|
-
*
|
|
240
|
+
* Crée un validateur limitant la durée maximale d'une plage de dates
|
|
241
|
+
*
|
|
242
|
+
* @param maxDays - Nombre maximum de jours autorisés
|
|
243
|
+
* @returns Fonction de validation pour DateRange
|
|
244
|
+
*
|
|
245
|
+
* @example
|
|
246
|
+
* ```tsx
|
|
247
|
+
* const validateRange = createMaxRangeDaysValidator(30)
|
|
248
|
+
* // Limite la sélection à 30 jours maximum
|
|
249
|
+
* ```
|
|
96
250
|
*/
|
|
97
251
|
export declare const createMaxRangeDaysValidator: (maxDays: number) => (range: DateRange) => boolean | string;
|
|
98
252
|
/**
|
|
99
|
-
*
|
|
253
|
+
* Vérifie si deux dates correspondent au même jour
|
|
254
|
+
*
|
|
255
|
+
* @param date1 - Première date
|
|
256
|
+
* @param date2 - Seconde date
|
|
257
|
+
* @returns true si les dates sont le même jour
|
|
100
258
|
*/
|
|
101
259
|
export declare const isSameDay: (date1: Date, date2: Date) => boolean;
|
|
102
260
|
/**
|
|
103
|
-
*
|
|
261
|
+
* Calcule le nombre de jours ouvrés entre deux dates
|
|
262
|
+
*
|
|
263
|
+
* Exclut les weekends et optionnellement les jours fériés.
|
|
264
|
+
*
|
|
265
|
+
* @param from - Date de début
|
|
266
|
+
* @param to - Date de fin
|
|
267
|
+
* @param holidays - Liste optionnelle des jours fériés à exclure
|
|
268
|
+
* @returns Nombre de jours ouvrés
|
|
269
|
+
*
|
|
270
|
+
* @example
|
|
271
|
+
* ```tsx
|
|
272
|
+
* const holidays = getFrenchHolidays(2025)
|
|
273
|
+
* const workDays = getWorkingDays(startDate, endDate, holidays)
|
|
274
|
+
* console.log(`${workDays} jours ouvrés`)
|
|
275
|
+
* ```
|
|
104
276
|
*/
|
|
105
277
|
export declare const getWorkingDays: (from: Date, to: Date, holidays?: Date[]) => number;
|
|
106
278
|
/**
|
|
107
|
-
*
|
|
279
|
+
* Crée des presets pour les quatre trimestres d'une année
|
|
280
|
+
*
|
|
281
|
+
* @param year - Année cible (défaut: année courante)
|
|
282
|
+
* @returns Tableau de presets T1, T2, T3, T4
|
|
283
|
+
*
|
|
284
|
+
* @example
|
|
285
|
+
* ```tsx
|
|
286
|
+
* const quarterPresets = createQuarterPresets(2025)
|
|
287
|
+
* // => ["T1 2025", "T2 2025", "T3 2025", "T4 2025"]
|
|
288
|
+
* ```
|
|
108
289
|
*/
|
|
109
290
|
export declare const createQuarterPresets: (year?: number) => DatePreset[];
|
|
110
291
|
/**
|
|
111
|
-
*
|
|
292
|
+
* Crée des presets pour les 12 mois d'une année
|
|
293
|
+
*
|
|
294
|
+
* @param year - Année cible (défaut: année courante)
|
|
295
|
+
* @param locale - Locale pour le nom des mois (défaut: fr)
|
|
296
|
+
* @returns Tableau de presets pour chaque mois
|
|
112
297
|
*/
|
|
113
298
|
export declare const createMonthlyPresets: (year?: number, locale?: import('date-fns').Locale) => DatePreset[];
|
|
114
299
|
/**
|
|
115
|
-
*
|
|
300
|
+
* Convertit une date en timestamp Unix (millisecondes)
|
|
301
|
+
*
|
|
302
|
+
* @param date - Date à convertir
|
|
303
|
+
* @returns Timestamp en millisecondes
|
|
116
304
|
*/
|
|
117
305
|
export declare const dateToTimestamp: (date: Date) => number;
|
|
118
306
|
/**
|
|
119
|
-
*
|
|
307
|
+
* Convertit un timestamp Unix en objet Date
|
|
308
|
+
*
|
|
309
|
+
* @param timestamp - Timestamp en millisecondes
|
|
310
|
+
* @returns Objet Date correspondant
|
|
120
311
|
*/
|
|
121
312
|
export declare const timestampToDate: (timestamp: number) => Date;
|
|
122
313
|
/**
|
|
123
|
-
*
|
|
314
|
+
* Normalise une date au début de la journée (00:00:00)
|
|
315
|
+
*
|
|
316
|
+
* Utile pour les comparaisons de dates sans tenir compte de l'heure.
|
|
317
|
+
*
|
|
318
|
+
* @param date - Date à normaliser
|
|
319
|
+
* @returns Date normalisée à minuit
|
|
124
320
|
*/
|
|
125
321
|
export declare const normalizeDate: (date: Date) => Date;
|
|
126
322
|
/**
|
|
127
|
-
*
|
|
323
|
+
* Compare deux plages de dates pour vérifier leur égalité
|
|
324
|
+
*
|
|
325
|
+
* @param range1 - Première plage
|
|
326
|
+
* @param range2 - Seconde plage
|
|
327
|
+
* @returns true si les plages sont identiques (même jour de début et fin)
|
|
128
328
|
*/
|
|
129
329
|
export declare const compareRanges: (range1: DateRange, range2: DateRange) => boolean;
|
|
130
330
|
/**
|
|
131
|
-
*
|
|
331
|
+
* Fusionne deux plages de dates si elles se chevauchent ou sont adjacentes
|
|
332
|
+
*
|
|
333
|
+
* @param range1 - Première plage
|
|
334
|
+
* @param range2 - Seconde plage
|
|
335
|
+
* @returns Plage fusionnée ou null si les plages ne se chevauchent pas
|
|
132
336
|
*/
|
|
133
337
|
export declare const mergeRanges: (range1: DateRange, range2: DateRange) => DateRange | null;
|
|
134
338
|
/**
|
|
135
|
-
*
|
|
339
|
+
* Vérifie si deux plages de dates se chevauchent
|
|
340
|
+
*
|
|
341
|
+
* @param range1 - Première plage
|
|
342
|
+
* @param range2 - Seconde plage
|
|
343
|
+
* @returns true si les plages ont au moins un jour en commun
|
|
136
344
|
*/
|
|
137
345
|
export declare const rangesOverlap: (range1: DateRange, range2: DateRange) => boolean;
|