css-zero 3.1.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +807 -0
  3. data/LICENSE.txt +21 -0
  4. data/app/assets/stylesheets/css-zero/animations.css +50 -50
  5. data/app/assets/stylesheets/css-zero/effects.css +14 -7
  6. data/app/assets/stylesheets/css-zero/filters.css +33 -41
  7. data/app/assets/stylesheets/css-zero/reset.css +19 -17
  8. data/app/assets/stylesheets/css-zero/transitions.css +12 -0
  9. data/app/assets/stylesheets/css-zero/typography.css +5 -2
  10. data/app/assets/stylesheets/css-zero/utilities.css +20 -23
  11. data/lib/css_zero/version.rb +1 -1
  12. data/lib/generators/css_zero/add/USAGE +1 -1
  13. data/lib/generators/css_zero/add/resources.yml +16 -13
  14. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/accordion.css +16 -6
  15. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/alert.css +1 -1
  16. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/autoanimate.css +2 -1
  17. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/avatar.css +11 -11
  18. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/badge.css +2 -3
  19. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/button.css +19 -9
  20. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/card.css +1 -1
  21. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/carousel.css +2 -2
  22. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/combobox.css +21 -17
  23. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/command.css +8 -15
  24. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/datepicker.css +27 -19
  25. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/dialog.css +14 -9
  26. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/dropzone.css +1 -1
  27. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/flash.css +49 -30
  28. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/group.css +4 -0
  29. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/input.css +1 -1
  30. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/keyboard.css +21 -0
  31. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/layouts.css +2 -2
  32. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/lexxy.css +46 -0
  33. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/lightbox.css +2 -2
  34. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/list.css +1 -1
  35. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/menu.css +5 -3
  36. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/pagination.css +17 -0
  37. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/popover.css +51 -5
  38. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/progress.css +8 -8
  39. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/sheet.css +18 -12
  40. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/sidebar_menu.css +3 -1
  41. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/switch.css +17 -7
  42. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/tabs.css +24 -8
  43. data/lib/generators/css_zero/add/templates/app/javascript/controllers/autosave_controller.js +1 -1
  44. data/lib/generators/css_zero/add/templates/app/javascript/controllers/chart_controller.js +22 -5
  45. data/lib/generators/css_zero/add/templates/app/javascript/controllers/combobox_controller.js +4 -4
  46. data/lib/generators/css_zero/add/templates/app/javascript/controllers/command_controller.js +5 -0
  47. data/lib/generators/css_zero/add/templates/app/javascript/controllers/dialog_controller.js +3 -5
  48. data/lib/generators/css_zero/add/templates/app/javascript/controllers/dropzone_controller.js +2 -2
  49. data/lib/generators/css_zero/add/templates/app/javascript/controllers/flash_controller.js +1 -1
  50. data/lib/generators/css_zero/add/templates/app/javascript/controllers/form_controller.js +4 -0
  51. data/lib/generators/css_zero/add/templates/app/javascript/controllers/interest_controller.js +27 -0
  52. data/lib/generators/css_zero/add/templates/app/javascript/controllers/sortable_controller.js +2 -2
  53. data/lib/generators/css_zero/add/templates/app/javascript/controllers/sound_controller.js +70 -0
  54. data/lib/generators/css_zero/authentication/templates/app/views/passwords/edit.html.erb.tt +1 -1
  55. data/lib/generators/css_zero/authentication/templates/app/views/passwords/new.html.erb.tt +1 -1
  56. data/lib/generators/css_zero/authentication/templates/app/views/sessions/new.html.erb.tt +2 -2
  57. data/lib/generators/css_zero/install/templates/app/assets/stylesheets/base.css +2 -3
  58. data/lib/generators/css_zero/install/templates/app/views/layouts/application.html.erb +2 -2
  59. data/lib/generators/css_zero/scaffold/templates/index.html.erb.tt +1 -1
  60. data/lib/generators/css_zero/scaffold/templates/partial.html.erb.tt +2 -2
  61. metadata +24 -6
  62. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/prose.css +0 -140
  63. data/lib/generators/css_zero/add/templates/app/assets/stylesheets/trix.css +0 -210
  64. data/lib/generators/css_zero/add/templates/app/javascript/controllers/popover_controller.js +0 -55
@@ -31,11 +31,11 @@ chart:
31
31
  - app/javascript/controllers/chart_controller.js
32
32
  check_all:
33
33
  - app/javascript/controllers/check_all_controller.js
34
+ collapsible:
35
+ - app/javascript/controllers/collapsible_controller.js
34
36
  color_scheme:
35
37
  - app/assets/stylesheets/color_scheme.css
36
38
  - app/javascript/controllers/color_scheme_controller.js
37
- collapsible:
38
- - app/javascript/controllers/collapsible_controller.js
39
39
  combobox:
40
40
  - app/assets/stylesheets/combobox.css
41
41
  - app/javascript/controllers/combobox_controller.js
@@ -45,7 +45,6 @@ command:
45
45
  - app/javascript/controllers/command_controller.js
46
46
  context_menu:
47
47
  - app/assets/stylesheets/popover.css
48
- - app/javascript/controllers/popover_controller.js
49
48
  - app/assets/stylesheets/menu.css
50
49
  - app/javascript/controllers/context_menu_controller.js
51
50
  datepicker:
@@ -56,7 +55,6 @@ dialog:
56
55
  - app/javascript/controllers/dialog_controller.js
57
56
  dropdown:
58
57
  - app/assets/stylesheets/popover.css
59
- - app/javascript/controllers/popover_controller.js
60
58
  - app/assets/stylesheets/menu.css
61
59
  - app/javascript/controllers/menu_controller.js
62
60
  dropzone:
@@ -83,11 +81,8 @@ icons:
83
81
  - app/assets/images/chevron-right.svg
84
82
  - app/assets/images/ellipsis.svg
85
83
  - app/assets/images/chevrons-up-down.svg
86
- - app/assets/images/menu.svg
87
84
  - app/assets/images/x.svg
88
85
  - app/assets/images/search.svg
89
- - app/assets/images/eye.svg
90
- - app/assets/images/eye-off.svg
91
86
  - app/assets/images/copy.svg
92
87
  - app/assets/images/download.svg
93
88
  - app/assets/images/share.svg
@@ -97,6 +92,7 @@ icons:
97
92
  - app/assets/images/moon.svg
98
93
  - app/assets/images/circle-alert.svg
99
94
  - app/assets/images/circle-check.svg
95
+ - app/assets/images/panel-left.svg
100
96
  input:
101
97
  - app/assets/stylesheets/input.css
102
98
  - app/assets/images/chevron-down-zinc-500.svg
@@ -112,13 +108,20 @@ input_otp:
112
108
  input_revealable:
113
109
  - app/javascript/controllers/input_revealable_controller.js
114
110
  - app/assets/stylesheets/input_revealable.css
111
+ - app/assets/images/eye.svg
112
+ - app/assets/images/eye-off.svg
115
113
  inputmask:
116
114
  - app/javascript/controllers/inputmask_controller.js
115
+ keyboard:
116
+ - app/assets/stylesheets/keyboard.css
117
117
  layouts:
118
118
  - app/assets/stylesheets/layouts.css
119
119
  - app/assets/stylesheets/sidebar_menu.css
120
120
  - app/javascript/controllers/toggle_class_controller.js
121
121
  - app/assets/images/panel-left.svg
122
+ - app/assets/images/chevron-right.svg
123
+ lexxy:
124
+ - app/assets/stylesheets/lexxy.css
122
125
  lightbox:
123
126
  - app/assets/stylesheets/lightbox.css
124
127
  - app/javascript/controllers/lightbox_controller.js
@@ -127,16 +130,16 @@ list:
127
130
  - app/assets/stylesheets/list.css
128
131
  local_time:
129
132
  - app/javascript/controllers/local_time_controller.js
133
+ pagination:
134
+ - app/assets/stylesheets/pagination.css
130
135
  popover:
131
136
  - app/assets/stylesheets/popover.css
132
- - app/javascript/controllers/popover_controller.js
137
+ - app/javascript/controllers/interest_controller.js
133
138
  progress:
134
139
  - app/assets/stylesheets/progress.css
135
- prose:
136
- - app/assets/stylesheets/prose.css
137
140
  resizable:
138
141
  - app/assets/stylesheets/resizable.css
139
- - app/assets/stylesheets/resizable_controller.js
142
+ - app/javascript/controllers/resizable_controller.js
140
143
  - app/assets/images/grip-horizontal-zink-500.svg
141
144
  - app/assets/images/grip-vertical-zink-500.svg
142
145
  separator:
@@ -148,6 +151,8 @@ skeleton:
148
151
  - app/assets/stylesheets/skeleton.css
149
152
  sortable:
150
153
  - app/javascript/controllers/sortable_controller.js
154
+ sound:
155
+ - app/javascript/controllers/sound_controller.js
151
156
  switch:
152
157
  - app/assets/stylesheets/switch.css
153
158
  table:
@@ -159,8 +164,6 @@ timezone_cookie:
159
164
  - app/javascript/controllers/timezone_cookie_controller.js
160
165
  toggle:
161
166
  - app/assets/stylesheets/toggle.css
162
- trix:
163
- - app/assets/stylesheets/trix.css
164
167
  turbo_confirm:
165
168
  - app/assets/stylesheets/dialog.css
166
169
  - app/javascript/controllers/turbo_confirm_controller.js
@@ -5,41 +5,51 @@
5
5
 
6
6
  &::details-content {
7
7
  block-size: 0;
8
+ opacity: 0;
8
9
  overflow: hidden;
9
10
  transition-behavior: allow-discrete;
10
11
  transition-duration: var(--time-200);
11
- transition-property: content-visibility block-size;
12
+ transition-property: content-visibility, block-size, opacity;
13
+ transition-timing-function: var(--ease-out-3);
12
14
  }
13
15
 
14
16
  &[open]::details-content {
15
- block-size: auto;
17
+ block-size: auto; opacity: 1;
16
18
  }
17
19
  }
18
20
 
19
21
  summary {
20
- align-items: center;
22
+ align-items: flex-start;
21
23
  cursor: default;
22
24
  display: flex;
23
25
  font-weight: var(--font-medium);
24
- padding-block: var(--size-4);
26
+ padding-block: var(--size-2_5);
25
27
 
26
28
  &:hover {
27
29
  text-decoration: underline;
28
30
  }
29
31
 
30
32
  &:focus-visible {
31
- outline: var(--border-2) auto var(--color-selected-dark);
33
+ outline: var(--border-2) solid var(--color-selected-dark);
34
+ }
35
+
36
+ &[aria-disabled="true"] {
37
+ opacity: var(--opacity-50);
38
+ pointer-events: none;
32
39
  }
33
40
 
34
41
  &::after {
35
42
  background-color: currentColor;
36
43
  block-size: var(--size-4);
44
+ color: var(--color-text-subtle);
37
45
  content: "";
38
46
  inline-size: var(--size-4);
39
47
  margin-inline-start: auto;
40
48
  mask-image: url("chevron-down.svg");
41
49
  mask-size: cover;
42
- transition: transform var(--time-200);
50
+ transition-duration: var(--time-300);
51
+ transition-property: transform;
52
+ transition-timing-function: var(--ease-spring-2);
43
53
  }
44
54
 
45
55
  details[open] > &::after {
@@ -5,7 +5,7 @@
5
5
  color: var(--alert-color, var(--color-text));
6
6
  font-size: var(--text-sm);
7
7
  inline-size: var(--size-full);
8
- padding: var(--size-4);
8
+ padding: var(--size-2) var(--size-2_5);
9
9
  }
10
10
 
11
11
  .alert--positive {
@@ -1,4 +1,5 @@
1
1
  .auto-animate > * {
2
+ view-transition-name: match-element;
2
3
  view-transition-class: auto-animation;
3
4
  }
4
5
 
@@ -7,7 +8,7 @@
7
8
  }
8
9
 
9
10
  ::view-transition-old(.auto-animation):only-child {
10
- animation: remove-animation 250ms ease-out;
11
+ animation: remove-animation 250ms ease-out forwards;
11
12
  }
12
13
 
13
14
  @keyframes add-animation {
@@ -1,21 +1,21 @@
1
1
  .avatar {
2
- --radius: var(--rounded-full);
3
- --size: var(--avatar-size, var(--size-10));
2
+ --avatar-radius: var(--rounded-full);
3
+ --avatar-size: var(--size-8);
4
4
 
5
- block-size: var(--size);
6
- border-radius: var(--radius);
5
+ block-size: var(--avatar-size);
6
+ border-radius: var(--avatar-radius);
7
7
  display: flex;
8
8
  flex-shrink: 0;
9
- inline-size: var(--size);
9
+ inline-size: var(--avatar-size);
10
10
  overflow: hidden;
11
11
 
12
- &:is(.btn) {
13
- --btn-inline-size: var(--size);
12
+ &.btn {
13
+ --btn-inline-size: var(--avatar-size);
14
14
  --btn-padding: 0;
15
- --btn-radius: var(--radius);
15
+ --btn-radius: var(--avatar-radius);
16
16
  }
17
17
 
18
- &:is(.btn):hover {
18
+ &.btn:hover {
19
19
  filter: var(--brightness-90);
20
20
  }
21
21
 
@@ -30,9 +30,9 @@
30
30
  align-items: center;
31
31
  background-color: var(--color-border-light);
32
32
  block-size: var(--size-full);
33
- border-radius: var(--radius);
33
+ border-radius: var(--avatar-radius);
34
34
  display: flex;
35
- font-size: calc(var(--size) * .4);
35
+ font-size: calc(var(--avatar-size) * .4);
36
36
  inline-size: var(--size-full);
37
37
  justify-content: center;
38
38
  user-select: none;
@@ -2,15 +2,14 @@
2
2
  align-items: center;
3
3
  background-color: var(--badge-background, var(--color-bg));
4
4
  border: 1px solid var(--badge-border-color, var(--color-border));
5
- border-radius: var(--badge-radius, var(--rounded-md));
5
+ border-radius: var(--badge-radius, var(--rounded-3xl));
6
6
  box-shadow: var(--badge-box-shadow, none);
7
7
  color: var(--badge-color, var(--color-text));
8
8
  column-gap: var(--size-1);
9
9
  display: inline-flex;
10
10
  font-size: var(--text-xs);
11
- font-weight: var(--font-semibold);
11
+ font-weight: var(--font-medium);
12
12
  justify-content: center;
13
- line-height: var(--leading-4);
14
13
  min-inline-size: var(--badge-min-inline-size, 0);
15
14
  padding: var(--badge-padding, .125rem .5rem);
16
15
  }
@@ -3,17 +3,17 @@
3
3
  background-color: var(--btn-background, var(--color-surface));
4
4
  block-size: var(--btn-block-size, auto);
5
5
  border: 1px solid var(--btn-border-color, var(--color-border));
6
- border-radius: var(--btn-radius, var(--rounded-md));
6
+ border-radius: var(--btn-radius, var(--rounded-lg));
7
7
  box-shadow: var(--btn-box-shadow, var(--shadow-xs));
8
8
  color: var(--btn-color, var(--color-text));
9
- column-gap: var(--size-2);
10
- cursor: default;
9
+ column-gap: var(--size-1_5);
10
+ cursor: var(--btn-cursor, default);
11
11
  display: inline-flex;
12
12
  font-size: var(--btn-font-size, var(--text-sm));
13
13
  font-weight: var(--btn-font-weight, var(--font-medium));
14
14
  inline-size: var(--btn-inline-size, auto);
15
15
  justify-content: var(--btn-justify-content, center);
16
- padding: var(--btn-padding, .375rem 1rem);
16
+ padding: var(--btn-padding, .25rem .625rem);
17
17
  position: relative;
18
18
  white-space: nowrap;
19
19
 
@@ -73,20 +73,30 @@
73
73
  }
74
74
 
75
75
  .btn--icon {
76
- --btn-padding: var(--size-2);
76
+ --btn-padding: var(--size-1_5);
77
77
  }
78
78
 
79
- [aria-busy="true"] .btn--busy:disabled {
79
+ .btn--feedback {
80
+ transition-duration: var(--time-150);
81
+ transition-property: transform;
82
+ transition-timing-function: var(--ease-spring-2);
83
+
84
+ &:active {
85
+ transform: scale(0.97);
86
+ }
87
+ }
88
+
89
+ [aria-busy] .btn--busy:disabled {
80
90
  > * {
81
91
  visibility: hidden;
82
92
  }
83
93
 
84
94
  &::after {
85
- animation: spin 1s linear infinite;
95
+ animation: x-spin 1s linear infinite;
86
96
  background-color: currentColor;
87
- block-size: var(--size-5);
97
+ block-size: var(--size-4);
88
98
  content: "";
89
- inline-size: var(--size-5);
99
+ inline-size: var(--size-4);
90
100
  mask-image: url("loading.svg");
91
101
  mask-size: cover;
92
102
  position: absolute;
@@ -3,5 +3,5 @@
3
3
  border-radius: var(--rounded-xl);
4
4
  border-width: var(--border);
5
5
  box-shadow: var(--shadow-sm);
6
- padding: var(--size-6);
6
+ padding: var(--size-4);
7
7
  }
@@ -1,12 +1,12 @@
1
1
  .carousel {
2
2
  align-items: center;
3
+ column-gap: var(--size-4);
3
4
  display: flex;
4
- gap: var(--size-4);
5
5
  }
6
6
 
7
7
  .carousel__content {
8
+ column-gap: var(--carousel-items-gap, 1rem);
8
9
  display: flex;
9
- gap: var(--carousel-items-gap, 1rem);
10
10
  inline-size: var(--size-full);
11
11
  overflow: hidden;
12
12
  scroll-behavior: smooth;
@@ -1,16 +1,15 @@
1
- @import url("https://esm.sh/tom-select@2.4.3/dist/css/tom-select.min.css");
1
+ @import url("https://esm.sh/tom-select@2.6.1/dist/css/tom-select.min.css");
2
2
 
3
3
  .ts-control {
4
4
  align-items: center;
5
5
  background-color: var(--color-surface);
6
6
  border: 1px solid var(--color-border);
7
- border-radius: var(--rounded-md);
7
+ border-radius: var(--rounded-lg);
8
8
  color: var(--color-text);
9
9
  display: inline-flex;
10
10
  font-size: var(--text-sm);
11
- line-height: inherit;
12
- min-block-size: var(--size-9);
13
- padding: var(--size-1_5) var(--size-3);
11
+ min-block-size: var(--size-8);
12
+ padding: var(--size-1) var(--size-2_5);
14
13
 
15
14
  > input {
16
15
  color: inherit; font-size: inherit;
@@ -20,16 +19,16 @@
20
19
  .ts-dropdown {
21
20
  background-color: var(--color-surface);
22
21
  border: 1px solid var(--color-border);
23
- border-radius: var(--rounded-md);
22
+ border-radius: var(--rounded-lg);
24
23
  box-shadow: var(--shadow-md);
25
24
  color: var(--color-text);
26
25
  font-size: var(--text-sm);
27
- line-height: inherit;
28
26
 
29
27
  /* Setup transition */
30
28
  transition-behavior: allow-discrete;
31
- transition-duration: var(--time-150);
29
+ transition-duration: var(--time-300);
32
30
  transition-property: display, opacity, transform;
31
+ transition-timing-function: var(--ease-spring-2);
33
32
 
34
33
  /* Exit stage to */
35
34
  opacity: 0;
@@ -66,14 +65,14 @@
66
65
  padding: var(--size-1_5) var(--size-2);
67
66
  }
68
67
 
69
- .create {
70
- padding: var(--size-1_5) var(--size-2);
68
+ :is(.option, .create) {
69
+ border: 1px solid transparent;
70
+ border-radius: var(--rounded-lg);
71
+ padding: var(--size-1) var(--size-1_5);
71
72
  }
72
73
 
73
- .option {
74
- border: 1px solid transparent;
75
- border-radius: var(--rounded-md);
76
- padding: var(--size-1_5) var(--size-2);
74
+ [data-selectable].option {
75
+ cursor: default;
77
76
  }
78
77
 
79
78
  .active {
@@ -86,7 +85,7 @@
86
85
  }
87
86
 
88
87
  .spinner {
89
- margin: var(--size-1_5) 0 0;
88
+ margin: var(--size-1) 0 0;
90
89
  }
91
90
 
92
91
  .spinner::after {
@@ -100,13 +99,18 @@
100
99
  background-position: center right var(--size-2) !important;
101
100
  background-repeat: no-repeat !important;
102
101
  background-size: var(--size-4) auto !important;
102
+ cursor: text;
103
+
104
+ input {
105
+ cursor: inherit;
106
+ }
103
107
  }
104
108
 
105
109
  .ts-wrapper.multi .ts-control > .item {
106
110
  background: var(--color-border-light);
107
- border-radius: var(--rounded-md);
111
+ border-radius: var(--rounded-lg);
108
112
  color: inherit;
109
- line-height: var(--leading-tight);
113
+ line-height: var(--leading-none);
110
114
  }
111
115
 
112
116
  .disabled .ts-control {
@@ -1,22 +1,20 @@
1
1
  .command {
2
2
  background-color: var(--color-surface);
3
- border-radius: var(--rounded-lg);
3
+ border-radius: var(--rounded-xl);
4
4
  border-width: var(--border);
5
5
  box-shadow: var(--shadow-xs);
6
6
  display: flex;
7
+ padding: var(--size-2);
7
8
  flex-direction: column;
8
9
  }
9
10
 
10
11
  .command__input {
11
- --input-background: transparent;
12
- --input-border-color: transparent;
12
+ --input-background: var(--color-border-light);
13
13
  --input-box-shadow: none;
14
14
  --input-outline-size: 0;
15
- --input-padding: var(--size-2_5);
16
15
  }
17
16
 
18
17
  .command__list {
19
- border-block-start-width: var(--border);
20
18
  max-block-size: 300px;
21
19
  overflow-y: auto;
22
20
 
@@ -32,7 +30,7 @@
32
30
  .command__group {
33
31
  display: flex;
34
32
  flex-direction: column;
35
- padding: var(--size-1);
33
+ padding-block: var(--size-1);
36
34
  row-gap: 1px;
37
35
 
38
36
  &:not(:has(.command__item:not([hidden]))) {
@@ -43,14 +41,8 @@
43
41
  .command__group-header {
44
42
  color: var(--color-text-subtle);
45
43
  font-size: var(--text-xs);
46
- padding: var(--size-1_5) var(--size-2);
47
- }
48
-
49
- .command__empty {
50
- display: none;
51
- font-size: var(--text-sm);
52
- justify-content: center;
53
- padding-block: var(--size-6);
44
+ font-weight: var(--font-medium);
45
+ padding: var(--size-1) var(--size-1_5);
54
46
  }
55
47
 
56
48
  .command__item {
@@ -59,7 +51,8 @@
59
51
  --btn-font-weight: var(--font-normal);
60
52
  --btn-justify-content: start;
61
53
  --btn-outline-size: 0;
62
- --btn-padding: var(--size-1_5) var(--size-2);
54
+ --btn-padding: var(--size-1) var(--size-1_5);
55
+ --btn-radius: var(--rounded-sm);
63
56
 
64
57
  &[aria-selected="true"] {
65
58
  --btn-background: var(--color-border-light);
@@ -1,30 +1,34 @@
1
1
  @import url("https://esm.sh/flatpickr@4.6.13/dist/flatpickr.min.css");
2
2
 
3
3
  .flatpickr-calendar {
4
- --calendar-size: 250px;
5
- --container-size: 220px;
6
- --day-size: var(--size-8);
4
+ --datepicker-size: 220px;
5
+ --datepicker-day-size: var(--size-7);
6
+ --datepicker-days-size: calc(var(--datepicker-day-size) * 7);
7
7
 
8
8
  background: var(--color-surface);
9
9
  border: 1px solid var(--color-border);
10
- border-radius: var(--rounded-md);
10
+ border-radius: var(--rounded-lg);
11
11
  box-shadow: var(--shadow-md);
12
12
  font-size: var(--text-sm);
13
- inline-size: var(--calendar-size);
13
+ inline-size: var(--datepicker-size);
14
+
15
+ &.animate.open {
16
+ animation: datepicker-in var(--time-300) var(--ease-spring-2);
17
+ }
14
18
 
15
19
  .flatpickr-innerContainer {
16
20
  justify-content: center;
17
- padding-block-end: var(--size-3);
21
+ padding-block-end: var(--size-2);
18
22
  }
19
23
 
20
24
  .flatpickr-days {
21
- inline-size: var(--container-size);
25
+ inline-size: var(--datepicker-days-size);
22
26
  }
23
27
 
24
28
  .dayContainer {
25
- inline-size: var(--container-size);
26
- max-inline-size: var(--container-size);
27
- min-inline-size: var(--container-size);
29
+ inline-size: var(--datepicker-days-size);
30
+ max-inline-size: var(--datepicker-days-size);
31
+ min-inline-size: var(--datepicker-days-size);
28
32
  }
29
33
 
30
34
  .dayContainer + .dayContainer {
@@ -56,10 +60,9 @@
56
60
 
57
61
  .flatpickr-monthDropdown-months {
58
62
  appearance: none;
59
- border-radius: var(--rounded-md);
63
+ border-radius: var(--rounded-lg);
60
64
  font-size: var(--text-sm);
61
65
  font-weight: var(--font-medium);
62
- line-height: var(--leading-normal);
63
66
  padding: 0;
64
67
  text-align: center;
65
68
 
@@ -70,12 +73,9 @@
70
73
 
71
74
  .numInputWrapper {
72
75
  input {
73
- border-radius: var(--rounded-md);
74
76
  color: var(--color-text);
75
77
  font-size: var(--text-sm);
76
78
  font-weight: var(--font-medium);
77
- line-height: var(--leading-normal);
78
- padding: 0;
79
79
  text-align: center;
80
80
  }
81
81
 
@@ -131,13 +131,17 @@
131
131
 
132
132
  .flatpickr-day {
133
133
  border-color: transparent !important;
134
- border-radius: var(--rounded-md);
134
+ border-radius: var(--rounded-lg);
135
135
  box-shadow: none !important;
136
136
  color: var(--color-text);
137
- height: var(--day-size);
138
- line-height: var(--day-size);
137
+ height: var(--datepicker-day-size);
138
+ line-height: var(--datepicker-day-size);
139
139
  margin-block-start: var(--size-2);
140
- max-width: var(--day-size);
140
+ max-width: var(--datepicker-day-size);
141
+
142
+ &:is(.hidden) {
143
+ visibility: visible;
144
+ }
141
145
 
142
146
  &:is(.inRange) {
143
147
  border-radius: 0;
@@ -189,3 +193,7 @@
189
193
  display: none;
190
194
  }
191
195
  }
196
+
197
+ @keyframes datepicker-in {
198
+ from { opacity: 0; transform: var(--scale-95); }
199
+ }
@@ -1,26 +1,27 @@
1
1
  .dialog {
2
2
  background-color: var(--color-bg);
3
- border-radius: var(--rounded-lg);
3
+ border-radius: var(--rounded-xl);
4
4
  border-width: var(--border);
5
- box-shadow: var(--shadow-lg);
6
5
  color: var(--color-text);
7
6
  inline-size: var(--size-full);
8
7
  margin: auto;
9
- max-inline-size: var(--dialog-size, var(--max-i-lg));
8
+ max-inline-size: calc(100% - 2rem);
10
9
 
11
10
  &::backdrop {
12
- background-color: rgba(0, 0, 0, .5);
11
+ backdrop-filter: var(--blur-xs);
13
12
  }
14
13
 
15
14
  /* Setup transition */
16
15
  transition-behavior: allow-discrete;
17
- transition-duration: var(--time-200);
16
+ transition-duration: var(--time-300);
18
17
  transition-property: display, overlay, opacity, transform;
18
+ transition-timing-function: var(--ease-spring-2);
19
19
 
20
20
  &::backdrop {
21
21
  transition-behavior: allow-discrete;
22
- transition-duration: var(--time-150);
22
+ transition-duration: var(--time-100);
23
23
  transition-property: display, overlay, opacity;
24
+ transition-timing-function: var(--ease-out-3);
24
25
  }
25
26
 
26
27
  /* Exit stage to */
@@ -37,13 +38,17 @@
37
38
  &[open]::backdrop { opacity: 0; }
38
39
  }
39
40
 
40
- @media (width < 40rem) {
41
- border-radius: 0;
41
+ @supports (-webkit-hyphens: none) {
42
+ transition-behavior: normal;
43
+ }
44
+
45
+ @media (width >= 40rem) {
46
+ max-inline-size: var(--dialog-size, var(--max-i-sm));
42
47
  }
43
48
  }
44
49
 
45
50
  .dialog__content {
46
- padding: var(--size-6);
51
+ padding: var(--size-4);
47
52
  }
48
53
 
49
54
  .dialog__close {
@@ -1,4 +1,4 @@
1
- @import url("https://esm.sh/dropzone@6.0.0-beta.2/dist/dropzone.css");
1
+ @import url("https://esm.sh/@deltablot/dropzone@7.4.3/dist/dropzone.css");
2
2
 
3
3
  .dropzone {
4
4
  border: 2px dashed var(--color-border);