@masterteam/system-settings 0.0.7 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -0
- package/assets/i18n/ar.json +48 -41
- package/assets/i18n/en.json +7 -0
- package/assets/system-settings.css +2 -2
- package/fesm2022/masterteam-system-settings.mjs +67 -12
- package/fesm2022/masterteam-system-settings.mjs.map +1 -1
- package/package.json +2 -2
- package/types/masterteam-system-settings.d.ts +6 -0
package/README.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# @masterteam/system-settings
|
|
2
|
+
|
|
3
|
+
`mt-system-settings` loads and updates the host's system settings through the
|
|
4
|
+
configured `apiBasePath` (default: `settings`).
|
|
5
|
+
|
|
6
|
+
## Host Cache Contract
|
|
7
|
+
|
|
8
|
+
After a successful `getsystemsettings` response, and again after a successful
|
|
9
|
+
`updatesystemsettings` request, the component stores the complete canonical
|
|
10
|
+
`SystemSetting[]` array in:
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
localStorage['systemSettings.settings']
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Consumers must resolve settings by their `key`; array position is not an
|
|
17
|
+
identity. The Currency value keeps the backend contract unchanged:
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
{
|
|
21
|
+
key: 'Currency',
|
|
22
|
+
label: 'Currency',
|
|
23
|
+
description: 'Currency',
|
|
24
|
+
value: {
|
|
25
|
+
name: 'SAR',
|
|
26
|
+
unit: { en: 'SAR', ar: 'ريال سعودي' },
|
|
27
|
+
format: '{0:#,0.00}',
|
|
28
|
+
},
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The cache is written only after the backend request succeeds. Unavailable or
|
|
33
|
+
blocked browser storage does not convert a successful API operation into a UI
|
|
34
|
+
error.
|
package/assets/i18n/ar.json
CHANGED
|
@@ -27,6 +27,13 @@
|
|
|
27
27
|
"date-format-placeholder": "حدد تنسيق التاريخ.",
|
|
28
28
|
"time-format": "تنسيق الوقت.",
|
|
29
29
|
"time-format-placeholder": "حدد تنسيق الوقت.",
|
|
30
|
+
"format-token-year": "سنة",
|
|
31
|
+
"format-token-month": "شهر",
|
|
32
|
+
"format-token-day": "يوم",
|
|
33
|
+
"format-token-hour": "ساعة",
|
|
34
|
+
"format-token-minute": "دقيقة",
|
|
35
|
+
"format-token-second": "ثانية",
|
|
36
|
+
"format-token-period": "ص/م",
|
|
30
37
|
"currency-title": "العملة.",
|
|
31
38
|
"currency-description": "حدد العملة الافتراضية وتنسيق العرض المستخدم في جميع أنحاء المنتج.",
|
|
32
39
|
"currency": "العملة.",
|
|
@@ -58,46 +65,46 @@
|
|
|
58
65
|
"smtp-password-placeholder": "أدخل كلمة مرور SMTP",
|
|
59
66
|
"saved-successfully": "تم حفظ الإعدادات بنجاح.",
|
|
60
67
|
"no-changes-message": "لا توجد تغييرات لحفظها.",
|
|
61
|
-
"timesheet-policy-title": "
|
|
62
|
-
"timesheet-policy-description": "
|
|
63
|
-
"timesheet-policy-workflow-note": "
|
|
64
|
-
"week-start-day": "
|
|
65
|
-
"week-start-day-placeholder": "
|
|
66
|
-
"allowed-schedule-item-types": "
|
|
67
|
-
"allowed-schedule-item-types-placeholder": "
|
|
68
|
-
"regular-daily-hours": "
|
|
69
|
-
"regular-daily-hours-placeholder": "
|
|
70
|
-
"max-daily-hours": "
|
|
71
|
-
"max-daily-hours-placeholder": "
|
|
72
|
-
"past-entry-lock-days": "
|
|
73
|
-
"past-entry-lock-days-placeholder": "
|
|
74
|
-
"rate-source": "
|
|
75
|
-
"rate-source-placeholder": "
|
|
76
|
-
"generation-enabled": "
|
|
77
|
-
"manual-generation-enabled": "
|
|
78
|
-
"allow-overtime": "
|
|
79
|
-
"require-overtime-reason": "
|
|
80
|
-
"require-description": "
|
|
81
|
-
"allow-future-entry": "
|
|
82
|
-
"assigned-items-only": "
|
|
83
|
-
"allow-zero-hour-submit": "
|
|
84
|
-
"cost-enabled": "
|
|
85
|
-
"schedule-item-task": "
|
|
86
|
-
"schedule-item-milestone": "
|
|
87
|
-
"schedule-item-deliverable": "
|
|
88
|
-
"rate-source-user-hourly-rate": "
|
|
89
|
-
"rate-source-none": "
|
|
90
|
-
"global-working-hours-title": "
|
|
91
|
-
"global-working-hours-description": "
|
|
92
|
-
"global-timezone": "
|
|
93
|
-
"global-timezone-placeholder": "
|
|
94
|
-
"work-day-start": "
|
|
95
|
-
"work-day-start-placeholder": "
|
|
96
|
-
"work-day-end": "
|
|
97
|
-
"work-day-end-placeholder": "
|
|
98
|
-
"working-days": "
|
|
99
|
-
"working-days-placeholder": "
|
|
100
|
-
"global-holidays": "
|
|
101
|
-
"global-holidays-placeholder": "YYYY-MM-DD
|
|
68
|
+
"timesheet-policy-title": "سياسة الجداول الزمنية",
|
|
69
|
+
"timesheet-policy-description": "اضبط سلوك التحقق والإنشاء للجداول الزمنية. تتم إدارة الموافقة دائمًا عبر منشئ العمليات (Process Builder).",
|
|
70
|
+
"timesheet-policy-workflow-note": "تُضبط الموافقة في منشئ العمليات (Process Builder). تتحكم هذه الصفحة في التحقق والإنشاء فقط.",
|
|
71
|
+
"week-start-day": "يوم بداية الأسبوع",
|
|
72
|
+
"week-start-day-placeholder": "حدد يوم بداية الأسبوع",
|
|
73
|
+
"allowed-schedule-item-types": "أنواع عناصر الجدول المسموح بها",
|
|
74
|
+
"allowed-schedule-item-types-placeholder": "حدد أنواع العناصر",
|
|
75
|
+
"regular-daily-hours": "ساعات العمل اليومية المعتادة",
|
|
76
|
+
"regular-daily-hours-placeholder": "أدخل ساعات العمل اليومية المعتادة",
|
|
77
|
+
"max-daily-hours": "الحد الأقصى للساعات اليومية",
|
|
78
|
+
"max-daily-hours-placeholder": "أدخل الحد الأقصى للساعات اليومية",
|
|
79
|
+
"past-entry-lock-days": "أيام قفل الإدخالات السابقة",
|
|
80
|
+
"past-entry-lock-days-placeholder": "اتركه فارغًا لعدم القفل",
|
|
81
|
+
"rate-source": "مصدر المعدل",
|
|
82
|
+
"rate-source-placeholder": "حدد مصدر المعدل",
|
|
83
|
+
"generation-enabled": "تفعيل الإنشاء",
|
|
84
|
+
"manual-generation-enabled": "تفعيل الإنشاء اليدوي",
|
|
85
|
+
"allow-overtime": "السماح بالعمل الإضافي",
|
|
86
|
+
"require-overtime-reason": "طلب سبب العمل الإضافي",
|
|
87
|
+
"require-description": "طلب الوصف",
|
|
88
|
+
"allow-future-entry": "السماح بالإدخالات المستقبلية",
|
|
89
|
+
"assigned-items-only": "العناصر المُسندة فقط",
|
|
90
|
+
"allow-zero-hour-submit": "السماح بالإرسال بصفر ساعة",
|
|
91
|
+
"cost-enabled": "تفعيل التكلفة",
|
|
92
|
+
"schedule-item-task": "مهمة",
|
|
93
|
+
"schedule-item-milestone": "معلم رئيسي",
|
|
94
|
+
"schedule-item-deliverable": "مُخرَج",
|
|
95
|
+
"rate-source-user-hourly-rate": "المعدل بالساعة للمستخدم",
|
|
96
|
+
"rate-source-none": "بدون",
|
|
97
|
+
"global-working-hours-title": "ساعات العمل العامة",
|
|
98
|
+
"global-working-hours-description": "اضبط تقويم العمل الموروث على مستوى المؤسسة المستخدم عندما لا يكون للسجل تجاوز خاص به.",
|
|
99
|
+
"global-timezone": "المنطقة الزمنية",
|
|
100
|
+
"global-timezone-placeholder": "حدد المنطقة الزمنية",
|
|
101
|
+
"work-day-start": "بداية يوم العمل",
|
|
102
|
+
"work-day-start-placeholder": "حدد وقت البداية",
|
|
103
|
+
"work-day-end": "نهاية يوم العمل",
|
|
104
|
+
"work-day-end-placeholder": "حدد وقت الانتهاء",
|
|
105
|
+
"working-days": "أيام العمل",
|
|
106
|
+
"working-days-placeholder": "حدد أيام العمل",
|
|
107
|
+
"global-holidays": "تواريخ العطلات",
|
|
108
|
+
"global-holidays-placeholder": "تواريخ بصيغة YYYY-MM-DD مفصولة بفواصل"
|
|
102
109
|
}
|
|
103
110
|
}
|
package/assets/i18n/en.json
CHANGED
|
@@ -27,6 +27,13 @@
|
|
|
27
27
|
"date-format-placeholder": "Select date format",
|
|
28
28
|
"time-format": "Time Format",
|
|
29
29
|
"time-format-placeholder": "Select time format",
|
|
30
|
+
"format-token-year": "Year",
|
|
31
|
+
"format-token-month": "Month",
|
|
32
|
+
"format-token-day": "Day",
|
|
33
|
+
"format-token-hour": "Hour",
|
|
34
|
+
"format-token-minute": "Minute",
|
|
35
|
+
"format-token-second": "Second",
|
|
36
|
+
"format-token-period": "AM/PM",
|
|
30
37
|
"currency-title": "Currency",
|
|
31
38
|
"currency-description": "Set the default currency and display format used across the product.",
|
|
32
39
|
"currency": "Currency",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-800:oklch(47.3% .137 46.201);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-800:oklch(44.3% .11 240.79);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-semibold:600;--font-weight-bold:700;--radius-lg:.5rem;--radius-xl:.75rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!absolute{position:absolute!important}.mx-1{margin-inline:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.\!w-\[30rem\]{width:30rem!important}.flex-col{flex-direction:column}.justify-start{justify-content:flex-start}.gap-1{gap:var(--spacing)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-neutral-300{border-color:var(--color-neutral-300)}.border-red-200{border-color:var(--color-red-200)}.border-sky-200{border-color:var(--color-sky-200)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-neutral-50{background-color:var(--color-neutral-50)}.bg-red-50{background-color:var(--color-red-50)}.bg-sky-50{background-color:var(--color-sky-50)}.p-3{padding:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-amber-800{color:var(--color-amber-800)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-900{color:var(--color-neutral-900)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-sky-800{color:var(--color-sky-800)}.\!shadow-none{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}}@media (min-width:80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}@keyframes enter{0%{opacity:var(--p-enter-opacity,1);transform:translate3d(var(--p-enter-translate-x,0), var(--p-enter-translate-y,0), 0) scale3d(var(--p-enter-scale,1), var(--p-enter-scale,1), var(--p-enter-scale,1)) rotate(var(--p-enter-rotate,0))}}@keyframes leave{to{opacity:var(--p-leave-opacity,1);transform:translate3d(var(--p-leave-translate-x,0), var(--p-leave-translate-y,0), 0) scale3d(var(--p-leave-scale,1), var(--p-leave-scale,1), var(--p-leave-scale,1)) rotate(var(--p-leave-rotate,0))}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
|
|
1
|
+
/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-600:oklch(57.7% .245 27.325);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-800:oklch(44.3% .11 240.79);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-semibold:600;--font-weight-bold:700;--radius-lg:.5rem;--radius-xl:.75rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!absolute{position:absolute!important}.mx-1{margin-inline:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.\!w-\[30rem\]{width:30rem!important}.flex-col{flex-direction:column}.justify-start{justify-content:flex-start}.gap-1{gap:var(--spacing)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-neutral-300{border-color:var(--color-neutral-300)}.border-sky-200{border-color:var(--color-sky-200)}.bg-neutral-50{background-color:var(--color-neutral-50)}.bg-sky-50{background-color:var(--color-sky-50)}.p-3{padding:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-neutral-600{color:var(--color-neutral-600)}.text-neutral-900{color:var(--color-neutral-900)}.text-red-600{color:var(--color-red-600)}.text-sky-800{color:var(--color-sky-800)}.\!shadow-none{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}}@media (min-width:80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}@keyframes enter{0%{opacity:var(--p-enter-opacity,1);transform:translate3d(var(--p-enter-translate-x,0), var(--p-enter-translate-y,0), 0) scale3d(var(--p-enter-scale,1), var(--p-enter-scale,1), var(--p-enter-scale,1)) rotate(var(--p-enter-rotate,0))}}@keyframes leave{to{opacity:var(--p-leave-opacity,1);transform:translate3d(var(--p-leave-translate-x,0), var(--p-leave-translate-y,0), 0) scale3d(var(--p-leave-scale,1), var(--p-leave-scale,1), var(--p-leave-scale,1)) rotate(var(--p-leave-rotate,0))}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
|