@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.
Files changed (66) hide show
  1. package/dist/blocks/index.d.ts +2 -0
  2. package/dist/blocks/sidebar/index.d.ts +149 -0
  3. package/dist/components/DataTable/DataTable.d.ts +1 -1
  4. package/dist/components/DataTable/DataTableAdvanced.d.ts +1 -1
  5. package/dist/components/DataTable/DataTableBody.d.ts +68 -0
  6. package/dist/components/DataTable/DataTableCell.d.ts +34 -0
  7. package/dist/components/DataTable/DataTableConflictResolver.d.ts +45 -0
  8. package/dist/components/DataTable/DataTableFilterBuilder.d.ts +14 -0
  9. package/dist/components/DataTable/DataTableFilters.d.ts +3 -3
  10. package/dist/components/DataTable/DataTableHeader.d.ts +48 -0
  11. package/dist/components/DataTable/DataTableSelection.d.ts +17 -12
  12. package/dist/components/DataTable/DataTableSyncStatus.d.ts +31 -0
  13. package/dist/components/DataTable/formatters/index.d.ts +127 -0
  14. package/dist/components/DataTable/hooks/useDataTable.d.ts +1 -1
  15. package/dist/components/DataTable/hooks/useDataTableAdvanced.d.ts +1 -1
  16. package/dist/components/DataTable/hooks/useDataTableAdvancedFilters.d.ts +18 -0
  17. package/dist/components/DataTable/hooks/useDataTableColumnTemplates.d.ts +28 -0
  18. package/dist/components/DataTable/hooks/useDataTableExport.d.ts +7 -3
  19. package/dist/components/DataTable/hooks/useDataTableImport.d.ts +4 -2
  20. package/dist/components/DataTable/hooks/useDataTableOffline.d.ts +80 -0
  21. package/dist/components/DataTable/hooks/useDataTableVirtualization.d.ts +1 -1
  22. package/dist/components/DataTable/index.d.ts +48 -2
  23. package/dist/components/DataTable/services/IndexedDBService.d.ts +117 -0
  24. package/dist/components/DataTable/templates/index.d.ts +104 -0
  25. package/dist/components/DataTable/types.d.ts +417 -25
  26. package/dist/components/command/index.d.ts +1 -1
  27. package/dist/components/error-boundary/ErrorBoundary.d.ts +102 -0
  28. package/dist/components/error-boundary/index.d.ts +2 -0
  29. package/dist/components/index.d.ts +6 -0
  30. package/dist/components/typography/index.d.ts +1 -1
  31. package/dist/components/waka-autocomplete/index.d.ts +59 -0
  32. package/dist/components/waka-charts/WakaAreaChart.d.ts +12 -0
  33. package/dist/components/waka-charts/WakaBarChart.d.ts +12 -0
  34. package/dist/components/waka-charts/WakaChart.d.ts +17 -0
  35. package/dist/components/waka-charts/WakaLineChart.d.ts +12 -0
  36. package/dist/components/waka-charts/WakaMiniChart.d.ts +13 -0
  37. package/dist/components/waka-charts/WakaPieChart.d.ts +12 -0
  38. package/dist/components/waka-charts/WakaSparkline.d.ts +13 -0
  39. package/dist/components/waka-charts/dataTableHelpers.d.ts +34 -0
  40. package/dist/components/waka-charts/hooks/useChartTheme.d.ts +23 -0
  41. package/dist/components/waka-charts/hooks/useRechartsLoader.d.ts +161 -0
  42. package/dist/components/waka-charts/index.d.ts +57 -0
  43. package/dist/components/waka-charts/types.d.ts +298 -0
  44. package/dist/components/waka-color-picker/index.d.ts +40 -0
  45. package/dist/components/waka-file-upload/index.d.ts +49 -0
  46. package/dist/components/waka-rich-text-editor/index.d.ts +36 -0
  47. package/dist/context/admincrumb-context.d.ts +118 -1
  48. package/dist/context/language-context.d.ts +160 -22
  49. package/dist/context/theme-provider.d.ts +39 -1
  50. package/dist/context/waka-provider.d.ts +50 -7
  51. package/dist/hooks/use-toast.d.ts +116 -0
  52. package/dist/hooks/use-translation.d.ts +24 -1
  53. package/dist/hooks/useToast.d.ts +82 -0
  54. package/dist/index.cjs.js +32 -26
  55. package/dist/index.d.ts +9 -3
  56. package/dist/index.es.js +11356 -5724
  57. package/dist/types/provider.d.ts +30 -0
  58. package/dist/ui.css +1 -1
  59. package/dist/utils/cn.d.ts +15 -1
  60. package/dist/utils/datetime-helpers.d.ts +241 -33
  61. package/dist/utils/error-handling.d.ts +190 -0
  62. package/dist/utils/index.d.ts +2 -0
  63. package/dist/utils/logger.d.ts +4 -4
  64. package/dist/utils/theme-loader.d.ts +140 -30
  65. package/dist/utils/tweak.d.ts +14 -1
  66. package/package.json +63 -52
@@ -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}
@@ -1 +1,15 @@
1
- export declare const cn: (...inputs: any[]) => string;
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
- * Créer des presets de dates courantes
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
- * Créer des presets pour les 7, 30, 90 derniers jours
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
- * Créer des presets pour les N prochains jours
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
- * Créer un preset personnalisé
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
- * Validation : date dans le futur
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
- * Validation : date dans le passé
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
- * Validation : date est aujourd'hui
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
- * Validation : date est un jour de semaine (lundi-vendredi)
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
- * Validation : date est un weekend (samedi-dimanche)
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
- * Validation : date est dans une liste de jours fériés
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
- * Validation : date est dans un intervalle
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
- * Validation : âge minimum
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
- * Validation : âge maximum
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
- * Validation : date d'expiration
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
- * Calculer la durée entre deux dates
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
- * Formater une range de dates
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
- * Obtenir les jours fériés français pour une année
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
- * Obtenir les dates d'un mois
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
- * Obtenir tous les weekends d'un mois
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
- * Obtenir tous les jours de semaine d'un mois
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
- * Créer un validateur de date d'expiration de carte bancaire
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
- * Créer un validateur de date de réservation (X jours d'avance minimum)
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
- * Créer un validateur de plage de dates maximum
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
- * Vérifier si deux dates sont le même jour
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
- * Obtenir le nombre de jours ouvrés entre deux dates
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
- * Créer des presets pour les trimestres
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
- * Créer des presets pour les mois de l'année
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
- * Convertir une date en timestamp
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
- * Convertir un timestamp en date
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
- * Normaliser une date (début de journée)
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
- * Comparer deux ranges de dates
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
- * Merger deux ranges de dates
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
- * Vérifier si deux ranges se chevauchent
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;