@digigov/css 2.0.0-7d9a8d86 → 2.0.0-85c27c19

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 (40) hide show
  1. package/defaultTheme/brandConfig.json +4 -2
  2. package/defaultTheme/card.json +5 -5
  3. package/defaultTheme/typography.json +4 -4
  4. package/dist/base/index.css +1 -1
  5. package/dist/base.js +1 -1
  6. package/dist/components.js +1 -1
  7. package/dist/digigov.css +3 -3
  8. package/dist/utilities/index.css +1 -1
  9. package/dist/utilities.js +1 -1
  10. package/package.json +5 -5
  11. package/src/components/admin-header.css +2 -19
  12. package/src/components/admin-layout.css +6 -15
  13. package/src/components/autocomplete.css +1 -1
  14. package/src/components/breadcrumbs.css +8 -1
  15. package/src/components/card.css +9 -4
  16. package/src/components/code.css +129 -0
  17. package/src/components/dropdown.css +37 -29
  18. package/src/components/filter.css +1 -1
  19. package/src/components/form.css +27 -24
  20. package/src/components/header.css +20 -7
  21. package/src/components/hidden.css +11 -11
  22. package/src/components/index.css +33 -31
  23. package/src/components/misc.css +24 -0
  24. package/src/components/modal.css +12 -3
  25. package/src/components/nav.css +7 -4
  26. package/src/components/skeleton.css +85 -0
  27. package/src/components/summary-list.css +14 -0
  28. package/src/components/svg-icons.css +1 -1
  29. package/src/components/table.css +5 -3
  30. package/src/components/tabs.css +44 -62
  31. package/src/components/typography.css +1 -11
  32. package/src/utilities/index.css +173 -0
  33. package/src/utilities/utilities.css +713 -6
  34. package/tailwind.config.js +2 -0
  35. package/src/pages/admin-filtering-data.js +0 -160
  36. package/src/pages/admin.js +0 -61
  37. package/src/pages/dropdown.js +0 -249
  38. package/src/pages/form.js +0 -400
  39. package/src/pages/pagination.js +0 -124
  40. package/src/pages/table.js +0 -308
@@ -0,0 +1,129 @@
1
+ .ds-code-block__container {
2
+ @apply p-4 bg-base-200 border border-base-300 w-full overflow-x-auto relative;
3
+ & > pre {
4
+ @apply bg-transparent p-0 m-0;
5
+ font: inherit;
6
+ color: inherit;
7
+ }
8
+ }
9
+ .ds-code-block__header {
10
+ @apply sticky left-0 flex mb-0.5 items-start;
11
+
12
+ &.ds-code-block__header--start {
13
+ @apply justify-start;
14
+ }
15
+ &.ds-code-block__header--space-between {
16
+ @apply justify-between;
17
+ }
18
+ &.ds-code-block__header--end {
19
+ @apply justify-end;
20
+ }
21
+ }
22
+ .ds-code-block__content {
23
+ @apply text-sm sm:text-base;
24
+ }
25
+ .ds-code--line-number {
26
+ @apply inline-block text-right pointer-events-none select-none pr-0.5 w-6;
27
+ color: var(--color-gray-500);
28
+ }
29
+ .ds-code--highlighted-line {
30
+ background-color: rgba(var(--color-orange-100-rgb), 0.3);
31
+ }
32
+ /* copied styles from 'highlight.js/styles/github.css' */
33
+ .ds-code--doctag,
34
+ .ds-code--keyword,
35
+ .ds-code--meta .ds-code--keyword,
36
+ .ds-code--template-tag,
37
+ .ds-code--template-variable,
38
+ .ds-code--type,
39
+ .ds-code--variable.language_ {
40
+ /* prettylights-syntax-keyword */
41
+ color: var(--color-red-300);
42
+ }
43
+ .ds-code--title,
44
+ .ds-code--title.class_,
45
+ .ds-code--title.class_.inherited__,
46
+ .ds-code--title.function_ {
47
+ /* prettylights-syntax-entity */
48
+ color: var(--color-purple-400);
49
+ }
50
+ .ds-code--attr,
51
+ .ds-code--attribute,
52
+ .ds-code--literal,
53
+ .ds-code--meta,
54
+ .ds-code--number,
55
+ .ds-code--operator,
56
+ .ds-code--variable,
57
+ .ds-code--selector-attr,
58
+ .ds-code--selector-class,
59
+ .ds-code--selector-id {
60
+ /* prettylights-syntax-constant */
61
+ color: var(--color-green-400);
62
+ }
63
+ .ds-code--regexp,
64
+ .ds-code--string,
65
+ .ds-code--meta .ds-code--string {
66
+ /* prettylights-syntax-string */
67
+ color: var(--color-blue-600);
68
+ }
69
+ .ds-code--built_in,
70
+ .ds-code--symbol {
71
+ /* prettylights-syntax-variable */
72
+ color: var(--color-orange-500);
73
+ }
74
+ .ds-code--comment,
75
+ .ds-code--code,
76
+ .ds-code--formula {
77
+ /* prettylights-syntax-comment */
78
+ color: var(--color-gray-600);
79
+ }
80
+ .ds-code--name,
81
+ .ds-code--quote,
82
+ .ds-code--selector-tag,
83
+ .ds-code--selector-pseudo {
84
+ /* prettylights-syntax-entity-tag */
85
+ color: var(--color-green-400);
86
+
87
+ }
88
+ .ds-code--subst {
89
+ /* prettylights-syntax-storage-modifier-import */
90
+ color: var(--color-gray-900);
91
+ }
92
+ .ds-code--section {
93
+ /* prettylights-syntax-markup-heading */
94
+ @apply font-bold;
95
+ color: var(--color-blue-500);
96
+ }
97
+ .ds-code--bullet {
98
+ /* prettylights-syntax-markup-list */
99
+ color: var(--color-orange-600);
100
+ }
101
+ .ds-code--emphasis {
102
+ /* prettylights-syntax-markup-italic */
103
+ @apply italic;
104
+ color: var(--color-gray-900);
105
+ }
106
+ .ds-code--strong {
107
+ /* prettylights-syntax-markup-bold */
108
+ @apply font-bold;
109
+ color: var(--color-gray-900);
110
+ }
111
+ .ds-code--addition {
112
+ /* prettylights-syntax-markup-inserted */
113
+ color: var(--color-green-500);
114
+ background-color: rgba(var(--color-green-100-rgb), 0.3);
115
+ }
116
+ .ds-code--deletion {
117
+ /* prettylights-syntax-markup-deleted */
118
+ color: var(--color-red-500);
119
+ background-color: rgba(var(--color-red-100-rgb), 0.3);
120
+ }
121
+ .ds-code--char.escape_,
122
+ .ds-code--link,
123
+ .ds-code--params,
124
+ .ds-code--property,
125
+ .ds-code--punctuation,
126
+ .ds-code--tag {
127
+ /* purposely ignored */
128
+
129
+ }
@@ -30,36 +30,39 @@
30
30
  @apply p-2;
31
31
  }
32
32
  }
33
- .ds-dropdown__button {
34
- @apply w-fit print:text-base-content;
35
- &::marker {
36
- font-size: 0;
37
- }
38
- &::-webkit-details-marker {
39
- display: none;
40
- }
33
+ }
34
+ .ds-dropdown__button {
35
+ @apply w-fit print:text-base-content;
36
+ &::marker {
37
+ font-size: 0;
41
38
  }
42
- .ds-dropdown__button.ds-link + .ds-dropdown__content {
43
- @apply mt-4 print:text-base-content;
39
+ &::-webkit-details-marker {
40
+ display: none;
44
41
  }
45
- .ds-btn-group .ds-btn + .ds-dropdown__content {
46
- @apply mt-4;
42
+ }
43
+ .ds-dropdown__button.ds-link + .ds-dropdown__content {
44
+ @apply mt-4 print:text-base-content;
45
+ }
46
+ .ds-btn-group .ds-btn + .ds-dropdown__content {
47
+ @apply mt-4;
48
+ }
49
+ .ds-dropdown__content {
50
+ @apply border border-base-400 p-4 bg-base-100 border-t-0
51
+ max-w-xs w-max min-w-full absolute transition z-3 mr-4 -mt-4;
52
+ -webkit-box-box-shadow:
53
+ 0 2px 8px rgba(var(--color-base-900-rgb), 0.3),
54
+ 0 -2px 0 var(--color-base-500);
55
+ box-shadow:
56
+ 0 2px 8px rgba(var(--color-base-900-rgb), 0.3),
57
+ 0 -2px 0 var(--color-base-500);
58
+ &.ds-dropdown__content--full-width {
59
+ @apply min-w-full;
47
60
  }
48
- .ds-dropdown__content {
49
- @apply border border-base-400 p-4 bg-base-100 border-t-0
50
- max-w-xs w-max min-w-full absolute transition z-3 mr-4 -mt-4;
51
- -webkit-box-box-shadow:
52
- 0 2px 8px rgba(var(--color-base-900-rgb), 0.3),
53
- 0 -2px 0 var(--color-base-500);
54
- box-shadow:
55
- 0 2px 8px rgba(var(--color-base-900-rgb), 0.3),
56
- 0 -2px 0 var(--color-base-500);
57
- &.ds-dropdown__content--full-width {
58
- @apply min-w-full;
59
- }
60
- *:last-child {
61
- @apply mb-0;
62
- }
61
+ &.ds-dropdown__content--scrollable {
62
+ @apply overflow-y-auto max-h-64 md:max-h-96;
63
+ }
64
+ *:last-child {
65
+ @apply mb-0;
63
66
  }
64
67
  }
65
68
 
@@ -108,8 +111,7 @@
108
111
  }
109
112
  }
110
113
  .ds-svg-icon {
111
- @apply w-5 h-6 md:h-8;
112
- @apply print:hidden;
114
+ @apply w-5 h-6 md:h-8 min-w-4 print:hidden;
113
115
  }
114
116
  }
115
117
  .ds-dropdown__content {
@@ -121,6 +123,12 @@
121
123
  }
122
124
  > .ds-nav__list {
123
125
  @apply w-auto -mx-4 flex-col;
126
+ &:nth-child(1) {
127
+ @apply -mt-4;
128
+ }
129
+ &:last-child {
130
+ @apply -mb-4 !important;
131
+ }
124
132
  .ds-nav__list-item {
125
133
  @apply border-b border-base-300 py-2 px-4;
126
134
  &:last-child {
@@ -57,7 +57,7 @@
57
57
  @apply bg-base-200 p-4 m-0 rounded;
58
58
  }
59
59
  .ds-filter__selected-heading {
60
- @apply flex flex-wrap sm:flex-nowrap mb-4 md:mb-6 justify-between gap-x-2;
60
+ @apply flex flex-wrap sm:flex-nowrap mb-4 md:mb-6 justify-between gap-x-2 gap-y-4;
61
61
  }
62
62
  .ds-input__search-btn {
63
63
  @apply shadow-none !important;
@@ -4,7 +4,7 @@
4
4
  @apply mb-8 md:mb-10;
5
5
 
6
6
  &.ds-field--error {
7
- @apply border-l-5 border-error px-0 pl-4;
7
+ @apply border-l-5 border-error-text px-0 pl-4;
8
8
  }
9
9
  .ds-fieldset {
10
10
  > .ds-field:last-child,
@@ -32,6 +32,24 @@
32
32
  }
33
33
  .ds-input {
34
34
  border-radius: var(--input-border-radius);
35
+ &.ds-input--width-20-char {
36
+ max-width: 41ex;
37
+ }
38
+ &.ds-input--width-10-char {
39
+ max-width: 23ex;
40
+ }
41
+ &.ds-input--width-5-char {
42
+ max-width: 10.8ex;
43
+ }
44
+ &.ds-input--width-4-char {
45
+ max-width: 9ex;
46
+ }
47
+ &.ds-input--width-3-char {
48
+ max-width: 7.2ex;
49
+ }
50
+ &.ds-input--width-2-char {
51
+ max-width: 5.4ex;
52
+ }
35
53
  }
36
54
  .ds-textarea {
37
55
  border-radius: var(--textarea-border-radius);
@@ -47,6 +65,7 @@
47
65
  box-shadow: inset 0 0 0 2px;
48
66
  }
49
67
  }
68
+ /* stylelint-disable-next-line digigov/nest-related-rules */
50
69
  .ds-input--dense,
51
70
  .ds-dense .ds-input,
52
71
  .ds-textarea--dense,
@@ -82,29 +101,12 @@
82
101
  @apply flex flex-wrap gap-y-2;
83
102
  }
84
103
  .ds-select {
85
- border-radius: var(--select-border-radius);
86
104
  @apply w-auto max-w-full;
105
+ border-radius: var(--select-border-radius);
87
106
  }
88
107
  .ds-select__option {
89
108
  }
90
- .ds-input--width-20-char {
91
- max-width: 41ex;
92
- }
93
- .ds-input--width-10-char {
94
- max-width: 23ex;
95
- }
96
- .ds-input--width-5-char {
97
- max-width: 10.8ex;
98
- }
99
- .ds-input--width-4-char {
100
- max-width: 9ex;
101
- }
102
- .ds-input--width-3-char {
103
- max-width: 7.2ex;
104
- }
105
- .ds-input--width-2-char {
106
- max-width: 5.4ex;
107
- }
109
+
108
110
  .ds-single-character-input__item {
109
111
  @apply text-center px-0 mr-3;
110
112
  max-width: 4.4ex;
@@ -143,14 +145,15 @@
143
145
 
144
146
  /* error handling */
145
147
  .ds-error-message {
146
- @apply md:text-lg text-base block mb-4 text-error font-semibold;
148
+ @apply md:text-lg text-base block mb-4 text-error-text font-semibold;
147
149
  }
150
+ /* stylelint-disable-next-line digigov/nest-related-rules */
148
151
  .ds-input--error {
149
- @apply border-error border-3;
152
+ @apply border-error-text border-3;
150
153
  &:focus {
151
154
  outline: 4px solid var(--color-focus);
152
155
  outline-offset: 0;
153
- box-shadow: inset 0 0 0 1px var(--color-error);
156
+ box-shadow: inset 0 0 0 1px var(--color-error-text);
154
157
  }
155
158
  }
156
159
 
@@ -171,7 +174,7 @@
171
174
  .ds-textarea:disabled,
172
175
  .ds-checkboxes__input:disabled::before,
173
176
  .ds-radios__input:disabled::before {
174
- @apply border-base-content text-base-content;
177
+ @apply border-base-700 text-base-800;
175
178
  }
176
179
  .ds-checkboxes__input:disabled:checked::after,
177
180
  .ds-radios__input:disabled:checked::after {
@@ -5,12 +5,15 @@
5
5
  border-width: var(--header-border-width);
6
6
  }
7
7
  .ds-header__content {
8
- @apply px-4 py-2 mx-auto max-w-5xl w-full flex justify-between items-center
8
+ @apply px-4 py-2 mx-auto max-w-5xl w-full flex justify-between items-center flex-wrap sm:flex-nowrap
9
9
  print:px-0 gap-3;
10
10
  }
11
11
  .ds-header__section {
12
12
  @apply flex justify-start flex-wrap items-center gap-x-4 gap-y-2
13
13
  print:gap-1;
14
+ &:last-child:not(:first-child) {
15
+ @apply flex-1 justify-end sm:flex-none sm:justify-start;
16
+ }
14
17
  }
15
18
  .ds-header__logo {
16
19
  @apply h-12 print:hidden;
@@ -29,10 +32,10 @@
29
32
  text-decoration: none;
30
33
  }
31
34
  .ds-header__title {
32
- color: var(--header__title-color);
33
35
  @apply font-bold text-2xl leading-10 tracking-wide no-underline
34
36
  w-auto align-middle hover:no-underline
35
37
  print:text-base-content;
38
+ color: var(--header__title-color);
36
39
  &:hover {
37
40
  /* @apply text-white; */
38
41
  color: var(--header__title-color-hover);
@@ -54,8 +57,21 @@
54
57
  .ds-header__section {
55
58
  > .ds-link,
56
59
  > .ds-dropdown .ds-dropdown__button.ds-link {
57
- color: var(--color-header-text);
58
60
  @apply focus:text-link-active print:text-base-content;
61
+ color: var(--color-header-text);
62
+ }
63
+ > .ds-skeleton {
64
+ @apply bg-primary-100 w-80 max-w-xs;
65
+ &.ds-skeleton--animate {
66
+ &::after {
67
+ background: linear-gradient(
68
+ 90deg,
69
+ transparent,
70
+ rgba(255, 255, 255, 0.05),
71
+ transparent
72
+ );
73
+ }
74
+ }
59
75
  }
60
76
  }
61
77
  .ds-dropdown {
@@ -65,9 +81,6 @@
65
81
  @apply sm:w-max;
66
82
  }
67
83
  .ds-link {
68
- .ds-svg-icon {
69
- fill: var(--color-header-text);
70
- }
71
84
  &:hover {
72
85
  .ds-svg-icon {
73
86
  fill: var(--color-header-text-hover);
@@ -83,8 +96,8 @@
83
96
  }
84
97
  }
85
98
  .ds-phase-banner__text {
86
- color: var(--color-header-text);
87
99
  @apply print:text-base-content;
100
+ color: var(--color-header-text);
88
101
  }
89
102
  }
90
103
  .ds-header__section {
@@ -1,33 +1,33 @@
1
1
  .ds-hidden {
2
- @apply hidden;
2
+ @apply hidden !important;
3
3
  }
4
4
  .ds-hidden-xs-up {
5
- @apply xs:hidden;
5
+ @apply xs:hidden !important;
6
6
  }
7
7
  .ds-hidden-sm-up {
8
- @apply sm:hidden;
8
+ @apply sm:hidden !important;
9
9
  }
10
10
  .ds-hidden-md-up {
11
- @apply md:hidden;
11
+ @apply md:hidden !important;
12
12
  }
13
13
  .ds-hidden-lg-up {
14
- @apply lg:hidden;
14
+ @apply lg:hidden !important;
15
15
  }
16
16
  .ds-hidden-xl-up {
17
- @apply xl:hidden;
17
+ @apply xl:hidden !important;
18
18
  }
19
19
  .ds-hidden-xs {
20
- @apply xsOnly:hidden;
20
+ @apply xsOnly:hidden !important;
21
21
  }
22
22
  .ds-hidden-sm {
23
- @apply smOnly:hidden;
23
+ @apply smOnly:hidden !important;
24
24
  }
25
25
  .ds-hidden-md {
26
- @apply mdOnly:hidden;
26
+ @apply mdOnly:hidden !important;
27
27
  }
28
28
  .ds-hidden-lg {
29
- @apply lgOnly:hidden;
29
+ @apply lgOnly:hidden !important;
30
30
  }
31
31
  .ds-hidden-xl {
32
- @apply xlOnly:hidden;
32
+ @apply xlOnly:hidden !important;
33
33
  }
@@ -1,46 +1,48 @@
1
1
  @import './accordion.css';
2
+ @import './admin-header.css';
3
+ @import './admin-layout.css';
2
4
  @import './autocomplete.css';
3
- @import './button.css';
5
+ @import './back-to-top.css';
4
6
  @import './bottom-info.css';
5
- @import './chip.css';
7
+ @import './breadcrumbs.css';
8
+ @import './button.css';
9
+ @import './card.css';
10
+ @import './code.css';
6
11
  @import './form.css';
7
12
  @import './checkboxes.css';
13
+ @import './chip.css';
14
+ @import './copy-to-clipboard.css';
15
+ @import './details.css';
16
+ @import './dev-theme.css';
17
+ @import './drawer.css';
8
18
  @import './dropdown.css';
9
- @import './radios.css';
10
- @import './header.css';
19
+ @import './fillable.css';
20
+ @import './filter.css';
11
21
  @import './footer.css';
22
+ @import './full-page-background.css';
23
+ @import './header.css';
24
+ @import './hidden.css';
12
25
  @import './layout.css';
13
- @import './nav.css';
14
- @import './typography.css';
15
- @import './back-to-top.css';
16
- @import './table.css';
17
- @import './filter.css';
18
- @import './admin-layout.css';
19
- @import './admin-header.css';
20
- @import './breadcrumbs.css';
21
- @import './card.css';
22
- @import './details.css';
23
- @import './notification-banner.css';
26
+ @import './loader.css';
24
27
  @import './masthead.css';
25
- @import './panel.css';
26
- @import './phase-banner.css';
27
- @import './summary-list.css';
28
- @import './stack.css';
29
- @import './tabs.css';
30
28
  @import './misc.css';
31
29
  @import './modal.css';
32
- @import './svg-icons.css';
30
+ @import './nav.css';
33
31
  @import './pagination.css';
34
- @import './loader.css';
35
- @import './full-page-background.css';
36
- @import './drawer.css';
37
- @import './copy-to-clipboard.css';
38
- @import './fillable.css';
32
+ @import './panel.css';
33
+ @import './phase-banner.css';
34
+ @import './radios.css';
35
+ @import './skeleton.css';
39
36
  @import './skiplink.css';
40
- @import './timeline.css';
41
- @import './task-list.css';
37
+ @import './stack.css';
42
38
  @import './stepnav.css';
43
- @import './dev-theme.css';
44
- @import './kitchensink.css';
45
- @import './hidden.css';
39
+ @import './summary-list.css';
40
+ @import './svg-icons.css';
41
+ @import './table.css';
42
+ @import './tabs.css';
43
+ @import './task-list.css';
44
+ @import './timeline.css';
45
+ @import './typography.css';
46
+ @import './notification-banner.css';
46
47
  @import './warning-text.css';
48
+ @import './kitchensink.css';
@@ -57,3 +57,27 @@ div[class*='ds-grid__col-span'] {
57
57
  .ds-image-logo-dark {
58
58
  @apply h-10 hidden;
59
59
  }
60
+
61
+ .ds-test-variant {
62
+ @apply mb-4 mx-2;
63
+ }
64
+
65
+ .ds-test-variant__title {
66
+ @apply font-semibold text-3xl break-all -mb-1;
67
+ color: var(--color-red-300);
68
+ }
69
+
70
+ .ds-test-variant__content {
71
+ border-color: var(--color-red-100);
72
+ border-width: 10px;
73
+
74
+ /* For transparency check:
75
+ padding: 25px;
76
+ background-image:
77
+ linear-gradient(45deg, #ccc 25%, transparent 25%),
78
+ linear-gradient(135deg, #ccc 25%, transparent 25%),
79
+ linear-gradient(45deg, transparent 75%, #ccc 75%),
80
+ linear-gradient(135deg, transparent 75%, #ccc 75%);
81
+ background-size:25px 25px;
82
+ background-position:0 0, 12.5px 0, 12.5px -12.5px, 0px 12.5px; */
83
+ }
@@ -9,8 +9,11 @@
9
9
 
10
10
  &.ds-modal--dense,
11
11
  &.ds-dense & {
12
+ .ds-modal__body {
13
+ @apply px-4 py-0;
14
+ }
12
15
  .ds-modal__container {
13
- @apply px-4 py-0 gap-4;
16
+ @apply gap-4 my-0;
14
17
  }
15
18
  }
16
19
  }
@@ -18,11 +21,17 @@
18
21
  @apply w-full max-w-md md:max-w-lg lg:max-w-4xl
19
22
  h-fit md:h-auto overflow-y-auto
20
23
  bg-base-100
21
- border border-solid border-base-500;
24
+ border border-solid border-base-500 p-6;
22
25
  max-height: 95vh;
23
26
  }
24
27
  .ds-modal__container {
25
- @apply grid p-10 gap-6 px-6 py-2;
28
+ @apply grid gap-6 -my-4;
29
+ .ds-modal__action {
30
+ @apply mb-0;
31
+ }
32
+ >.ds-heading-xs, >.ds-heading-sm, >.ds-heading-md, >.ds-heading-lg, >.ds-heading-xl {
33
+ @apply mb-0;
34
+ }
26
35
  }
27
36
  .ds-modal__content {
28
37
  @apply text-base lg:text-xl text-lg;
@@ -38,10 +38,6 @@
38
38
  &.ds-nav--border {
39
39
  @apply sm:border-b sm:border-base-400;
40
40
  }
41
-
42
- /* .ds-nav__list {
43
- @apply px-3;
44
- } */
45
41
  .ds-nav__list-item-link,
46
42
  .ds-nav__list-item-btn {
47
43
  @apply md:no-underline !important;
@@ -81,6 +77,13 @@
81
77
  @apply font-semibold;
82
78
  }
83
79
 
80
+ .ds-nav__list-item-badge {
81
+ @apply inline-flex w-fit items-center justify-center p-1 ml-2
82
+ bg-error text-white text-xs md:text-xs font-semibold no-underline rounded-3xl
83
+ relative bottom-1;
84
+ min-width: 24px;
85
+ min-height: 24px;
86
+ }
84
87
  .ds-nav-menu {
85
88
  @apply flex w-full;
86
89
  &.ds-nav-menu--hidden {
@@ -0,0 +1,85 @@
1
+ .ds-skeleton {
2
+ @apply block bg-base-300 h-auto w-full max-w-full rounded-sm;
3
+
4
+ /* max-width: 105ch; */
5
+ &.ds-skeleton--text {
6
+ /* @apply text-lg; */
7
+ &::before {
8
+ content: '\00a0';
9
+ visibility: hidden;
10
+ }
11
+ &.ds-skeleton--font-xs {
12
+ @apply text-sm md:text-base mb-2 md:mb-4;
13
+ line-height: 1rem;
14
+ }
15
+ &.ds-skeleton--font-sm {
16
+ @apply text-base md:text-lg mb-3 md:mb-5;
17
+ }
18
+ &.ds-skeleton--font-md {
19
+ @apply text-xl md:text-2xl mb-5 md:mb-6;
20
+ }
21
+ &.ds-skeleton--font-lg {
22
+ @apply text-2xl md:text-3xl mb-6 md:mb-7;
23
+ }
24
+ &.ds-skeleton--font-xl {
25
+ @apply text-3xl md:text-4xl mb-8 md:mb-10;
26
+ }
27
+ }
28
+ &.ds-skeleton--circular {
29
+ border-radius: 50%;
30
+ }
31
+ &.ds-skeleton--rectangular {
32
+ }
33
+ &.ds-skeleton--button {
34
+ @apply mb-8 w-fit min-h-10 md:min-h-12 px-6 py-3
35
+ border-b-2 border-gray-400
36
+ flex items-center justify-center;
37
+ .ds-skeleton__line {
38
+ @apply block bg-base-400 w-full max-w-full max-h-full visible;
39
+ &::before {
40
+ content: '\00a0';
41
+ }
42
+ &.ds-skeleton__line--size-default {
43
+ @apply h-4 w-20;
44
+ }
45
+ }
46
+ }
47
+
48
+ /* Skeleton with a child. */
49
+ &.ds-skeleton--width-fit-content {
50
+ @apply w-fit;
51
+ }
52
+ &.ds-skeleton--animate {
53
+ /* @apply animate-pulse; */
54
+ position: relative;
55
+ overflow: hidden;
56
+ mask-image: radial-gradient(white, black);
57
+ &::after {
58
+ @apply absolute top-0 bottom-0 left-0 right-0;
59
+ animation: wave 2s linear 0.5s infinite;
60
+ background: linear-gradient(
61
+ 90deg,
62
+ transparent,
63
+ rgba(0, 0, 0, 0.05),
64
+ transparent
65
+ );
66
+ content: '';
67
+ transform: translateX(-100%);
68
+ }
69
+ }
70
+ > * {
71
+ @apply invisible;
72
+ }
73
+ }
74
+
75
+ @keyframes wave {
76
+ 0% {
77
+ transform: translateX(-100%);
78
+ }
79
+ 50% {
80
+ transform: translateX(100%);
81
+ }
82
+ 100% {
83
+ transform: translateX(100%);
84
+ }
85
+ }