@digigov/css 2.0.0-a7ffb5dc → 2.0.0-abd768eb

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 (154) hide show
  1. package/dist/base/index.css +1 -1
  2. package/dist/base.js +1 -1
  3. package/dist/components.js +1 -1
  4. package/dist/digigov.css +3 -3
  5. package/dist/utilities/index.css +1 -1
  6. package/dist/utilities.js +1 -1
  7. package/index.js +99 -69
  8. package/package.json +17 -13
  9. package/postcss.config.js +4 -3
  10. package/src/base/base.css +1 -1
  11. package/src/base/index.css +6 -5
  12. package/src/base/index.native.css +0 -0
  13. package/src/base/postcss.config.js +11 -10
  14. package/src/base/tailwind.config.js +4 -11
  15. package/src/components/accordion.common.css +29 -0
  16. package/src/components/accordion.css +86 -61
  17. package/src/components/accordion.native.css +27 -0
  18. package/src/components/admin-header.css +2 -19
  19. package/src/components/admin-layout.css +13 -22
  20. package/src/components/autocomplete.css +93 -48
  21. package/src/components/back-to-top.css +3 -4
  22. package/src/components/blockquote.common.css +14 -0
  23. package/src/components/blockquote.css +9 -0
  24. package/src/components/blockquote.native.css +14 -0
  25. package/src/components/bottom-info.css +2 -1
  26. package/src/components/breadcrumbs.css +17 -8
  27. package/src/components/button.common.css +62 -0
  28. package/src/components/button.css +57 -71
  29. package/src/components/button.native.css +55 -0
  30. package/src/components/card.common.css +33 -0
  31. package/src/components/card.css +65 -52
  32. package/src/components/card.native.css +29 -0
  33. package/src/components/checkboxes.common.css +16 -0
  34. package/src/components/checkboxes.css +26 -31
  35. package/src/components/checkboxes.native.css +27 -0
  36. package/src/components/chip.common.css +19 -0
  37. package/src/components/chip.css +32 -32
  38. package/src/components/chip.native.css +15 -0
  39. package/src/components/code.css +128 -0
  40. package/src/components/components.css +2 -2
  41. package/src/components/copy-to-clipboard.css +27 -26
  42. package/src/components/copy-to-clipboard.native.css +26 -0
  43. package/src/components/details.common.css +26 -0
  44. package/src/components/details.css +18 -15
  45. package/src/components/details.native.css +34 -0
  46. package/src/components/dev-theme.css +2 -3
  47. package/src/components/drawer.css +63 -47
  48. package/src/components/dropdown.common.css +23 -0
  49. package/src/components/dropdown.css +57 -48
  50. package/src/components/dropdown.native.css +27 -0
  51. package/src/components/experimental.css +12 -12
  52. package/src/components/fillable.css +4 -4
  53. package/src/components/filter.css +76 -32
  54. package/src/components/footer.css +36 -21
  55. package/src/components/form.common.css +81 -0
  56. package/src/components/form.css +94 -52
  57. package/src/components/form.native.css +182 -0
  58. package/src/components/full-page-background.css +1 -1
  59. package/src/components/header.common.css +35 -0
  60. package/src/components/header.css +43 -46
  61. package/src/components/header.native.css +29 -0
  62. package/src/components/hidden.css +17 -17
  63. package/src/components/index.css +49 -47
  64. package/src/components/kitchensink.css +33 -33
  65. package/src/components/layout.common.css +36 -0
  66. package/src/components/layout.css +40 -41
  67. package/src/components/layout.native.css +40 -0
  68. package/src/components/loader.common.css +7 -0
  69. package/src/components/loader.css +31 -29
  70. package/src/components/loader.native.css +5 -0
  71. package/src/components/masthead.css +56 -55
  72. package/src/components/misc.css +37 -15
  73. package/src/components/modal.common.css +16 -0
  74. package/src/components/modal.css +33 -22
  75. package/src/components/modal.native.css +18 -0
  76. package/src/components/nav.common.css +22 -0
  77. package/src/components/nav.css +72 -67
  78. package/src/components/nav.native.css +39 -0
  79. package/src/components/notification-banner.common.css +46 -0
  80. package/src/components/notification-banner.css +41 -19
  81. package/src/components/notification-banner.native.css +42 -0
  82. package/src/components/pagination.css +44 -29
  83. package/src/components/panel.common.css +30 -0
  84. package/src/components/panel.css +10 -18
  85. package/src/components/panel.native.css +26 -0
  86. package/src/components/phase-banner.common.css +23 -0
  87. package/src/components/phase-banner.css +11 -10
  88. package/src/components/phase-banner.native.css +30 -0
  89. package/src/components/postcss.config.js +7 -6
  90. package/src/components/radios.common.css +16 -0
  91. package/src/components/radios.css +27 -30
  92. package/src/components/radios.native.css +23 -0
  93. package/src/components/skeleton.common.css +20 -0
  94. package/src/components/skeleton.css +82 -0
  95. package/src/components/skeleton.native.css +53 -0
  96. package/src/components/skiplink.css +2 -2
  97. package/src/components/stack.common.css +67 -0
  98. package/src/components/stack.css +66 -64
  99. package/src/components/stack.native.css +68 -0
  100. package/src/components/stepnav.css +33 -29
  101. package/src/components/summary-list.common.css +93 -0
  102. package/src/components/summary-list.css +105 -31
  103. package/src/components/summary-list.native.css +97 -0
  104. package/src/components/svg-icons.common.css +56 -0
  105. package/src/components/svg-icons.css +78 -74
  106. package/src/components/svg-icons.native.css +54 -0
  107. package/src/components/table.css +192 -178
  108. package/src/components/tabs.css +51 -67
  109. package/src/components/task-list.css +18 -18
  110. package/src/components/test.css +7 -0
  111. package/src/components/timeline.css +4 -3
  112. package/src/components/typography.common.css +135 -0
  113. package/src/components/typography.css +109 -179
  114. package/src/components/typography.native.css +128 -0
  115. package/src/components/warning-text.common.css +23 -0
  116. package/src/components/warning-text.css +15 -13
  117. package/src/components/warning-text.native.css +22 -0
  118. package/src/index.native.css +26 -0
  119. package/src/pages/index.js +1 -1
  120. package/src/utilities/gap.css +141 -0
  121. package/src/utilities/index.css +6 -585
  122. package/src/utilities/index.native.css +6 -0
  123. package/src/utilities/layout.css +231 -0
  124. package/src/utilities/layout.native.css +278 -0
  125. package/src/utilities/margin.css +4299 -0
  126. package/src/utilities/padding.css +4299 -0
  127. package/src/utilities/postcss.config.js +7 -6
  128. package/src/utilities/print.css +11 -0
  129. package/src/utilities/utilities.css +3 -1252
  130. package/tailwind.config.js +102 -104
  131. package/theming.js +121 -0
  132. package/defaultTheme/accordion.json +0 -8
  133. package/defaultTheme/back-to-top.json +0 -27
  134. package/defaultTheme/brandConfig.json +0 -135
  135. package/defaultTheme/breadcrumbs.json +0 -8
  136. package/defaultTheme/button.json +0 -81
  137. package/defaultTheme/card.json +0 -12
  138. package/defaultTheme/footer.json +0 -8
  139. package/defaultTheme/form.json +0 -15
  140. package/defaultTheme/globals.json +0 -71
  141. package/defaultTheme/index.js +0 -27
  142. package/defaultTheme/misc.json +0 -48
  143. package/defaultTheme/panel.json +0 -43
  144. package/defaultTheme/phase-banner.json +0 -8
  145. package/defaultTheme/radios.json +0 -8
  146. package/defaultTheme/summary-list.json +0 -8
  147. package/defaultTheme/typography.json +0 -295
  148. package/src/pages/admin-filtering-data.js +0 -160
  149. package/src/pages/admin.js +0 -61
  150. package/src/pages/dropdown.js +0 -249
  151. package/src/pages/form.js +0 -400
  152. package/src/pages/pagination.js +0 -124
  153. package/src/pages/table.js +0 -308
  154. package/themes.plugin.js +0 -148
@@ -1,26 +1,17 @@
1
- .ds-admin-layout-wrapper {
2
- display: flex;
3
- flex-direction: column;
4
- flex-wrap: wrap;
5
- min-height: 100vh;
1
+ .ds-admin-layout {
6
2
  }
7
- .ds-admin-top-section {}
8
- .ds-admin-top-section--secondary {
9
- @apply bg-base-200 px-4 py-2;
3
+ .ds-admin-top-section {
4
+ &.ds-admin-top-section--secondary {
5
+ @apply bg-base-200 px-4 py-2;
6
+ }
7
+ &.ds-admin-top-section--border {
8
+ @apply border border-base-300 px-4 py-2;
9
+ }
10
10
  }
11
- .ds-admin-top-section--border {
12
- @apply border border-base-300 px-4 py-2;
11
+ .ds-admin-main {
13
12
  }
14
- .ds-admin-width-container {
15
- @apply px-4 py-8 m-0 w-full mx-auto;
16
- flex: 1 1 0%;
17
- }
18
- .ds-admin-main-wrapper {
19
- @apply grid p-4 md:grid-cols-12 gap-x-8 md:gap-x-10 gap-y-4 grid-cols-1 print:grid-cols-1;
20
- }
21
- .ds-admin-main-content {
22
- @apply lg:col-span-8 md:col-span-7;
23
- }
24
- .ds-admin-side-content {
25
- @apply lg:col-span-4 md:col-span-5 print:order-1;
13
+ .ds-admin-aside {
14
+ &.ds-aside {
15
+ @apply block;
16
+ }
26
17
  }
@@ -1,71 +1,119 @@
1
- .ds-autocomplete__wrapper {
1
+ .ds-autocomplete__container {
2
2
  @apply relative;
3
3
  }
4
- .ds-autocomplete__status {}
5
- .ds-autocomplete__status__wrapper {
6
- @apply border-0 h-px overflow-hidden absolute whitespace-nowrap p-0 w-px;
7
- clip: "rect(0 0 0 0)";
8
- margin-bottom: "-1px";
9
- margin-right: "-1px";
4
+ .ds-autocomplete__status {
5
+ }
6
+ .ds-autocomplete__status__container {
7
+ @apply border-0 h-px overflow-hidden absolute whitespace-nowrap p-0 w-px -mb-px -mr-px;
8
+ clip: 'rect(0 0 0 0)';
10
9
  }
11
10
  .ds-autocomplete__hint {
12
- @apply absolute text-base-400;
11
+ @apply h-full absolute text-base-400;
13
12
  }
14
13
  .ds-autocomplete__hint,
15
14
  .ds-autocomplete__input {
16
15
  @apply md:text-lg text-base p-2 w-full border-2 border-base-content;
17
16
  appearance: none;
18
- -webkit-appearance: none;
19
17
  box-sizing: border-box;
20
- -moz-box-sizing: border-box;
21
- -webkit-box-sizing: border-box;
22
18
  }
23
19
  .ds-autocomplete__input {
24
- @apply relative bg-transparent;
25
- }
26
- .ds-autocomplete__input--default {
27
- @apply p-2;
28
- }
29
- .ds-autocomplete__input--focused {
30
- outline: 4px solid var(--color-focus);
31
- outline-offset: 0;
32
- -webkit-box-shadow: inset 0 0 0 2px;
33
- box-shadow: inset 0 0 0 2px;
34
- }
35
- .ds-autocomplete__input--show-all-values {
36
- @apply cursor-text;
20
+ @apply relative bg-transparent cursor-pointer pr-8;
21
+ &.ds-autocomplete__input--focused {
22
+ outline: 4px solid var(--color-focus);
23
+ outline-offset: 0;
24
+ box-shadow: inset 0 0 0 2px;
25
+ }
37
26
  }
38
- .ds-autocomplete__dropdown-arrow-down {
39
- @apply inline-block absolute right-2 top-4 w-6 h-6 cursor-pointer;
27
+ .ds-autocomplete__container > .ds-svg-icon {
28
+ @apply inline-block absolute right-2 top-3;
29
+ pointer-events: none;
40
30
  }
41
- .ds-autocomplete__menu {
42
- @apply bg-base-100 m-0 max-h-96 overflow-x-hidden w-full p-0 border-2 border-t-0 border-base-content /* border-t-0 border-x-2 border-l-2 border-base-content */;
31
+ .ds-autocomplete__multi-input-container > .ds-link {
32
+ @apply inline-block absolute right-2 top-4;
33
+ .ds-svg-icon {
34
+ @apply ml-0 fill-base-content;
35
+ }
43
36
  }
44
- .ds-autocomplete__menu--inline {
45
- @apply relative;
37
+ .ds-autocomplete__multi-input-container {
38
+ @apply w-full p-2 pr-8 border-2 border-base-content bg-base-100
39
+ flex gap-2 flex-wrap items-center;
40
+ min-height: 52px;
41
+ text-indent: 2px;
42
+ &:focus,
43
+ &.ds-autocomplete__multi-input-container--focused {
44
+ outline: 4px solid var(--color-focus);
45
+ outline-offset: 0;
46
+ box-shadow: inset 0 0 0 2px;
47
+ }
48
+ &:not(.ds-autocomplete__multi-input-container--focused) {
49
+ &.ds-autocomplete__multi-input-container--1 {
50
+ .ds-chip + .ds-chip {
51
+ @apply hidden;
52
+ }
53
+ }
54
+ &.ds-autocomplete__multi-input-container--2 {
55
+ .ds-chip + .ds-chip + .ds-chip {
56
+ @apply hidden;
57
+ }
58
+ }
59
+ &.ds-autocomplete__multi-input-container--3 {
60
+ .ds-chip + .ds-chip + .ds-chip + .ds-chip {
61
+ @apply hidden;
62
+ }
63
+ }
64
+ }
65
+ .ds-autocomplete__hint,
66
+ .ds-autocomplete__input {
67
+ @apply h-full;
68
+ }
46
69
  }
47
- .ds-autocomplete__menu--overlay {
48
- @apply absolute w-full left-0 top-full z-50 shadow-xl;
70
+ .ds-autocomplete__multi-input {
71
+ @apply flex-1 w-full focus:border-0 focus:outline-0 bg-base-100;
49
72
  }
50
- .ds-autocomplete__menu--visible {
51
- @apply block;
73
+ .ds-autocomplete__multi-btn {
74
+ @apply absolute bottom-0 right-0 m-2;
75
+ margin: 4px 2px;
76
+ height: 44px;
77
+ .ds-svg-icon {
78
+ @apply mx-2 !important;
79
+ }
52
80
  }
53
- .ds-autocomplete__menu--hidden {
54
- @apply hidden;
81
+
82
+ .ds-autocomplete__menu {
83
+ @apply block max-h-64 md:max-h-96 w-full m-0 p-0 overflow-x-hidden
84
+ border-2 border-t-0 border-base-content bg-base-100
85
+ absolute left-0 top-full z-50 shadow-xl;
86
+ &.ds-autocomplete__menu--hidden {
87
+ @apply hidden;
88
+ }
55
89
  }
56
90
  .ds-autocomplete__option {
57
- @apply cursor-pointer block relative p-2;
58
- border-bottom: solid var(--color-base-400);
91
+ @apply cursor-pointer block relative p-2 border-b-base-400;
59
92
  border-width: 1px 0;
93
+ &.ds-autocomplete__option--odd {
94
+ @apply bg-base-300;
95
+ }
96
+ &.ds-autocomplete__option--focused,
97
+ &.ds-autocomplete__option:hover {
98
+ @apply bg-info text-white outline-none border-tertiary;
99
+ }
100
+ &.ds-autocomplete__option--no-results {
101
+ @apply text-current cursor-not-allowed;
102
+ }
103
+ &.ds-autocomplete__option--empty {
104
+ @apply cursor-default;
105
+ @apply bg-base-100 text-base-content !important;
106
+ &:hover {
107
+ border-color: var(--color-base-400);
108
+ }
109
+ }
60
110
  }
61
111
  .ds-autocomplete__option > * {
62
112
  @apply pointer-events-none;
63
- }
64
- .ds-autocomplete__option:first-of-type {
65
- @apply border-t-0;
66
- }
67
- .ds-autocomplete__option:last-of-type {
68
- @apply border-t-0;
113
+ &:first-of-type,
114
+ &:last-of-type {
115
+ @apply border-t-0;
116
+ }
69
117
  }
70
118
  .ds-autocomplete__option--odd {
71
119
  @apply bg-base-300;
@@ -78,11 +126,8 @@
78
126
  @apply text-current cursor-not-allowed;
79
127
  }
80
128
  .ds-autocomplete__option--empty {
81
- @apply cursor-default;
129
+ @apply cursor-default hover:border-base-400;
82
130
  @apply bg-base-100 text-base-content !important;
83
- &:hover {
84
- border-color: var(--color-base-400);
85
- }
86
131
  }
87
132
  .ds-autocomplete__hint,
88
133
  .ds-autocomplete__option {
@@ -1,12 +1,11 @@
1
1
  .ds-back-to-top-content {
2
-
3
2
  }
4
-
3
+
5
4
  .ds-back-to-top-link {
5
+ @apply w-fit underline flex mb-4 cursor-pointer items-baseline;
6
6
  font-size: var(--back-to-top-link-font-size);
7
7
  letter-spacing: var(--back-to-top-link-letter-spacing);
8
8
  color: var(--back-to-top-link-color);
9
- @apply w-fit underline flex mb-4 cursor-pointer items-baseline;
10
9
  &:hover {
11
10
  text-decoration-thickness: 2px;
12
11
  }
@@ -26,4 +25,4 @@
26
25
  .ds-svg-icon {
27
26
  fill: var(--back-to-top-link-color);
28
27
  }
29
- }
28
+ }
@@ -0,0 +1,14 @@
1
+ @tailwind utilities;
2
+
3
+ @layer utilities {
4
+ .util-blockquote {
5
+ @apply mb-4 md:mb-8 p-4 border-l-8 border-base-500 text-base-content;
6
+ }
7
+ .util-blockquote-text {
8
+ font-size: var(--blockquote-font-size);
9
+ line-height: var(--blockquote-line-height);
10
+ }
11
+ .util-blockquote--dense {
12
+ @apply mt-3 md:mb-6 p-3 border-l-6;
13
+ }
14
+ }
@@ -0,0 +1,9 @@
1
+ @import './blockquote.common.css';
2
+
3
+ .ds-blockquote {
4
+ @apply util-blockquote util-blockquote-text;
5
+ &.ds-blockquote--dense,
6
+ .ds-dense & {
7
+ @apply util-blockquote--dense;
8
+ }
9
+ }
@@ -0,0 +1,14 @@
1
+ @import './blockquote.common.css';
2
+
3
+ .ds-blockquote {
4
+ @apply util-blockquote;
5
+ }
6
+ .ds-blockquote__text {
7
+ @apply util-blockquote-text;
8
+ line-height: calc(
9
+ var(--blockquote-font-size) * var(--blockquote-line-height)
10
+ );
11
+ }
12
+ .ds-blockquote--dense {
13
+ @apply util-blockquote--dense;
14
+ }
@@ -2,4 +2,5 @@
2
2
  @apply w-full bg-base-200 border-t border-base-400;
3
3
  @apply md:py-6 !important;
4
4
  }
5
- .ds-bottom-info__content {}
5
+ .ds-bottom-info__content {
6
+ }
@@ -1,20 +1,24 @@
1
1
  .ds-breadcrumbs {
2
- @apply block font-normal text-base-content mt-4 mb-2;
2
+ @apply block font-normal text-base-content mb-2;
3
3
  }
4
4
  .ds-breadcrumbs__list {
5
5
  @apply block m-0 p-0 list-none;
6
- &:after {
7
- content: "";
6
+ &::after {
7
+ content: '';
8
8
  display: block;
9
9
  clear: both;
10
10
  }
11
11
  }
12
12
  .ds-breadcrumbs__list-item {
13
- font-size: var(--breadcrumbs__list-item-font-size);
14
13
  @apply inline-block relative mb-1 ml-2 pl-4 float-left;
14
+ font-size: var(--breadcrumbs__list-item-font-size);
15
+ &[aria-current='page'] {
16
+ @apply font-semibold;
17
+ }
15
18
  &::before {
16
- content: "";
17
- @apply block absolute top-2 bottom-0 left-0 md:w-3 md:h-3 w-2 h-2 mx-auto my-0 bg-contain bg-no-repeat bg-center;
19
+ @apply block absolute top-2 bottom-0 left-0 md:w-3 md:h-3 w-2 h-2 mx-auto my-0
20
+ bg-contain bg-no-repeat bg-center;
21
+ content: '';
18
22
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' aria-hidden='true'> <path d='M8.5,2L6.1,4.3l7.6,7.7l-7.6,7.6L8.5,22l10-10L8.5,2z' /> </svg>");
19
23
  }
20
24
  &:first-child {
@@ -29,7 +33,7 @@
29
33
  &::before {
30
34
  background-image: none;
31
35
  top: 2px;
32
- left: 0px;
36
+ left: 0;
33
37
  content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' aria-hidden='true'> <path d='M8.5,2L6.1,4.3l7.6,7.7l-7.6,7.6L8.5,22l10-10L8.5,2z' /> </svg>");
34
38
  }
35
39
  }
@@ -41,8 +45,13 @@
41
45
  }
42
46
  &:focus {
43
47
  background-color: var(--color-focus);
44
- box-shadow: 0 -2px var(--color-focus), 0 4px var(--color-base-content);
48
+ box-shadow:
49
+ 0 -2px var(--color-focus),
50
+ 0 4px var(--color-base-content);
45
51
  text-decoration: none;
46
52
  outline: none;
47
53
  }
54
+ &.ds-breadcrumbs__link--inactive {
55
+ @apply no-underline;
56
+ }
48
57
  }
@@ -0,0 +1,62 @@
1
+ /* stylelint-disable declaration-block-no-redundant-longhand-properties */
2
+ /* stylelint-disable digigov/nest-related-rules */
3
+ /* stylelint-disable digigov/enforce-class-selector-namespace */
4
+ @tailwind utilities;
5
+
6
+ @layer utilities {
7
+ .util-btn {
8
+ @apply m-0 mb-8 flex items-center;
9
+ border-radius: var(--btn-border-radius);
10
+ padding-right: var(--btn-padding-x);
11
+ padding-left: var(--btn-padding-x);
12
+ padding-top: var(--btn-padding-y);
13
+ padding-bottom: var(--btn-padding-y);
14
+ }
15
+ .util-btn-text {
16
+ @apply text-white font-medium no-underline;
17
+ font-size: var(--btn-font-size);
18
+ letter-spacing: var(--letter-spacing-wide);
19
+ color: var(--color-base-100);
20
+ }
21
+ .util-btn-primary {
22
+ /* @apply print:border-2 print:border-success print:shadow-none; */
23
+ box-shadow: var(--btn-primary-box-shadow);
24
+ background-color: var(--btn-primary-background-color);
25
+ }
26
+ .util-btn-primary-text {
27
+ color: var(--btn-primary-color);
28
+ }
29
+ .util-btn-secondary {
30
+ /* @apply print:border-2 print:border-base-700 print:shadow-none; */
31
+ box-shadow: var(--btn-secondary-box-shadow);
32
+ background-color: var(--btn-secondary-background-color);
33
+ }
34
+ .util-btn-secondary-text {
35
+ color: var(--btn-secondary-color) !important;
36
+ }
37
+ .util-btn-warning {
38
+ /* @apply print:border-2 print:border-error print:shadow-none; */
39
+ box-shadow: var(--btn-warning-box-shadow);
40
+ background-color: var(--btn-warning-background-color);
41
+ }
42
+ .util-btn-warning-text {
43
+ color: var(--btn-warning-color);
44
+ }
45
+
46
+ .util-btn--dense {
47
+ --btn-padding-y: 0.375rem;
48
+ --btn-padding-x: 0.75rem;
49
+ @apply min-h-6;
50
+ }
51
+ .util-btn--disabled {
52
+ opacity: 0.5;
53
+ }
54
+ .util-btn--disabled-text {
55
+ @apply print:text-base-400;
56
+ }
57
+ .util-btn-cta {
58
+ }
59
+ .util-btn-cta-text {
60
+ font-size: var(--btn-cta-font-size);
61
+ }
62
+ }
@@ -1,46 +1,37 @@
1
+ @import './button.common.css';
1
2
  .ds-btn,
2
- .ds-btn[type=submit],
3
- .ds-btn[type=button],
4
- .ds-btn[type=reset] {
5
- @apply no-underline font-medium cursor-pointer
6
- m-0 mb-8 w-max min-h-10 md:min-h-12
7
- flex gap-x-3 items-center;
8
- border-radius: var(--btn-border-radius);
9
- padding: var(--btn-padding);
10
- letter-spacing: var(--btn-letter-spacing);
11
- font-size: var(--btn-font-size);
3
+ .ds-btn[type='submit'],
4
+ .ds-btn[type='button'],
5
+ .ds-btn[type='reset'] {
6
+ @apply util-btn util-btn-text min-h-10 md:min-h-12 w-max gap-x-3 cursor-pointer;
12
7
  &:focus {
13
- -webkit-box-shadow: 0 0 0 2px var(--color-white),
14
- 0 0 0 6px var(--color-base-content), 0 0 0 10px var(--color-focus);
15
- box-shadow: 0 0 0 2px var(--color-white),
16
- 0 0 0 6px var(--color-base-content), 0 0 0 10px var(--color-focus);
8
+ box-shadow:
9
+ 0 0 0 2px var(--color-white),
10
+ 0 0 0 6px var(--color-base-content),
11
+ 0 0 0 10px var(--color-focus);
17
12
  }
18
13
  &:focus-within {
19
14
  @apply outline-none;
20
15
  }
16
+
21
17
  &.ds-btn--dense,
22
18
  .ds-dense & {
23
- --btn-padding: 0.375rem 0.75rem;
24
- @apply min-h-8;
19
+ @apply util-btn--dense;
25
20
  &:focus {
26
- -webkit-box-shadow: 0 0 0 2px var(--color-white),
27
- 0 0 0 5px var(--color-base-content), 0 0 0 8px var(--color-focus);
28
- box-shadow: 0 0 0 2px var(--color-white),
29
- 0 0 0 5px var(--color-base-content), 0 0 0 8px var(--color-focus);
21
+ box-shadow:
22
+ 0 0 0 2px var(--color-white),
23
+ 0 0 0 5px var(--color-base-content),
24
+ 0 0 0 8px var(--color-focus);
30
25
  }
31
26
  }
32
27
  }
33
28
  .ds-btn-primary,
34
- .ds-btn-primary[type="submit"],
35
- .ds-btn-primary[type="button"],
36
- .ds-btn-primary[type="reset"] {
37
- -webkit-box-shadow: 0 2px 0 var(--color-base-content);
38
- box-shadow: 0 2px 0 var(--color-base-content);
39
- background-color: var(--btn-primary-background-color);
40
- color: var(--btn-primary-color);
41
- @apply hover:no-underline
42
- print:border-2 print:border-success print:shadow-none;
29
+ .ds-btn-primary[type='submit'],
30
+ .ds-btn-primary[type='button'],
31
+ .ds-btn-primary[type='reset'] {
32
+ @apply util-btn-primary util-btn-primary-text;
43
33
  &:hover {
34
+ @apply no-underline;
44
35
  background-color: var(--btn-primary-background-color-hover);
45
36
  color: var(--btn-primary-color-hover);
46
37
  }
@@ -49,23 +40,19 @@
49
40
  }
50
41
  }
51
42
  .ds-btn-cta {
52
- @apply py-4 print:pr-2;
53
- font-size: var(--btn-cta-font-size);
54
- &.ds-btn--dense, .ds-dense & {
43
+ @apply py-4 print:pr-2 util-btn-cta-text;
44
+ &.ds-btn--dense,
45
+ .ds-dense & {
55
46
  @apply py-3 px-4;
56
47
  }
57
48
  }
58
49
  .ds-btn-secondary,
59
- .ds-btn-secondary[type="submit"],
60
- .ds-btn-secondary[type="button"],
61
- .ds-btn-secondary[type="reset"] {
62
- -webkit-box-shadow: 0 2px 0 var(--color-base-500);
63
- box-shadow: 0 2px 0 var(--color-base-500);
64
- @apply hover:no-underline
65
- print:border-2 print:border-base-700 print:shadow-none;
66
- background-color: var(--btn-secondary-background-color);
67
- color: var(--btn-secondary-color);
50
+ .ds-btn-secondary[type='submit'],
51
+ .ds-btn-secondary[type='button'],
52
+ .ds-btn-secondary[type='reset'] {
53
+ @apply util-btn-secondary util-btn-secondary-text;
68
54
  &:hover {
55
+ @apply no-underline;
69
56
  background-color: var(--btn-secondary-background-color-hover);
70
57
  color: var(--btn-secondary-color-hover);
71
58
  }
@@ -74,16 +61,12 @@
74
61
  }
75
62
  }
76
63
  .ds-btn-warning,
77
- .ds-btn-warning[type="submit"],
78
- .ds-btn-warning[type="button"],
79
- .ds-btn-warning[type="reset"] {
80
- -webkit-box-shadow: 0 2px 0 var(--color-base-content);
81
- box-shadow: 0 2px 0 var(--color-base-content);
82
- @apply hover:no-underline
83
- print:border-2 print:border-error print:shadow-none;
84
- background-color: var(--btn-warning-background-color);
85
- color: var(--btn-warning-color);
64
+ .ds-btn-warning[type='submit'],
65
+ .ds-btn-warning[type='button'],
66
+ .ds-btn-warning[type='reset'] {
67
+ @apply util-btn-warning util-btn-warning-text;
86
68
  &:hover {
69
+ @apply no-underline;
87
70
  background-color: var(--btn-warning-background-color-hover);
88
71
  color: var(--btn-warning-color-hover);
89
72
  }
@@ -93,13 +76,8 @@
93
76
  }
94
77
  }
95
78
  .ds-btn--disabled {
96
- @apply opacity-50 hover:bg-opacity-50
97
- print:text-base-400 print:border-opacity-50;
98
79
  @apply cursor-not-allowed !important;
99
- }
100
- .ds-svg-icon--caret {
101
- fill: var(--color-base-content);
102
- @apply w-4 h-4 inline-block;
80
+ @apply util-btn--disabled util-btn--disabled-text;
103
81
  }
104
82
  .ds-close-btn {
105
83
  @apply flex flex-nowrap text-right w-max float-right items-center;
@@ -112,39 +90,42 @@
112
90
  @apply h-4 w-4 inline transition-all;
113
91
  }
114
92
  }
115
- .ds-btn-primary,
116
- .ds-btn-warning {
93
+ .ds-btn-primary {
117
94
  .ds-svg-icon {
118
- fill: var(--color-white);
95
+ fill: var(--btn-primary-color);
119
96
  }
97
+ /* stylelint-disable-next-line digigov/nest-related-rules */
120
98
  .ds-svg-icon--more-vert {
121
99
  @apply h-6 w-6 md:h-8 md:w-8;
122
100
  }
123
101
  }
124
- .ds-btn-cta {
125
- .ds-svg-icon--chevron {
126
- @apply w-5 h-5 inline-block ml-2 mr-2 transition-all;
102
+ .ds-btn-warning {
103
+ .ds-svg-icon {
104
+ fill: var(--color-white);
105
+ &.ds-svg-icon--more-vert {
106
+ @apply h-6 w-6 md:h-8 md:w-8;
107
+ }
127
108
  }
109
+ }
110
+ .ds-btn-cta {
128
111
  &:hover {
129
- .ds-svg-icon--chevron {
112
+ .ds-svg-icon {
130
113
  @apply ml-4 mr-0;
131
114
  }
132
115
  }
116
+ .ds-svg-icon {
117
+ @apply w-5 h-5 inline-block ml-2 mr-2 transition-all;
118
+ }
133
119
  }
134
120
  .ds-btn-secondary {
135
121
  .ds-svg-icon {
136
122
  fill: var(--color-base-content);
137
- }
138
- .ds-svg-icon--more-vert {
139
- @apply h-6 w-6;
123
+ &.ds-svg-icon--more-vert {
124
+ @apply h-6 w-6;
125
+ }
140
126
  }
141
127
  }
142
128
  .ds-close-btn {
143
- .ds-svg-icon--close {
144
- @apply w-5 h-5 float-right;
145
- @apply ml-1 !important;
146
- fill: var(--color-link);
147
- }
148
129
  &:focus {
149
130
  .ds-svg-icon--close {
150
131
  fill: var(--color-link-active);
@@ -155,6 +136,11 @@
155
136
  fill: var(--color-link-hover);
156
137
  }
157
138
  }
139
+ .ds-svg-icon--close {
140
+ @apply w-5 h-5 float-right;
141
+ @apply ml-1 !important;
142
+ fill: var(--color-link);
143
+ }
158
144
  }
159
145
  @media print {
160
146
  .ds-btn {
@@ -0,0 +1,55 @@
1
+ /* stylelint-disable declaration-block-no-redundant-longhand-properties */
2
+ /* stylelint-disable digigov/nest-related-rules */
3
+ @import './button.common.css';
4
+
5
+ .ds-btn {
6
+ @apply util-btn min-h-4 flex-row flex-nowrap justify-center;
7
+ border-bottom-width: var(--btn-border-bottom-width-native);
8
+ border-bottom-color: var(--btn-border-bottom-color-native);
9
+ padding-top: calc(1.5 * var(--btn-padding-y)) !important;
10
+ padding-bottom: calc(1.5 * var(--btn-padding-y)) !important;
11
+ }
12
+ .ds-btn__text {
13
+ @apply util-btn-text min-h-4 text-center;
14
+ }
15
+ .ds-btn--dense {
16
+ @apply min-h-6;
17
+ }
18
+ .ds-btn--dense__text {
19
+ @apply min-h-4;
20
+ }
21
+ .ds-btn--disabled {
22
+ @apply util-btn--disabled;
23
+ }
24
+ .ds-btn--disabled__text {
25
+ @apply util-btn--disabled-text;
26
+ }
27
+ .ds-btn-primary {
28
+ @apply util-btn-primary util-btn;
29
+ }
30
+ .ds-btn-primary__text {
31
+ @apply util-btn-primary-text;
32
+ }
33
+ .ds-btn-secondary {
34
+ @apply util-btn-secondary;
35
+ }
36
+ .ds-btn-secondary__text {
37
+ @apply util-btn-secondary-text;
38
+ }
39
+ .ds-btn-warning {
40
+ @apply util-btn-warning;
41
+ }
42
+ .ds-btn-warning__text {
43
+ @apply util-btn-warning-text;
44
+ }
45
+ .ds-btn-cta {
46
+ padding-top: calc(2.25 * var(--btn-padding-y)) !important;
47
+ padding-bottom: calc(2.25 * var(--btn-padding-y)) !important;
48
+ }
49
+
50
+ .ds-btn-cta__text {
51
+ @apply util-btn-cta-text;
52
+ }
53
+ .ds-btn-cta__icon {
54
+ fill: var(--color-white) !important;
55
+ }