@janbox/storefront-ui 2.0.30 → 2.0.31

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 CHANGED
@@ -104,7 +104,18 @@ function LoginForm() {
104
104
  }
105
105
  ```
106
106
 
107
- ### 3. Sử dụng responsive props
107
+ ### 3. Import stylesheet (nếu dùng component có CSS)
108
+
109
+ Một số component (như `DatePicker`) import CSS từ third-party libraries. Styles này được tách ra thành file `dist/style.css` riêng biệt trong quá trình build. Consumer app cần import file này khi sử dụng các component đó:
110
+
111
+ ```tsx
112
+ // Import CSS stylesheet cho các component có external CSS (DatePicker, v.v.)
113
+ import '@janbox/storefront-ui/style.css';
114
+ ```
115
+
116
+ > Nếu app không dùng `DatePicker` hay component nào import CSS, bạn có thể bỏ qua bước này.
117
+
118
+ ### 4. Sử dụng responsive props
108
119
 
109
120
  ```tsx
110
121
  import { Flexbox, Box, Button } from '@janbox/storefront-ui';
@@ -1,6 +1,5 @@
1
1
  import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
- import "react-date-range/dist/styles.css";
3
- import "react-date-range/dist/theme/default.css";
2
+ /* empty css */
4
3
  import { forwardRef, useRef } from "react";
5
4
  import dayjs from "dayjs";
6
5
  import { Calendar } from "react-date-range";
@@ -92,7 +92,7 @@ const MarqueeSlide = ({ children }) => {
92
92
  flexShrink: 0,
93
93
  flexGrow: 0,
94
94
  overflow: "hidden",
95
- paddingRight: `var(${SPACING_VAR}, 0px)`
95
+ paddingLeft: `var(${SPACING_VAR}, 0px)`
96
96
  },
97
97
  className: HTMLClasses.MARQUEE_SLIDE,
98
98
  children
package/dist/style.css ADDED
@@ -0,0 +1,580 @@
1
+ .rdrCalendarWrapper {
2
+ box-sizing: border-box;
3
+ background: #ffffff;
4
+ display: inline-flex;
5
+ flex-direction: column;
6
+ -webkit-user-select: none;
7
+ -moz-user-select: none;
8
+ user-select: none;
9
+ }
10
+
11
+ .rdrDateDisplay{
12
+ display: flex;
13
+ justify-content: space-between;
14
+ }
15
+
16
+ .rdrDateDisplayItem{
17
+ flex: 1 1;
18
+ width: 0;
19
+ text-align: center;
20
+ color: inherit;
21
+ }
22
+
23
+ .rdrDateDisplayItem + .rdrDateDisplayItem{
24
+ margin-left: 0.833em;
25
+ }
26
+
27
+ .rdrDateDisplayItem input{
28
+ text-align: inherit
29
+ }
30
+
31
+ .rdrDateDisplayItem input:disabled{
32
+ cursor: default;
33
+ }
34
+
35
+ .rdrDateDisplayItemActive{}
36
+
37
+ .rdrMonthAndYearWrapper {
38
+ box-sizing: inherit;
39
+ display: flex;
40
+ justify-content: space-between;
41
+ }
42
+
43
+ .rdrMonthAndYearPickers{
44
+ flex: 1 1 auto;
45
+ display: flex;
46
+ justify-content: center;
47
+ align-items: center;
48
+ }
49
+
50
+ .rdrMonthPicker{}
51
+
52
+ .rdrYearPicker{}
53
+
54
+ .rdrNextPrevButton {
55
+ box-sizing: inherit;
56
+ cursor: pointer;
57
+ outline: none;
58
+ }
59
+
60
+ .rdrPprevButton {}
61
+
62
+ .rdrNextButton {}
63
+
64
+ .rdrMonths{
65
+ display: flex;
66
+ }
67
+
68
+ .rdrMonthsVertical{
69
+ flex-direction: column;
70
+ }
71
+
72
+ .rdrMonthsHorizontal > div > div > div{
73
+ display: flex;
74
+ flex-direction: row;
75
+ }
76
+
77
+ .rdrMonth{
78
+ width: 27.667em;
79
+ }
80
+
81
+ .rdrWeekDays{
82
+ display: flex;
83
+ }
84
+
85
+ .rdrWeekDay {
86
+ flex-basis: calc(100% / 7);
87
+ box-sizing: inherit;
88
+ text-align: center;
89
+ }
90
+
91
+ .rdrDays{
92
+ display: flex;
93
+ flex-wrap: wrap;
94
+ }
95
+
96
+ .rdrDateDisplayWrapper{}
97
+
98
+ .rdrMonthName{}
99
+
100
+ .rdrInfiniteMonths{
101
+ overflow: auto;
102
+ }
103
+
104
+ .rdrDateRangeWrapper{
105
+ -webkit-user-select: none;
106
+ -moz-user-select: none;
107
+ user-select: none;
108
+ }
109
+
110
+ .rdrDateInput {
111
+ position: relative;
112
+ }
113
+
114
+ .rdrDateInput input {
115
+ outline: none;
116
+ }
117
+
118
+ .rdrDateInput .rdrWarning {
119
+ position: absolute;
120
+ font-size: 1.6em;
121
+ line-height: 1.6em;
122
+ top: 0;
123
+ right: .25em;
124
+ color: #FF0000;
125
+ }
126
+
127
+ .rdrDay {
128
+ box-sizing: inherit;
129
+ width: calc(100% / 7);
130
+ position: relative;
131
+ font: inherit;
132
+ cursor: pointer;
133
+ }
134
+
135
+ .rdrDayNumber {
136
+ display: block;
137
+ position: relative;
138
+ }
139
+
140
+ .rdrDayNumber span{
141
+ color: #1d2429;
142
+ }
143
+
144
+ .rdrDayDisabled {
145
+ cursor: not-allowed;
146
+ }
147
+
148
+ @supports (-ms-ime-align: auto) {
149
+ .rdrDay {
150
+ flex-basis: 14.285% !important;
151
+ }
152
+ }
153
+
154
+ .rdrSelected, .rdrInRange, .rdrStartEdge, .rdrEndEdge{
155
+ pointer-events: none;
156
+ }
157
+
158
+ .rdrInRange{}
159
+
160
+ .rdrDayStartPreview, .rdrDayInPreview, .rdrDayEndPreview{
161
+ pointer-events: none;
162
+ }
163
+
164
+ .rdrDayHovered{}
165
+
166
+ .rdrDayActive{}
167
+
168
+ .rdrDateRangePickerWrapper{
169
+ display: inline-flex;
170
+ -webkit-user-select: none;
171
+ -moz-user-select: none;
172
+ user-select: none;
173
+ }
174
+
175
+ .rdrDefinedRangesWrapper{}
176
+
177
+ .rdrStaticRanges{
178
+ display: flex;
179
+ flex-direction: column;
180
+ }
181
+
182
+ .rdrStaticRange{
183
+ font-size: inherit;
184
+ }
185
+
186
+ .rdrStaticRangeLabel{}
187
+
188
+ .rdrInputRanges{}
189
+
190
+ .rdrInputRange{
191
+ display: flex;
192
+ }
193
+
194
+ .rdrInputRangeInput{}
195
+
196
+ .rdrCalendarWrapper{
197
+ color: #000000;
198
+ font-size: 12px;
199
+ }
200
+
201
+ .rdrDateDisplayWrapper{
202
+ background-color: rgb(239, 242, 247);
203
+ }
204
+
205
+ .rdrDateDisplay{
206
+ margin: 0.833em;
207
+ }
208
+
209
+ .rdrDateDisplayItem{
210
+ border-radius: 4px;
211
+ background-color: rgb(255, 255, 255);
212
+ box-shadow: 0 1px 2px 0 rgba(35, 57, 66, 0.21);
213
+ border: 1px solid transparent;
214
+ }
215
+
216
+ .rdrDateDisplayItem input{
217
+ cursor: pointer;
218
+ height: 2.5em;
219
+ line-height: 2.5em;
220
+ border: 0px;
221
+ background: transparent;
222
+ width: 100%;
223
+ color: #849095;
224
+ }
225
+
226
+ .rdrDateDisplayItemActive{
227
+ border-color: currentColor;
228
+ }
229
+
230
+ .rdrDateDisplayItemActive input{
231
+ color: #7d888d
232
+ }
233
+
234
+ .rdrMonthAndYearWrapper {
235
+ align-items: center;
236
+ height: 60px;
237
+ padding-top: 10px;
238
+ }
239
+
240
+ .rdrMonthAndYearPickers{
241
+ font-weight: 600;
242
+ }
243
+
244
+ .rdrMonthAndYearPickers select{
245
+ -moz-appearance: none;
246
+ appearance: none;
247
+ -webkit-appearance: none;
248
+ border: 0;
249
+ background: transparent;
250
+ padding: 10px 30px 10px 10px;
251
+ border-radius: 4px;
252
+ outline: 0;
253
+ color: #3e484f;
254
+ background: url("data:image/svg+xml;utf8,<svg width='9px' height='6px' viewBox='0 0 9 6' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Artboard' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' transform='translate(-636.000000, -171.000000)' fill-opacity='0.368716033'><g id='input' transform='translate(172.000000, 37.000000)' fill='%230E242F' fill-rule='nonzero'><g id='Group-9' transform='translate(323.000000, 127.000000)'><path d='M142.280245,7.23952813 C141.987305,6.92353472 141.512432,6.92361662 141.219585,7.23971106 C140.926739,7.5558055 140.926815,8.06821394 141.219755,8.38420735 L145.498801,13 L149.780245,8.38162071 C150.073185,8.0656273 150.073261,7.55321886 149.780415,7.23712442 C149.487568,6.92102998 149.012695,6.92094808 148.719755,7.23694149 L145.498801,10.7113732 L142.280245,7.23952813 Z' id='arrow'></path></g></g></g></svg>") no-repeat;
255
+ background-position: right 8px center;
256
+ cursor: pointer;
257
+ text-align: center
258
+ }
259
+
260
+ .rdrMonthAndYearPickers select:hover{
261
+ background-color: rgba(0,0,0,0.07);
262
+ }
263
+
264
+ .rdrMonthPicker, .rdrYearPicker{
265
+ margin: 0 5px
266
+ }
267
+
268
+ .rdrNextPrevButton {
269
+ display: block;
270
+ width: 24px;
271
+ height: 24px;
272
+ margin: 0 0.833em;
273
+ padding: 0;
274
+ border: 0;
275
+ border-radius: 5px;
276
+ background: #EFF2F7
277
+ }
278
+
279
+ .rdrNextPrevButton:hover{
280
+ background: #E1E7F0;
281
+ }
282
+
283
+ .rdrNextPrevButton i {
284
+ display: block;
285
+ width: 0;
286
+ height: 0;
287
+ padding: 0;
288
+ text-align: center;
289
+ border-style: solid;
290
+ margin: auto;
291
+ transform: translate(-3px, 0px);
292
+ }
293
+
294
+ .rdrPprevButton i {
295
+ border-width: 4px 6px 4px 4px;
296
+ border-color: transparent rgb(52, 73, 94) transparent transparent;
297
+ transform: translate(-3px, 0px);
298
+ }
299
+
300
+ .rdrNextButton i {
301
+ margin: 0 0 0 7px;
302
+ border-width: 4px 4px 4px 6px;
303
+ border-color: transparent transparent transparent rgb(52, 73, 94);
304
+ transform: translate(3px, 0px);
305
+ }
306
+
307
+ .rdrWeekDays {
308
+ padding: 0 0.833em;
309
+ }
310
+
311
+ .rdrMonth{
312
+ padding: 0 0.833em 1.666em 0.833em;
313
+ }
314
+
315
+ .rdrMonth .rdrWeekDays {
316
+ padding: 0;
317
+ }
318
+
319
+ .rdrMonths.rdrMonthsVertical .rdrMonth:first-child .rdrMonthName{
320
+ display: none;
321
+ }
322
+
323
+ .rdrWeekDay {
324
+ font-weight: 400;
325
+ line-height: 2.667em;
326
+ color: rgb(132, 144, 149);
327
+ }
328
+
329
+ .rdrDay {
330
+ background: transparent;
331
+ -webkit-user-select: none;
332
+ -moz-user-select: none;
333
+ user-select: none;
334
+ border: 0;
335
+ padding: 0;
336
+ line-height: 3.000em;
337
+ height: 3.000em;
338
+ text-align: center;
339
+ color: #1d2429
340
+ }
341
+
342
+ .rdrDay:focus {
343
+ outline: 0;
344
+ }
345
+
346
+ .rdrDayNumber {
347
+ outline: 0;
348
+ font-weight: 300;
349
+ position: absolute;
350
+ left: 0;
351
+ right: 0;
352
+ top: 0;
353
+ bottom: 0;
354
+ top: 5px;
355
+ bottom: 5px;
356
+ display: flex;
357
+ align-items: center;
358
+ justify-content: center;
359
+ }
360
+
361
+ .rdrDayToday .rdrDayNumber span{
362
+ font-weight: 500
363
+ }
364
+
365
+ .rdrDayToday .rdrDayNumber span:after{
366
+ content: '';
367
+ position: absolute;
368
+ bottom: 4px;
369
+ left: 50%;
370
+ transform: translate(-50%, 0);
371
+ width: 18px;
372
+ height: 2px;
373
+ border-radius: 2px;
374
+ background: #3d91ff;
375
+ }
376
+
377
+ .rdrDayToday:not(.rdrDayPassive) .rdrInRange ~ .rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrStartEdge ~ .rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrEndEdge ~ .rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrSelected ~ .rdrDayNumber span:after{
378
+ background: #fff;
379
+ }
380
+
381
+ .rdrDay:not(.rdrDayPassive) .rdrInRange ~ .rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrStartEdge ~ .rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrEndEdge ~ .rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrSelected ~ .rdrDayNumber span{
382
+ color: rgba(255, 255, 255, 0.85);
383
+ }
384
+
385
+ .rdrSelected, .rdrInRange, .rdrStartEdge, .rdrEndEdge{
386
+ background: currentColor;
387
+ position: absolute;
388
+ top: 5px;
389
+ left: 0;
390
+ right: 0;
391
+ bottom: 5px;
392
+ }
393
+
394
+ .rdrSelected{
395
+ left: 2px;
396
+ right: 2px;
397
+ }
398
+
399
+ .rdrInRange{}
400
+
401
+ .rdrStartEdge{
402
+ border-top-left-radius: 1.042em;
403
+ border-bottom-left-radius: 1.042em;
404
+ left: 2px;
405
+ }
406
+
407
+ .rdrEndEdge{
408
+ border-top-right-radius: 1.042em;
409
+ border-bottom-right-radius: 1.042em;
410
+ right: 2px;
411
+ }
412
+
413
+ .rdrSelected{
414
+ border-radius: 1.042em;
415
+ }
416
+
417
+ .rdrDayStartOfMonth .rdrInRange, .rdrDayStartOfMonth .rdrEndEdge, .rdrDayStartOfWeek .rdrInRange, .rdrDayStartOfWeek .rdrEndEdge{
418
+ border-top-left-radius: 1.042em;
419
+ border-bottom-left-radius: 1.042em;
420
+ left: 2px;
421
+ }
422
+
423
+ .rdrDayEndOfMonth .rdrInRange, .rdrDayEndOfMonth .rdrStartEdge, .rdrDayEndOfWeek .rdrInRange, .rdrDayEndOfWeek .rdrStartEdge{
424
+ border-top-right-radius: 1.042em;
425
+ border-bottom-right-radius: 1.042em;
426
+ right: 2px;
427
+ }
428
+
429
+ .rdrDayStartOfMonth .rdrDayInPreview, .rdrDayStartOfMonth .rdrDayEndPreview, .rdrDayStartOfWeek .rdrDayInPreview, .rdrDayStartOfWeek .rdrDayEndPreview{
430
+ border-top-left-radius: 1.333em;
431
+ border-bottom-left-radius: 1.333em;
432
+ border-left-width: 1px;
433
+ left: 0px;
434
+ }
435
+
436
+ .rdrDayEndOfMonth .rdrDayInPreview, .rdrDayEndOfMonth .rdrDayStartPreview, .rdrDayEndOfWeek .rdrDayInPreview, .rdrDayEndOfWeek .rdrDayStartPreview{
437
+ border-top-right-radius: 1.333em;
438
+ border-bottom-right-radius: 1.333em;
439
+ border-right-width: 1px;
440
+ right: 0px;
441
+ }
442
+
443
+ .rdrDayStartPreview, .rdrDayInPreview, .rdrDayEndPreview{
444
+ background: rgba(255, 255, 255, 0.09);
445
+ position: absolute;
446
+ top: 3px;
447
+ left: 0px;
448
+ right: 0px;
449
+ bottom: 3px;
450
+ pointer-events: none;
451
+ border: 0px solid currentColor;
452
+ z-index: 1;
453
+ }
454
+
455
+ .rdrDayStartPreview{
456
+ border-top-width: 1px;
457
+ border-left-width: 1px;
458
+ border-bottom-width: 1px;
459
+ border-top-left-radius: 1.333em;
460
+ border-bottom-left-radius: 1.333em;
461
+ left: 0px;
462
+ }
463
+
464
+ .rdrDayInPreview{
465
+ border-top-width: 1px;
466
+ border-bottom-width: 1px;
467
+ }
468
+
469
+ .rdrDayEndPreview{
470
+ border-top-width: 1px;
471
+ border-right-width: 1px;
472
+ border-bottom-width: 1px;
473
+ border-top-right-radius: 1.333em;
474
+ border-bottom-right-radius: 1.333em;
475
+ right: 2px;
476
+ right: 0px;
477
+ }
478
+
479
+ .rdrDefinedRangesWrapper{
480
+ font-size: 12px;
481
+ width: 226px;
482
+ border-right: solid 1px #eff2f7;
483
+ background: #fff;
484
+ }
485
+
486
+ .rdrDefinedRangesWrapper .rdrStaticRangeSelected{
487
+ color: currentColor;
488
+ font-weight: 600;
489
+ }
490
+
491
+ .rdrStaticRange{
492
+ border: 0;
493
+ cursor: pointer;
494
+ display: block;
495
+ outline: 0;
496
+ border-bottom: 1px solid #eff2f7;
497
+ padding: 0;
498
+ background: #fff
499
+ }
500
+
501
+ .rdrStaticRange:hover .rdrStaticRangeLabel,.rdrStaticRange:focus .rdrStaticRangeLabel{
502
+ background: #eff2f7;
503
+ }
504
+
505
+ .rdrStaticRangeLabel{
506
+ display: block;
507
+ outline: 0;
508
+ line-height: 18px;
509
+ padding: 10px 20px;
510
+ text-align: left;
511
+ }
512
+
513
+ .rdrInputRanges{
514
+ padding: 10px 0;
515
+ }
516
+
517
+ .rdrInputRange{
518
+ align-items: center;
519
+ padding: 5px 20px;
520
+ }
521
+
522
+ .rdrInputRangeInput{
523
+ width: 30px;
524
+ height: 30px;
525
+ line-height: 30px;
526
+ border-radius: 4px;
527
+ text-align: center;
528
+ border: solid 1px rgb(222, 231, 235);
529
+ margin-right: 10px;
530
+ color: rgb(108, 118, 122)
531
+ }
532
+
533
+ .rdrInputRangeInput:focus, .rdrInputRangeInput:hover{
534
+ border-color: rgb(180, 191, 196);
535
+ outline: 0;
536
+ color: #333;
537
+ }
538
+
539
+ .rdrCalendarWrapper:not(.rdrDateRangeWrapper) .rdrDayHovered .rdrDayNumber:after{
540
+ content: '';
541
+ border: 1px solid currentColor;
542
+ border-radius: 1.333em;
543
+ position: absolute;
544
+ top: -2px;
545
+ bottom: -2px;
546
+ left: 0px;
547
+ right: 0px;
548
+ background: transparent;
549
+ }
550
+
551
+ .rdrDayPassive{
552
+ pointer-events: none;
553
+ }
554
+
555
+ .rdrDayPassive .rdrDayNumber span{
556
+ color: #d5dce0;
557
+ }
558
+
559
+ .rdrDayPassive .rdrInRange, .rdrDayPassive .rdrStartEdge, .rdrDayPassive .rdrEndEdge, .rdrDayPassive .rdrSelected, .rdrDayPassive .rdrDayStartPreview, .rdrDayPassive .rdrDayInPreview, .rdrDayPassive .rdrDayEndPreview{
560
+ display: none;
561
+ }
562
+
563
+ .rdrDayDisabled {
564
+ background-color: rgb(248, 248, 248);
565
+ }
566
+
567
+ .rdrDayDisabled .rdrDayNumber span{
568
+ color: #aeb9bf;
569
+ }
570
+
571
+ .rdrDayDisabled .rdrInRange, .rdrDayDisabled .rdrStartEdge, .rdrDayDisabled .rdrEndEdge, .rdrDayDisabled .rdrSelected, .rdrDayDisabled .rdrDayStartPreview, .rdrDayDisabled .rdrDayInPreview, .rdrDayDisabled .rdrDayEndPreview{
572
+ filter: grayscale(100%) opacity(60%);
573
+ }
574
+
575
+ .rdrMonthName{
576
+ text-align: left;
577
+ font-weight: 600;
578
+ color: #849095;
579
+ padding: 0.833em;
580
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@janbox/storefront-ui",
3
- "version": "2.0.30",
3
+ "version": "2.0.31",
4
4
  "description": "Storefront UI component library for Janbox",
5
5
  "author": "Janbox",
6
6
  "keywords": [