@cloudparker/moldex.js 0.0.65 → 0.0.66

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 (92) hide show
  1. package/dist/services/dialog/dialog-service.d.ts +11 -11
  2. package/dist/services/navigation/navigation-service.d.ts +17 -0
  3. package/dist/services/navigation/navigation-service.js +38 -0
  4. package/dist/services/utils/melody-service.d.ts +5 -0
  5. package/dist/services/utils/melody-service.js +41 -0
  6. package/dist/tailwind.css +1 -1
  7. package/dist/views/core/button/components/button/button.svelte +84 -133
  8. package/dist/views/core/button/components/button/button.svelte.d.ts +8 -7
  9. package/dist/views/core/button/components/button-back/button-back.svelte +16 -29
  10. package/dist/views/core/button/components/button-close/button-close.svelte +2 -4
  11. package/dist/views/core/button/components/button-close/button-close.svelte.d.ts +2 -2
  12. package/dist/views/core/button/components/button-close-icon/button-close-icon.svelte +16 -30
  13. package/dist/views/core/button/components/button-dropdown/button-dropdown.svelte +80 -0
  14. package/dist/views/core/button/components/button-dropdown/button-dropdown.svelte.d.ts +38 -0
  15. package/dist/views/core/button/components/button-list-item/button-list-item.svelte +65 -132
  16. package/dist/views/core/button/components/button-list-item/button-list-item.svelte.d.ts +22 -31
  17. package/dist/views/core/button/components/button-menu/button-menu.svelte +72 -235
  18. package/dist/views/core/button/components/button-menu/button-menu.svelte.d.ts +23 -43
  19. package/dist/views/core/button/components/button-ok/button-ok.svelte +2 -4
  20. package/dist/views/core/button/components/button-ok/button-ok.svelte.d.ts +2 -2
  21. package/dist/views/core/button/components/button-search/button-search.svelte +39 -0
  22. package/dist/views/core/button/components/button-search/button-search.svelte.d.ts +31 -0
  23. package/dist/views/core/button/index.d.ts +8 -5
  24. package/dist/views/core/button/index.js +4 -2
  25. package/dist/views/core/content-area/components/content-area.svelte +27 -40
  26. package/dist/views/core/dialog/components/cropper-dialog/cropper-dialog.svelte +33 -49
  27. package/dist/views/core/dialog/components/dialog/dialog.svelte +164 -263
  28. package/dist/views/core/dialog/components/dialog/dialog.svelte.d.ts +12 -12
  29. package/dist/views/core/dialog/components/list-dialog/list-picker-dialog.svelte +112 -158
  30. package/dist/views/core/dialog/components/loading-dialog/loading-dialog.svelte +18 -30
  31. package/dist/views/core/dialog/components/msg-dialog/msg-dialog.svelte +13 -22
  32. package/dist/views/core/dialog/components/text-field-dialog/text-field-dialog.svelte +35 -41
  33. package/dist/views/core/dialog/components/text-field-dialog/text-field-dialog.svelte.d.ts +2 -2
  34. package/dist/views/core/dialog/components/textarea-field-dialog/textarea-field-dialog.svelte +25 -40
  35. package/dist/views/core/dialog/components/textarea-field-dialog/textarea-field-dialog.svelte.d.ts +2 -2
  36. package/dist/views/core/dialog/index.d.ts +2 -2
  37. package/dist/views/core/drawer/components/drawer/drawer.svelte +35 -57
  38. package/dist/views/core/icon/components/icon/icon.svelte +14 -26
  39. package/dist/views/core/input/components/checkbox-field/checkbox-field.svelte +25 -44
  40. package/dist/views/core/input/components/color-field/color-field.svelte +69 -81
  41. package/dist/views/core/input/components/color-field/color-field.svelte.d.ts +2 -2
  42. package/dist/views/core/input/components/combobox-field/combobox-field.svelte +256 -331
  43. package/dist/views/core/input/components/combobox-field/combobox-field.svelte.d.ts +18 -17
  44. package/dist/views/core/input/components/date-field/date-field.svelte +30 -39
  45. package/dist/views/core/input/components/date-field/date-field.svelte.d.ts +2 -2
  46. package/dist/views/core/input/components/datetime-field/datetime-field.svelte +12 -18
  47. package/dist/views/core/input/components/datetime-field/datetime-field.svelte.d.ts +2 -2
  48. package/dist/views/core/input/components/email-field/email-field.svelte +12 -17
  49. package/dist/views/core/input/components/email-field/email-field.svelte.d.ts +2 -2
  50. package/dist/views/core/input/components/file-field/file-field.svelte +64 -78
  51. package/dist/views/core/input/components/file-field/file-field.svelte.d.ts +2 -2
  52. package/dist/views/core/input/components/input-field/input-field.svelte +159 -261
  53. package/dist/views/core/input/components/input-field/input-field.svelte.d.ts +8 -8
  54. package/dist/views/core/input/components/label/label.svelte +10 -24
  55. package/dist/views/core/input/components/number-field/number-field.svelte +12 -18
  56. package/dist/views/core/input/components/number-field/number-field.svelte.d.ts +2 -2
  57. package/dist/views/core/input/components/password-field/password-field.svelte +57 -70
  58. package/dist/views/core/input/components/password-field/password-field.svelte.d.ts +2 -2
  59. package/dist/views/core/input/components/phone-field/phone-field.svelte +118 -172
  60. package/dist/views/core/input/components/phone-field/phone-field.svelte.d.ts +2 -2
  61. package/dist/views/core/input/components/radio-field/radio-field.svelte +53 -84
  62. package/dist/views/core/input/components/radio-field/radio-field.svelte.d.ts +7 -7
  63. package/dist/views/core/input/components/range-field/range-field.svelte +42 -66
  64. package/dist/views/core/input/components/range-field/range-field.svelte.d.ts +2 -2
  65. package/dist/views/core/input/components/search-field/search-field.svelte +45 -62
  66. package/dist/views/core/input/components/search-field/search-field.svelte.d.ts +2 -2
  67. package/dist/views/core/input/components/text-field/text-field.svelte +16 -21
  68. package/dist/views/core/input/components/text-field/text-field.svelte.d.ts +2 -2
  69. package/dist/views/core/input/components/textarea-field/textarea-field.svelte +12 -17
  70. package/dist/views/core/input/components/textarea-field/textarea-field.svelte.d.ts +2 -2
  71. package/dist/views/core/input/components/time-field/time-field.svelte +12 -17
  72. package/dist/views/core/input/components/time-field/time-field.svelte.d.ts +2 -2
  73. package/dist/views/core/input/index.d.ts +4 -3
  74. package/dist/views/core/navbar/components/navbar/navbar.svelte +39 -77
  75. package/dist/views/core/no-data/components/no-data/no-data.svelte +20 -37
  76. package/dist/views/core/pagination/components/pagination/pagination.svelte +73 -102
  77. package/dist/views/core/progressbar/components/progressbar/progressbar.svelte +23 -37
  78. package/dist/views/core/ruler/components/vertical-ruler/verticcal-ruler.svelte +2 -6
  79. package/dist/views/core/screen-detector/components/screen-detector.svelte +9 -13
  80. package/dist/views/core/sidebar/components/sidebar.svelte +23 -36
  81. package/dist/views/core/spinner/components/spinner/spinner.svelte +2 -7
  82. package/dist/views/core/text/components/text-await/text-await.svelte +2 -8
  83. package/dist/views/core/text/components/text-copy/text-copy.svelte +17 -28
  84. package/dist/views/core/text/components/text-country/text-country.svelte +29 -41
  85. package/dist/views/core/text/components/text-country-state/text-country-state.svelte +29 -37
  86. package/dist/views/core/text/components/text-currency/text-currency.svelte +10 -21
  87. package/dist/views/core/text/components/text-date/text-date.svelte +21 -33
  88. package/dist/views/core/text/components/text-email/text-email.svelte +4 -13
  89. package/dist/views/core/text/components/text-html/text-html.svelte +2 -3
  90. package/dist/views/core/text/components/text-phone/text-phone.svelte +4 -13
  91. package/dist/views/core/toast/components/toast/toast.svelte +21 -44
  92. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { type DialogPropsType, type InputFieldPropsType } from '../../views';
1
+ import { type DialogProps, type InputFieldProps } from '../../views';
2
2
  import { type CropperDialogPropsType } from '../../views/core/dialog/components/cropper-dialog/cropper-dialog.svelte';
3
3
  export type PickerDialogPropsType = {
4
4
  items?: any[];
@@ -15,24 +15,24 @@ export type PickerDialogPropsType = {
15
15
  value?: any | any[];
16
16
  search?: string | string[];
17
17
  };
18
- export declare function openDialog<R>(props?: DialogPropsType): Promise<R>;
19
- export declare function openConfirmDialog(params?: DialogPropsType & {
18
+ export declare function openDialog<R>(props?: DialogProps): Promise<R>;
19
+ export declare function openConfirmDialog(params?: DialogProps & {
20
20
  msg?: string;
21
21
  }): Promise<unknown>;
22
- export declare function openAlertDialog(params?: DialogPropsType & {
22
+ export declare function openAlertDialog(params?: DialogProps & {
23
23
  msg?: string;
24
24
  }): Promise<unknown>;
25
- export declare function openDeleteConfirmDialog(params?: DialogPropsType & {
25
+ export declare function openDeleteConfirmDialog(params?: DialogProps & {
26
26
  msg?: string;
27
27
  }): Promise<unknown>;
28
- export declare function openListPickerDialog<R>({ items, itemTitle, itemSubtitle, hasArrow, hasCheck, okButtonClassName, okButtonLabel, closeButtonClassName, closeButtonLabel, multiple, identity, value, search, ...params }?: DialogPropsType & PickerDialogPropsType): Promise<R>;
29
- export declare function openTextFieldDialog({ title, value, label, name, maxlength, fieldClassName, autofocus, required, appearance, size, floatingLabel, ...params }?: DialogPropsType & InputFieldPropsType & {
28
+ export declare function openListPickerDialog<R>({ items, itemTitle, itemSubtitle, hasArrow, hasCheck, okButtonClassName, okButtonLabel, closeButtonClassName, closeButtonLabel, multiple, identity, value, search, ...params }?: DialogProps & PickerDialogPropsType): Promise<R>;
29
+ export declare function openTextFieldDialog({ title, value, label, name, maxlength, fieldClassName, autofocus, required, appearance, size, floatingLabel, ...params }?: DialogProps & InputFieldProps & {
30
30
  fieldClassName?: string;
31
31
  }): Promise<unknown>;
32
- export declare function openTextareaFieldDialog({ title, value, label, name, maxlength, fieldClassName, autofocus, required, appearance, size, floatingLabel, rows, ...params }?: DialogPropsType & InputFieldPropsType & {
32
+ export declare function openTextareaFieldDialog({ title, value, label, name, maxlength, fieldClassName, autofocus, required, appearance, size, floatingLabel, rows, ...params }?: DialogProps & InputFieldProps & {
33
33
  fieldClassName?: string;
34
34
  }): Promise<unknown>;
35
- export declare function openLoadingDialog({ msg, loadingDialogContainerClassName, loadingDialogClassName, loadingDialogSpinnerClassName, loadingDialogMsgClassName, ...params }?: DialogPropsType & {
35
+ export declare function openLoadingDialog({ msg, loadingDialogContainerClassName, loadingDialogClassName, loadingDialogSpinnerClassName, loadingDialogMsgClassName, ...params }?: DialogProps & {
36
36
  msg?: string;
37
37
  loadingDialogContainerClassName?: string;
38
38
  loadingDialogClassName?: string;
@@ -47,7 +47,7 @@ export declare function openLoadingDialog({ msg, loadingDialogContainerClassName
47
47
  setOkSpinner: (value: boolean) => void;
48
48
  setOnData: (listener: (data: any) => void) => void;
49
49
  setOnOkClick: (onclick: (event: MouseEvent | TouchEvent, options: import("../../views").DialogExportsType) => void) => void;
50
- setOnCloseClick: (onclick: import("../../views/core/dialog/components/dialog/dialog.svelte").DialogCloseButtonClickType) => void;
50
+ setOnCloseClick: (onclick: (ev: MouseEvent | TouchEvent) => Promise<boolean>) => void;
51
51
  postData: (data: any) => void;
52
52
  } & {
53
53
  $set?: any;
@@ -58,7 +58,7 @@ export declare function openLoadingDialog({ msg, loadingDialogContainerClassName
58
58
  * @param props
59
59
  * @returns
60
60
  */
61
- export declare function openCropperDialog<T, R>({ outputWidth, outputFormat, outputQuality, outputType, inputImageFile, className, ...params }: DialogPropsType & CropperDialogPropsType): Promise<R | string | File>;
61
+ export declare function openCropperDialog<T, R>({ outputWidth, outputFormat, outputQuality, outputType, inputImageFile, className, ...params }: DialogProps & CropperDialogPropsType): Promise<R | string | File>;
62
62
  /**
63
63
  * Opens a file picker dialog and returns the selected file or files.
64
64
  * This function uses native browser APIs to ensure compatibility across different browsers.
@@ -1,3 +1,14 @@
1
+ export interface NavigationOptions {
2
+ replaceState?: boolean;
3
+ noscroll?: boolean;
4
+ keepfocus?: boolean;
5
+ state?: {
6
+ tabName?: string;
7
+ };
8
+ event?: MouseEvent;
9
+ vibration?: number | number[];
10
+ sound?: [string, number][];
11
+ }
1
12
  export type BackStateType = {
2
13
  _id: string;
3
14
  isModal?: boolean;
@@ -16,3 +27,9 @@ export declare const removeBackKeyListener: (listener: () => boolean) => void;
16
27
  export declare function goBack(): void;
17
28
  export declare function goHome(): void;
18
29
  export declare function createRedirectUrl(): string | null;
30
+ /**
31
+ * Navigate to a URL with support for opening in a new tab, vibration, and sound effects.
32
+ * @param url - The destination URL.
33
+ * @param options - Extended options including vibration and sound.
34
+ */
35
+ export declare function navigate(url: string, options?: NavigationOptions): Promise<void>;
@@ -1,6 +1,9 @@
1
1
  // import { goto, pushState } from '$app/navigation';
2
2
  import { createRefererStore } from '../../stores/referrer-store/referrer-store.svelte';
3
3
  import { BROWSER } from 'esm-env';
4
+ import { playMelody } from '../utils/melody-service';
5
+ import { goto } from '$app/navigation';
6
+ import { vibrate } from '../utils/utils-service';
4
7
  export const referrer = createRefererStore();
5
8
  let backStateArray = [];
6
9
  export const pushBackState = (obj) => {
@@ -48,3 +51,38 @@ export function createRedirectUrl() {
48
51
  let redirectInSearchParams = new URLSearchParams(window.location.search).get('redirect');
49
52
  return redirectInSearchParams || redirectUrl || '';
50
53
  }
54
+ /**
55
+ * Navigate to a URL with support for opening in a new tab, vibration, and sound effects.
56
+ * @param url - The destination URL.
57
+ * @param options - Extended options including vibration and sound.
58
+ */
59
+ export async function navigate(url, options = {}) {
60
+ const { event, vibration, sound, ...gotoOptions } = options;
61
+ // Ensure window.open is safe and avoids potential abuse
62
+ const openInNewTab = (targetUrl, tabName) => {
63
+ const sanitizedUrl = new URL(targetUrl, window.location.origin).href;
64
+ const safeTabName = tabName?.replace(/[^a-zA-Z0-9-_]/g, '') || '_blank';
65
+ window.open(sanitizedUrl, safeTabName, 'noopener,noreferrer');
66
+ };
67
+ ;
68
+ try {
69
+ // Handle vibration if supported
70
+ if (vibration) {
71
+ vibrate(vibration);
72
+ }
73
+ // Handle sound playback
74
+ if (sound) {
75
+ playMelody(sound);
76
+ }
77
+ // Handle Ctrl key for opening in a new tab
78
+ if (event && event instanceof MouseEvent && event.ctrlKey) {
79
+ openInNewTab(url, gotoOptions.state?.tabName);
80
+ return;
81
+ }
82
+ // Perform navigation using goto
83
+ goto(url, gotoOptions);
84
+ }
85
+ catch (error) {
86
+ console.error('Error navigating with enhancements:', error);
87
+ }
88
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Play a melody given as an array of note names and durations.
3
+ * @param melody - Array of note-duration pairs, e.g., [['C4', 500], ['D4', 500]].
4
+ */
5
+ export declare function playMelody(melody: [string, number][]): Promise<void>;
@@ -0,0 +1,41 @@
1
+ const noteFrequencies = {
2
+ A0: 27.5, B0: 30.87, C1: 32.7, D1: 36.71, E1: 41.2, F1: 43.65, G1: 49.0,
3
+ A1: 55.0, B1: 61.74, C2: 65.41, D2: 73.42, E2: 82.41, F2: 87.31, G2: 98.0,
4
+ A2: 110.0, B2: 123.47, C3: 130.81, D3: 146.83, E3: 164.81, F3: 174.61, G3: 196.0,
5
+ A3: 220.0, B3: 246.94, C4: 261.63, D4: 293.66, E4: 329.63, F4: 349.23, G4: 392.0,
6
+ A4: 440.0, B4: 493.88, C5: 523.25, D5: 587.33, E5: 659.25, F5: 698.46, G5: 783.99,
7
+ A5: 880.0, B5: 987.77, C6: 1046.5, D6: 1174.66, E6: 1318.51, F6: 1396.91, G6: 1567.98,
8
+ A6: 1760.0, B6: 1975.53, C7: 2093.0, D7: 2349.32, E7: 2637.02, F7: 2793.83, G7: 3135.96,
9
+ A7: 3520.0, B7: 3951.07, C8: 4186.01,
10
+ };
11
+ /**
12
+ * Play a melody given as an array of note names and durations.
13
+ * @param melody - Array of note-duration pairs, e.g., [['C4', 500], ['D4', 500]].
14
+ */
15
+ export async function playMelody(melody) {
16
+ try {
17
+ const audioContext = new (window.AudioContext || window.webkitAudioContext)();
18
+ for (const [note, duration] of melody) {
19
+ const frequency = noteFrequencies[note];
20
+ if (!frequency)
21
+ continue; // Skip invalid notes
22
+ const oscillator = audioContext.createOscillator();
23
+ const gainNode = audioContext.createGain();
24
+ oscillator.type = 'sine'; // You can use 'square', 'triangle', 'sawtooth', etc.
25
+ oscillator.frequency.setValueAtTime(frequency, audioContext.currentTime);
26
+ oscillator.connect(gainNode);
27
+ gainNode.connect(audioContext.destination);
28
+ oscillator.start();
29
+ await new Promise((resolve) => {
30
+ setTimeout(() => {
31
+ oscillator.stop();
32
+ resolve(null);
33
+ }, duration);
34
+ });
35
+ }
36
+ audioContext.close();
37
+ }
38
+ catch (error) {
39
+ console.error('Error playing melody:', error);
40
+ }
41
+ }
package/dist/tailwind.css CHANGED
@@ -1,3 +1,3 @@
1
1
  :root{--color-primary-50:#f0f9ff;--color-primary-100:#e0f2fe;--color-primary-200:#bae6fd;--color-primary-300:#7dd3fc;--color-primary-400:#38bdf8;--color-primary-500:#0ea5e9;--color-primary-600:#0284c7;--color-primary-700:#0369a1;--color-primary-800:#075985;--color-primary-900:#0c4a6e;--color-primary-950:#082f49;--color-base-50:#f8fafc;--color-base-100:#f1f5f9;--color-base-200:#e2e8f0;--color-base-300:#cbd5e1;--color-base-400:#94a3b8;--color-base-500:#64748b;--color-base-600:#475569;--color-base-700:#334155;--color-base-800:#1e293b;--color-base-900:#0f172a;--color-base-950:#020617}
2
2
 
3
- /*! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}@media (forced-colors:active) {[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-20{bottom:5rem}.left-1\/2{left:50%}.right-0{right:0}.start-1{inset-inline-start:.25rem}.top-0{top:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.m-6{margin:1.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-mb-2{margin-bottom:-.5rem}.mb-1{margin-bottom:.25rem}.ml-4{margin-left:1rem}.ms-1{margin-inline-start:.25rem}.mt-1{margin-top:.25rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.contents{display:contents}.hidden{display:none}.\!h-4{height:1rem!important}.\!h-5{height:1.25rem!important}.\!h-6{height:1.5rem!important}.\!h-7{height:1.75rem!important}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-1\/2vh{max-height:50vh}.max-h-80{max-height:20rem}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-full{min-height:100%}.min-h-max{min-height:-moz-max-content;min-height:max-content}.\!w-4{width:1rem!important}.\!w-5{width:1.25rem!important}.\!w-6{width:1.5rem!important}.\!w-7{width:1.75rem!important}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7\/10{width:70%}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-40{min-width:10rem}.max-w-full{max-width:100%}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.origin-top-right{transform-origin:top right}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\/2{--tw-translate-x:50%}.translate-x-full{--tw-translate-x:100%}.translate-x-full,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-4{--tw-translate-y:1rem}.translate-y-4,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y:100%}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-95{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-0{gap:0}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem*var(--tw-space-x-reverse));margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.text-ellipsis{text-overflow:ellipsis}.text-nowrap{text-wrap:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-bl-lg{border-bottom-left-radius:.5rem}.rounded-br-lg{border-bottom-right-radius:.5rem}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-tr-lg{border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-base{border-color:var(--color-base-500)}.border-base-100{border-color:var(--color-base-100)}.border-base-200{border-color:var(--color-base-200)}.border-base-300{border-color:var(--color-base-300)}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-primary{border-color:var(--color-primary-500)}.bg-base-100{background-color:var(--color-base-100)}.bg-base-200{background-color:var(--color-base-200)}.bg-base-50{background-color:var(--color-base-50)}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-500\/20{background-color:hsla(220,9%,46%,.2)}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-primary-600{background-color:var(--color-primary-600)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity))}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-1{padding-bottom:.25rem}.pl-12{padding-left:3rem}.pl-16{padding-left:4rem}.pr-14{padding-right:3.5rem}.pr-8{padding-right:2rem}.pt-1{padding-top:.25rem}.pt-16{padding-top:4rem}.text-left{text-align:left}.text-center{text-align:center}.text-start{text-align:start}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xs{font-size:8px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.leading-6{line-height:1.5rem}.leading-normal{line-height:1.5}.text-base{color:var(--color-base-500)}.text-base-400{color:var(--color-base-400)}.text-base-500{color:var(--color-base-500)}.text-base-600{color:var(--color-base-600)}.text-base-700{color:var(--color-base-700)}.text-base-800{color:var(--color-base-800)}.text-base-900{color:var(--color-base-900)}.text-base-950{color:var(--color-base-950)}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity))}.text-primary{color:var(--color-primary-500)}.text-primary-100{color:var(--color-primary-100)}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline-primary{outline-color:var(--color-primary-500)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-0,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-black{--tw-ring-opacity:1;--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity))}.ring-gray-900\/5{--tw-ring-color:rgba(17,24,39,.05)}.ring-opacity-5{--tw-ring-opacity:0.05}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes ripple-effect{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.ripple{position:absolute;border-radius:9999px;background-color:currentColor;transform:scale(0);animation:ripple-effect .5s linear;background-color:var(--ripple-color)}.checked\:bg-primary:checked{background-color:var(--color-primary-500)}.hover\:border-base-300:hover{border-color:var(--color-base-300)}.hover\:border-primary-500:hover{border-color:var(--color-primary-500)}.hover\:bg-base-100:hover{background-color:var(--color-base-100)}.hover\:bg-base-300:hover{background-color:var(--color-base-300)}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:bg-primary-500:hover{background-color:var(--color-primary-500)}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.hover\:text-base-900:hover{color:var(--color-base-900)}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-primary-50:hover{color:var(--color-primary-50)}.hover\:text-primary-500:hover{color:var(--color-primary-500)}.checked\:hover\:bg-primary:hover:checked{background-color:var(--color-primary-500)}.focus\:border-primary-500:focus{border-color:var(--color-primary-500)}.focus\:bg-base-100:focus{background-color:var(--color-base-100)}.focus\:bg-base-50:focus{background-color:var(--color-base-50)}.focus\:bg-gray-200:focus{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.focus\:bg-indigo-700:focus{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity))}.focus\:bg-red-700:focus{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.focus\:shadow-primary:focus{--tw-shadow-color:var(--color-primary-500);--tw-shadow:var(--tw-shadow-colored)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-primary:focus{outline-color:var(--color-primary-500)}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-primary-500:focus,.focus\:ring-primary:focus{--tw-ring-color:var(--color-primary-500)}.checked\:focus\:bg-primary:focus:checked{background-color:var(--color-primary-500)}.disabled\:bg-base-200:disabled{background-color:var(--color-base-200)}.disabled\:bg-white:disabled{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.disabled\:text-base-400:disabled{color:var(--color-base-400)}.disabled\:text-gray-400:disabled{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.disabled\:hover\:bg-base-200:hover:disabled{background-color:var(--color-base-200)}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:start-0{inset-inline-start:0}.peer:placeholder-shown~.peer-placeholder-shown\:start-0{inset-inline-start:0}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:top-1\/2{top:50%}.peer:placeholder-shown~.peer-placeholder-shown\:top-1\/2{top:50%}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:bg-transparent{background-color:transparent}.peer:placeholder-shown~.peer-placeholder-shown\:bg-transparent{background-color:transparent}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:px-1{padding-left:.25rem;padding-right:.25rem}.peer:placeholder-shown~.peer-placeholder-shown\:px-1{padding-left:.25rem;padding-right:.25rem}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:px-2{padding-left:.5rem;padding-right:.5rem}.peer:placeholder-shown~.peer-placeholder-shown\:px-2{padding-left:.5rem;padding-right:.5rem}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.peer:placeholder-shown~.peer-placeholder-shown\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:px-4{padding-left:1rem;padding-right:1rem}.peer:placeholder-shown~.peer-placeholder-shown\:px-4{padding-left:1rem;padding-right:1rem}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:ps-16{padding-inline-start:4rem}.peer:placeholder-shown~.peer-placeholder-shown\:ps-16{padding-inline-start:4rem}.peer:focus~.peer-focus\:start-1{inset-inline-start:.25rem}.peer:focus~.peer-focus\:top-0{top:0}.peer:focus~.peer-focus\:bg-base-800{background-color:var(--color-base-800)}.peer:focus~.peer-focus\:bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.peer:focus~.peer-focus\:px-0{padding-left:0;padding-right:0}.peer:focus~.peer-focus\:px-1{padding-left:.25rem;padding-right:.25rem}@media (min-width:640px){.sm\:fixed{position:fixed}.sm\:inset-y-0{top:0;bottom:0}.sm\:flex{display:flex}.sm\:w-72{width:18rem}.sm\:translate-y-0{--tw-translate-y:0px}.sm\:scale-100,.sm\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.sm\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:flex-col{flex-direction:column}.sm\:pl-72{padding-left:18rem}.sm\:pr-72{padding-right:18rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:fixed{position:fixed}.md\:inset-y-0{top:0;bottom:0}.md\:flex{display:flex}.md\:w-72{width:18rem}.md\:flex-col{flex-direction:column}.md\:pl-72{padding-left:18rem}.md\:pr-72{padding-right:18rem}}@media (min-width:1024px){.lg\:fixed{position:fixed}.lg\:inset-y-0{top:0;bottom:0}.lg\:flex{display:flex}.lg\:w-72{width:18rem}.lg\:w-px{width:1px}.lg\:flex-col{flex-direction:column}.lg\:bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.lg\:pl-72{padding-left:18rem}.lg\:pr-72{padding-right:18rem}}@media (min-width:1280px){.xl\:fixed{position:fixed}.xl\:inset-y-0{top:0;bottom:0}.xl\:flex{display:flex}.xl\:w-72{width:18rem}.xl\:flex-col{flex-direction:column}.xl\:pl-72{padding-left:18rem}.xl\:pr-72{padding-right:18rem}}@media (min-width:1536px){.\32xl\:fixed{position:fixed}.\32xl\:inset-y-0{top:0;bottom:0}.\32xl\:flex{display:flex}.\32xl\:w-72{width:18rem}.\32xl\:flex-col{flex-direction:column}.\32xl\:pl-72{padding-left:18rem}.\32xl\:pr-72{padding-right:18rem}}@media (prefers-color-scheme:dark){.dark\:border-base-500{border-color:var(--color-base-500)}.dark\:border-base-600{border-color:var(--color-base-600)}.dark\:border-base-700{border-color:var(--color-base-700)}.dark\:border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.dark\:border-primary-600{border-color:var(--color-primary-600)}.dark\:bg-base-700{background-color:var(--color-base-700)}.dark\:bg-base-800{background-color:var(--color-base-800)}.dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark\:bg-gray-900\/30{background-color:rgba(17,24,39,.3)}.dark\:bg-transparent{background-color:transparent}.dark\:text-base-100{color:var(--color-base-100)}.dark\:text-base-200{color:var(--color-base-200)}.dark\:text-base-300{color:var(--color-base-300)}.dark\:text-base-400{color:var(--color-base-400)}.dark\:text-base-50{color:var(--color-base-50)}.dark\:text-base-500{color:var(--color-base-500)}.dark\:checked\:bg-primary:checked{background-color:var(--color-primary-500)}.dark\:hover\:border-base-600:hover{border-color:var(--color-base-600)}.dark\:hover\:border-primary-500:hover{border-color:var(--color-primary-500)}.dark\:hover\:bg-base-600:hover{background-color:var(--color-base-600)}.dark\:hover\:bg-base-700:hover{background-color:var(--color-base-700)}.dark\:hover\:bg-base-800:hover{background-color:var(--color-base-800)}.dark\:hover\:bg-base-900:hover{background-color:var(--color-base-900)}.dark\:hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.dark\:hover\:text-base-200:hover{color:var(--color-base-200)}.dark\:focus\:border-primary-500:focus{border-color:var(--color-primary-500)}.dark\:focus\:bg-base-700:focus{background-color:var(--color-base-700)}.dark\:focus\:bg-base-800:focus{background-color:var(--color-base-800)}.dark\:focus\:outline-primary:focus{outline-color:var(--color-primary-500)}.dark\:focus\:ring-primary-500:focus{--tw-ring-color:var(--color-primary-500)}.dark\:disabled\:border-base-200:disabled{border-color:var(--color-base-200)}.dark\:disabled\:border-base-700:disabled{border-color:var(--color-base-700)}.dark\:disabled\:bg-base-700:disabled{background-color:var(--color-base-700)}.dark\:disabled\:text-base-500:disabled{color:var(--color-base-500)}.dark\:disabled\:hover\:border-base-200:hover:disabled{border-color:var(--color-base-200)}.dark\:disabled\:hover\:border-base-700:hover:disabled{border-color:var(--color-base-700)}.dark\:disabled\:hover\:bg-base-700:hover:disabled{background-color:var(--color-base-700)}}
3
+ /*! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=checkbox]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}@media (forced-colors:active) {[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-20{bottom:5rem}.left-1\/2{left:50%}.right-0{right:0}.start-1{inset-inline-start:.25rem}.top-0{top:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-mb-2{margin-bottom:-.5rem}.mb-1{margin-bottom:.25rem}.ml-4{margin-left:1rem}.ms-1{margin-inline-start:.25rem}.mt-1{margin-top:.25rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.contents{display:contents}.hidden{display:none}.\!h-4{height:1rem!important}.\!h-5{height:1.25rem!important}.\!h-6{height:1.5rem!important}.\!h-7{height:1.75rem!important}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-1\/2vh{max-height:50vh}.max-h-80{max-height:20rem}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-full{min-height:100%}.\!w-4{width:1rem!important}.\!w-5{width:1.25rem!important}.\!w-6{width:1.5rem!important}.\!w-7{width:1.75rem!important}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7\/10{width:70%}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-40{min-width:10rem}.min-w-52{min-width:13rem}.max-w-full{max-width:100%}.max-w-min{max-width:-moz-min-content;max-width:min-content}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.origin-top{transform-origin:top}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\/2{--tw-translate-x:50%}.translate-x-full{--tw-translate-x:100%}.translate-x-full,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-4{--tw-translate-y:1rem}.translate-y-4,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y:100%}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-0{gap:0}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem*var(--tw-space-x-reverse));margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.text-ellipsis{text-overflow:ellipsis}.text-nowrap{text-wrap:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-bl-lg{border-bottom-left-radius:.5rem}.rounded-br-lg{border-bottom-right-radius:.5rem}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-tr-lg{border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-base{border-color:var(--color-base-500)}.border-base-100{border-color:var(--color-base-100)}.border-base-200{border-color:var(--color-base-200)}.border-base-300{border-color:var(--color-base-300)}.border-primary{border-color:var(--color-primary-500)}.bg-base-100{background-color:var(--color-base-100)}.bg-base-200{background-color:var(--color-base-200)}.bg-base-50{background-color:var(--color-base-50)}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-500\/20{background-color:hsla(220,9%,46%,.2)}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-primary-600{background-color:var(--color-primary-600)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity))}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-1{padding-bottom:.25rem}.pl-12{padding-left:3rem}.pl-16{padding-left:4rem}.pr-14{padding-right:3.5rem}.pr-8{padding-right:2rem}.pt-1{padding-top:.25rem}.pt-16{padding-top:4rem}.text-left{text-align:left}.text-center{text-align:center}.text-start{text-align:start}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xs{font-size:8px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.leading-6{line-height:1.5rem}.text-base{color:var(--color-base-500)}.text-base-400{color:var(--color-base-400)}.text-base-500{color:var(--color-base-500)}.text-base-600{color:var(--color-base-600)}.text-base-700{color:var(--color-base-700)}.text-base-800{color:var(--color-base-800)}.text-base-900{color:var(--color-base-900)}.text-base-950{color:var(--color-base-950)}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity))}.text-primary{color:var(--color-primary-500)}.text-primary-100{color:var(--color-primary-100)}.text-transparent{color:transparent}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline-primary{outline-color:var(--color-primary-500)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-0,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-black{--tw-ring-opacity:1;--tw-ring-color:rgb(0 0 0/var(--tw-ring-opacity))}.ring-opacity-5{--tw-ring-opacity:0.05}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes ripple-effect{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.ripple{position:absolute;border-radius:9999px;background-color:currentColor;transform:scale(0);animation:ripple-effect .5s linear;background-color:var(--ripple-color)}.checked\:bg-primary:checked{background-color:var(--color-primary-500)}.hover\:border-base-300:hover{border-color:var(--color-base-300)}.hover\:border-primary-500:hover{border-color:var(--color-primary-500)}.hover\:bg-base-100:hover{background-color:var(--color-base-100)}.hover\:bg-base-300:hover{background-color:var(--color-base-300)}.hover\:bg-base-50:hover{background-color:var(--color-base-50)}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-primary-500:hover{background-color:var(--color-primary-500)}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.hover\:text-base-600:hover{color:var(--color-base-600)}.hover\:text-base-900:hover{color:var(--color-base-900)}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-primary-50:hover{color:var(--color-primary-50)}.hover\:text-primary-500:hover{color:var(--color-primary-500)}.checked\:hover\:bg-primary:hover:checked{background-color:var(--color-primary-500)}.focus\:border-primary-500:focus{border-color:var(--color-primary-500)}.focus\:bg-base-100:focus{background-color:var(--color-base-100)}.focus\:bg-base-50:focus{background-color:var(--color-base-50)}.focus\:bg-gray-200:focus{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.focus\:bg-indigo-700:focus{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity))}.focus\:bg-red-700:focus{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.focus\:shadow-primary:focus{--tw-shadow-color:var(--color-primary-500);--tw-shadow:var(--tw-shadow-colored)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-primary:focus{outline-color:var(--color-primary-500)}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-primary-500:focus,.focus\:ring-primary:focus{--tw-ring-color:var(--color-primary-500)}.checked\:focus\:bg-primary:focus:checked{background-color:var(--color-primary-500)}.disabled\:bg-base-200:disabled{background-color:var(--color-base-200)}.disabled\:bg-white:disabled{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.disabled\:text-base-400:disabled{color:var(--color-base-400)}.disabled\:text-gray-400:disabled{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.disabled\:hover\:bg-base-200:hover:disabled{background-color:var(--color-base-200)}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:start-0{inset-inline-start:0}.peer:placeholder-shown~.peer-placeholder-shown\:start-0{inset-inline-start:0}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:top-1\/2{top:50%}.peer:placeholder-shown~.peer-placeholder-shown\:top-1\/2{top:50%}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:bg-transparent{background-color:transparent}.peer:placeholder-shown~.peer-placeholder-shown\:bg-transparent{background-color:transparent}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:px-1{padding-left:.25rem;padding-right:.25rem}.peer:placeholder-shown~.peer-placeholder-shown\:px-1{padding-left:.25rem;padding-right:.25rem}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:px-2{padding-left:.5rem;padding-right:.5rem}.peer:placeholder-shown~.peer-placeholder-shown\:px-2{padding-left:.5rem;padding-right:.5rem}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.peer:placeholder-shown~.peer-placeholder-shown\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:px-4{padding-left:1rem;padding-right:1rem}.peer:placeholder-shown~.peer-placeholder-shown\:px-4{padding-left:1rem;padding-right:1rem}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:ps-16{padding-inline-start:4rem}.peer:placeholder-shown~.peer-placeholder-shown\:ps-16{padding-inline-start:4rem}.peer:focus~.peer-focus\:start-1{inset-inline-start:.25rem}.peer:focus~.peer-focus\:top-0{top:0}.peer:focus~.peer-focus\:bg-base-800{background-color:var(--color-base-800)}.peer:focus~.peer-focus\:bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.peer:focus~.peer-focus\:px-0{padding-left:0;padding-right:0}.peer:focus~.peer-focus\:px-1{padding-left:.25rem;padding-right:.25rem}@media (min-width:640px){.sm\:fixed{position:fixed}.sm\:inset-y-0{top:0;bottom:0}.sm\:flex{display:flex}.sm\:w-72{width:18rem}.sm\:translate-y-0{--tw-translate-y:0px}.sm\:scale-100,.sm\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.sm\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:flex-col{flex-direction:column}.sm\:pl-72{padding-left:18rem}.sm\:pr-72{padding-right:18rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:fixed{position:fixed}.md\:inset-y-0{top:0;bottom:0}.md\:flex{display:flex}.md\:w-72{width:18rem}.md\:flex-col{flex-direction:column}.md\:pl-72{padding-left:18rem}.md\:pr-72{padding-right:18rem}}@media (min-width:1024px){.lg\:fixed{position:fixed}.lg\:inset-y-0{top:0;bottom:0}.lg\:flex{display:flex}.lg\:w-72{width:18rem}.lg\:w-px{width:1px}.lg\:flex-col{flex-direction:column}.lg\:bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.lg\:pl-72{padding-left:18rem}.lg\:pr-72{padding-right:18rem}}@media (min-width:1280px){.xl\:fixed{position:fixed}.xl\:inset-y-0{top:0;bottom:0}.xl\:flex{display:flex}.xl\:w-72{width:18rem}.xl\:flex-col{flex-direction:column}.xl\:pl-72{padding-left:18rem}.xl\:pr-72{padding-right:18rem}}@media (min-width:1536px){.\32xl\:fixed{position:fixed}.\32xl\:inset-y-0{top:0;bottom:0}.\32xl\:flex{display:flex}.\32xl\:w-72{width:18rem}.\32xl\:flex-col{flex-direction:column}.\32xl\:pl-72{padding-left:18rem}.\32xl\:pr-72{padding-right:18rem}}@media (prefers-color-scheme:dark){.dark\:border-base-500{border-color:var(--color-base-500)}.dark\:border-base-600{border-color:var(--color-base-600)}.dark\:border-base-700{border-color:var(--color-base-700)}.dark\:border-primary-600{border-color:var(--color-primary-600)}.dark\:bg-base-700{background-color:var(--color-base-700)}.dark\:bg-base-800{background-color:var(--color-base-800)}.dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark\:bg-gray-900\/30{background-color:rgba(17,24,39,.3)}.dark\:bg-transparent{background-color:transparent}.dark\:text-base-100{color:var(--color-base-100)}.dark\:text-base-200{color:var(--color-base-200)}.dark\:text-base-300{color:var(--color-base-300)}.dark\:text-base-400{color:var(--color-base-400)}.dark\:text-base-50{color:var(--color-base-50)}.dark\:text-base-500{color:var(--color-base-500)}.dark\:checked\:bg-primary:checked{background-color:var(--color-primary-500)}.dark\:hover\:border-base-600:hover{border-color:var(--color-base-600)}.dark\:hover\:border-primary-500:hover{border-color:var(--color-primary-500)}.dark\:hover\:bg-base-600:hover{background-color:var(--color-base-600)}.dark\:hover\:bg-base-800:hover{background-color:var(--color-base-800)}.dark\:hover\:bg-base-900:hover{background-color:var(--color-base-900)}.dark\:hover\:text-base-200:hover{color:var(--color-base-200)}.dark\:focus\:border-primary-500:focus{border-color:var(--color-primary-500)}.dark\:focus\:bg-base-800:focus{background-color:var(--color-base-800)}.dark\:focus\:outline-primary:focus{outline-color:var(--color-primary-500)}.dark\:focus\:ring-primary-500:focus{--tw-ring-color:var(--color-primary-500)}.dark\:disabled\:border-base-200:disabled{border-color:var(--color-base-200)}.dark\:disabled\:border-base-700:disabled{border-color:var(--color-base-700)}.dark\:disabled\:bg-base-700:disabled{background-color:var(--color-base-700)}.dark\:disabled\:text-base-500:disabled{color:var(--color-base-500)}.dark\:disabled\:hover\:border-base-200:hover:disabled{border-color:var(--color-base-200)}.dark\:disabled\:hover\:border-base-700:hover:disabled{border-color:var(--color-base-700)}.dark\:disabled\:hover\:bg-base-700:hover:disabled{background-color:var(--color-base-700)}}
@@ -1,136 +1,87 @@
1
- <script module lang="ts">
2
- export type ButtonAppearanceType =
3
- | 'none'
4
- | 'primary'
5
- | 'base'
6
- | 'border'
7
- | 'border-base'
8
- | 'border-primary';
1
+ <script module lang="ts"></script>
9
2
 
10
- export type ButtonSizeType = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
11
-
12
- export type ButtonPropsType = {
13
- id?: string;
14
- type?: 'button' | 'submit' | 'reset';
15
- appearance?: ButtonAppearanceType;
16
- size?: ButtonSizeType;
17
- form?: string | null;
18
- className?: string;
19
- iconPath?: string;
20
- iconClassName?: string;
21
- label?: string;
22
- rightIconPath?: string;
23
- rightIconClassName?: string;
24
- spinner?: boolean;
25
- disabled?: boolean;
26
- spinnerClassName?: string;
27
- onlySpinner?: boolean;
28
- children?: Snippet;
29
- hasRipple?: boolean;
30
- rippleColor?: string | 'light' | 'dark';
31
- url?: string;
32
- target?: string;
33
- hasOpenInNew?: boolean;
34
- openInNewIconClassName?: string;
35
- openInNewIcon?: string;
36
- onClick?: (ev: MouseEvent) => void;
37
- onDblClick?: (ev: MouseEvent) => void;
38
- onContextMenu?: (ev: MouseEvent) => void;
39
- onDrop?: (ev: DragEvent) => void;
40
- onDragStart?: (ev: DragEvent) => void;
41
- onDragEnd?: (ev: DragEvent) => void;
42
- onDragEnter?: (ev: DragEvent) => void;
43
- onDragLeave?: (ev: DragEvent) => void;
44
- onDragOver?: (ev: DragEvent) => void;
45
- };
46
- </script>
47
-
48
- <script lang="ts">
49
- import { ripple, type RipplePropsType } from '../../../../../actions/ripple.js';
50
- import { Icon, mdiOpenInNew } from '../../../icon';
51
- import { Spinner } from '../../../spinner';
52
- import type { Snippet } from 'svelte';
53
- import '../../../../../tailwind.css';
54
-
55
- let {
56
- appearance = 'none',
57
- id = '',
58
- form = undefined,
59
- type = 'button',
60
- label = '',
61
- className = '',
62
- iconPath = '',
63
- iconClassName = '',
64
- rightIconPath = '',
65
- rightIconClassName = '',
66
- spinner = false,
67
- disabled = false,
68
- size = 'md',
69
- spinnerClassName = '',
70
- onlySpinner = false,
71
- children,
72
- hasRipple = true,
73
- rippleColor,
74
- onClick = (ev: MouseEvent) => {},
75
- url,
76
- target,
77
- hasOpenInNew,
78
- openInNewIconClassName,
79
- openInNewIcon = mdiOpenInNew,
80
- onDblClick,
81
- onContextMenu,
82
- onDrop,
83
- onDragStart,
84
- onDragEnd,
85
- onDragEnter,
86
- onDragLeave,
87
- onDragOver
88
- }: ButtonPropsType = $props();
89
-
90
- let btnAppearanceClassName = $derived.by(() => {
91
- switch (appearance) {
92
- case 'none':
93
- return 'text-base-800 dark:text-base-300 hover:text-base-900 disabled:text-base-400 dark:disabled:text-base-500 dark:hover:text-base-200';
94
- case 'base':
95
- return 'text-base-800 dark:text-base-300 hover:text-base-900 disabled:text-base-400 dark:disabled:text-base-500 dark:hover:text-base-200 bg-base-200 dark:bg-base-700 hover:bg-base-300 dark:hover:bg-base-600 disabled:hover:bg-base-200 dark:disabled:hover:bg-base-700 ';
96
- case 'primary':
97
- return 'text-primary-100 hover:text-primary-50 bg-primary-600 hover:bg-primary-500 disabled:text-base-400 dark:disabled:text-base-500 disabled:bg-base-200 dark:disabled:bg-base-700 disabled:hover:bg-base-200 dark:disabled:hover:bg-base-700 ';
98
- case 'border':
99
- case 'border-base':
100
- return 'border-2 text-base-800 dark:text-base-300 hover:text-base-900 disabled:text-base-400 dark:disabled:text-base-500 dark:hover:text-base-200 border-base-200 hover:border-base-300 dark:border-base-700 dark:hover:border-base-600 dark:disabled:border-base-200 dark:disabled:hover:border-base-200 dark:disabled:border-base-700 dark:disabled:hover:border-base-700 ';
101
- case 'border-primary':
102
- return 'border-2 text-primary hover:text-primary-500 disabled:text-base-400 dark:disabled:text-base-500 border-primary hover:border-primary-500 dark:border-primary-600 dark:hover:border-primary-500 dark:disabled:border-base-200 dark:disabled:hover:border-base-200 dark:disabled:border-base-700 dark:disabled:hover:border-base-700 ';
103
- }
104
- });
105
-
106
- let btnSizeClassName = $derived.by(() => {
107
- switch (size) {
108
- case 'none':
109
- return '';
110
- case 'xs':
111
- return 'px-1 py-0 text-xs';
112
- case 'sm':
113
- return 'px-3 py-1 text-sm';
114
- case 'md':
115
- return 'px-4 py-2';
116
- case 'lg':
117
- return 'px-6 py-3 text-lg';
118
- case 'xl':
119
- return 'px-8 py-4 text-xl';
120
- case '2xl':
121
- return 'px-10 py-6 text-2xl';
122
- }
123
- });
124
-
125
- function handleRipple(node: HTMLElement, options?: RipplePropsType) {
126
- if (hasRipple) {
127
- options = options || { color: rippleColor };
128
- return ripple(node, options);
129
- }
130
- return {
131
- destroy() {}
132
- };
133
- }
3
+ <script lang="ts">import { ripple } from "../../../../../actions/ripple.js";
4
+ import { Icon, mdiOpenInNew } from "../../../icon";
5
+ import { Spinner } from "../../../spinner";
6
+ import "../../../../../tailwind.css";
7
+ let {
8
+ appearance = "none",
9
+ id = "",
10
+ form = void 0,
11
+ type = "button",
12
+ label = "",
13
+ className = "",
14
+ iconPath = "",
15
+ iconClassName = "",
16
+ rightIconPath = "",
17
+ rightIconClassName = "",
18
+ spinner = false,
19
+ disabled = false,
20
+ size = "md",
21
+ spinnerClassName = "",
22
+ onlySpinner = false,
23
+ children,
24
+ hasRipple = true,
25
+ rippleColor,
26
+ onClick = (ev) => {
27
+ },
28
+ url,
29
+ target,
30
+ hasOpenInNew,
31
+ openInNewIconClassName,
32
+ openInNewIcon = mdiOpenInNew,
33
+ onDblClick,
34
+ onContextMenu,
35
+ onDrop,
36
+ onDragStart,
37
+ onDragEnd,
38
+ onDragEnter,
39
+ onDragLeave,
40
+ onDragOver
41
+ } = $props();
42
+ let btnAppearanceClassName = $derived.by(() => {
43
+ switch (appearance) {
44
+ case "none":
45
+ return "text-base-800 dark:text-base-300 hover:text-base-900 disabled:text-base-400 dark:disabled:text-base-500 dark:hover:text-base-200";
46
+ case "base":
47
+ return "text-base-800 dark:text-base-300 hover:text-base-900 disabled:text-base-400 dark:disabled:text-base-500 dark:hover:text-base-200 bg-base-200 dark:bg-base-700 hover:bg-base-300 dark:hover:bg-base-600 disabled:hover:bg-base-200 dark:disabled:hover:bg-base-700 ";
48
+ case "primary":
49
+ return "text-primary-100 hover:text-primary-50 bg-primary-600 hover:bg-primary-500 disabled:text-base-400 dark:disabled:text-base-500 disabled:bg-base-200 dark:disabled:bg-base-700 disabled:hover:bg-base-200 dark:disabled:hover:bg-base-700 ";
50
+ case "border":
51
+ case "border-base":
52
+ return "border-2 text-base-800 dark:text-base-300 hover:text-base-900 disabled:text-base-400 dark:disabled:text-base-500 dark:hover:text-base-200 border-base-200 hover:border-base-300 dark:border-base-700 dark:hover:border-base-600 dark:disabled:border-base-200 dark:disabled:hover:border-base-200 dark:disabled:border-base-700 dark:disabled:hover:border-base-700 ";
53
+ case "border-primary":
54
+ return "border-2 text-primary hover:text-primary-500 disabled:text-base-400 dark:disabled:text-base-500 border-primary hover:border-primary-500 dark:border-primary-600 dark:hover:border-primary-500 dark:disabled:border-base-200 dark:disabled:hover:border-base-200 dark:disabled:border-base-700 dark:disabled:hover:border-base-700 ";
55
+ }
56
+ });
57
+ let btnSizeClassName = $derived.by(() => {
58
+ switch (size) {
59
+ case "none":
60
+ return "";
61
+ case "xs":
62
+ return "px-1 py-0 text-xs";
63
+ case "sm":
64
+ return "px-3 py-1 text-sm";
65
+ case "md":
66
+ return "px-4 py-2";
67
+ case "lg":
68
+ return "px-6 py-3 text-lg";
69
+ case "xl":
70
+ return "px-8 py-4 text-xl";
71
+ case "2xl":
72
+ return "px-10 py-6 text-2xl";
73
+ }
74
+ });
75
+ function handleRipple(node, options) {
76
+ if (hasRipple) {
77
+ options = options || { color: rippleColor };
78
+ return ripple(node, options);
79
+ }
80
+ return {
81
+ destroy() {
82
+ }
83
+ };
84
+ }
134
85
  </script>
135
86
 
136
87
  {#snippet buttonContent()}
@@ -195,7 +146,7 @@
195
146
  ondragover={onDragOver}
196
147
  >
197
148
  {#if children}
198
- {@render children()}
149
+ {@render children?.()}
199
150
  {:else}
200
151
  {@render buttonContent()}
201
152
  {/if}
@@ -1,10 +1,11 @@
1
- export type ButtonAppearanceType = 'none' | 'primary' | 'base' | 'border' | 'border-base' | 'border-primary';
2
- export type ButtonSizeType = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
3
- export type ButtonPropsType = {
1
+ export type ButtonAppearance = 'none' | 'primary' | 'base' | 'border' | 'border-base' | 'border-primary';
2
+ export type ButtonSize = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
3
+ export type ButtonType = 'button' | 'submit' | 'reset';
4
+ export type ButtonProps = {
4
5
  id?: string;
5
- type?: 'button' | 'submit' | 'reset';
6
- appearance?: ButtonAppearanceType;
7
- size?: ButtonSizeType;
6
+ type?: ButtonType;
7
+ appearance?: ButtonAppearance;
8
+ size?: ButtonSize;
8
9
  form?: string | null;
9
10
  className?: string;
10
11
  iconPath?: string;
@@ -49,7 +50,7 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
49
50
  };
50
51
  z_$$bindings?: Bindings;
51
52
  }
52
- declare const Button: $$__sveltets_2_IsomorphicComponent<ButtonPropsType, {
53
+ declare const Button: $$__sveltets_2_IsomorphicComponent<ButtonProps, {
53
54
  [evt: string]: CustomEvent<any>;
54
55
  }, {}, {}, "">;
55
56
  type Button = InstanceType<typeof Button>;