@mccustomapps/helaui 0.1.0

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.
@@ -0,0 +1,7 @@
1
+ import fritter from './fritter.png';
2
+ import kokis from './kokis.png';
3
+ import leaf from './leaf.png';
4
+ import swirl from './swirl.png';
5
+
6
+ /** Built-in rain sprite URLs shipped with HelaUI. */
7
+ export const BUILTIN_RAIN_IMAGES = [fritter, swirl, kokis, leaf] as const;
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,4 @@
1
+ import iraHanda from './ira-handa.png';
2
+
3
+ /** Built-in Sri Lankan Ira Handa (sun face) mandala artwork. */
4
+ export const BUILTIN_SUN_MANDALA_IMAGE = iraHanda;
@@ -0,0 +1,280 @@
1
+ /* HelaUI Calendar Component Stylesheet */
2
+
3
+ .helaui-calendar {
4
+ display: inline-flex;
5
+ flex-direction: column;
6
+ /* Default fixed size — overridden by inline styles from CalendarOptions.width / .height */
7
+ width: 360px;
8
+ height: 420px;
9
+ overflow: hidden;
10
+ background: var(--helaui-surface, #ffffff);
11
+ color: var(--helaui-text, #000000);
12
+ border: 1px solid var(--helaui-border, #c8c8c8);
13
+ border-radius: 16px;
14
+ padding: 20px;
15
+ box-sizing: border-box;
16
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
17
+ position: relative;
18
+ user-select: none;
19
+ font-family: inherit;
20
+ transition: border-color 0.2s ease, box-shadow 0.2s ease, height 0.2s ease;
21
+ flex-shrink: 0;
22
+ }
23
+
24
+ /* Months that span 6 rows get an extra row height automatically (unless caller passes custom height) */
25
+ .helaui-calendar--six-rows {
26
+ height: 468px;
27
+ }
28
+
29
+ .helaui-calendar:hover {
30
+ border-color: var(--helaui-border-hover, #808080);
31
+ box-shadow: 0 14px 40px rgba(0, 0, 0, 0.1);
32
+ }
33
+
34
+ /* Header */
35
+ .helaui-calendar__header {
36
+ display: flex;
37
+ align-items: center;
38
+ justify-content: space-between;
39
+ margin-bottom: 16px;
40
+ gap: 8px;
41
+ }
42
+
43
+ .helaui-calendar__title-wrap {
44
+ display: flex;
45
+ flex-direction: column;
46
+ align-items: center;
47
+ cursor: pointer;
48
+ padding: 4px 12px;
49
+ border-radius: 10px;
50
+ transition: background-color 0.2s ease;
51
+ }
52
+
53
+ .helaui-calendar__title-wrap:hover {
54
+ background-color: rgba(141, 21, 58, 0.06);
55
+ }
56
+
57
+ .helaui-calendar__month-name {
58
+ font-size: 1.15rem;
59
+ font-weight: 700;
60
+ color: var(--helaui-primary, #8d153a);
61
+ line-height: 1.3;
62
+ }
63
+
64
+ .helaui-calendar__sub-name {
65
+ font-size: 0.75rem;
66
+ color: var(--helaui-text-muted, #808080);
67
+ font-weight: 500;
68
+ }
69
+
70
+ .helaui-calendar__era-badge {
71
+ display: inline-block;
72
+ margin-left: 4px;
73
+ padding: 1px 6px;
74
+ font-size: 0.7rem;
75
+ border-radius: 6px;
76
+ background: rgba(255, 190, 0, 0.18);
77
+ color: #8d153a;
78
+ font-weight: 600;
79
+ }
80
+
81
+ .helaui-calendar__nav-btn {
82
+ display: flex;
83
+ align-items: center;
84
+ justify-content: center;
85
+ width: 34px;
86
+ height: 34px;
87
+ border: 1px solid var(--helaui-border, #c8c8c8);
88
+ background: var(--helaui-background, #ffffff);
89
+ color: var(--helaui-text, #000000);
90
+ border-radius: 50%;
91
+ cursor: pointer;
92
+ font-size: 1rem;
93
+ transition: all 0.2s ease;
94
+ }
95
+
96
+ .helaui-calendar__nav-btn:hover:not(:disabled) {
97
+ background: var(--helaui-primary, #8d153a);
98
+ color: var(--helaui-white, #ffffff);
99
+ border-color: var(--helaui-primary, #8d153a);
100
+ transform: scale(1.06);
101
+ }
102
+
103
+ .helaui-calendar__nav-btn:disabled {
104
+ opacity: 0.35;
105
+ cursor: not-allowed;
106
+ }
107
+
108
+ /* Weekday Grid */
109
+ .helaui-calendar__weekdays {
110
+ display: grid;
111
+ grid-template-columns: repeat(7, 1fr);
112
+ gap: 4px;
113
+ text-align: center;
114
+ margin-bottom: 8px;
115
+ }
116
+
117
+ .helaui-calendar__weekday {
118
+ font-size: 0.8rem;
119
+ font-weight: 600;
120
+ color: var(--helaui-text-muted, #808080);
121
+ padding: 6px 0;
122
+ }
123
+
124
+ .helaui-calendar__weekday--weekend {
125
+ color: var(--helaui-primary, #8d153a);
126
+ }
127
+
128
+ /* Days Grid */
129
+ .helaui-calendar__days {
130
+ display: grid;
131
+ grid-template-columns: repeat(7, 1fr);
132
+ gap: 6px;
133
+ }
134
+
135
+ .helaui-calendar__day {
136
+ aspect-ratio: 1;
137
+ display: flex;
138
+ flex-direction: column;
139
+ align-items: center;
140
+ justify-content: center;
141
+ border: 1px solid transparent;
142
+ border-radius: 12px;
143
+ background: transparent;
144
+ color: var(--helaui-text, #000000);
145
+ font-size: 0.9rem;
146
+ font-weight: 500;
147
+ cursor: pointer;
148
+ position: relative;
149
+ transition: all 0.18s ease-in-out;
150
+ }
151
+
152
+ .helaui-calendar__day:hover:not(.helaui-calendar__day--disabled) {
153
+ background-color: rgba(141, 21, 58, 0.08);
154
+ border-color: var(--helaui-primary, #8d153a);
155
+ transform: translateY(-1px);
156
+ }
157
+
158
+ .helaui-calendar__day--outside {
159
+ color: var(--helaui-disabled-text, #a3a3a3);
160
+ opacity: 0.45;
161
+ }
162
+
163
+ .helaui-calendar__day--today {
164
+ font-weight: 700;
165
+ border-color: var(--helaui-secondary, #ffbe00);
166
+ background: rgba(255, 190, 0, 0.15);
167
+ }
168
+
169
+ .helaui-calendar__day--selected {
170
+ background: var(--helaui-primary, #8d153a) !important;
171
+ color: var(--helaui-white, #ffffff) !important;
172
+ font-weight: 700;
173
+ box-shadow: 0 4px 12px rgba(141, 21, 58, 0.35);
174
+ }
175
+
176
+ .helaui-calendar__day--poya {
177
+ position: relative;
178
+ }
179
+
180
+ .helaui-calendar__day--poya::after {
181
+ content: '🪷';
182
+ font-size: 0.65rem;
183
+ position: absolute;
184
+ top: 2px;
185
+ right: 2px;
186
+ line-height: 1;
187
+ }
188
+
189
+ .helaui-calendar__day--disabled {
190
+ color: var(--helaui-disabled-text, #a3a3a3);
191
+ cursor: not-allowed;
192
+ opacity: 0.35;
193
+ }
194
+
195
+ /* Footer Controls */
196
+ .helaui-calendar__footer {
197
+ display: flex;
198
+ align-items: center;
199
+ justify-content: space-between;
200
+ margin-top: 16px;
201
+ padding-top: 12px;
202
+ border-top: 1px dashed var(--helaui-border, #c8c8c8);
203
+ font-size: 0.8rem;
204
+ }
205
+
206
+ .helaui-calendar__footer-btn {
207
+ background: none;
208
+ border: none;
209
+ color: var(--helaui-primary, #8d153a);
210
+ font-weight: 600;
211
+ font-size: 0.8rem;
212
+ cursor: pointer;
213
+ padding: 4px 8px;
214
+ border-radius: 6px;
215
+ transition: background-color 0.15s ease;
216
+ }
217
+
218
+ .helaui-calendar__footer-btn:hover {
219
+ background: rgba(141, 21, 58, 0.08);
220
+ }
221
+
222
+ .helaui-calendar__selected-text {
223
+ font-size: 0.75rem;
224
+ color: var(--helaui-text-muted, #808080);
225
+ }
226
+
227
+ /* Quick Month Grid Popover */
228
+ .helaui-calendar__month-popover {
229
+ position: absolute;
230
+ top: 60px;
231
+ left: 16px;
232
+ right: 16px;
233
+ background: var(--helaui-surface, #ffffff);
234
+ border: 1px solid var(--helaui-border, #c8c8c8);
235
+ border-radius: 14px;
236
+ padding: 14px;
237
+ box-shadow: 0 12px 36px rgba(0, 0, 0, 0.15);
238
+ display: grid;
239
+ grid-template-columns: repeat(3, 1fr);
240
+ gap: 8px;
241
+ z-index: 10;
242
+ animation: helaui-calendar-pop 0.2s cubic-bezier(0.16, 1, 0.3, 1);
243
+ }
244
+
245
+ .helaui-calendar__month-item {
246
+ display: flex;
247
+ flex-direction: column;
248
+ align-items: center;
249
+ justify-content: center;
250
+ padding: 8px 4px;
251
+ border-radius: 8px;
252
+ border: 1px solid transparent;
253
+ background: var(--helaui-background, #ffffff);
254
+ cursor: pointer;
255
+ font-size: 0.8rem;
256
+ font-weight: 600;
257
+ transition: all 0.15s ease;
258
+ }
259
+
260
+ .helaui-calendar__month-item:hover {
261
+ background: rgba(141, 21, 58, 0.08);
262
+ border-color: var(--helaui-primary, #8d153a);
263
+ color: var(--helaui-primary, #8d153a);
264
+ }
265
+
266
+ .helaui-calendar__month-item--active {
267
+ background: var(--helaui-primary, #8d153a);
268
+ color: var(--helaui-white, #ffffff);
269
+ }
270
+
271
+ @keyframes helaui-calendar-pop {
272
+ from {
273
+ opacity: 0;
274
+ transform: scale(0.95) translateY(-6px);
275
+ }
276
+ to {
277
+ opacity: 1;
278
+ transform: scale(1) translateY(0);
279
+ }
280
+ }
Binary file