directual-web-components-v2 3.11.333 → 3.11.334

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/index.css CHANGED
@@ -8802,12 +8802,10 @@ div._x81-m._xmAnF h2 {
8802
8802
  ._2FxAd .rbc-btn-group {
8803
8803
  display: flex;
8804
8804
  align-items: center;
8805
- gap: 8px;
8806
8805
  }
8807
8806
  ._3JU7w {
8808
8807
  display: flex;
8809
8808
  align-items: center;
8810
- gap: 8px;
8811
8809
  }
8812
8810
  ._16uM4 {
8813
8811
  display: flex;
@@ -8830,6 +8828,25 @@ div._x81-m._xmAnF h2 {
8830
8828
  }
8831
8829
  ._UJo8u {
8832
8830
  margin-bottom: 0 !important;
8831
+ min-height: 48px !important;
8832
+ }
8833
+ ._ok3qh {
8834
+ display: flex;
8835
+ -webkit-touch-callout: none;
8836
+ -webkit-user-select: none;
8837
+ user-select: none;
8838
+ height: 48px;
8839
+ justify-content: center;
8840
+ align-items: center;
8841
+ padding: 1px 8px;
8842
+ text-decoration: none;
8843
+ font-size: 32px;
8844
+ color: var(--layout-text, #333333);
8845
+ border: solid 1px var(--button-border);
8846
+ border-radius: var(--border-radius);
8847
+ background-color: var(--layout-secondary-bgr, #fff);
8848
+ cursor: pointer;
8849
+ outline: none;
8833
8850
  }
8834
8851
  ._2lVWM {
8835
8852
  display: flex;
@@ -9329,6 +9346,284 @@ div._x81-m._xmAnF h2 {
9329
9346
  width: 100%;
9330
9347
  }
9331
9348
 
9349
+ @keyframes _1XD3u {
9350
+ 0% {
9351
+ transform: translateX(-100%);
9352
+ }
9353
+ 100% {
9354
+ transform: translateX(200%);
9355
+ }
9356
+ }
9357
+ @keyframes _11i3G {
9358
+ 0% {
9359
+ opacity: 0.6;
9360
+ }
9361
+ 50% {
9362
+ opacity: 1;
9363
+ }
9364
+ 100% {
9365
+ opacity: 0.6;
9366
+ }
9367
+ }
9368
+ @keyframes _3KYmW {
9369
+ from {
9370
+ opacity: 0;
9371
+ }
9372
+ to {
9373
+ opacity: 1;
9374
+ }
9375
+ }
9376
+ @keyframes _3N2L4 {
9377
+ from {
9378
+ opacity: 1;
9379
+ }
9380
+ to {
9381
+ opacity: 0;
9382
+ }
9383
+ }
9384
+ ._xgx0D {
9385
+ position: relative;
9386
+ background-color: var(--skeleton-bg, rgba(0, 0, 0, 0.06));
9387
+ overflow: hidden;
9388
+ border-radius: 4px;
9389
+ }
9390
+ ._xgx0D::after {
9391
+ content: '';
9392
+ position: absolute;
9393
+ top: 0;
9394
+ left: 0;
9395
+ right: 0;
9396
+ bottom: 0;
9397
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3) 50%, transparent);
9398
+ transform: translateX(-100%);
9399
+ animation: _1XD3u 1.8s ease-in-out infinite;
9400
+ pointer-events: none;
9401
+ }
9402
+ ._11i3G {
9403
+ position: relative;
9404
+ background-color: var(--skeleton-bg, rgba(0, 0, 0, 0.06));
9405
+ animation: _11i3G 1.5s ease-in-out infinite;
9406
+ }
9407
+ ._1Eh3y {
9408
+ pointer-events: none;
9409
+ }
9410
+ ._2JLmU {
9411
+ background: transparent;
9412
+ cursor: default;
9413
+ }
9414
+ ._2JLmU:hover {
9415
+ background: transparent;
9416
+ }
9417
+ ._3Sf-F {
9418
+ width: 40px;
9419
+ height: 16px;
9420
+ position: relative;
9421
+ background-color: var(--skeleton-bg, rgba(0, 0, 0, 0.06));
9422
+ overflow: hidden;
9423
+ border-radius: 4px;
9424
+ }
9425
+ ._3Sf-F::after {
9426
+ content: '';
9427
+ position: absolute;
9428
+ top: 0;
9429
+ left: 0;
9430
+ right: 0;
9431
+ bottom: 0;
9432
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3) 50%, transparent);
9433
+ transform: translateX(-100%);
9434
+ animation: _1XD3u 1.8s ease-in-out infinite;
9435
+ pointer-events: none;
9436
+ }
9437
+ ._17k_P {
9438
+ width: 50px;
9439
+ height: 14px;
9440
+ position: relative;
9441
+ background-color: var(--skeleton-bg, rgba(0, 0, 0, 0.06));
9442
+ overflow: hidden;
9443
+ border-radius: 4px;
9444
+ }
9445
+ ._17k_P::after {
9446
+ content: '';
9447
+ position: absolute;
9448
+ top: 0;
9449
+ left: 0;
9450
+ right: 0;
9451
+ bottom: 0;
9452
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3) 50%, transparent);
9453
+ transform: translateX(-100%);
9454
+ animation: _1XD3u 1.8s ease-in-out infinite;
9455
+ pointer-events: none;
9456
+ }
9457
+ ._1AhML {
9458
+ width: 24px;
9459
+ height: 24px;
9460
+ position: relative;
9461
+ background-color: var(--skeleton-bg, rgba(0, 0, 0, 0.06));
9462
+ overflow: hidden;
9463
+ border-radius: 4px;
9464
+ border-radius: 11px;
9465
+ border: none;
9466
+ }
9467
+ ._1AhML::after {
9468
+ content: '';
9469
+ position: absolute;
9470
+ top: 0;
9471
+ left: 0;
9472
+ right: 0;
9473
+ bottom: 0;
9474
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3) 50%, transparent);
9475
+ transform: translateX(-100%);
9476
+ animation: _1XD3u 1.8s ease-in-out infinite;
9477
+ pointer-events: none;
9478
+ }
9479
+ ._1HTvQ {
9480
+ width: 40px;
9481
+ height: 14px;
9482
+ position: relative;
9483
+ background-color: var(--skeleton-bg, rgba(0, 0, 0, 0.06));
9484
+ overflow: hidden;
9485
+ border-radius: 4px;
9486
+ margin-left: 4px;
9487
+ }
9488
+ ._1HTvQ::after {
9489
+ content: '';
9490
+ position: absolute;
9491
+ top: 0;
9492
+ left: 0;
9493
+ right: 0;
9494
+ bottom: 0;
9495
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3) 50%, transparent);
9496
+ transform: translateX(-100%);
9497
+ animation: _1XD3u 1.8s ease-in-out infinite;
9498
+ pointer-events: none;
9499
+ }
9500
+ ._uWvBy {
9501
+ color: var(--skeleton-dot, rgba(0, 0, 0, 0.15)) !important;
9502
+ animation: _11i3G 1.5s ease-in-out infinite;
9503
+ }
9504
+ ._2VOfa {
9505
+ width: 36px;
9506
+ height: 36px;
9507
+ position: relative;
9508
+ background-color: var(--skeleton-bg, rgba(0, 0, 0, 0.06));
9509
+ overflow: hidden;
9510
+ border-radius: 4px;
9511
+ border-radius: 50%;
9512
+ }
9513
+ ._2VOfa::after {
9514
+ content: '';
9515
+ position: absolute;
9516
+ top: 0;
9517
+ left: 0;
9518
+ right: 0;
9519
+ bottom: 0;
9520
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3) 50%, transparent);
9521
+ transform: translateX(-100%);
9522
+ animation: _1XD3u 1.8s ease-in-out infinite;
9523
+ pointer-events: none;
9524
+ }
9525
+ ._iIEl1 {
9526
+ width: 100%;
9527
+ height: 14px;
9528
+ position: relative;
9529
+ background-color: var(--skeleton-bg, rgba(0, 0, 0, 0.06));
9530
+ overflow: hidden;
9531
+ border-radius: 4px;
9532
+ margin-bottom: 4px;
9533
+ }
9534
+ ._iIEl1::after {
9535
+ content: '';
9536
+ position: absolute;
9537
+ top: 0;
9538
+ left: 0;
9539
+ right: 0;
9540
+ bottom: 0;
9541
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3) 50%, transparent);
9542
+ transform: translateX(-100%);
9543
+ animation: _1XD3u 1.8s ease-in-out infinite;
9544
+ pointer-events: none;
9545
+ }
9546
+ ._2T9Af {
9547
+ width: 70%;
9548
+ height: 12px;
9549
+ position: relative;
9550
+ background-color: var(--skeleton-bg, rgba(0, 0, 0, 0.06));
9551
+ overflow: hidden;
9552
+ border-radius: 4px;
9553
+ }
9554
+ ._2T9Af::after {
9555
+ content: '';
9556
+ position: absolute;
9557
+ top: 0;
9558
+ left: 0;
9559
+ right: 0;
9560
+ bottom: 0;
9561
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3) 50%, transparent);
9562
+ transform: translateX(-100%);
9563
+ animation: _1XD3u 1.8s ease-in-out infinite;
9564
+ pointer-events: none;
9565
+ }
9566
+ ._3rF81 {
9567
+ color: var(--skeleton-arrow, rgba(0, 0, 0, 0.15)) !important;
9568
+ animation: _11i3G 1.5s ease-in-out infinite;
9569
+ font-size: 20px;
9570
+ line-height: 1;
9571
+ }
9572
+ ._CjN0D {
9573
+ animation: _3KYmW 0.2s ease-out;
9574
+ }
9575
+ ._2J_wm {
9576
+ animation: _3KYmW 0.3s ease-out;
9577
+ }
9578
+ ._3N2L4 {
9579
+ animation: _3N2L4 0.2s ease-out forwards;
9580
+ }
9581
+ ._3KYmW {
9582
+ animation: _3KYmW 0.3s ease-out forwards;
9583
+ }
9584
+ ._2GaPy {
9585
+ position: relative;
9586
+ }
9587
+ ._3AZcy {
9588
+ position: absolute;
9589
+ top: -20px;
9590
+ left: 0;
9591
+ right: 0;
9592
+ height: 2px;
9593
+ background: rgba(5, 142, 252, 0.1);
9594
+ overflow: hidden;
9595
+ border-radius: 1px;
9596
+ }
9597
+ ._C1YFx {
9598
+ height: 100%;
9599
+ background: var(--custom-primary-color, var(--layout-accent, #058efc));
9600
+ width: 0%;
9601
+ transition: width 0.1s linear;
9602
+ animation: _1A_0l 1s ease-in-out infinite;
9603
+ }
9604
+ @keyframes _1A_0l {
9605
+ 0% {
9606
+ opacity: 0.6;
9607
+ }
9608
+ 50% {
9609
+ opacity: 1;
9610
+ }
9611
+ 100% {
9612
+ opacity: 0.6;
9613
+ }
9614
+ }
9615
+ ._1beiT {
9616
+ position: absolute;
9617
+ top: -40px;
9618
+ right: 0;
9619
+ font-size: 12px;
9620
+ color: var(--form-placeholder-disabled, #999);
9621
+ background: var(--layout-secondary-bgr, #fff);
9622
+ padding: 4px 8px;
9623
+ border-radius: 4px;
9624
+ border: 1px solid var(--table-borders, rgba(0, 0, 0, 0.12));
9625
+ z-index: 10;
9626
+ }
9332
9627
  ._3p51p {
9333
9628
  display: flex;
9334
9629
  gap: 0;
package/dist/index.js CHANGED
@@ -27865,12 +27865,63 @@ FpsChat.settings = {
27865
27865
  }]
27866
27866
  };
27867
27867
 
27868
- var styles$Q = {"calendar_wrapper":"_1Kd9p","tableLoadingOverlay":"_171jy","tableLoader":"_2mVTm","calendar_header":"_KeJXa","calendar_icon":"_3kOAJ","calendar_header_content":"_31JXU","calendar_title":"_x5UGi","calendar_description":"_p_cCT","customToolbar":"_2FxAd","navGroup":"_3JU7w","arrowButtons":"_16uM4","arrowBtn":"_OdLV7","viewGroup":"_h63QL","viewInput":"_UJo8u","saveGroup":"_2lVWM","rbc_calendar":"_YJ6pl"};
27868
+ var styles$Q = {"calendar_wrapper":"_1Kd9p","tableLoadingOverlay":"_171jy","tableLoader":"_2mVTm","calendar_header":"_KeJXa","calendar_icon":"_3kOAJ","calendar_header_content":"_31JXU","calendar_title":"_x5UGi","calendar_description":"_p_cCT","customToolbar":"_2FxAd","navGroup":"_3JU7w","arrowButtons":"_16uM4","arrowBtn":"_OdLV7","viewGroup":"_h63QL","viewInput":"_UJo8u","datePicker":"_ok3qh","saveGroup":"_2lVWM","rbc_calendar":"_YJ6pl"};
27869
27869
 
27870
- var styles$R = {"cardWeekGrid":"_3p51p","dayColumn":"_24AHL","dayColumnToday":"_2l38a","dayColumnHoliday":"_D_Zbr","dayHeader":"_2U9B_","dayHeaderToday":"_1QfDv","dayHeaderHoliday":"_1ReXH","dayOfWeek":"_1r7Ng","dayName":"_3lcLW","dayDate":"_1z3Am","dayStats":"_kipu5","counterBadge":"_73OWS","counterBadgeEmpty":"_1sGEE","counterBadgeOverflow":"_3HMTt","counterSlots":"_1crO6","dayOccupancy":"_3XUof","eventsList":"_2mTXM","eventsListDragOver":"_1AX7i","eventCard":"_87MAN","eventCardOverflow":"_2iAUQ","avatar":"_1DWib","eventArrow":"_35zym","eventCardInactive":"_2MxuX","statusDot":"_bMgwj","statusDotActive":"_2rctI","statusDotOverflow":"_2K_cd","statusDotInactive":"_38bqC","eventCardDragging":"_1U-yM","avatarImg":"_39viT","eventInfo":"_3soOX","eventTitle":"_2qD-g","eventRole":"_7KTAx"};
27870
+ var styles$R = {"skeletonBase":"_xgx0D","skeletonWave":"_1XD3u","skeletonPulse":"_11i3G","skeletonColumn":"_1Eh3y","skeletonHeader":"_2JLmU","skeletonDayOfWeek":"_3Sf-F","skeletonDayDate":"_17k_P","skeletonBadge":"_1AhML","skeletonSlots":"_1HTvQ","skeletonDot":"_uWvBy","skeletonAvatar":"_2VOfa","skeletonTitle":"_iIEl1","skeletonRole":"_2T9Af","skeletonArrow":"_3rF81","skeletonWrapper":"_CjN0D","fadeIn":"_3KYmW","contentWrapper":"_2J_wm","fadeOut":"_3N2L4","skeletonContainer":"_2GaPy","loadingProgress":"_3AZcy","loadingProgressBar":"_C1YFx","progressPulse":"_1A_0l","loadingTimer":"_1beiT","cardWeekGrid":"_3p51p","dayColumn":"_24AHL","dayColumnToday":"_2l38a","dayColumnHoliday":"_D_Zbr","dayHeader":"_2U9B_","dayHeaderToday":"_1QfDv","dayHeaderHoliday":"_1ReXH","dayOfWeek":"_1r7Ng","dayName":"_3lcLW","dayDate":"_1z3Am","dayStats":"_kipu5","counterBadge":"_73OWS","counterBadgeEmpty":"_1sGEE","counterBadgeOverflow":"_3HMTt","counterSlots":"_1crO6","dayOccupancy":"_3XUof","eventsList":"_2mTXM","eventsListDragOver":"_1AX7i","eventCard":"_87MAN","eventCardOverflow":"_2iAUQ","avatar":"_1DWib","eventArrow":"_35zym","eventCardInactive":"_2MxuX","statusDot":"_bMgwj","statusDotActive":"_2rctI","statusDotOverflow":"_2K_cd","statusDotInactive":"_38bqC","eventCardDragging":"_1U-yM","avatarImg":"_39viT","eventInfo":"_3soOX","eventTitle":"_2qD-g","eventRole":"_7KTAx"};
27871
27871
 
27872
- const _excluded$9 = ["date", "events", "onSelectEvent", "onSelectSlot", "localizer", "culture", "dailySlots", "getSlotsForDay", "showNewEventButton", "showWeekends", "cardWeekDragEnabled", "cardWeekOnEventDrop", "onEventDrop", "showAvatar", "showDotInCardWeek", "primaryColor", "dangerColor", "isEventActive"];
27873
- const EventCard = _ref => {
27872
+ const _excluded$9 = ["date", "events", "onSelectEvent", "onSelectSlot", "localizer", "culture", "dailySlots", "getSlotsForDay", "showNewEventButton", "showWeekends", "cardWeekDragEnabled", "cardWeekOnEventDrop", "onEventDrop", "showAvatar", "showDotInCardWeek", "primaryColor", "dangerColor", "loading", "isEventActive"];
27873
+ const CardWeekSkeleton = _ref => {
27874
+ let {
27875
+ daysCount = 7,
27876
+ showAvatar = true,
27877
+ showDotInCardWeek = true
27878
+ } = _ref;
27879
+ const skeletonCounts = React.useMemo(() => {
27880
+ return Array.from({
27881
+ length: daysCount
27882
+ }).map(() => Math.floor(Math.random() * 3) + 2);
27883
+ }, [daysCount]);
27884
+ return /*#__PURE__*/React__default.createElement("div", {
27885
+ className: styles$R.cardWeekGrid
27886
+ }, Array.from({
27887
+ length: daysCount
27888
+ }).map((_, dayIndex) => /*#__PURE__*/React__default.createElement("div", {
27889
+ key: dayIndex,
27890
+ className: styles$R.dayColumn + " " + styles$R.skeletonColumn
27891
+ }, /*#__PURE__*/React__default.createElement("div", {
27892
+ className: styles$R.dayHeader + " " + styles$R.skeletonHeader
27893
+ }, /*#__PURE__*/React__default.createElement("div", {
27894
+ className: styles$R.dayName
27895
+ }, /*#__PURE__*/React__default.createElement("div", {
27896
+ className: styles$R.skeletonDayOfWeek
27897
+ }), /*#__PURE__*/React__default.createElement("div", {
27898
+ className: styles$R.skeletonDayDate
27899
+ })), /*#__PURE__*/React__default.createElement("div", {
27900
+ className: styles$R.dayStats
27901
+ }, /*#__PURE__*/React__default.createElement("div", {
27902
+ className: styles$R.skeletonSlots
27903
+ }))), /*#__PURE__*/React__default.createElement("div", {
27904
+ className: styles$R.eventsList
27905
+ }, Array.from({
27906
+ length: skeletonCounts[dayIndex]
27907
+ }).map((_, eventIndex) => /*#__PURE__*/React__default.createElement("div", {
27908
+ key: eventIndex,
27909
+ className: styles$R.eventCard + " " + styles$R.skeletonCard
27910
+ }, showDotInCardWeek && /*#__PURE__*/React__default.createElement("div", {
27911
+ className: styles$R.statusDot + " " + styles$R.skeletonDot
27912
+ }, "\u25CF"), showAvatar && /*#__PURE__*/React__default.createElement("div", {
27913
+ className: styles$R.avatar + " " + styles$R.skeletonAvatar
27914
+ }), /*#__PURE__*/React__default.createElement("div", {
27915
+ className: styles$R.eventInfo
27916
+ }, /*#__PURE__*/React__default.createElement("div", {
27917
+ className: styles$R.eventTitle + " " + styles$R.skeletonTitle
27918
+ }), /*#__PURE__*/React__default.createElement("div", {
27919
+ className: styles$R.eventRole + " " + styles$R.skeletonRole
27920
+ })), /*#__PURE__*/React__default.createElement("div", {
27921
+ className: styles$R.eventArrow + " " + styles$R.skeletonArrow
27922
+ }, "\u203A")))))));
27923
+ };
27924
+ const EventCard = _ref2 => {
27874
27925
  let {
27875
27926
  event,
27876
27927
  onSelect,
@@ -27881,7 +27932,7 @@ const EventCard = _ref => {
27881
27932
  dangerColor = '',
27882
27933
  showAvatar = true,
27883
27934
  showDotInCardWeek = true
27884
- } = _ref;
27935
+ } = _ref2;
27885
27936
  const firstLetter = (event.title || 'U')[0].toUpperCase();
27886
27937
  const cardClassName = [styles$R.eventCard, isDragging ? styles$R.eventCardDragging : '', status === 'overflow' ? styles$R.eventCardOverflow : '', status === 'inactive' ? styles$R.eventCardInactive : ''].filter(Boolean).join(' ');
27887
27938
  const dotClassName = [styles$R.statusDot, status === 'active' ? styles$R.statusDotActive : '', status === 'overflow' ? styles$R.statusDotOverflow : '', status === 'inactive' ? styles$R.statusDotInactive : ''].filter(Boolean).join(' ');
@@ -27913,7 +27964,7 @@ const EventCard = _ref => {
27913
27964
  className: styles$R.eventArrow
27914
27965
  }, "\u203A"));
27915
27966
  };
27916
- const CardWeekView = _ref2 => {
27967
+ const CardWeekView = _ref3 => {
27917
27968
  let {
27918
27969
  date,
27919
27970
  events,
@@ -27931,9 +27982,10 @@ const CardWeekView = _ref2 => {
27931
27982
  showDotInCardWeek = true,
27932
27983
  primaryColor = '',
27933
27984
  dangerColor = '',
27985
+ loading = false,
27934
27986
  isEventActive = null
27935
- } = _ref2,
27936
- rest = _objectWithoutPropertiesLoose(_ref2, _excluded$9);
27987
+ } = _ref3,
27988
+ rest = _objectWithoutPropertiesLoose(_ref3, _excluded$9);
27937
27989
  const dragEnabled = cardWeekDragEnabled;
27938
27990
  const momentLocale = (culture || 'en-GB').split('-')[0] || 'en';
27939
27991
  const handleEventDrop = cardWeekOnEventDrop || onEventDrop;
@@ -27945,6 +27997,7 @@ const CardWeekView = _ref2 => {
27945
27997
  }, (_, i) => moment__default(start).add(i, 'days').locale(momentLocale));
27946
27998
  }, [date, momentLocale, daysCount]);
27947
27999
  const eventsByDay = React.useMemo(() => {
28000
+ if (loading) return {};
27948
28001
  const map = {};
27949
28002
  weekDays.forEach(day => {
27950
28003
  const key = day.format('YYYY-MM-DD');
@@ -27963,10 +28016,10 @@ const CardWeekView = _ref2 => {
27963
28016
  });
27964
28017
  });
27965
28018
  return map;
27966
- }, [events, weekDays]);
28019
+ }, [events, weekDays, loading]);
27967
28020
  const isToday = day => moment__default(day).isSame(moment__default(), 'day');
27968
28021
  const handleDayClick = day => {
27969
- if (onSelectSlot && showNewEventButton) {
28022
+ if (onSelectSlot && showNewEventButton && !loading) {
27970
28023
  onSelectSlot({
27971
28024
  start: moment__default(day).startOf('day').toDate(),
27972
28025
  end: moment__default(day).add(1, 'day').endOf('day').toDate(),
@@ -27975,6 +28028,7 @@ const CardWeekView = _ref2 => {
27975
28028
  }
27976
28029
  };
27977
28030
  const handleDragEnd = React.useCallback(result => {
28031
+ if (loading) return;
27978
28032
  const {
27979
28033
  destination,
27980
28034
  source,
@@ -27997,7 +28051,14 @@ const CardWeekView = _ref2 => {
27997
28051
  end: newEnd
27998
28052
  });
27999
28053
  }
28000
- }, [events, handleEventDrop]);
28054
+ }, [events, handleEventDrop, loading]);
28055
+ if (loading) {
28056
+ return /*#__PURE__*/React__default.createElement(CardWeekSkeleton, {
28057
+ daysCount: daysCount,
28058
+ showAvatar: showAvatar,
28059
+ showDotInCardWeek: showDotInCardWeek
28060
+ });
28061
+ }
28001
28062
  const renderDayColumn = day => {
28002
28063
  const key = day.format('YYYY-MM-DD');
28003
28064
  const dayEvents = eventsByDay[key] || [];
@@ -28064,11 +28125,11 @@ const CardWeekView = _ref2 => {
28064
28125
  ref: provided.innerRef
28065
28126
  }, provided.droppableProps, {
28066
28127
  className: styles$R.eventsList + " " + (snapshot.isDraggingOver ? styles$R.eventsListDragOver : '')
28067
- }), eventsWithStatus.map((_ref3, index) => {
28128
+ }), eventsWithStatus.map((_ref4, index) => {
28068
28129
  let {
28069
28130
  event,
28070
28131
  status
28071
- } = _ref3;
28132
+ } = _ref4;
28072
28133
  return /*#__PURE__*/React__default.createElement(reactBeautifulDnd.Draggable, {
28073
28134
  key: String(event.id),
28074
28135
  draggableId: String(event.id),
@@ -28086,11 +28147,11 @@ const CardWeekView = _ref2 => {
28086
28147
  }));
28087
28148
  }), provided.placeholder)) : /*#__PURE__*/React__default.createElement("div", {
28088
28149
  className: styles$R.eventsList
28089
- }, eventsWithStatus.map(_ref4 => {
28150
+ }, eventsWithStatus.map(_ref5 => {
28090
28151
  let {
28091
28152
  event,
28092
28153
  status
28093
- } = _ref4;
28154
+ } = _ref5;
28094
28155
  return /*#__PURE__*/React__default.createElement(EventCard, {
28095
28156
  key: event.id,
28096
28157
  event: event,
@@ -28116,7 +28177,7 @@ const CardWeekView = _ref2 => {
28116
28177
  onDragEnd: handleDragEnd
28117
28178
  }, grid) : grid;
28118
28179
  };
28119
- CardWeekView.title = (date, _ref5) => {
28180
+ CardWeekView.title = (date, _ref6) => {
28120
28181
  const start = moment__default(date).startOf('isoWeek');
28121
28182
  const end = moment__default(date).endOf('isoWeek');
28122
28183
  return start.format('DD.MM') + ' - ' + end.format('DD.MM');
@@ -28177,6 +28238,7 @@ function BigCalendar(props) {
28177
28238
  const [currentView, setCurrentView] = React.useState(_$1__default.get(data, "params.view.defaultView", "card_week"));
28178
28239
  const [hasChanges, setHasChanges] = React.useState(false);
28179
28240
  const [slotRules, setSlotRules] = React.useState(null);
28241
+ const [selectedDate, setSelectedDate] = React.useState(null);
28180
28242
  const [dql, setDQL] = React.useState('');
28181
28243
  const [sort, setSort] = React.useState({});
28182
28244
  function performFiltering(newDql, newSort) {
@@ -28184,9 +28246,31 @@ function BigCalendar(props) {
28184
28246
  setSort(prev => _$1__default.isEqual(prev, newSort) ? prev : newSort);
28185
28247
  }
28186
28248
  const dqlService = React.useMemo(() => _$1__default.debounce(performFiltering, 600), []);
28187
- const [visibleRange, setVisibleRange] = React.useState({
28188
- start: moment__default().startOf('month').toDate(),
28189
- end: moment__default().endOf('month').toDate()
28249
+ const [visibleRange, setVisibleRange] = React.useState(() => {
28250
+ if (currentView === 'month') {
28251
+ return {
28252
+ start: moment__default().startOf('month').toDate(),
28253
+ end: moment__default().endOf('month').toDate()
28254
+ };
28255
+ }
28256
+ if (currentView === 'week') {
28257
+ return {
28258
+ start: moment__default().startOf('week').toDate(),
28259
+ end: moment__default().endOf('week').toDate()
28260
+ };
28261
+ }
28262
+ if (currentView === 'day') {
28263
+ return {
28264
+ start: moment__default().startOf('day').toDate(),
28265
+ end: moment__default().endOf('day').toDate()
28266
+ };
28267
+ }
28268
+ if (currentView === 'card_week') {
28269
+ return {
28270
+ start: moment__default().startOf('week').toDate(),
28271
+ end: moment__default().endOf('week').toDate()
28272
+ };
28273
+ }
28190
28274
  });
28191
28275
  const {
28192
28276
  defaultDate,
@@ -28344,32 +28428,6 @@ function BigCalendar(props) {
28344
28428
  frontEvents
28345
28429
  });
28346
28430
  };
28347
- const setVisibleRangeByDefault = () => {
28348
- if (currentView === 'month') {
28349
- setVisibleRange({
28350
- start: moment__default().startOf('month').toDate(),
28351
- end: moment__default().endOf('month').toDate()
28352
- });
28353
- }
28354
- if (currentView === 'week') {
28355
- setVisibleRange({
28356
- start: moment__default().startOf('week').toDate(),
28357
- end: moment__default().endOf('week').toDate()
28358
- });
28359
- }
28360
- if (currentView === 'day') {
28361
- setVisibleRange({
28362
- start: moment__default().startOf('day').toDate(),
28363
- end: moment__default().endOf('day').toDate()
28364
- });
28365
- }
28366
- if (currentView === 'card_week') {
28367
- setVisibleRange({
28368
- start: moment__default().startOf('week').toDate(),
28369
- end: moment__default().endOf('week').toDate()
28370
- });
28371
- }
28372
- };
28373
28431
  const createDqlStringMain = () => {
28374
28432
  const dqlParts = [];
28375
28433
  if (dql) dqlParts.push(dql);
@@ -28386,9 +28444,6 @@ function BigCalendar(props) {
28386
28444
  };
28387
28445
  const getEventsFromAPI = () => {
28388
28446
  if (!sl) return;
28389
- if (!visibleRange.start || !visibleRange.end) {
28390
- setVisibleRangeByDefault();
28391
- }
28392
28447
  setLoading(true);
28393
28448
  if (sl_rules) {
28394
28449
  callEndpointGET(sl_rules, {}, {
@@ -28563,6 +28618,10 @@ function BigCalendar(props) {
28563
28618
  const goToCurrent = () => {
28564
28619
  toolbar.onNavigate('TODAY');
28565
28620
  };
28621
+ const goToDate = date => {
28622
+ toolbar.onNavigate('DATE', date);
28623
+ setSelectedDate(date);
28624
+ };
28566
28625
  const label = () => {
28567
28626
  return toolbar.label;
28568
28627
  };
@@ -28592,11 +28651,38 @@ function BigCalendar(props) {
28592
28651
  className: "rbc-btn-group " + (styles$Q.navGroup )
28593
28652
  }, /*#__PURE__*/React__default.createElement(Button, {
28594
28653
  onClick: goToBack
28595
- }, '← ' + (dict[lang]['bigCalendar'][currentView === 'card_week' ? 'week' : currentView] || '')), /*#__PURE__*/React__default.createElement(Button, {
28654
+ }, /*#__PURE__*/React__default.createElement("span", {
28655
+ style: {
28656
+ fontSize: '1.5rem',
28657
+ fontWeight: 'bold'
28658
+ }
28659
+ }, "\u2190")), /*#__PURE__*/React__default.createElement(Button, {
28596
28660
  onClick: goToCurrent
28597
28661
  }, dict[lang]['bigCalendar']['today']), /*#__PURE__*/React__default.createElement(Button, {
28598
28662
  onClick: goToNext
28599
- }, (dict[lang]['bigCalendar'][currentView === 'card_week' ? 'week' : currentView] || '') + ' →')), /*#__PURE__*/React__default.createElement("span", {
28663
+ }, /*#__PURE__*/React__default.createElement("span", {
28664
+ style: {
28665
+ fontSize: '1.5rem',
28666
+ fontWeight: 'bold'
28667
+ }
28668
+ }, "\u2192")), /*#__PURE__*/React__default.createElement(Datetime, {
28669
+ locale: culture.split('-')[0] || 'en',
28670
+ closeOnSelect: true,
28671
+ onChange: value => {
28672
+ goToDate(value && value.toDate());
28673
+ },
28674
+ renderInput: (props, openCalendar) => {
28675
+ return /*#__PURE__*/React__default.createElement("div", {
28676
+ className: styles$Q.datePicker,
28677
+ onClick: e => {
28678
+ e.stopPropagation();
28679
+ openCalendar(e);
28680
+ }
28681
+ }, /*#__PURE__*/React__default.createElement("span", {
28682
+ className: "icon icon-calendar"
28683
+ }));
28684
+ }
28685
+ })), /*#__PURE__*/React__default.createElement("span", {
28600
28686
  className: "rbc-toolbar-label"
28601
28687
  }, label()), !hideViewSelector && /*#__PURE__*/React__default.createElement("span", {
28602
28688
  className: "rbc-btn-group " + (styles$Q.viewGroup )
@@ -28698,13 +28784,14 @@ function BigCalendar(props) {
28698
28784
  showDotInCardWeek: showDotInCardWeek,
28699
28785
  primaryColor: primaryColor,
28700
28786
  dangerColor: dangerColor,
28787
+ loading: loading,
28701
28788
  isEventActive: conditionOne ? event => evaluateCondition(conditionOne, event) : null
28702
28789
  }));
28703
28790
  Wrapper.title = CardWeekView.title;
28704
28791
  Wrapper.navigate = CardWeekView.navigate;
28705
28792
  Wrapper.range = CardWeekView.range;
28706
28793
  return Wrapper;
28707
- }, [dailySlots, showWeekends, showDragAndDrop, conditionOne, slotRules, getSlotsForDay]);
28794
+ }, [dailySlots, showWeekends, showDragAndDrop, conditionOne, slotRules, getSlotsForDay, loading]);
28708
28795
  const allViews = React.useMemo(() => ({
28709
28796
  month: true,
28710
28797
  week: true,