@salt-ds/lab 1.0.0-alpha.33 → 1.0.0-alpha.34

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.
Files changed (124) hide show
  1. package/css/salt-lab.css +106 -223
  2. package/dist-cjs/calendar/Calendar.css.js +1 -1
  3. package/dist-cjs/calendar/internal/CalendarCarousel.css.js +1 -1
  4. package/dist-cjs/calendar/internal/CalendarCarousel.js +5 -29
  5. package/dist-cjs/calendar/internal/CalendarCarousel.js.map +1 -1
  6. package/dist-cjs/calendar/internal/CalendarContext.js.map +1 -1
  7. package/dist-cjs/calendar/internal/CalendarDay.css.js +1 -1
  8. package/dist-cjs/calendar/internal/CalendarDay.js +18 -19
  9. package/dist-cjs/calendar/internal/CalendarDay.js.map +1 -1
  10. package/dist-cjs/calendar/internal/CalendarMonth.css.js +1 -1
  11. package/dist-cjs/calendar/internal/CalendarMonth.js +0 -2
  12. package/dist-cjs/calendar/internal/CalendarMonth.js.map +1 -1
  13. package/dist-cjs/calendar/internal/CalendarNavigation.css.js +1 -1
  14. package/dist-cjs/calendar/internal/CalendarNavigation.js +74 -81
  15. package/dist-cjs/calendar/internal/CalendarNavigation.js.map +1 -1
  16. package/dist-cjs/calendar/internal/CalendarWeekHeader.css.js +1 -1
  17. package/dist-cjs/calendar/useCalendar.js +14 -8
  18. package/dist-cjs/calendar/useCalendar.js.map +1 -1
  19. package/dist-cjs/calendar/useCalendarDay.js +15 -5
  20. package/dist-cjs/calendar/useCalendarDay.js.map +1 -1
  21. package/dist-cjs/calendar/useSelection.js.map +1 -1
  22. package/dist-cjs/combo-box-next/ComboBoxNext.js +36 -13
  23. package/dist-cjs/combo-box-next/ComboBoxNext.js.map +1 -1
  24. package/dist-cjs/combo-box-next/useComboBoxNext.js +16 -15
  25. package/dist-cjs/combo-box-next/useComboBoxNext.js.map +1 -1
  26. package/dist-cjs/dialog/Dialog.css.js +1 -1
  27. package/dist-cjs/dialog/DialogHeader.css.js +6 -0
  28. package/dist-cjs/dialog/DialogHeader.css.js.map +1 -0
  29. package/dist-cjs/dialog/{DialogTitle.js → DialogHeader.js} +16 -16
  30. package/dist-cjs/dialog/DialogHeader.js.map +1 -0
  31. package/dist-cjs/dropdown-next/DropdownNext.js +7 -8
  32. package/dist-cjs/dropdown-next/DropdownNext.js.map +1 -1
  33. package/dist-cjs/index.js +2 -6
  34. package/dist-cjs/index.js.map +1 -1
  35. package/dist-cjs/list-control/ListControlContext.js +3 -1
  36. package/dist-cjs/list-control/ListControlContext.js.map +1 -1
  37. package/dist-cjs/list-control/ListControlState.js +16 -18
  38. package/dist-cjs/list-control/ListControlState.js.map +1 -1
  39. package/dist-cjs/option/Option.css.js +1 -1
  40. package/dist-cjs/option/Option.js +10 -20
  41. package/dist-cjs/option/Option.js.map +1 -1
  42. package/dist-cjs/overlay/Overlay.css.js +1 -1
  43. package/dist-es/calendar/Calendar.css.js +1 -1
  44. package/dist-es/calendar/internal/CalendarCarousel.css.js +1 -1
  45. package/dist-es/calendar/internal/CalendarCarousel.js +5 -29
  46. package/dist-es/calendar/internal/CalendarCarousel.js.map +1 -1
  47. package/dist-es/calendar/internal/CalendarContext.js.map +1 -1
  48. package/dist-es/calendar/internal/CalendarDay.css.js +1 -1
  49. package/dist-es/calendar/internal/CalendarDay.js +20 -21
  50. package/dist-es/calendar/internal/CalendarDay.js.map +1 -1
  51. package/dist-es/calendar/internal/CalendarMonth.css.js +1 -1
  52. package/dist-es/calendar/internal/CalendarMonth.js +0 -2
  53. package/dist-es/calendar/internal/CalendarMonth.js.map +1 -1
  54. package/dist-es/calendar/internal/CalendarNavigation.css.js +1 -1
  55. package/dist-es/calendar/internal/CalendarNavigation.js +75 -82
  56. package/dist-es/calendar/internal/CalendarNavigation.js.map +1 -1
  57. package/dist-es/calendar/internal/CalendarWeekHeader.css.js +1 -1
  58. package/dist-es/calendar/useCalendar.js +14 -8
  59. package/dist-es/calendar/useCalendar.js.map +1 -1
  60. package/dist-es/calendar/useCalendarDay.js +15 -5
  61. package/dist-es/calendar/useCalendarDay.js.map +1 -1
  62. package/dist-es/calendar/useSelection.js.map +1 -1
  63. package/dist-es/combo-box-next/ComboBoxNext.js +36 -13
  64. package/dist-es/combo-box-next/ComboBoxNext.js.map +1 -1
  65. package/dist-es/combo-box-next/useComboBoxNext.js +16 -15
  66. package/dist-es/combo-box-next/useComboBoxNext.js.map +1 -1
  67. package/dist-es/dialog/Dialog.css.js +1 -1
  68. package/dist-es/dialog/DialogHeader.css.js +4 -0
  69. package/dist-es/dialog/DialogHeader.css.js.map +1 -0
  70. package/dist-es/dialog/{DialogTitle.js → DialogHeader.js} +16 -16
  71. package/dist-es/dialog/DialogHeader.js.map +1 -0
  72. package/dist-es/dropdown-next/DropdownNext.js +8 -9
  73. package/dist-es/dropdown-next/DropdownNext.js.map +1 -1
  74. package/dist-es/index.js +1 -3
  75. package/dist-es/index.js.map +1 -1
  76. package/dist-es/list-control/ListControlContext.js +3 -1
  77. package/dist-es/list-control/ListControlContext.js.map +1 -1
  78. package/dist-es/list-control/ListControlState.js +16 -19
  79. package/dist-es/list-control/ListControlState.js.map +1 -1
  80. package/dist-es/option/Option.css.js +1 -1
  81. package/dist-es/option/Option.js +11 -21
  82. package/dist-es/option/Option.js.map +1 -1
  83. package/dist-es/overlay/Overlay.css.js +1 -1
  84. package/dist-types/calendar/internal/CalendarContext.d.ts +2 -2
  85. package/dist-types/calendar/internal/CalendarNavigation.d.ts +3 -7
  86. package/dist-types/calendar/useCalendarDay.d.ts +7 -4
  87. package/dist-types/calendar/useSelection.d.ts +4 -4
  88. package/dist-types/combo-box-next/ComboBoxNext.d.ts +7 -10
  89. package/dist-types/combo-box-next/useComboBoxNext.d.ts +6 -4
  90. package/dist-types/dialog/DialogHeader.d.ts +22 -0
  91. package/dist-types/dialog/index.d.ts +1 -1
  92. package/dist-types/dropdown-next/DropdownNext.d.ts +49 -7
  93. package/dist-types/index.d.ts +0 -1
  94. package/dist-types/list-control/ListControlContext.d.ts +1 -1
  95. package/dist-types/list-control/ListControlState.d.ts +14 -12
  96. package/dist-types/option/Option.d.ts +0 -4
  97. package/package.json +2 -2
  98. package/dist-cjs/dialog/DialogTitle.css.js +0 -6
  99. package/dist-cjs/dialog/DialogTitle.css.js.map +0 -1
  100. package/dist-cjs/dialog/DialogTitle.js.map +0 -1
  101. package/dist-cjs/drawer/Drawer.css.js +0 -6
  102. package/dist-cjs/drawer/Drawer.css.js.map +0 -1
  103. package/dist-cjs/drawer/Drawer.js +0 -104
  104. package/dist-cjs/drawer/Drawer.js.map +0 -1
  105. package/dist-cjs/drawer/DrawerCloseButton.css.js +0 -6
  106. package/dist-cjs/drawer/DrawerCloseButton.css.js.map +0 -1
  107. package/dist-cjs/drawer/DrawerCloseButton.js +0 -44
  108. package/dist-cjs/drawer/DrawerCloseButton.js.map +0 -1
  109. package/dist-es/dialog/DialogTitle.css.js +0 -4
  110. package/dist-es/dialog/DialogTitle.css.js.map +0 -1
  111. package/dist-es/dialog/DialogTitle.js.map +0 -1
  112. package/dist-es/drawer/Drawer.css.js +0 -4
  113. package/dist-es/drawer/Drawer.css.js.map +0 -1
  114. package/dist-es/drawer/Drawer.js +0 -100
  115. package/dist-es/drawer/Drawer.js.map +0 -1
  116. package/dist-es/drawer/DrawerCloseButton.css.js +0 -4
  117. package/dist-es/drawer/DrawerCloseButton.css.js.map +0 -1
  118. package/dist-es/drawer/DrawerCloseButton.js +0 -36
  119. package/dist-es/drawer/DrawerCloseButton.js.map +0 -1
  120. package/dist-types/calendar/useCalendar.d.ts +0 -60
  121. package/dist-types/dialog/DialogTitle.d.ts +0 -22
  122. package/dist-types/drawer/Drawer.d.ts +0 -28
  123. package/dist-types/drawer/DrawerCloseButton.d.ts +0 -2
  124. package/dist-types/drawer/index.d.ts +0 -2
package/css/salt-lab.css CHANGED
@@ -196,6 +196,8 @@
196
196
  /* src/calendar/Calendar.css */
197
197
  .saltCalendar {
198
198
  width: min-content;
199
+ background: var(--salt-container-primary-background);
200
+ padding: var(--salt-spacing-100);
199
201
  }
200
202
 
201
203
  /* src/carousel/Carousel.css */
@@ -868,6 +870,7 @@
868
870
  height: min-content;
869
871
  border: var(--salt-container-borderStyle) var(--salt-separable-tertiary-borderColor) var(--salt-size-border);
870
872
  box-sizing: border-box;
873
+ border-radius: var(--salt-palette-corner, 0);
871
874
  }
872
875
  .saltDialog-info {
873
876
  border-color: var(--salt-status-info-borderColor);
@@ -983,8 +986,8 @@
983
986
  box-shadow: var(--salt-overlayable-shadow-scroll);
984
987
  }
985
988
 
986
- /* src/dialog/DialogTitle.css */
987
- .saltDialogTitle {
989
+ /* src/dialog/DialogHeader.css */
990
+ .saltDialogHeader {
988
991
  padding-bottom: var(--salt-spacing-100);
989
992
  padding-left: var(--salt-spacing-300);
990
993
  padding-right: var(--salt-spacing-300);
@@ -994,16 +997,16 @@
994
997
  gap: var(--salt-spacing-100);
995
998
  box-sizing: border-box;
996
999
  }
997
- .saltDialogTitle-title {
1000
+ .saltDialogHeader-header {
998
1001
  margin: 0;
999
1002
  }
1000
- .saltDialogTitle .saltStatusIndicator.saltIcon {
1003
+ .saltDialogHeader .saltStatusIndicator.saltIcon {
1001
1004
  --icon-size: var(--salt-text-h2-lineHeight);
1002
1005
  }
1003
- .saltDialogTitle-withAccent {
1006
+ .saltDialogHeader-withAccent {
1004
1007
  position: relative;
1005
1008
  }
1006
- .saltDialogTitle-withAccent::before {
1009
+ .saltDialogHeader-withAccent::before {
1007
1010
  content: "";
1008
1011
  position: absolute;
1009
1012
  top: 0;
@@ -1012,98 +1015,19 @@
1012
1015
  width: var(--salt-size-accent);
1013
1016
  background: var(--salt-accent-background);
1014
1017
  }
1015
- .saltDialogTitle-error::before {
1018
+ .saltDialogHeader-error::before {
1016
1019
  background: var(--salt-status-error-borderColor);
1017
1020
  }
1018
- .saltDialogTitle-info::before {
1021
+ .saltDialogHeader-info::before {
1019
1022
  background: var(--salt-status-info-borderColor);
1020
1023
  }
1021
- .saltDialogTitle-success::before {
1024
+ .saltDialogHeader-success::before {
1022
1025
  background: var(--salt-status-success-borderColor);
1023
1026
  }
1024
- .saltDialogTitle-warning::before {
1027
+ .saltDialogHeader-warning::before {
1025
1028
  background: var(--salt-status-warning-borderColor);
1026
1029
  }
1027
1030
 
1028
- /* src/drawer/Drawer.css */
1029
- .saltDrawer {
1030
- background: var(--drawer-background);
1031
- display: flex;
1032
- flex-direction: column;
1033
- max-height: 100%;
1034
- max-width: 100%;
1035
- overflow: auto;
1036
- padding: var(--salt-spacing-300);
1037
- box-shadow: var(--salt-overlayable-shadow-modal);
1038
- z-index: var(--salt-zIndex-drawer);
1039
- position: fixed;
1040
- top: 0;
1041
- box-sizing: border-box;
1042
- }
1043
- .saltDrawer-primary {
1044
- --drawer-background: var(--salt-container-primary-background);
1045
- }
1046
- .saltDrawer-secondary {
1047
- --drawer-background: var(--salt-container-secondary-background);
1048
- }
1049
- .saltDrawer-top {
1050
- left: 0;
1051
- right: 0;
1052
- bottom: auto;
1053
- }
1054
- .saltDrawer-top.saltDrawer-enterAnimation {
1055
- animation: var(--salt-animation-slide-in-bottom);
1056
- }
1057
- .saltDrawer-top.saltDrawer-exitAnimation {
1058
- animation: var(--salt-animation-slide-out-bottom);
1059
- }
1060
- .saltDrawer-right {
1061
- left: auto;
1062
- right: 0;
1063
- height: 100%;
1064
- }
1065
- .saltDrawer-right.saltDrawer-enterAnimation {
1066
- animation: var(--salt-animation-slide-in-right);
1067
- }
1068
- .saltDrawer-right.saltDrawer-exitAnimation {
1069
- animation: var(--salt-animation-slide-out-right);
1070
- }
1071
- .saltDrawer-left {
1072
- left: 0;
1073
- right: auto;
1074
- height: 100%;
1075
- }
1076
- .saltDrawer-left.saltDrawer-enterAnimation {
1077
- animation: var(--salt-animation-slide-in-left);
1078
- }
1079
- .saltDrawer-left.saltDrawer-exitAnimation {
1080
- animation: var(--salt-animation-slide-out-left);
1081
- }
1082
- .saltDrawer-bottom {
1083
- left: 0;
1084
- right: 0;
1085
- bottom: 0;
1086
- top: auto;
1087
- }
1088
- .saltDrawer-bottom.saltDrawer-enterAnimation {
1089
- animation: var(--salt-animation-slide-in-top);
1090
- }
1091
- .saltDrawer-bottom.saltDrawer-exitAnimation {
1092
- animation: var(--salt-animation-slide-out-top);
1093
- }
1094
-
1095
- /* src/drawer/DrawerCloseButton.css */
1096
- .saltDrawerCloseButton-container {
1097
- position: relative;
1098
- display: flex;
1099
- justify-content: flex-end;
1100
- }
1101
- .saltButton-secondary.saltDrawerCloseButton {
1102
- position: fixed;
1103
- margin-top: calc(var(--salt-spacing-300) * -1);
1104
- margin-right: calc(var(--salt-spacing-300) * -1);
1105
- }
1106
-
1107
1031
  /* src/dropdown/Dropdown.css */
1108
1032
  .saltDropdown {
1109
1033
  --saltIcon-margin: 2px 0 0 8px;
@@ -2407,6 +2331,7 @@
2407
2331
  }
2408
2332
  .saltOption[aria-disabled=true] {
2409
2333
  color: var(--salt-content-primary-foreground-disabled);
2334
+ cursor: var(--salt-selectable-cursor-disabled);
2410
2335
  }
2411
2336
 
2412
2337
  /* src/option/OptionGroup.css */
@@ -2455,6 +2380,7 @@
2455
2380
  border-color: var(--overlay-borderColor);
2456
2381
  border-style: var(--saltOverlay-borderStyle, var(--salt-container-borderStyle));
2457
2382
  border-width: var(--saltOverlay-borderWidth, var(--salt-size-border));
2383
+ border-radius: var(--saltOverlay-borderRadius, var(--salt-palette-corner, 0));
2458
2384
  background: var(--overlay-background);
2459
2385
  box-shadow: var(--saltOverlay-boxShadow, var(--salt-overlayable-shadow-popout));
2460
2386
  color: var(--saltOverlay-text-color, var(--salt-text-primary-foreground));
@@ -4056,137 +3982,95 @@
4056
3982
  .saltCalendarCarousel-track > :nth-child(2) {
4057
3983
  position: relative;
4058
3984
  }
4059
- .saltCalendarCarousel-shouldAnimate {
4060
- transition: transform 200ms ease-in-out;
4061
- }
4062
3985
 
4063
3986
  /* src/calendar/internal/CalendarDay.css */
4064
3987
  .saltCalendarDay {
4065
- --calendar-day-text-color: var(--salt-content-primary-foreground);
4066
- --calendar-day-background: var(--salt-selectable-background);
4067
- --calendar-day-background-hover: var(--salt-selectable-background-hover);
4068
- --calendar-day-text-color-hover: var(--salt-content-primary-foreground);
4069
- --calendar-day-outOfRange-text-color: var(--salt-content-secondary-foreground-disabled);
4070
- --calendar-day-blocked-text-color: var(--salt-content-primary-foreground);
4071
- --calendar-day-blocked-cursor: var(--salt-selectable-cursor-disabled);
4072
- --calendar-day-blocked-icon-color: var(--salt-status-error-foreground);
4073
- --calendar-day-blocked-background: var(--calendar-day-background);
4074
- --calendar-day-unselectable-text-color: var(--salt-content-secondary-foreground-disabled);
4075
- --calendar-day-unselectable-background: var(--calendar-day-background);
4076
- --calendar-day-unselectable-cursor: var(--salt-selectable-cursor-disabled);
4077
- --calendar-day-selected-background: var(--salt-selectable-background-selected);
4078
- --calendar-day-selected-text-color: var(--salt-content-primary-foreground);
4079
- --calendar-day-selectedStart-background: var(--salt-selectable-background-selected);
4080
- --calendar-day-selectedStart-text-color: var(--salt-content-primary-foreground);
4081
- --calendar-day-selectedEnd-background: var(--salt-selectable-background-selected);
4082
- --calendar-day-selectedEnd-text-color: var(--salt-content-primary-foreground);
4083
- --calendar-day-selectedSpan-background: var(--salt-selectable-background-blurSelected);
4084
- --calendar-day-selectedSpan-text-color: var(--salt-content-primary-foreground);
4085
- --calendar-day-hoveredSpan-background: var(--salt-selectable-background-hover);
4086
- --calendar-day-hoveredSpan-text-color: var(--salt-content-primary-foreground);
4087
- --calendar-day-hoveredOffset-background: var(--salt-selectable-background-hover);
4088
- --calendar-day-hoveredOffset-text-color: var(--salt-content-primary-foreground);
4089
- --calendar-day-currentDay-borderColor: var(--salt-content-primary-foreground);
4090
- --calendar-day-focused-outline: var(--salt-focused-outline);
4091
- --calendar-day-size: var(--salt-size-base);
4092
- --calendar-day-fontSize: var(--salt-text-fontSize);
4093
- }
4094
- .saltCalendarDay {
4095
- width: var(--calendar-day-size);
4096
- height: var(--calendar-day-size);
4097
- color: var(--calendar-day-text-color);
4098
- background-color: var(--calendar-day-background);
4099
- font-size: var(--calendar-day-fontSize);
4100
- border: 0;
3988
+ font-family: var(--salt-text-fontFamily);
3989
+ font-weight: var(--salt-text-fontWeight);
3990
+ line-height: var(--salt-text-lineHeight);
3991
+ font-size: var(--salt-text-fontSize);
3992
+ width: var(--salt-size-base);
3993
+ height: var(--salt-size-base);
3994
+ color: var(--salt-content-primary-foreground);
3995
+ background: var(--salt-selectable-background);
4101
3996
  cursor: pointer;
4102
- position: relative;
3997
+ border: none;
3998
+ padding: 0;
4103
3999
  display: flex;
4104
4000
  justify-content: center;
4105
4001
  align-items: center;
4002
+ position: relative;
4003
+ overflow: hidden;
4004
+ }
4005
+ .saltCalendarDay-content {
4006
+ margin: 0 var(--salt-spacing-50);
4007
+ width: 100%;
4106
4008
  }
4107
4009
  .saltCalendarDay:focus-visible {
4108
- outline: var(--calendar-day-focused-outline);
4010
+ outline: var(--salt-focused-outline);
4109
4011
  outline-offset: calc(0px - var(--salt-focused-outlineWidth));
4110
4012
  }
4111
4013
  .saltCalendarDay-outOfRange {
4112
- color: var(--calendar-day-outOfRange-text-color);
4113
- }
4114
- .saltCalendarDay:hover {
4115
- background: var(--calendar-day-background-hover);
4116
- color: var(--calendar-day-text-color-hover);
4117
- }
4118
- .saltCalendarDay-unselectableMedium,
4119
- .saltCalendarDay-unselectableMedium:hover {
4120
- color: var(--calendar-day-blocked-text-color);
4121
- cursor: var(--calendar-day-blocked-cursor);
4122
- background: var(--calendar-day-blocked-background);
4123
- }
4124
- .saltCalendarDay-today {
4125
- border: 1px solid var(--calendar-day-currentDay-borderColor);
4126
- }
4127
- .saltCalendarDay-selectedSpan {
4128
- background: var(--calendar-day-selectedSpan-background);
4129
- color: var(--calendar-day-selectedSpan-text-color);
4130
- }
4131
- .saltCalendarDay-hoveredSpan,
4132
- .saltCalendarDay-hoveredSpan:hover {
4133
- background: var(--calendar-day-hoveredSpan-background);
4134
- color: var(--calendar-day-hoveredSpan-text-color);
4014
+ color: var(--salt-content-secondary-foreground);
4135
4015
  }
4016
+ .saltCalendarDay:hover,
4136
4017
  .saltCalendarDay-hoveredOffset,
4137
4018
  .saltCalendarDay-hoveredOffset:hover {
4138
- background: var(--calendar-day-hoveredOffset-background);
4139
- color: var(--calendar-day-hoveredOffset-text-color);
4019
+ background: var(--salt-selectable-background-hover);
4140
4020
  }
4141
- .saltCalendarDay-selected,
4142
- .saltCalendarDay-selected:hover {
4143
- background: var(--calendar-day-selected-background);
4144
- color: var(--calendar-day-selected-text-color);
4021
+ .saltCalendarDay-selectedStart {
4022
+ z-index: var(--salt-zIndex-default);
4145
4023
  }
4024
+ .saltCalendarDay-selected,
4025
+ .saltCalendarDay-selected:hover,
4146
4026
  .saltCalendarDay-selectedStart,
4147
- .saltCalendarDay-selectedStart:hover {
4148
- background: var(--calendar-day-selectedStart-background);
4149
- color: var(--calendar-day-selectedStart-text-color);
4150
- }
4027
+ .saltCalendarDay-selectedStart:hover,
4151
4028
  .saltCalendarDay-selectedEnd,
4152
4029
  .saltCalendarDay-selectedEnd:hover {
4153
- background: var(--calendar-day-selectedEnd-background);
4154
- color: var(--calendar-day-selectedEnd-text-color);
4155
- }
4156
- .saltCalendarDay-selected:focus-visible {
4157
- outline-color: var(--calendar-day-selected-focused-outlineColor);
4158
- }
4159
- .saltCalendarDay-selectedStart:focus-visible {
4160
- outline-color: var(--calendar-day-selectedStart-focused-outlineColor);
4161
- }
4162
- .saltCalendarDay-selectedEnd:focus-visible {
4163
- outline-color: var(--calendar-day-selectedEnd-focused-outlineColor);
4164
- }
4165
- .saltCalendarDay-unselectableLow,
4166
- .saltCalendarDay-unselectableLow:hover {
4167
- color: var(--calendar-day-unselectable-text-color);
4168
- background: var(--calendar-day-unselectable-background);
4169
- cursor: var(--calendar-day-unselectable-cursor);
4170
- text-decoration: line-through;
4171
- }
4172
- .salt-density-high {
4173
- --calendar-day-blocked-icon-size: 14px;
4030
+ background: var(--salt-selectable-background-selected);
4031
+ box-shadow: 0 0 0 var(--salt-size-border) var(--salt-selectable-borderColor-selected);
4174
4032
  }
4175
- .salt-density-medium {
4176
- --calendar-day-blocked-icon-size: 18px;
4033
+ .saltCalendarDay-hoveredSpan,
4034
+ .saltCalendarDay-hoveredSpan:hover,
4035
+ .saltCalendarDay-selectedSpan,
4036
+ .saltCalendarDay-selectedSpan:hover {
4037
+ background: var(--salt-selectable-background-hover);
4038
+ box-shadow:
4039
+ calc(var(--salt-size-border) * -2) 0 0 0 var(--salt-selectable-background-hover),
4040
+ calc(var(--salt-size-border) * -1) 0 0 var(--salt-size-border) var(--salt-selectable-borderColor-selected),
4041
+ 0 calc(var(--salt-size-border) * -1) 0 var(--salt-selectable-borderColor-selected);
4042
+ }
4043
+ .saltCalendarDay-disabled,
4044
+ .saltCalendarDay-disabled:hover,
4045
+ .saltCalendarDay-unselectable,
4046
+ .saltCalendarDay-unselectable:hover {
4047
+ background: var(--salt-selectable-background-disabled);
4048
+ cursor: var(--salt-selectable-cursor-disabled);
4177
4049
  }
4178
- .salt-density-low {
4179
- --calendar-day-blocked-icon-size: 24px;
4050
+ .saltCalendarDay-highlighted:before {
4051
+ content: "";
4052
+ height: var(--salt-spacing-200);
4053
+ width: var(--salt-spacing-200);
4054
+ top: calc(var(--salt-spacing-100) * -1);
4055
+ right: calc(var(--salt-spacing-100) * -1);
4056
+ transform: rotate(45deg);
4057
+ background: var(--salt-selectable-borderColor-selected);
4058
+ position: absolute;
4180
4059
  }
4181
- .salt-density-touch {
4182
- --calendar-day-blocked-icon-size: 28px;
4060
+ .saltCalendarDay-disabled {
4061
+ color: var(--salt-content-secondary-foreground-disabled);
4183
4062
  }
4184
- .saltCalendarDay-blockedIcon {
4185
- fill: var(--calendar-day-blocked-icon-color);
4063
+ .saltCalendarDay-unselectable:after {
4064
+ content: "";
4065
+ height: var(--salt-size-border);
4066
+ width: calc(100% - var(--salt-spacing-100));
4067
+ background: var(--salt-content-secondary-foreground);
4186
4068
  position: absolute;
4187
- --icon-size: var(--calendar-day-blocked-icon-size);
4188
- pointer-events: none;
4189
- line-height: 1.29;
4069
+ }
4070
+ .saltCalendarDay-today,
4071
+ .saltCalendarDay-today:hover {
4072
+ border-bottom: var(--salt-size-indicator) var(--salt-selectable-borderStyle) var(--salt-content-foreground-active);
4073
+ margin-bottom: calc(var(--salt-size-indicator) * -1);
4190
4074
  }
4191
4075
  .saltCalendarDay-hidden {
4192
4076
  visibility: hidden;
@@ -4195,50 +4079,49 @@
4195
4079
  /* src/calendar/internal/CalendarMonth.css */
4196
4080
  .saltCalendarMonth-dateGrid {
4197
4081
  display: grid;
4198
- grid-template-columns: repeat(7, 1fr);
4082
+ gap: var(--salt-size-border);
4083
+ grid-template-columns: repeat(7, var(--salt-size-base));
4084
+ grid-template-rows: repeat(6, var(--salt-size-base));
4199
4085
  text-align: center;
4086
+ margin: var(--salt-size-border);
4200
4087
  }
4201
4088
 
4202
4089
  /* src/calendar/internal/CalendarNavigation.css */
4203
- .salt-density-medium,
4204
- .salt-density-touch,
4205
- .salt-density-low {
4206
- --calendar-navigation-gap: calc(var(--salt-size-unit) * 0.5);
4207
- }
4208
- .salt-density-high {
4209
- --calendar-navigation-gap: 0px;
4210
- }
4211
- .saltCalendarNavigation-hideYearDropdown {
4212
- --calendar-navigation-gap: calc(var(--salt-size-unit) * 2);
4213
- }
4214
4090
  .saltCalendarNavigation {
4215
4091
  display: grid;
4216
- grid-template-columns: min-content auto auto min-content;
4217
- grid-gap: var(--calendar-navigation-gap);
4092
+ grid-template-columns: min-content auto min-content;
4093
+ padding-bottom: var(--salt-spacing-100);
4094
+ grid-gap: 0;
4095
+ align-items: center;
4096
+ height: var(--salt-size-base);
4218
4097
  }
4219
4098
  .saltCalendarNavigation-hideYearDropdown {
4220
4099
  grid-template-columns: min-content auto min-content;
4100
+ grid-gap: var(--salt-spacing-300);
4101
+ }
4102
+ .saltCalendarNavigation-dropdowns {
4103
+ display: grid;
4104
+ grid-template-columns: 1fr 1fr;
4105
+ grid-gap: var(--salt-spacing-100);
4221
4106
  }
4222
4107
 
4223
4108
  /* src/calendar/internal/CalendarWeekHeader.css */
4224
- .saltCalendarWeekHeader {
4225
- --calendar-week-header-underline-color: var(--salt-separable-secondary-borderColor);
4226
- --calendar-week-header-text-color: var(--salt-content-secondary-foreground);
4227
- --calendar-week-header-size: var(--salt-size-base);
4228
- --calendar-week-header-fontSize: var(--saltCalendar-week-header-fontSize, var(--salt-text-label-fontSize));
4229
- }
4230
4109
  .saltCalendarWeekHeader {
4231
4110
  display: grid;
4232
- grid-template-columns: repeat(7, 1fr);
4111
+ gap: var(--salt-size-border);
4112
+ grid-template-columns: repeat(7, var(--salt-size-base));
4233
4113
  text-align: center;
4234
- box-shadow: inset 0 -1px 0 var(--calendar-week-header-underline-color);
4114
+ align-items: center;
4115
+ height: var(--salt-size-base);
4116
+ margin: var(--salt-size-border);
4235
4117
  }
4236
4118
  .saltCalendarWeekHeader-dayOfWeek {
4237
- width: var(--calendar-week-header-size);
4238
- height: var(--calendar-week-header-size);
4239
- color: var(--calendar-week-header-text-color);
4240
- line-height: var(--calendar-week-header-size);
4241
- font-size: var(--calendar-week-header-fontSize);
4119
+ width: var(--salt-size-base);
4120
+ color: var(--salt-content-secondary-foreground);
4121
+ font-family: var(--salt-text-fontFamily);
4122
+ font-weight: var(--salt-text-fontWeight);
4123
+ font-size: var(--salt-text-fontSize);
4124
+ line-height: var(--salt-text-lineHeight);
4242
4125
  }
4243
4126
 
4244
4127
  /* src/list-deprecated/internal/Highlighter.css */
@@ -4436,4 +4319,4 @@
4436
4319
  margin: calc(var(--salt-size-unit) / 2) 0;
4437
4320
  }
4438
4321
 
4439
- /* src/00f2fde8-73d7-4e9d-b591-059001f044c9.css */
4322
+ /* src/c6e1d4ac-675b-4241-bf4e-3d3c78a6ade3.css */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var css_248z = ".saltCalendar {\n width: min-content;\n}\n";
3
+ var css_248z = ".saltCalendar {\n width: min-content;\n background: var(--salt-container-primary-background);\n padding: var(--salt-spacing-100);\n}\n";
4
4
 
5
5
  module.exports = css_248z;
6
6
  //# sourceMappingURL=Calendar.css.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var css_248z = ".saltCalendarCarousel-track {\n display: grid;\n grid-auto-flow: column;\n}\n\n.saltCalendarCarousel-track > * {\n position: absolute;\n left: 0;\n width: 100%;\n}\n\n.saltCalendarCarousel-track > :nth-child(2) {\n position: relative;\n}\n\n.saltCalendarCarousel-shouldAnimate {\n transition: transform 200ms ease-in-out;\n}\n";
3
+ var css_248z = ".saltCalendarCarousel-track {\n display: grid;\n grid-auto-flow: column;\n}\n\n.saltCalendarCarousel-track > * {\n position: absolute;\n left: 0;\n width: 100%;\n}\n\n.saltCalendarCarousel-track > :nth-child(2) {\n position: relative;\n}\n";
4
4
 
5
5
  module.exports = css_248z;
6
6
  //# sourceMappingURL=CalendarCarousel.css.js.map
@@ -10,20 +10,16 @@ var core = require('@salt-ds/core');
10
10
  var CalendarContext = require('./CalendarContext.js');
11
11
  var CalendarCarousel$1 = require('./CalendarCarousel.css.js');
12
12
  var utils = require('./utils.js');
13
- var window$1 = require('@salt-ds/window');
13
+ var window = require('@salt-ds/window');
14
14
  var styles = require('@salt-ds/styles');
15
15
 
16
16
  function getMonths(month) {
17
17
  return [month.subtract({ months: 1 }), month, month.add({ months: 1 })];
18
18
  }
19
- function usePreviousMonth(visibleMonth) {
20
- const previous = core.usePrevious(visibleMonth, [utils.formatDate(visibleMonth)]);
21
- return previous != null ? previous : date.today(date.getLocalTimeZone());
22
- }
23
19
  const withBaseName = core.makePrefixer("saltCalendarCarousel");
24
20
  const CalendarCarousel = React.forwardRef(function CalendarCarousel2(props, ref) {
25
21
  const { ...rest } = props;
26
- const targetWindow = window$1.useWindow();
22
+ const targetWindow = window.useWindow();
27
23
  styles.useComponentCssInjection({
28
24
  testId: "salt-calendar-carousel",
29
25
  css: CalendarCarousel$1,
@@ -35,18 +31,9 @@ const CalendarCarousel = React.forwardRef(function CalendarCarousel2(props, ref)
35
31
  const containerRef = React.useRef(null);
36
32
  const diffIndex = (a, b) => utils.monthDiff(a, b);
37
33
  const { current: baseIndex } = React.useRef(visibleMonth);
38
- const previousVisibleMonth = usePreviousMonth(visibleMonth);
39
- core.useIsomorphicLayoutEffect(() => {
40
- var _a, _b;
41
- if (Math.abs(diffIndex(visibleMonth, previousVisibleMonth)) > 1) {
42
- (_a = containerRef.current) == null ? void 0 : _a.classList.remove(withBaseName("shouldAnimate"));
43
- } else {
44
- (_b = containerRef.current) == null ? void 0 : _b.classList.add(withBaseName("shouldAnimate"));
45
- }
46
- }, [utils.formatDate(visibleMonth), utils.formatDate(previousVisibleMonth)]);
47
34
  core.useIsomorphicLayoutEffect(() => {
48
35
  if (containerRef.current) {
49
- containerRef.current.style.transform = `translate3d(${diffIndex(baseIndex, visibleMonth) * 100}%, 0, 0)`;
36
+ containerRef.current.style.transform = `translate3d(${diffIndex(baseIndex, visibleMonth) * -101}%, 0, 0)`;
50
37
  }
51
38
  });
52
39
  const [months, setMonths] = React.useState(() => getMonths(visibleMonth));
@@ -57,18 +44,7 @@ const CalendarCarousel = React.forwardRef(function CalendarCarousel2(props, ref)
57
44
  });
58
45
  return oldMonths.concat(newMonths);
59
46
  });
60
- const finishTransition = () => {
61
- setMonths(getMonths(visibleMonth));
62
- };
63
- const container = containerRef.current;
64
- if (container && parseFloat(window.getComputedStyle(container).transitionDuration) > 0) {
65
- container == null ? void 0 : container.addEventListener("transitionend", finishTransition);
66
- return () => {
67
- container == null ? void 0 : container.removeEventListener("transitionend", finishTransition);
68
- };
69
- } else {
70
- finishTransition();
71
- }
47
+ setMonths(getMonths(visibleMonth));
72
48
  return void 0;
73
49
  }, [utils.formatDate(visibleMonth)]);
74
50
  return /* @__PURE__ */ jsxRuntime.jsx("div", {
@@ -84,7 +60,7 @@ const CalendarCarousel = React.forwardRef(function CalendarCarousel2(props, ref)
84
60
  children: months.map((date, index) => /* @__PURE__ */ jsxRuntime.jsx("div", {
85
61
  className: withBaseName("slide"),
86
62
  style: {
87
- transform: `translateX(${diffIndex(date, baseIndex) * 100}%)`
63
+ transform: `translateX(${diffIndex(date, baseIndex) * -101}%)`
88
64
  },
89
65
  "aria-hidden": index !== 1 ? "true" : void 0,
90
66
  children: /* @__PURE__ */ jsxRuntime.jsx(CalendarMonth.CalendarMonth, {
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarCarousel.js","sources":["../src/calendar/internal/CalendarCarousel.tsx"],"sourcesContent":["import { forwardRef, useEffect, useRef, useState } from \"react\";\nimport {\n DateValue,\n getLocalTimeZone,\n isSameMonth,\n today,\n} from \"@internationalized/date\";\nimport { CalendarMonth, CalendarMonthProps } from \"./CalendarMonth\";\nimport {\n makePrefixer,\n useIsomorphicLayoutEffect,\n usePrevious,\n} from \"@salt-ds/core\";\nimport { useCalendarContext } from \"./CalendarContext\";\n\nimport calendarCarouselCss from \"./CalendarCarousel.css\";\nimport { formatDate, monthDiff } from \"./utils\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nexport type CalendarCarouselProps = Omit<CalendarMonthProps, \"date\">;\n\nfunction getMonths(month: DateValue) {\n return [month.subtract({ months: 1 }), month, month.add({ months: 1 })];\n}\n\nfunction usePreviousMonth(visibleMonth: DateValue) {\n const previous = usePrevious(visibleMonth, [formatDate(visibleMonth)]);\n\n return previous ?? today(getLocalTimeZone());\n}\n\nconst withBaseName = makePrefixer(\"saltCalendarCarousel\");\n\nexport const CalendarCarousel = forwardRef<\n HTMLDivElement,\n CalendarCarouselProps\n>(function CalendarCarousel(props, ref) {\n const { ...rest } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-calendar-carousel\",\n css: calendarCarouselCss,\n window: targetWindow,\n });\n\n const {\n state: { visibleMonth },\n } = useCalendarContext();\n const containerRef = useRef<HTMLDivElement>(null);\n const diffIndex = (a: DateValue, b: DateValue) => monthDiff(a, b);\n\n const { current: baseIndex } = useRef(visibleMonth);\n const previousVisibleMonth = usePreviousMonth(visibleMonth);\n\n useIsomorphicLayoutEffect(() => {\n if (Math.abs(diffIndex(visibleMonth, previousVisibleMonth)) > 1) {\n containerRef.current?.classList.remove(withBaseName(\"shouldAnimate\"));\n } else {\n containerRef.current?.classList.add(withBaseName(\"shouldAnimate\"));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [formatDate(visibleMonth), formatDate(previousVisibleMonth)]);\n\n useIsomorphicLayoutEffect(() => {\n if (containerRef.current) {\n containerRef.current.style.transform = `translate3d(${\n diffIndex(baseIndex, visibleMonth) * 100\n }%, 0, 0)`;\n }\n });\n\n const [months, setMonths] = useState(() => getMonths(visibleMonth));\n\n useEffect(() => {\n setMonths((oldMonths) => {\n const newMonths = getMonths(visibleMonth).filter((month) => {\n return !oldMonths.find((oldMonth) => isSameMonth(oldMonth, month));\n });\n\n return oldMonths.concat(newMonths);\n });\n const finishTransition = () => {\n setMonths(getMonths(visibleMonth));\n };\n const container = containerRef.current;\n\n if (\n container &&\n parseFloat(window.getComputedStyle(container).transitionDuration) > 0\n ) {\n container?.addEventListener(\"transitionend\", finishTransition);\n\n return () => {\n container?.removeEventListener(\"transitionend\", finishTransition);\n };\n } else {\n finishTransition();\n }\n\n return undefined;\n }, [formatDate(visibleMonth)]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <div\n className={withBaseName()}\n style={{\n overflowX: \"hidden\",\n position: \"relative\",\n }}\n ref={ref}\n >\n <div className={withBaseName(\"track\")} ref={containerRef}>\n {months.map((date, index) => (\n <div\n key={formatDate(date)}\n className={withBaseName(\"slide\")}\n style={{\n transform: `translateX(${diffIndex(date, baseIndex) * 100}%)`,\n }}\n aria-hidden={index !== 1 ? \"true\" : undefined}\n >\n <CalendarMonth isVisible={index === 1} {...rest} date={date} />\n </div>\n ))}\n </div>\n </div>\n );\n});\n"],"names":["usePrevious","formatDate","today","getLocalTimeZone","makePrefixer","forwardRef","CalendarCarousel","useWindow","useComponentCssInjection","calendarCarouselCss","useCalendarContext","useRef","monthDiff","useIsomorphicLayoutEffect","useState","useEffect","isSameMonth","jsx","CalendarMonth"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarCarousel.js","sources":["../src/calendar/internal/CalendarCarousel.tsx"],"sourcesContent":["import { forwardRef, useEffect, useRef, useState } from \"react\";\nimport { DateValue, isSameMonth } from \"@internationalized/date\";\nimport { CalendarMonth, CalendarMonthProps } from \"./CalendarMonth\";\nimport { makePrefixer, useIsomorphicLayoutEffect } from \"@salt-ds/core\";\nimport { useCalendarContext } from \"./CalendarContext\";\n\nimport calendarCarouselCss from \"./CalendarCarousel.css\";\nimport { formatDate, monthDiff } from \"./utils\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nexport type CalendarCarouselProps = Omit<CalendarMonthProps, \"date\">;\n\nfunction getMonths(month: DateValue) {\n return [month.subtract({ months: 1 }), month, month.add({ months: 1 })];\n}\n\nconst withBaseName = makePrefixer(\"saltCalendarCarousel\");\n\nexport const CalendarCarousel = forwardRef<\n HTMLDivElement,\n CalendarCarouselProps\n>(function CalendarCarousel(props, ref) {\n const { ...rest } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-calendar-carousel\",\n css: calendarCarouselCss,\n window: targetWindow,\n });\n\n const {\n state: { visibleMonth },\n } = useCalendarContext();\n const containerRef = useRef<HTMLDivElement>(null);\n const diffIndex = (a: DateValue, b: DateValue) => monthDiff(a, b);\n\n const { current: baseIndex } = useRef(visibleMonth);\n\n useIsomorphicLayoutEffect(() => {\n if (containerRef.current) {\n containerRef.current.style.transform = `translate3d(${\n diffIndex(baseIndex, visibleMonth) * -101 // needs to be higher than 100% so the next month doesn't show on the edges\n }%, 0, 0)`;\n }\n });\n\n const [months, setMonths] = useState(() => getMonths(visibleMonth));\n\n useEffect(() => {\n setMonths((oldMonths) => {\n const newMonths = getMonths(visibleMonth).filter((month) => {\n return !oldMonths.find((oldMonth) => isSameMonth(oldMonth, month));\n });\n\n return oldMonths.concat(newMonths);\n });\n setMonths(getMonths(visibleMonth));\n return undefined;\n }, [formatDate(visibleMonth)]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <div\n className={withBaseName()}\n style={{\n overflowX: \"hidden\",\n position: \"relative\",\n }}\n ref={ref}\n >\n <div className={withBaseName(\"track\")} ref={containerRef}>\n {months.map((date, index) => (\n <div\n key={formatDate(date)}\n className={withBaseName(\"slide\")}\n style={{\n transform: `translateX(${diffIndex(date, baseIndex) * -101}%)`,\n }}\n aria-hidden={index !== 1 ? \"true\" : undefined}\n >\n <CalendarMonth isVisible={index === 1} {...rest} date={date} />\n </div>\n ))}\n </div>\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","CalendarCarousel","useWindow","useComponentCssInjection","calendarCarouselCss","useCalendarContext","useRef","monthDiff","useIsomorphicLayoutEffect","useState","useEffect","isSameMonth","formatDate","jsx","CalendarMonth"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarContext.js","sources":["../src/calendar/internal/CalendarContext.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport { useCalendar } from \"../useCalendar\";\n\ntype CalendarState = {\n state: ReturnType<typeof useCalendar>[\"state\"];\n helpers: ReturnType<typeof useCalendar>[\"helpers\"];\n};\n\nconst CalendarContext = createContext<CalendarState | null>(null);\n\nif (process.env.NODE_ENV !== \"production\") {\n CalendarContext.displayName = \"CalendarContext\";\n}\n\nfunction useCalendarContext(): CalendarState {\n const context = useContext(CalendarContext);\n\n if (!context) {\n throw new Error(\"Unexpected usage\");\n }\n\n return context;\n}\n\nexport { CalendarContext, useCalendarContext };\n"],"names":["createContext","useContext"],"mappings":";;;;;;AAQM,MAAA,eAAA,GAAkBA,oBAAoC,IAAI,EAAA;AAEhE,IAAI,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,EAAA,eAAA,CAAgB,WAAc,GAAA,iBAAA,CAAA;AAChC,CAAA;AAEA,SAAS,kBAAoC,GAAA;AAC3C,EAAM,MAAA,OAAA,GAAUC,iBAAW,eAAe,CAAA,CAAA;AAE1C,EAAA,IAAI,CAAC,OAAS,EAAA;AACZ,IAAM,MAAA,IAAI,MAAM,kBAAkB,CAAA,CAAA;AAAA,GACpC;AAEA,EAAO,OAAA,OAAA,CAAA;AACT;;;;;"}
1
+ {"version":3,"file":"CalendarContext.js","sources":["../src/calendar/internal/CalendarContext.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport { useCalendar } from \"../useCalendar\";\n\ninterface CalendarState {\n state: ReturnType<typeof useCalendar>[\"state\"];\n helpers: ReturnType<typeof useCalendar>[\"helpers\"];\n}\n\nconst CalendarContext = createContext<CalendarState | null>(null);\n\nif (process.env.NODE_ENV !== \"production\") {\n CalendarContext.displayName = \"CalendarContext\";\n}\n\nfunction useCalendarContext(): CalendarState {\n const context = useContext(CalendarContext);\n\n if (!context) {\n throw new Error(\"Unexpected usage\");\n }\n\n return context;\n}\n\nexport { CalendarContext, useCalendarContext };\n"],"names":["createContext","useContext"],"mappings":";;;;;;AAQM,MAAA,eAAA,GAAkBA,oBAAoC,IAAI,EAAA;AAEhE,IAAI,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,EAAA,eAAA,CAAgB,WAAc,GAAA,iBAAA,CAAA;AAChC,CAAA;AAEA,SAAS,kBAAoC,GAAA;AAC3C,EAAM,MAAA,OAAA,GAAUC,iBAAW,eAAe,CAAA,CAAA;AAE1C,EAAA,IAAI,CAAC,OAAS,EAAA;AACZ,IAAM,MAAA,IAAI,MAAM,kBAAkB,CAAA,CAAA;AAAA,GACpC;AAEA,EAAO,OAAA,OAAA,CAAA;AACT;;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var css_248z = "/* TODO: Design need to align characteristics for CalendarDay */\n.saltCalendarDay {\n --calendar-day-text-color: var(--salt-content-primary-foreground);\n --calendar-day-background: var(--salt-selectable-background);\n --calendar-day-background-hover: var(--salt-selectable-background-hover);\n --calendar-day-text-color-hover: var(--salt-content-primary-foreground);\n --calendar-day-outOfRange-text-color: var(--salt-content-secondary-foreground-disabled);\n --calendar-day-blocked-text-color: var(--salt-content-primary-foreground);\n --calendar-day-blocked-cursor: var(--salt-selectable-cursor-disabled);\n --calendar-day-blocked-icon-color: var(--salt-status-error-foreground);\n --calendar-day-blocked-background: var(--calendar-day-background);\n --calendar-day-unselectable-text-color: var(--salt-content-secondary-foreground-disabled);\n --calendar-day-unselectable-background: var(--calendar-day-background);\n --calendar-day-unselectable-cursor: var(--salt-selectable-cursor-disabled);\n\n --calendar-day-selected-background: var(--salt-selectable-background-selected);\n --calendar-day-selected-text-color: var(--salt-content-primary-foreground);\n /* --calendar-day-selected-focused-outlineColor: var(--salt-color-white); TODO: Check with design */\n\n --calendar-day-selectedStart-background: var(--salt-selectable-background-selected);\n --calendar-day-selectedStart-text-color: var(--salt-content-primary-foreground);\n /* --calendar-day-selectedStart-focused-outlineColor: var(--salt-color-white); TODO: Check with design */\n\n --calendar-day-selectedEnd-background: var(--salt-selectable-background-selected);\n --calendar-day-selectedEnd-text-color: var(--salt-content-primary-foreground);\n /* --calendar-day-selectedEnd-focused-outlineColor: var(--salt-color-white); TODO: Check with design */\n\n --calendar-day-selectedSpan-background: var(--salt-selectable-background-blurSelected);\n --calendar-day-selectedSpan-text-color: var(--salt-content-primary-foreground);\n\n --calendar-day-hoveredSpan-background: var(--salt-selectable-background-hover);\n --calendar-day-hoveredSpan-text-color: var(--salt-content-primary-foreground);\n\n --calendar-day-hoveredOffset-background: var(--salt-selectable-background-hover);\n --calendar-day-hoveredOffset-text-color: var(--salt-content-primary-foreground);\n\n --calendar-day-currentDay-borderColor: var(--salt-content-primary-foreground); /* TODO should not be foreground color */\n\n /* Focus */\n --calendar-day-focused-outline: var(--salt-focused-outline);\n --calendar-day-size: var(--salt-size-base);\n --calendar-day-fontSize: var(--salt-text-fontSize);\n}\n\n.saltCalendarDay {\n width: var(--calendar-day-size);\n height: var(--calendar-day-size);\n color: var(--calendar-day-text-color);\n background-color: var(--calendar-day-background);\n font-size: var(--calendar-day-fontSize);\n border: 0;\n cursor: pointer;\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.saltCalendarDay:focus-visible {\n outline: var(--calendar-day-focused-outline);\n outline-offset: calc(0px - var(--salt-focused-outlineWidth));\n}\n\n.saltCalendarDay-outOfRange {\n color: var(--calendar-day-outOfRange-text-color);\n}\n\n.saltCalendarDay:hover {\n background: var(--calendar-day-background-hover);\n color: var(--calendar-day-text-color-hover);\n}\n\n.saltCalendarDay-unselectableMedium,\n.saltCalendarDay-unselectableMedium:hover {\n color: var(--calendar-day-blocked-text-color);\n cursor: var(--calendar-day-blocked-cursor);\n background: var(--calendar-day-blocked-background);\n}\n\n.saltCalendarDay-today {\n border: 1px solid var(--calendar-day-currentDay-borderColor);\n}\n\n.saltCalendarDay-selectedSpan {\n background: var(--calendar-day-selectedSpan-background);\n color: var(--calendar-day-selectedSpan-text-color);\n}\n\n.saltCalendarDay-hoveredSpan,\n.saltCalendarDay-hoveredSpan:hover {\n background: var(--calendar-day-hoveredSpan-background);\n color: var(--calendar-day-hoveredSpan-text-color);\n}\n\n.saltCalendarDay-hoveredOffset,\n.saltCalendarDay-hoveredOffset:hover {\n background: var(--calendar-day-hoveredOffset-background);\n color: var(--calendar-day-hoveredOffset-text-color);\n}\n\n.saltCalendarDay-selected,\n.saltCalendarDay-selected:hover {\n background: var(--calendar-day-selected-background);\n color: var(--calendar-day-selected-text-color);\n}\n\n.saltCalendarDay-selectedStart,\n.saltCalendarDay-selectedStart:hover {\n background: var(--calendar-day-selectedStart-background);\n color: var(--calendar-day-selectedStart-text-color);\n}\n\n.saltCalendarDay-selectedEnd,\n.saltCalendarDay-selectedEnd:hover {\n background: var(--calendar-day-selectedEnd-background);\n color: var(--calendar-day-selectedEnd-text-color);\n}\n\n.saltCalendarDay-selected:focus-visible {\n outline-color: var(--calendar-day-selected-focused-outlineColor);\n}\n\n.saltCalendarDay-selectedStart:focus-visible {\n outline-color: var(--calendar-day-selectedStart-focused-outlineColor);\n}\n\n.saltCalendarDay-selectedEnd:focus-visible {\n outline-color: var(--calendar-day-selectedEnd-focused-outlineColor);\n}\n\n.saltCalendarDay-unselectableLow,\n.saltCalendarDay-unselectableLow:hover {\n color: var(--calendar-day-unselectable-text-color);\n background: var(--calendar-day-unselectable-background);\n cursor: var(--calendar-day-unselectable-cursor);\n text-decoration: line-through;\n}\n\n.salt-density-high {\n --calendar-day-blocked-icon-size: 14px;\n}\n\n.salt-density-medium {\n --calendar-day-blocked-icon-size: 18px;\n}\n\n.salt-density-low {\n --calendar-day-blocked-icon-size: 24px;\n}\n\n.salt-density-touch {\n --calendar-day-blocked-icon-size: 28px;\n}\n\n.saltCalendarDay-blockedIcon {\n fill: var(--calendar-day-blocked-icon-color);\n position: absolute;\n --icon-size: var(--calendar-day-blocked-icon-size);\n pointer-events: none;\n line-height: 1.29;\n}\n\n.saltCalendarDay-hidden {\n visibility: hidden;\n}\n";
3
+ var css_248z = ".saltCalendarDay {\n font-family: var(--salt-text-fontFamily);\n font-weight: var(--salt-text-fontWeight);\n line-height: var(--salt-text-lineHeight);\n font-size: var(--salt-text-fontSize);\n width: var(--salt-size-base);\n height: var(--salt-size-base);\n color: var(--salt-content-primary-foreground);\n background: var(--salt-selectable-background);\n cursor: pointer;\n border: none;\n padding: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n overflow: hidden;\n}\n.saltCalendarDay-content {\n margin: 0 var(--salt-spacing-50);\n width: 100%;\n}\n\n.saltCalendarDay:focus-visible {\n outline: var(--salt-focused-outline);\n outline-offset: calc(0px - var(--salt-focused-outlineWidth));\n}\n\n.saltCalendarDay-outOfRange {\n color: var(--salt-content-secondary-foreground);\n}\n\n.saltCalendarDay:hover,\n.saltCalendarDay-hoveredOffset,\n.saltCalendarDay-hoveredOffset:hover {\n background: var(--salt-selectable-background-hover);\n}\n.saltCalendarDay-selectedStart {\n z-index: var(--salt-zIndex-default);\n}\n\n.saltCalendarDay-selected,\n.saltCalendarDay-selected:hover,\n.saltCalendarDay-selectedStart,\n.saltCalendarDay-selectedStart:hover,\n.saltCalendarDay-selectedEnd,\n.saltCalendarDay-selectedEnd:hover {\n background: var(--salt-selectable-background-selected);\n box-shadow: 0 0 0 var(--salt-size-border) var(--salt-selectable-borderColor-selected);\n}\n\n.saltCalendarDay-hoveredSpan,\n.saltCalendarDay-hoveredSpan:hover,\n.saltCalendarDay-selectedSpan,\n.saltCalendarDay-selectedSpan:hover {\n background: var(--salt-selectable-background-hover);\n box-shadow: calc(var(--salt-size-border) * -2) 0 0 0 var(--salt-selectable-background-hover),\n calc(var(--salt-size-border) * -1) 0 0 var(--salt-size-border) var(--salt-selectable-borderColor-selected), 0 calc(var(--salt-size-border) * -1) 0 var(--salt-selectable-borderColor-selected);\n}\n\n.saltCalendarDay-disabled,\n.saltCalendarDay-disabled:hover,\n.saltCalendarDay-unselectable,\n.saltCalendarDay-unselectable:hover {\n background: var(--salt-selectable-background-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n.saltCalendarDay-highlighted:before {\n content: \"\";\n height: var(--salt-spacing-200); /* TODO: change for size-modifier when available */\n width: var(--salt-spacing-200);\n top: calc(var(--salt-spacing-100) * -1);\n right: calc(var(--salt-spacing-100) * -1);\n transform: rotate(45deg);\n background: var(--salt-selectable-borderColor-selected);\n position: absolute;\n}\n\n.saltCalendarDay-disabled {\n color: var(--salt-content-secondary-foreground-disabled);\n}\n.saltCalendarDay-unselectable:after {\n content: \"\";\n height: var(--salt-size-border);\n width: calc(100% - var(--salt-spacing-100));\n background: var(--salt-content-secondary-foreground);\n position: absolute;\n}\n\n.saltCalendarDay-today,\n.saltCalendarDay-today:hover {\n border-bottom: var(--salt-size-indicator) var(--salt-selectable-borderStyle) var(--salt-content-foreground-active);\n margin-bottom: calc(var(--salt-size-indicator) * -1);\n}\n\n.saltCalendarDay-hidden {\n visibility: hidden;\n}\n";
4
4
 
5
5
  module.exports = css_248z;
6
6
  //# sourceMappingURL=CalendarDay.css.js.map