lua-cli 3.0.2 → 3.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/job.api.service.d.ts +3 -1
- package/dist/api/job.api.service.js +7 -2
- package/dist/api/logs.api.service.d.ts +11 -13
- package/dist/api/logs.api.service.js +20 -17
- package/dist/api/user.data.api.service.d.ts +1 -1
- package/dist/api/user.data.api.service.js +13 -4
- package/dist/api-exports.d.ts +1 -1
- package/dist/api-exports.js +2 -2
- package/dist/commands/logs.js +128 -68
- package/dist/commands/persona.js +9 -4
- package/dist/common/job.instance.js +1 -3
- package/dist/common/user.instance.d.ts +5 -2
- package/dist/common/user.instance.js +54 -20
- package/dist/interfaces/index.d.ts +5 -4
- package/dist/interfaces/user.d.ts +19 -0
- package/dist/interfaces/user.js +1 -0
- package/dist/web/app.css +358 -0
- package/dist/web/app.js +3 -3
- package/package.json +1 -1
- package/template/package.json +1 -1
|
@@ -8,17 +8,34 @@ export default class UserDataInstance {
|
|
|
8
8
|
* Creates a new UserDataInstance with proxy support for direct property access
|
|
9
9
|
* @param api - The UserDataAPI instance for making API calls
|
|
10
10
|
* @param data - The user data from the API
|
|
11
|
+
* @param profile - The immutable user profile data
|
|
11
12
|
* @returns Proxied instance that allows direct access to data properties
|
|
12
13
|
*/
|
|
13
|
-
constructor(api, data) {
|
|
14
|
+
constructor(api, data, profile) {
|
|
14
15
|
// Ensure data is always an object, never null or undefined
|
|
15
|
-
this.data = data && typeof data ===
|
|
16
|
+
this.data = data && typeof data === "object" ? data : {};
|
|
16
17
|
// Make userAPI non-enumerable so it doesn't show up in console.log
|
|
17
|
-
Object.defineProperty(this,
|
|
18
|
+
Object.defineProperty(this, "userAPI", {
|
|
18
19
|
value: api,
|
|
19
20
|
writable: true,
|
|
20
21
|
enumerable: false,
|
|
21
|
-
configurable: true
|
|
22
|
+
configurable: true,
|
|
23
|
+
});
|
|
24
|
+
// Make _luaProfile non-enumerable and immutable
|
|
25
|
+
Object.defineProperty(this, "_luaProfile", {
|
|
26
|
+
get() {
|
|
27
|
+
return (profile || {
|
|
28
|
+
userId: "",
|
|
29
|
+
fullName: "",
|
|
30
|
+
mobileNumbers: [],
|
|
31
|
+
emailAddresses: [],
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
set(_) {
|
|
35
|
+
// silently ignore any attempts to modify
|
|
36
|
+
},
|
|
37
|
+
enumerable: false,
|
|
38
|
+
configurable: false,
|
|
22
39
|
});
|
|
23
40
|
// Return a proxy that allows direct property access
|
|
24
41
|
return new Proxy(this, {
|
|
@@ -28,21 +45,31 @@ export default class UserDataInstance {
|
|
|
28
45
|
return Reflect.get(target, prop, receiver);
|
|
29
46
|
}
|
|
30
47
|
// Otherwise, try to get it from the data object (with null check)
|
|
31
|
-
if (typeof prop ===
|
|
48
|
+
if (typeof prop === "string" &&
|
|
49
|
+
target.data &&
|
|
50
|
+
typeof target.data === "object" &&
|
|
51
|
+
prop in target.data) {
|
|
32
52
|
return target.data[prop];
|
|
33
53
|
}
|
|
34
54
|
return undefined;
|
|
35
55
|
},
|
|
36
56
|
set(target, prop, value, receiver) {
|
|
37
57
|
// Reserved properties that should be set on the instance itself
|
|
38
|
-
const reservedProps = [
|
|
39
|
-
|
|
58
|
+
const reservedProps = [
|
|
59
|
+
"data",
|
|
60
|
+
"userAPI",
|
|
61
|
+
"update",
|
|
62
|
+
"clear",
|
|
63
|
+
"toJSON",
|
|
64
|
+
"_luaProfile",
|
|
65
|
+
];
|
|
66
|
+
if (typeof prop === "string" && reservedProps.includes(prop)) {
|
|
40
67
|
return Reflect.set(target, prop, value, receiver);
|
|
41
68
|
}
|
|
42
69
|
// All other properties get set on the data object
|
|
43
|
-
if (typeof prop ===
|
|
70
|
+
if (typeof prop === "string") {
|
|
44
71
|
// Initialize data object if it doesn't exist
|
|
45
|
-
if (!target.data || typeof target.data !==
|
|
72
|
+
if (!target.data || typeof target.data !== "object") {
|
|
46
73
|
target.data = {};
|
|
47
74
|
}
|
|
48
75
|
target.data[prop] = value;
|
|
@@ -55,7 +82,9 @@ export default class UserDataInstance {
|
|
|
55
82
|
if (prop in target) {
|
|
56
83
|
return true;
|
|
57
84
|
}
|
|
58
|
-
if (typeof prop ===
|
|
85
|
+
if (typeof prop === "string" &&
|
|
86
|
+
target.data &&
|
|
87
|
+
typeof target.data === "object") {
|
|
59
88
|
return prop in target.data;
|
|
60
89
|
}
|
|
61
90
|
return false;
|
|
@@ -63,7 +92,9 @@ export default class UserDataInstance {
|
|
|
63
92
|
ownKeys(target) {
|
|
64
93
|
// Return both instance keys and data keys (with null check)
|
|
65
94
|
const instanceKeys = Reflect.ownKeys(target);
|
|
66
|
-
const dataKeys = target.data && typeof target.data ===
|
|
95
|
+
const dataKeys = target.data && typeof target.data === "object"
|
|
96
|
+
? Object.keys(target.data)
|
|
97
|
+
: [];
|
|
67
98
|
return [...new Set([...instanceKeys, ...dataKeys])];
|
|
68
99
|
},
|
|
69
100
|
getOwnPropertyDescriptor(target, prop) {
|
|
@@ -73,16 +104,19 @@ export default class UserDataInstance {
|
|
|
73
104
|
return instanceDesc;
|
|
74
105
|
}
|
|
75
106
|
// Then check if it's a data property (with null check)
|
|
76
|
-
if (typeof prop ===
|
|
107
|
+
if (typeof prop === "string" &&
|
|
108
|
+
target.data &&
|
|
109
|
+
typeof target.data === "object" &&
|
|
110
|
+
prop in target.data) {
|
|
77
111
|
return {
|
|
78
112
|
configurable: true,
|
|
79
113
|
enumerable: true,
|
|
80
114
|
writable: true,
|
|
81
|
-
value: target.data[prop]
|
|
115
|
+
value: target.data[prop],
|
|
82
116
|
};
|
|
83
117
|
}
|
|
84
118
|
return undefined;
|
|
85
|
-
}
|
|
119
|
+
},
|
|
86
120
|
});
|
|
87
121
|
}
|
|
88
122
|
/**
|
|
@@ -96,7 +130,7 @@ export default class UserDataInstance {
|
|
|
96
130
|
* Custom inspect method for Node.js console.log
|
|
97
131
|
* @returns Formatted user data for console output
|
|
98
132
|
*/
|
|
99
|
-
[Symbol.for(
|
|
133
|
+
[Symbol.for("nodejs.util.inspect.custom")]() {
|
|
100
134
|
return this.data;
|
|
101
135
|
}
|
|
102
136
|
/**
|
|
@@ -112,7 +146,7 @@ export default class UserDataInstance {
|
|
|
112
146
|
return this.data;
|
|
113
147
|
}
|
|
114
148
|
catch (error) {
|
|
115
|
-
throw new Error(
|
|
149
|
+
throw new Error("Failed to update user data");
|
|
116
150
|
}
|
|
117
151
|
}
|
|
118
152
|
/**
|
|
@@ -126,7 +160,7 @@ export default class UserDataInstance {
|
|
|
126
160
|
return true;
|
|
127
161
|
}
|
|
128
162
|
catch (error) {
|
|
129
|
-
throw new Error(
|
|
163
|
+
throw new Error("Failed to clear user data");
|
|
130
164
|
}
|
|
131
165
|
}
|
|
132
166
|
/**
|
|
@@ -140,7 +174,7 @@ export default class UserDataInstance {
|
|
|
140
174
|
return true;
|
|
141
175
|
}
|
|
142
176
|
catch (error) {
|
|
143
|
-
throw new Error(
|
|
177
|
+
throw new Error("Failed to save user data");
|
|
144
178
|
}
|
|
145
179
|
}
|
|
146
180
|
/**
|
|
@@ -155,7 +189,7 @@ export default class UserDataInstance {
|
|
|
155
189
|
return true;
|
|
156
190
|
}
|
|
157
191
|
catch (error) {
|
|
158
|
-
throw new Error(
|
|
192
|
+
throw new Error("Failed to send message");
|
|
159
193
|
}
|
|
160
194
|
}
|
|
161
195
|
//get chat history
|
|
@@ -164,7 +198,7 @@ export default class UserDataInstance {
|
|
|
164
198
|
return await this.userAPI.getChatHistory();
|
|
165
199
|
}
|
|
166
200
|
catch (error) {
|
|
167
|
-
throw new Error(
|
|
201
|
+
throw new Error("Failed to get chat history");
|
|
168
202
|
}
|
|
169
203
|
}
|
|
170
204
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* This file serves as the main entry point for all interface definitions.
|
|
5
5
|
* It re-exports interfaces and DTOs from various modules for convenient importing.
|
|
6
6
|
*/
|
|
7
|
-
export { CreateWebhookDTO, PushWebhookVersionDTO, UpdateWebhookVersionDTO, WebhookVersion, Webhook, GetWebhooksResponse, DeleteWebhookResponse, CreateWebhookResponse, PushWebhookVersionResponse, } from
|
|
8
|
-
export { CreateJobDTO, PushJobVersionDTO, UpdateJobVersionDTO, JobSchedule, JobScheduleType, JobRetryConfig, JobVersion, JobExecutionStatus, JobExecution, JobStatus, Job, GetJobsResponse, DeleteJobResponse, CreateJobResponse, PushJobVersionResponse, JobExecutionResponse, GetJobExecutionsResponse, } from
|
|
9
|
-
export { ApiResponse, Pagination
|
|
10
|
-
export { SkillTool, SkillVersion, Skill, GetSkillsResponse, DeleteSkillResponse, } from
|
|
7
|
+
export { CreateWebhookDTO, PushWebhookVersionDTO, UpdateWebhookVersionDTO, WebhookVersion, Webhook, GetWebhooksResponse, DeleteWebhookResponse, CreateWebhookResponse, PushWebhookVersionResponse, } from "./webhooks.js";
|
|
8
|
+
export { CreateJobDTO, PushJobVersionDTO, UpdateJobVersionDTO, JobSchedule, JobScheduleType, JobRetryConfig, JobVersion, JobExecutionStatus, JobExecution, JobStatus, Job, GetJobsResponse, DeleteJobResponse, CreateJobResponse, PushJobVersionResponse, JobExecutionResponse, GetJobExecutionsResponse, } from "./jobs.js";
|
|
9
|
+
export { ApiResponse, Pagination } from "./common.js";
|
|
10
|
+
export { SkillTool, SkillVersion, Skill, GetSkillsResponse, DeleteSkillResponse, } from "./skills.js";
|
|
11
|
+
export { ImmutableUserProfile, UserAgentData } from "./user.js";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Immutable user profile information from Lua's user database
|
|
3
|
+
*/
|
|
4
|
+
export interface ImmutableUserProfile {
|
|
5
|
+
userId: string;
|
|
6
|
+
fullName: string;
|
|
7
|
+
mobileNumbers: string[];
|
|
8
|
+
emailAddresses: string[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Base user agent data structure
|
|
12
|
+
*/
|
|
13
|
+
export interface UserAgentData extends Record<string, any> {
|
|
14
|
+
/**
|
|
15
|
+
* @deprecated Use `user._luaProfile.userId` instead. This property is kept for backwards compatibility and will be removed in a future version.
|
|
16
|
+
* Note: This refers only to the Lua userId. If you use a custom `userId` property in your app that is not the Lua user ID, ignore this deprecation notice.
|
|
17
|
+
*/
|
|
18
|
+
userId?: string;
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/web/app.css
CHANGED
|
@@ -1,6 +1,364 @@
|
|
|
1
1
|
/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */
|
|
2
2
|
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Onest:wght@400;500;600;700&display=swap') layer(base);
|
|
3
3
|
@layer properties;
|
|
4
|
+
#lua-root .rdp-root {
|
|
5
|
+
--rdp-accent-color: blue;
|
|
6
|
+
--rdp-accent-background-color: #f0f0ff;
|
|
7
|
+
--rdp-day-height: 44px;
|
|
8
|
+
--rdp-day-width: 44px;
|
|
9
|
+
--rdp-day_button-border-radius: 100%;
|
|
10
|
+
--rdp-day_button-border: 2px solid transparent;
|
|
11
|
+
--rdp-day_button-height: 42px;
|
|
12
|
+
--rdp-day_button-width: 42px;
|
|
13
|
+
--rdp-selected-border: 2px solid var(--rdp-accent-color);
|
|
14
|
+
--rdp-disabled-opacity: 0.5;
|
|
15
|
+
--rdp-outside-opacity: 0.75;
|
|
16
|
+
--rdp-today-color: var(--rdp-accent-color);
|
|
17
|
+
--rdp-dropdown-gap: 0.5rem;
|
|
18
|
+
--rdp-months-gap: 2rem;
|
|
19
|
+
--rdp-nav_button-disabled-opacity: 0.5;
|
|
20
|
+
--rdp-nav_button-height: 2.25rem;
|
|
21
|
+
--rdp-nav_button-width: 2.25rem;
|
|
22
|
+
--rdp-nav-height: 2.75rem;
|
|
23
|
+
--rdp-range_middle-background-color: var(--rdp-accent-background-color);
|
|
24
|
+
--rdp-range_middle-color: inherit;
|
|
25
|
+
--rdp-range_start-color: white;
|
|
26
|
+
--rdp-range_start-background: linear-gradient(
|
|
27
|
+
var(--rdp-gradient-direction),
|
|
28
|
+
transparent 50%,
|
|
29
|
+
var(--rdp-range_middle-background-color) 50%
|
|
30
|
+
);
|
|
31
|
+
--rdp-range_start-date-background-color: var(--rdp-accent-color);
|
|
32
|
+
--rdp-range_end-background: linear-gradient(
|
|
33
|
+
var(--rdp-gradient-direction),
|
|
34
|
+
var(--rdp-range_middle-background-color) 50%,
|
|
35
|
+
transparent 50%
|
|
36
|
+
);
|
|
37
|
+
--rdp-range_end-color: white;
|
|
38
|
+
--rdp-range_end-date-background-color: var(--rdp-accent-color);
|
|
39
|
+
--rdp-week_number-border-radius: 100%;
|
|
40
|
+
--rdp-week_number-border: 2px solid transparent;
|
|
41
|
+
--rdp-week_number-height: var(--rdp-day-height);
|
|
42
|
+
--rdp-week_number-opacity: 0.75;
|
|
43
|
+
--rdp-week_number-width: var(--rdp-day-width);
|
|
44
|
+
--rdp-weeknumber-text-align: center;
|
|
45
|
+
--rdp-weekday-opacity: 0.75;
|
|
46
|
+
--rdp-weekday-padding: 0.5rem 0rem;
|
|
47
|
+
--rdp-weekday-text-align: center;
|
|
48
|
+
--rdp-gradient-direction: 90deg;
|
|
49
|
+
--rdp-animation_duration: 0.3s;
|
|
50
|
+
--rdp-animation_timing: cubic-bezier(0.4, 0, 0.2, 1);
|
|
51
|
+
}
|
|
52
|
+
#lua-root .rdp-root[dir="rtl"] {
|
|
53
|
+
--rdp-gradient-direction: -90deg;
|
|
54
|
+
}
|
|
55
|
+
#lua-root .rdp-root[data-broadcast-calendar="true"] {
|
|
56
|
+
--rdp-outside-opacity: unset;
|
|
57
|
+
}
|
|
58
|
+
#lua-root .rdp-root {
|
|
59
|
+
position: relative;
|
|
60
|
+
box-sizing: border-box;
|
|
61
|
+
}
|
|
62
|
+
#lua-root .rdp-root * {
|
|
63
|
+
box-sizing: border-box;
|
|
64
|
+
}
|
|
65
|
+
#lua-root .rdp-day {
|
|
66
|
+
width: var(--rdp-day-width);
|
|
67
|
+
height: var(--rdp-day-height);
|
|
68
|
+
text-align: center;
|
|
69
|
+
}
|
|
70
|
+
#lua-root .rdp-day_button {
|
|
71
|
+
background: none;
|
|
72
|
+
padding: 0;
|
|
73
|
+
margin: 0;
|
|
74
|
+
cursor: pointer;
|
|
75
|
+
font: inherit;
|
|
76
|
+
color: inherit;
|
|
77
|
+
justify-content: center;
|
|
78
|
+
align-items: center;
|
|
79
|
+
display: flex;
|
|
80
|
+
width: var(--rdp-day_button-width);
|
|
81
|
+
height: var(--rdp-day_button-height);
|
|
82
|
+
border: var(--rdp-day_button-border);
|
|
83
|
+
border-radius: var(--rdp-day_button-border-radius);
|
|
84
|
+
}
|
|
85
|
+
#lua-root .rdp-day_button:disabled {
|
|
86
|
+
cursor: revert;
|
|
87
|
+
}
|
|
88
|
+
#lua-root .rdp-caption_label {
|
|
89
|
+
z-index: 1;
|
|
90
|
+
position: relative;
|
|
91
|
+
display: inline-flex;
|
|
92
|
+
align-items: center;
|
|
93
|
+
white-space: nowrap;
|
|
94
|
+
border: 0;
|
|
95
|
+
}
|
|
96
|
+
#lua-root .rdp-dropdown:focus-visible ~ .rdp-caption_label {
|
|
97
|
+
outline: 5px auto Highlight;
|
|
98
|
+
outline: 5px auto -webkit-focus-ring-color;
|
|
99
|
+
}
|
|
100
|
+
#lua-root .rdp-button_next, #lua-root .rdp-button_previous {
|
|
101
|
+
border: none;
|
|
102
|
+
background: none;
|
|
103
|
+
padding: 0;
|
|
104
|
+
margin: 0;
|
|
105
|
+
cursor: pointer;
|
|
106
|
+
font: inherit;
|
|
107
|
+
color: inherit;
|
|
108
|
+
-moz-appearance: none;
|
|
109
|
+
-webkit-appearance: none;
|
|
110
|
+
display: inline-flex;
|
|
111
|
+
align-items: center;
|
|
112
|
+
justify-content: center;
|
|
113
|
+
position: relative;
|
|
114
|
+
appearance: none;
|
|
115
|
+
width: var(--rdp-nav_button-width);
|
|
116
|
+
height: var(--rdp-nav_button-height);
|
|
117
|
+
}
|
|
118
|
+
#lua-root .rdp-button_next:disabled, #lua-root .rdp-button_next[aria-disabled="true"], #lua-root .rdp-button_previous:disabled, #lua-root .rdp-button_previous[aria-disabled="true"] {
|
|
119
|
+
cursor: revert;
|
|
120
|
+
opacity: var(--rdp-nav_button-disabled-opacity);
|
|
121
|
+
}
|
|
122
|
+
#lua-root .rdp-chevron {
|
|
123
|
+
display: inline-block;
|
|
124
|
+
fill: var(--rdp-accent-color);
|
|
125
|
+
}
|
|
126
|
+
#lua-root .rdp-root[dir="rtl"] .rdp-nav .rdp-chevron {
|
|
127
|
+
transform: rotate(180deg);
|
|
128
|
+
transform-origin: 50%;
|
|
129
|
+
}
|
|
130
|
+
#lua-root .rdp-dropdowns {
|
|
131
|
+
position: relative;
|
|
132
|
+
display: inline-flex;
|
|
133
|
+
align-items: center;
|
|
134
|
+
gap: var(--rdp-dropdown-gap);
|
|
135
|
+
}
|
|
136
|
+
#lua-root .rdp-dropdown {
|
|
137
|
+
z-index: 2;
|
|
138
|
+
opacity: 0;
|
|
139
|
+
-webkit-appearance: none;
|
|
140
|
+
-moz-appearance: none;
|
|
141
|
+
appearance: none;
|
|
142
|
+
position: absolute;
|
|
143
|
+
inset-block-start: 0;
|
|
144
|
+
inset-block-end: 0;
|
|
145
|
+
inset-inline-start: 0;
|
|
146
|
+
width: 100%;
|
|
147
|
+
margin: 0;
|
|
148
|
+
padding: 0;
|
|
149
|
+
cursor: inherit;
|
|
150
|
+
border: none;
|
|
151
|
+
line-height: inherit;
|
|
152
|
+
}
|
|
153
|
+
#lua-root .rdp-dropdown_root {
|
|
154
|
+
position: relative;
|
|
155
|
+
display: inline-flex;
|
|
156
|
+
align-items: center;
|
|
157
|
+
}
|
|
158
|
+
#lua-root .rdp-dropdown_root[data-disabled="true"] .rdp-chevron {
|
|
159
|
+
opacity: var(--rdp-disabled-opacity);
|
|
160
|
+
}
|
|
161
|
+
#lua-root .rdp-month_caption {
|
|
162
|
+
display: flex;
|
|
163
|
+
align-content: center;
|
|
164
|
+
height: var(--rdp-nav-height);
|
|
165
|
+
font-weight: bold;
|
|
166
|
+
font-size: large;
|
|
167
|
+
}
|
|
168
|
+
#lua-root .rdp-root[data-nav-layout="around"] .rdp-month, #lua-root .rdp-root[data-nav-layout="after"] .rdp-month {
|
|
169
|
+
position: relative;
|
|
170
|
+
}
|
|
171
|
+
#lua-root .rdp-root[data-nav-layout="around"] .rdp-month_caption {
|
|
172
|
+
justify-content: center;
|
|
173
|
+
margin-inline-start: var(--rdp-nav_button-width);
|
|
174
|
+
margin-inline-end: var(--rdp-nav_button-width);
|
|
175
|
+
position: relative;
|
|
176
|
+
}
|
|
177
|
+
#lua-root .rdp-root[data-nav-layout="around"] .rdp-button_previous {
|
|
178
|
+
position: absolute;
|
|
179
|
+
inset-inline-start: 0;
|
|
180
|
+
top: 0;
|
|
181
|
+
height: var(--rdp-nav-height);
|
|
182
|
+
display: inline-flex;
|
|
183
|
+
}
|
|
184
|
+
#lua-root .rdp-root[data-nav-layout="around"] .rdp-button_next {
|
|
185
|
+
position: absolute;
|
|
186
|
+
inset-inline-end: 0;
|
|
187
|
+
top: 0;
|
|
188
|
+
height: var(--rdp-nav-height);
|
|
189
|
+
display: inline-flex;
|
|
190
|
+
justify-content: center;
|
|
191
|
+
}
|
|
192
|
+
#lua-root .rdp-months {
|
|
193
|
+
position: relative;
|
|
194
|
+
display: flex;
|
|
195
|
+
flex-wrap: wrap;
|
|
196
|
+
gap: var(--rdp-months-gap);
|
|
197
|
+
max-width: -moz-fit-content;
|
|
198
|
+
max-width: fit-content;
|
|
199
|
+
}
|
|
200
|
+
#lua-root .rdp-month_grid {
|
|
201
|
+
border-collapse: collapse;
|
|
202
|
+
}
|
|
203
|
+
#lua-root .rdp-nav {
|
|
204
|
+
position: absolute;
|
|
205
|
+
inset-block-start: 0;
|
|
206
|
+
inset-inline-end: 0;
|
|
207
|
+
display: flex;
|
|
208
|
+
align-items: center;
|
|
209
|
+
height: var(--rdp-nav-height);
|
|
210
|
+
}
|
|
211
|
+
#lua-root .rdp-weekday {
|
|
212
|
+
opacity: var(--rdp-weekday-opacity);
|
|
213
|
+
padding: var(--rdp-weekday-padding);
|
|
214
|
+
font-weight: 500;
|
|
215
|
+
font-size: smaller;
|
|
216
|
+
text-align: var(--rdp-weekday-text-align);
|
|
217
|
+
text-transform: var(--rdp-weekday-text-transform);
|
|
218
|
+
}
|
|
219
|
+
#lua-root .rdp-week_number {
|
|
220
|
+
opacity: var(--rdp-week_number-opacity);
|
|
221
|
+
font-weight: 400;
|
|
222
|
+
font-size: small;
|
|
223
|
+
height: var(--rdp-week_number-height);
|
|
224
|
+
width: var(--rdp-week_number-width);
|
|
225
|
+
border: var(--rdp-week_number-border);
|
|
226
|
+
border-radius: var(--rdp-week_number-border-radius);
|
|
227
|
+
text-align: var(--rdp-weeknumber-text-align);
|
|
228
|
+
}
|
|
229
|
+
#lua-root .rdp-today:not(.rdp-outside) {
|
|
230
|
+
color: var(--rdp-today-color);
|
|
231
|
+
}
|
|
232
|
+
#lua-root .rdp-selected {
|
|
233
|
+
font-weight: bold;
|
|
234
|
+
font-size: large;
|
|
235
|
+
}
|
|
236
|
+
#lua-root .rdp-selected .rdp-day_button {
|
|
237
|
+
border: var(--rdp-selected-border);
|
|
238
|
+
}
|
|
239
|
+
#lua-root .rdp-outside {
|
|
240
|
+
opacity: var(--rdp-outside-opacity);
|
|
241
|
+
}
|
|
242
|
+
#lua-root .rdp-disabled {
|
|
243
|
+
opacity: var(--rdp-disabled-opacity);
|
|
244
|
+
}
|
|
245
|
+
#lua-root .rdp-hidden {
|
|
246
|
+
visibility: hidden;
|
|
247
|
+
color: var(--rdp-range_start-color);
|
|
248
|
+
}
|
|
249
|
+
#lua-root .rdp-range_start {
|
|
250
|
+
background: var(--rdp-range_start-background);
|
|
251
|
+
}
|
|
252
|
+
#lua-root .rdp-range_start .rdp-day_button {
|
|
253
|
+
background-color: var(--rdp-range_start-date-background-color);
|
|
254
|
+
color: var(--rdp-range_start-color);
|
|
255
|
+
}
|
|
256
|
+
#lua-root .rdp-range_middle {
|
|
257
|
+
background-color: var(--rdp-range_middle-background-color);
|
|
258
|
+
}
|
|
259
|
+
#lua-root .rdp-range_middle .rdp-day_button {
|
|
260
|
+
border: unset;
|
|
261
|
+
border-radius: unset;
|
|
262
|
+
color: var(--rdp-range_middle-color);
|
|
263
|
+
}
|
|
264
|
+
#lua-root .rdp-range_end {
|
|
265
|
+
background: var(--rdp-range_end-background);
|
|
266
|
+
color: var(--rdp-range_end-color);
|
|
267
|
+
}
|
|
268
|
+
#lua-root .rdp-range_end .rdp-day_button {
|
|
269
|
+
color: var(--rdp-range_start-color);
|
|
270
|
+
background-color: var(--rdp-range_end-date-background-color);
|
|
271
|
+
}
|
|
272
|
+
#lua-root .rdp-range_start.rdp-range_end {
|
|
273
|
+
background: revert;
|
|
274
|
+
}
|
|
275
|
+
#lua-root .rdp-focusable {
|
|
276
|
+
cursor: pointer;
|
|
277
|
+
}
|
|
278
|
+
@keyframes rdp-slide_in_left {
|
|
279
|
+
0% {
|
|
280
|
+
transform: translateX(-100%);
|
|
281
|
+
}
|
|
282
|
+
100% {
|
|
283
|
+
transform: translateX(0);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
@keyframes rdp-slide_in_right {
|
|
287
|
+
0% {
|
|
288
|
+
transform: translateX(100%);
|
|
289
|
+
}
|
|
290
|
+
100% {
|
|
291
|
+
transform: translateX(0);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
@keyframes rdp-slide_out_left {
|
|
295
|
+
0% {
|
|
296
|
+
transform: translateX(0);
|
|
297
|
+
}
|
|
298
|
+
100% {
|
|
299
|
+
transform: translateX(-100%);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
@keyframes rdp-slide_out_right {
|
|
303
|
+
0% {
|
|
304
|
+
transform: translateX(0);
|
|
305
|
+
}
|
|
306
|
+
100% {
|
|
307
|
+
transform: translateX(100%);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
#lua-root .rdp-weeks_before_enter {
|
|
311
|
+
animation: rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards;
|
|
312
|
+
}
|
|
313
|
+
#lua-root .rdp-weeks_before_exit {
|
|
314
|
+
animation: rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards;
|
|
315
|
+
}
|
|
316
|
+
#lua-root .rdp-weeks_after_enter {
|
|
317
|
+
animation: rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards;
|
|
318
|
+
}
|
|
319
|
+
#lua-root .rdp-weeks_after_exit {
|
|
320
|
+
animation: rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards;
|
|
321
|
+
}
|
|
322
|
+
#lua-root .rdp-root[dir="rtl"] .rdp-weeks_after_enter {
|
|
323
|
+
animation: rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards;
|
|
324
|
+
}
|
|
325
|
+
#lua-root .rdp-root[dir="rtl"] .rdp-weeks_before_exit {
|
|
326
|
+
animation: rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards;
|
|
327
|
+
}
|
|
328
|
+
#lua-root .rdp-root[dir="rtl"] .rdp-weeks_before_enter {
|
|
329
|
+
animation: rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards;
|
|
330
|
+
}
|
|
331
|
+
#lua-root .rdp-root[dir="rtl"] .rdp-weeks_after_exit {
|
|
332
|
+
animation: rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards;
|
|
333
|
+
}
|
|
334
|
+
@keyframes rdp-fade_in {
|
|
335
|
+
from {
|
|
336
|
+
opacity: 0;
|
|
337
|
+
}
|
|
338
|
+
to {
|
|
339
|
+
opacity: 1;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
@keyframes rdp-fade_out {
|
|
343
|
+
from {
|
|
344
|
+
opacity: 1;
|
|
345
|
+
}
|
|
346
|
+
to {
|
|
347
|
+
opacity: 0;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
#lua-root .rdp-caption_after_enter {
|
|
351
|
+
animation: rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards;
|
|
352
|
+
}
|
|
353
|
+
#lua-root .rdp-caption_after_exit {
|
|
354
|
+
animation: rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards;
|
|
355
|
+
}
|
|
356
|
+
#lua-root .rdp-caption_before_enter {
|
|
357
|
+
animation: rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards;
|
|
358
|
+
}
|
|
359
|
+
#lua-root .rdp-caption_before_exit {
|
|
360
|
+
animation: rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards;
|
|
361
|
+
}
|
|
4
362
|
@layer theme, base, components, utilities;
|
|
5
363
|
@layer theme {
|
|
6
364
|
#lua-root, #lua-root :host {
|