@dynamic-framework/ui-react 2.0.0-dev.2 → 2.0.0-dev.20

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. package/README.md +52 -3
  2. package/dist/css/dynamic-ui-non-root.css +6344 -627
  3. package/dist/css/dynamic-ui-non-root.min.css +3 -3
  4. package/dist/css/dynamic-ui-root.css +63 -557
  5. package/dist/css/dynamic-ui-root.min.css +3 -3
  6. package/dist/css/dynamic-ui.css +6405 -1182
  7. package/dist/css/dynamic-ui.min.css +3 -3
  8. package/dist/index.esm.js +451 -159
  9. package/dist/index.esm.js.map +1 -1
  10. package/dist/index.js +472 -179
  11. package/dist/index.js.map +1 -1
  12. package/dist/types/components/DBoxFile/DBoxFile.d.ts +1 -1
  13. package/dist/types/components/DButton/DButton.d.ts +7 -17
  14. package/dist/types/components/DCollapse/DCollapse.d.ts +6 -0
  15. package/dist/types/components/DDatePicker/DDatePicker.d.ts +2 -1
  16. package/dist/types/components/DDatePicker/components/DDatePickerHeaderSelector.d.ts +2 -1
  17. package/dist/types/components/DIconBase/DIconBase.d.ts +10 -2
  18. package/dist/types/components/DInput/DInput.d.ts +2 -1
  19. package/dist/types/components/DInputCheck/DInputCheck.d.ts +2 -1
  20. package/dist/types/components/DInputCounter/DInputCounter.d.ts +3 -2
  21. package/dist/types/components/DInputCurrency/DInputCurrency.d.ts +3 -2
  22. package/dist/types/components/DInputMask/DInputMask.d.ts +7 -17
  23. package/dist/types/components/DInputPhone/DInputPhone.d.ts +1 -1
  24. package/dist/types/components/DInputSwitch/DInputSwitch.d.ts +2 -1
  25. package/dist/types/components/DLayout/DLayout.d.ts +13 -2
  26. package/dist/types/components/DModal/DModal.d.ts +3 -1
  27. package/dist/types/components/DOffcanvas/DOffcanvas.d.ts +3 -1
  28. package/dist/types/components/DPasswordStrengthMeter/DPasswordStrengthMeter.d.ts +23 -0
  29. package/dist/types/components/DPasswordStrengthMeter/PasswordCheckItem.d.ts +7 -0
  30. package/dist/types/components/DPasswordStrengthMeter/PasswordCheckList.d.ts +14 -0
  31. package/dist/types/components/DPasswordStrengthMeter/PasswordStrength.d.ts +6 -0
  32. package/dist/types/components/DPasswordStrengthMeter/index.d.ts +3 -0
  33. package/dist/types/components/DVoucher/DVoucher.d.ts +14 -0
  34. package/dist/types/components/DVoucher/hooks/useScreenshot.d.ts +5 -0
  35. package/dist/types/components/DVoucher/hooks/useScreenshotDownload.d.ts +5 -0
  36. package/dist/types/components/DVoucher/hooks/useScreenshotWebShare.d.ts +5 -0
  37. package/dist/types/components/DVoucher/index.d.ts +2 -0
  38. package/dist/types/components/config.d.ts +0 -2
  39. package/dist/types/components/index.d.ts +3 -1
  40. package/dist/types/hooks/useResponsiveProp.d.ts +35 -0
  41. package/jest/setup.js +0 -2
  42. package/package.json +38 -40
  43. package/src/style/abstracts/_mixins.scss +34 -20
  44. package/src/style/abstracts/_utilities-hover.scss +55 -0
  45. package/src/style/abstracts/_utilities.scss +19 -0
  46. package/src/style/abstracts/variables/_buttons.scss +2 -0
  47. package/src/style/abstracts/variables/_colors.scss +8 -2
  48. package/src/style/base/_buttons.scss +25 -142
  49. package/src/style/base/_label.scss +0 -4
  50. package/src/style/components/_+import.scss +1 -0
  51. package/src/style/components/_d-box-file.scss +1 -1
  52. package/src/style/components/_d-carousel.scss +4 -3
  53. package/src/style/components/_d-datepicker.scss +23 -4
  54. package/src/style/components/_d-voucher.scss +29 -0
  55. package/src/style/dynamic-ui-non-root.scss +2 -0
  56. package/src/style/dynamic-ui.scss +2 -0
  57. package/src/style/root/_root.scss +94 -88
  58. package/dist/types/components/DBarChart/DBarChart.d.ts +0 -9
  59. package/dist/types/components/DMinimalLineChart/DMinimalLineChart.d.ts +0 -9
  60. package/dist/types/components/DMultiLineChart/DMultiLineChart.d.ts +0 -9
  61. package/dist/types/components/DPieChart/DPieChart.d.ts +0 -9
  62. package/dist/types/components/DRadialBarChart/DRadialBarChart.d.ts +0 -6
  63. package/dist/types/components/DTableHead/DTableHead.d.ts +0 -9
  64. package/dist/types/components/DTableHead/index.d.ts +0 -2
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "sideEffects": [
4
4
  "*.css"
5
5
  ],
6
- "version": "2.0.0-dev.2",
6
+ "version": "2.0.0-dev.20",
7
7
  "description": "React Dynamic Framework",
8
8
  "license": "https://github.com/dynamic-framework/dynamic-ui/blob/master/libraries/dynamic-ui-react/LICENSE.md",
9
9
  "repository": {
@@ -54,9 +54,8 @@
54
54
  "dev:scss": "node scripts/build-scss.js",
55
55
  "build:once": "npm run dev:ts && npm run dev:rollup && sleep 0.5 && npm run dev:scss && yalc push",
56
56
  "watch:ds": "npx nodemon --watch src --ext ts,tsx,scss --delay 1000ms --exec \"npm run build:once\"",
57
- "cp": "npm run cp:bootstrap && npm run cp:popper && npm run cp:bootstrap-icons",
57
+ "cp": "npm run cp:bootstrap && npm run cp:popper",
58
58
  "cp:bootstrap": "scripts/cp-boostrap.sh",
59
- "cp:bootstrap-icons": "scripts/cp-boostrap-icons.sh",
60
59
  "cp:popper": "scripts/cp-popper.sh",
61
60
  "clean": "rimraf dist-transpiled && rimraf dist",
62
61
  "compile": "tsc -p . && rollup -c rollup.config.mjs",
@@ -75,7 +74,8 @@
75
74
  "publish:cdn-dev": "aws s3 sync ./dist/ s3://dynamicframework-cdn/assets/dev/ui-react --delete --acl public-read",
76
75
  "lint-staged": "lint-staged",
77
76
  "prepare": "husky",
78
- "commitlint": "commitlint --edit"
77
+ "commitlint": "commitlint --edit",
78
+ "verify": "node scripts/verify.js"
79
79
  },
80
80
  "engines": {
81
81
  "node": ">=22.0.0"
@@ -89,22 +89,23 @@
89
89
  "jest/"
90
90
  ],
91
91
  "dependencies": {
92
- "@floating-ui/react": "~0.26.1",
93
- "@react-input/mask": "~1.0.20",
92
+ "@floating-ui/react": "~0.27.16",
93
+ "@react-input/mask": "~2.0.4",
94
94
  "@splidejs/react-splide": "~0.7.12",
95
95
  "@splidejs/splide": "~4.1.4",
96
- "bootstrap": "~5.3.3",
97
- "classnames": "~2.3.2",
96
+ "bootstrap": "~5.3.8",
97
+ "classnames": "~2.5.1",
98
98
  "currency.js": "~2.0.4",
99
- "date-fns": "~2.30.0",
100
- "file-selector": "^2.1.2",
101
- "google-libphonenumber": "^3.2.40",
102
- "i18next": "~23.6.0",
103
- "lucide-react": "^0.548.0",
99
+ "date-fns": "~4.1.0",
100
+ "file-selector": "~2.1.2",
101
+ "google-libphonenumber": "~3.2.43",
102
+ "html2canvas": "^1.4.1",
103
+ "jspdf": "^4.0.0",
104
+ "lucide-react": "^0.553.0",
104
105
  "react-datepicker": "~8.3.0",
105
- "react-international-phone": "~4.5.0",
106
- "react-responsive-pagination": "^2.9.0",
107
- "react-select": "^5.8.3"
106
+ "react-international-phone": "~4.6.0",
107
+ "react-responsive-pagination": "~2.11.3",
108
+ "react-select": "~5.10.2"
108
109
  },
109
110
  "devDependencies": {
110
111
  "@babel/core": "~7.23.2",
@@ -125,9 +126,9 @@
125
126
  "@testing-library/user-event": "^14.6.1",
126
127
  "@types/google-libphonenumber": "~7.4.30",
127
128
  "@types/jest": "~29.5.12",
128
- "@types/node": "~18.15.3",
129
- "@types/react": "~19.1.8",
130
- "@types/react-dom": "~19.1.6",
129
+ "@types/node": "^22.0.0",
130
+ "@types/react": "^19.2.0",
131
+ "@types/react-dom": "^19.2.0",
131
132
  "@typescript-eslint/eslint-plugin": "~6.9.0",
132
133
  "@typescript-eslint/parser": "~6.9.0",
133
134
  "@vitejs/plugin-react": "~4.7.0",
@@ -135,7 +136,6 @@
135
136
  "axe-playwright": "~1.2.3",
136
137
  "babel-jest": "^29.7.0",
137
138
  "babel-loader": "~9.1.3",
138
- "bootstrap-icons": "~1.13.1",
139
139
  "conventional-changelog-conventionalcommits": "~6.1.0",
140
140
  "eslint": "~8.52.0",
141
141
  "eslint-config-airbnb": "~19.0.4",
@@ -144,25 +144,27 @@
144
144
  "eslint-plugin-jsx-a11y": "~6.7.1",
145
145
  "eslint-plugin-react": "~7.33.2",
146
146
  "eslint-plugin-react-hooks": "~4.6.0",
147
- "formik": "~2.4.6",
148
- "glob": "~10.3.10",
147
+ "formik": "~2.4.8",
148
+ "framer-motion": "^12.23.24",
149
+ "glob": "^11.1.0",
149
150
  "husky": "~9.1.7",
151
+ "i18next": "~25.6.1",
150
152
  "jest": "~29.7.0",
151
153
  "jest-axe": "~8.0.0",
152
154
  "jest-cli": "~29.7.0",
153
155
  "jest-environment-jsdom": "~29.7.0",
154
156
  "lint-staged": "^15.2.10",
155
157
  "postcss-cli": "~10.1.0",
156
- "react": "~19.1.0",
157
- "react-dom": "~19.1.0",
158
- "react-hot-toast": "~2.5.2",
159
- "react-i18next": "~13.3.1",
160
- "recharts": "~3.1.0",
158
+ "react": "~19.2.1",
159
+ "react-dom": "~19.2.1",
160
+ "react-hot-toast": "~2.6.0",
161
+ "react-i18next": "~16.2.4",
162
+ "recharts": "~3.3.0",
161
163
  "remark-gfm": "~4.0.1",
162
- "rimraf": "~6.0.1",
163
- "rollup": "^4.27.4",
164
+ "rimraf": "~6.1.0",
165
+ "rollup": "~4.53.1",
164
166
  "sass": "~1.69.4",
165
- "storybook": "~9.0.17",
167
+ "storybook": "^9.1.17",
166
168
  "stylelint": "^16.16.0",
167
169
  "stylelint-config-twbs-bootstrap": "^16.0.0",
168
170
  "ts-jest": "~29.2.3",
@@ -172,15 +174,11 @@
172
174
  "yup": "^1.6.1"
173
175
  },
174
176
  "peerDependencies": {
175
- "react": "~19.1.0",
176
- "react-dom": "~19.1.0",
177
- "react-hot-toast": "~2.5.2",
178
- "react-i18next": "~13.3.1",
179
- "recharts": "~3.1.0"
180
- },
181
- "peerDependenciesMeta": {
182
- "recharts": {
183
- "optional": true
184
- }
177
+ "framer-motion": ">=12 <13",
178
+ "i18next": ">=25 <26",
179
+ "react": ">=18 <20",
180
+ "react-dom": ">=18 <20",
181
+ "react-hot-toast": ">=2 <3",
182
+ "react-i18next": ">=16 <17"
185
183
  }
186
184
  }
@@ -44,12 +44,12 @@
44
44
  @mixin df-button-outline-variant-variables(
45
45
  $color-name,
46
46
  $default-color: var(--#{$prefix}#{$color-name}-500),
47
- $hover-bg-color: var(--#{$prefix}#{$color-name}-600),
48
- $hover-text-color: color-contrast-var(map-get($theme-colors-palettes, #{$color-name}-600)),
49
- $focus-bg-color: var(--#{$prefix}#{$color-name}-600),
50
- $focus-text-color: color-contrast-var(map-get($theme-colors-palettes, #{$color-name}-600)),
51
- $active-bg-color: var(--#{$prefix}#{$color-name}-700),
52
- $active-text-color: color-contrast-var(map-get($theme-colors-palettes, #{$color-name}-700)),
47
+ $default-border-color: $default-color,
48
+ $hover-color: var(--#{$prefix}#{$color-name}-600),
49
+ $hover-border-color: $hover-color,
50
+ $focus-color: $hover-color,
51
+ $active-color: var(--#{$prefix}#{$color-name}-700),
52
+ $active-border-color: $active-color,
53
53
  $disabled-opacity: $btn-disabled-opacity,
54
54
  $box-shadow: $btn-box-shadow,
55
55
  $focus-shadow-rgb: var(--#{$prefix}#{$color-name}-500-rgb),
@@ -57,21 +57,21 @@
57
57
  ) {
58
58
  --#{$prefix}btn-outline-#{$color-name}-color: #{$default-color};
59
59
  --#{$prefix}btn-outline-#{$color-name}-bg: transparent;
60
- --#{$prefix}btn-outline-#{$color-name}-border-color: #{$default-color};
60
+ --#{$prefix}btn-outline-#{$color-name}-border-color: #{$default-border-color};
61
61
  --#{$prefix}btn-outline-#{$color-name}-box-shadow: #{$box-shadow};
62
62
 
63
- --#{$prefix}btn-outline-#{$color-name}-hover-color: #{$hover-text-color};
64
- --#{$prefix}btn-outline-#{$color-name}-hover-bg: #{$hover-bg-color};
65
- --#{$prefix}btn-outline-#{$color-name}-hover-border-color: #{$hover-bg-color};
63
+ --#{$prefix}btn-outline-#{$color-name}-hover-color: #{$hover-color};
64
+ --#{$prefix}btn-outline-#{$color-name}-hover-bg: transparent;
65
+ --#{$prefix}btn-outline-#{$color-name}-hover-border-color: #{$hover-border-color};
66
66
 
67
- --#{$prefix}btn-outline-#{$color-name}-focus-color: #{$focus-text-color};
68
- --#{$prefix}btn-outline-#{$color-name}-focus-bg: #{$focus-bg-color};
69
- --#{$prefix}btn-outline-#{$color-name}-focus-border-color: #{$focus-bg-color};
67
+ --#{$prefix}btn-outline-#{$color-name}-focus-color: #{$focus-color};
68
+ --#{$prefix}btn-outline-#{$color-name}-focus-bg: transparent;
69
+ --#{$prefix}btn-outline-#{$color-name}-focus-border-color: #{$focus-color};
70
70
  --#{$prefix}btn-outline-#{$color-name}-focus-shadow-rgb: #{$focus-shadow-rgb};
71
71
 
72
- --#{$prefix}btn-outline-#{$color-name}-active-color: #{$active-text-color};
73
- --#{$prefix}btn-outline-#{$color-name}-active-bg: #{$active-bg-color};
74
- --#{$prefix}btn-outline-#{$color-name}-active-border-color: #{$active-bg-color};
72
+ --#{$prefix}btn-outline-#{$color-name}-active-color: #{$active-color};
73
+ --#{$prefix}btn-outline-#{$color-name}-active-bg: transparent;
74
+ --#{$prefix}btn-outline-#{$color-name}-active-border-color: #{$active-border-color};
75
75
  --#{$prefix}btn-outline-#{$color-name}-active-box-shadow: #{$active-box-shadow};
76
76
 
77
77
  --#{$prefix}btn-outline-#{$color-name}-disabled-color: #{$default-color};
@@ -120,6 +120,24 @@
120
120
  }
121
121
  // scss-docs-end df-btn-link-variant-variables-mixin
122
122
 
123
+ @mixin df-button-variant-outline-mapper($color-name) {
124
+ --#{$prefix}btn-color: var(--#{$prefix}btn-outline-#{$color-name}-color);
125
+ --#{$prefix}btn-border-color: var(--#{$prefix}btn-outline-#{$color-name}-border-color);
126
+
127
+ --#{$prefix}btn-hover-color: var(--#{$prefix}btn-outline-#{$color-name}-hover-color);
128
+ --#{$prefix}btn-hover-border-color: var(--#{$prefix}btn-outline-#{$color-name}-hover-border-color);
129
+ --#{$prefix}btn-active-color: var(--#{$prefix}btn-outline-#{$color-name}-active-color);
130
+ --#{$prefix}btn-active-border-color: var(--#{$prefix}btn-outline-#{$color-name}-active-border-color);
131
+
132
+ --#{$prefix}btn-focus-color: var(--#{$prefix}btn-outline-#{$color-name}-focus-color);
133
+ --#{$prefix}btn-focus-shadow-rgb: var(--#{$prefix}btn-outline-#{$color-name}-focus-shadow-rgb);
134
+
135
+ --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
136
+
137
+ --#{$prefix}btn-disabled-border-color: var(--#{$prefix}btn-outline-#{$color-name}-disabled-border-color);
138
+ --#{$prefix}btn-disabled-color: var(--#{$prefix}btn-outline-#{$color-name}-disabled-color);
139
+ }
140
+
123
141
  // scss-docs-start df-btn-variant-mixin
124
142
  @mixin df-button-variant-mapper($color-name, $variant-name: "") {
125
143
  @if $variant-name != "" {
@@ -149,10 +167,6 @@
149
167
  --#{$prefix}btn-disabled-bg: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-disabled-bg);
150
168
  --#{$prefix}btn-disabled-border-color: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-disabled-border-color);
151
169
  --#{$prefix}btn-disabled-opacity: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-disabled-opacity);
152
-
153
- &.loading {
154
- --#{$prefix}btn-disabled-color: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-active-color);
155
- }
156
170
  }
157
171
  // scss-docs-end df-btn-variant-mixin
158
172
 
@@ -0,0 +1,55 @@
1
+ @mixin generate-hover-utility($utility) {
2
+ $values: map-get($utility, values);
3
+
4
+ @if type-of($values) == "string" or type-of(nth($values, 1)) != "list" {
5
+ $values: zip($values, $values);
6
+ }
7
+
8
+ @each $key, $value in $values {
9
+ $properties: map-get($utility, property);
10
+
11
+ @if type-of($properties) == "string" {
12
+ $properties: append((), $properties);
13
+ }
14
+
15
+ $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));
16
+ $property-class: if($property-class == null, "", $property-class);
17
+ $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));
18
+ $property-class-modifier: if($key, if($property-class == "", "", "-") + $key, "");
19
+
20
+ $is-css-var: map-get($utility, css-var);
21
+ $is-local-vars: map-get($utility, local-vars);
22
+
23
+ @if $value != null {
24
+ $escaped-prefix: "hover\\:";
25
+ $selector: ".#{$escaped-prefix}#{$property-class}#{$property-class-modifier}:hover";
26
+
27
+ @if $is-css-var {
28
+ #{$selector} {
29
+ --#{$prefix}#{$css-variable-name}: #{$value};
30
+ }
31
+ } @else {
32
+ #{$selector} {
33
+ @each $property in $properties {
34
+ @if $is-local-vars {
35
+ @each $local-var, $variable in $is-local-vars {
36
+ --#{$prefix}#{$local-var}: #{$variable};
37
+ }
38
+ }
39
+ #{$property}: $value if($enable-important-utilities, !important, null);
40
+ }
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
46
+
47
+ @mixin generate-hover-utilities($utilities-map) {
48
+ @each $name, $utility in $utilities-map {
49
+ @if map-has-key($utility, values) and map-has-key($utility, property) {
50
+ @include generate-hover-utility($utility);
51
+ }
52
+ }
53
+ }
54
+
55
+ @include generate-hover-utilities($utilities);
@@ -81,6 +81,25 @@ $utilities: map-merge(
81
81
  )
82
82
  )
83
83
  ),
84
+ "grid-column": (
85
+ class: "g-col",
86
+ property: grid-column,
87
+ responsive: true,
88
+ values: (
89
+ 13: auto/span 13,
90
+ 14: auto/span 14,
91
+ 15: auto/span 15,
92
+ 16: auto/span 16,
93
+ 17: auto/span 17,
94
+ 18: auto/span 18,
95
+ 19: auto/span 19,
96
+ 20: auto/span 20,
97
+ 21: auto/span 21,
98
+ 22: auto/span 22,
99
+ 23: auto/span 23,
100
+ 24: auto/span 24
101
+ )
102
+ ),
84
103
  "overlay": (
85
104
  property: opacity,
86
105
  class: "overlay",
@@ -34,3 +34,5 @@ $btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, bord
34
34
  $btn-outline-primary-hover-color: inherit !default;
35
35
  $btn-outline-primary-hover-bg: transparent !default;
36
36
  $btn-outline-primary-focus-bg: transparent !default;
37
+
38
+ $btn-loading-gap: var(--#{$prefix}ref-spacer-2) !default;
@@ -362,7 +362,7 @@ $dark: $gray-900 !default;
362
362
  // scss-docs-end theme-color-variables
363
363
 
364
364
  // scss-docs-start theme-colors-map
365
- $theme-colors: (
365
+ $theme-colors-base: (
366
366
  "primary": $primary,
367
367
  "secondary": $secondary,
368
368
  "success": $success,
@@ -371,6 +371,9 @@ $theme-colors: (
371
371
  "danger": $danger,
372
372
  "light": $light,
373
373
  "dark": $dark,
374
+ ) !default;
375
+
376
+ $theme-colors-extra: (
374
377
  "indigo": $indigo,
375
378
  "purple": $purple,
376
379
  "pink": $pink,
@@ -379,8 +382,10 @@ $theme-colors: (
379
382
  "yellow": $yellow,
380
383
  "green": $green,
381
384
  "teal": $teal,
382
- "cyan": $cyan
385
+ "cyan": $cyan,
383
386
  ) !default;
387
+
388
+ $theme-colors: map-merge($theme-colors-base, $theme-colors-extra) !default;
384
389
  // scss-docs-end theme-colors-map
385
390
 
386
391
  // TODO: check this.
@@ -564,6 +569,7 @@ $theme-colors-palettes: (
564
569
  "danger-700": $danger-700,
565
570
  "danger-800": $danger-800,
566
571
  "danger-900": $danger-900,
572
+ // extras colors
567
573
  "indigo-25": $indigo-25,
568
574
  "indigo-50": $indigo-50,
569
575
  "indigo-100": $indigo-100,
@@ -21,7 +21,9 @@
21
21
  --#{$prefix}btn-sm-padding-x: #{$btn-padding-x-sm};
22
22
  --#{$prefix}btn-sm-font-size: #{$btn-font-size-sm};
23
23
  --#{$prefix}btn-box-shadow: #{btn-box-shadow};
24
+ --#{$prefix}btn-loading-gap: #{$btn-loading-gap};
24
25
 
26
+ position: relative;
25
27
  display: inline-flex;
26
28
  flex-direction: row;
27
29
  gap: var(--#{$prefix}btn-gap, $spacer-2);
@@ -46,14 +48,10 @@
46
48
  @include box-shadow(var(--#{$prefix}btn-box-shadow));
47
49
  @include transition($btn-transition);
48
50
 
49
- > span {
50
- text-decoration: var(--#{$prefix}btn-text-decoration);
51
- }
52
-
53
51
  // hover selectors
54
52
  &.hover,
55
53
  &:hover {
56
- // color: var(--#{$prefix}btn-hover-color);
54
+ color: var(--#{$prefix}btn-hover-color);
57
55
  text-decoration: none;
58
56
  background-color: var(--#{$prefix}btn-hover-bg);
59
57
  border-color: var(--#{$prefix}btn-hover-border-color);
@@ -81,6 +79,16 @@
81
79
  box-shadow: var(--#{$prefix}btn-focus-box-shadow);
82
80
  }
83
81
  }
82
+ /* stylelint-disable-next-line scss/selector-no-union-class-name */
83
+ &-loading {
84
+ position: relative;
85
+ display: inline-flex;
86
+ gap: var(--#{$prefix}btn-loading-gap);
87
+ align-items: center;
88
+ justify-content: center;
89
+ width: 100%;
90
+ height: 100%;
91
+ }
84
92
 
85
93
  .btn-check.focus-visible + &,
86
94
  .btn-check:focus-visible + & {
@@ -130,11 +138,13 @@
130
138
  &.disabled,
131
139
  &:disabled,
132
140
  fieldset:disabled & {
141
+
133
142
  color: var(--#{$prefix}btn-disabled-color);
134
143
  pointer-events: none;
135
144
  background-color: var(--#{$prefix}btn-disabled-bg);
136
145
  background-image: if($enable-gradients, none, null);
137
146
  border-color: var(--#{$prefix}btn-disabled-border-color);
147
+
138
148
  opacity: var(--#{$prefix}btn-disabled-opacity);
139
149
  @include box-shadow(none);
140
150
  }
@@ -145,145 +155,18 @@
145
155
  }
146
156
 
147
157
  @each $color, $value in $theme-colors {
148
- .btn-#{$color} {
149
- @include df-button-variant-mapper($color);
150
- }
151
-
152
- .btn-link-#{$color} {
153
- @include df-button-variant-mapper($color, "link");
154
- }
155
- }
156
-
157
-
158
- .btn-outline-primary {
159
- --#{$prefix}btn-color: var(--#{$prefix}primary-500);
160
- --#{$prefix}btn-hover-border-color: var(--#{$prefix}primary-600);
161
- --#{$prefix}btn-border-color: var(--#{$prefix}primary-500);
162
- --#{$prefix}btn-active-color: var(--#{$prefix}primary-500);
163
- --#{$prefix}btn-active-border-color: var(--#{$prefix}primary-600);
164
- --#{$prefix}btn-hover-color: var(--#{$prefix}primary-600);
165
- --#{$prefix}btn-focus-color: var(--#{$prefix}primary-600);
166
- --#{$prefix}btn-active-color: var(--#{$prefix}primary-600);
167
- --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
168
- --#{$prefix}btn-focus-shadow-rgb: var(--#{$prefix}btn-primary-focus-shadow-rgb);
169
- &:disabled,
170
- &.disabled {
171
- --#{$prefix}btn-disabled-border-color: var(--#{$prefix}primary-500);
172
- --#{$prefix}btn-disabled-color: var(--#{$prefix}primary-500);
173
- }
174
- }
175
-
176
- .btn-outline-secondary {
177
- --#{$prefix}btn-color: var(--#{$prefix}gray-700);
178
- --#{$prefix}btn-hover-border-color: var(--#{$prefix}gray-400);
179
- --#{$prefix}btn-border-color: var(--#{$prefix}gray-200);
180
- --#{$prefix}btn-active-border-color: var(--#{$prefix}gray-400);
181
- --#{$prefix}btn-active-color: var(--#{$prefix}gray-700);
182
- --#{$prefix}btn-hover-color: var(--#{$prefix}gray-700);
183
- --#{$prefix}btn-focus-color: var(--#{$prefix}gray-700);
184
- --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
185
- --#{$prefix}btn-focus-shadow-rgb: var(--#{$prefix}btn-secondary-focus-shadow-rgb);
186
- &:disabled,
187
- &.disabled {
188
- --#{$prefix}btn-disabled-border-color: var(--#{$prefix}gray-700);
189
- --#{$prefix}btn-disabled-color: var(--#{$prefix}gray-700);
190
- }
191
- }
192
-
193
- .btn-outline-light {
194
- --#{$prefix}btn-color: var(--#{$prefix}gray-25);
195
- --#{$prefix}btn-hover-border-color: var(--#{$prefix}gray-25);
196
- --#{$prefix}btn-border-color: var(--#{$prefix}gray-25);
197
- --#{$prefix}btn-active-border-color: var(--#{$prefix}gray-50);
198
- --#{$prefix}btn-active-color: var(--#{$prefix}gray-50);
199
- --#{$prefix}btn-hover-color: var(--#{$prefix}gray-50);
200
- --#{$prefix}btn-focus-color: var(--#{$prefix}gray-50);
201
- --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
202
- --#{$prefix}btn-focus-shadow-rgb: var(--#{$prefix}btn-light-focus-shadow-rgb);
203
- }
204
-
205
- .btn-outline-success {
206
- --#{$prefix}btn-color: var(--#{$prefix}success-500);
207
- --#{$prefix}btn-hover-border-color: var(--#{$prefix}success-600);
208
- --#{$prefix}btn-border-color: var(--#{$prefix}success-500);
209
- --#{$prefix}btn-active-border-color: var(--#{$prefix}success-600);
210
- --#{$prefix}btn-active-color: var(--#{$prefix}success-700);
211
- --#{$prefix}btn-hover-color: var(--#{$prefix}success-700);
212
- --#{$prefix}btn-focus-color: var(--#{$prefix}success-700);
213
- --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
214
- --#{$prefix}btn-focus-shadow-rgb: var(--#{$prefix}btn-success-focus-shadow-rgb);
215
- &:disabled,
216
- &.disabled {
217
- --#{$prefix}btn-disabled-border-color: var(--#{$prefix}success-500);
218
- --#{$prefix}btn-disabled-color: var(--#{$prefix}success-500);
219
- }
220
- }
221
-
222
- .btn-outline-danger {
223
- --#{$prefix}btn-color: var(--#{$prefix}danger-500);
224
- --#{$prefix}btn-hover-border-color: var(--#{$prefix}danger-600);
225
- --#{$prefix}btn-border-color: var(--#{$prefix}danger-500);
226
- --#{$prefix}btn-active-border-color: var(--#{$prefix}danger-600);
227
- --#{$prefix}btn-active-color: var(--#{$prefix}danger-700);
228
- --#{$prefix}btn-hover-color: var(--#{$prefix}danger-700);
229
- --#{$prefix}btn-focus-color: var(--#{$prefix}danger-700);
230
- --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
231
- --#{$prefix}btn-focus-shadow-rgb: var(--#{$prefix}btn-danger-focus-shadow-rgb);
232
- &:disabled,
233
- &.disabled {
234
- --#{$prefix}btn-active-border-color: var(--#{$prefix}danger-500);
235
- --#{$prefix}btn-disabled-color: var(--#{$prefix}danger-500);
236
- }
237
- }
238
-
239
- .btn-outline-info {
240
- --#{$prefix}btn-color: var(--#{$prefix}info-500);
241
- --#{$prefix}btn-hover-border-color: var(--#{$prefix}info-600);
242
- --#{$prefix}btn-border-color: var(--#{$prefix}info-500);
243
- --#{$prefix}btn-active-border-color: var(--#{$prefix}info-600);
244
- --#{$prefix}btn-active-color: var(--#{$prefix}info-700);
245
- --#{$prefix}btn-hover-color: var(--#{$prefix}info-700);
246
- --#{$prefix}btn-focus-color: var(--#{$prefix}info-700);
247
- --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
248
- --#{$prefix}btn-focus-shadow-rgb: var(--#{$prefix}btn-info-focus-shadow-rgb);
249
- &:disabled,
250
- &.disabled {
251
- --#{$prefix}btn-disabled-border-color: var(--#{$prefix}info-500);
252
- --#{$prefix}btn-disabled-color: var(--#{$prefix}info-500);
253
- }
254
- }
158
+ @if not map-has-key($theme-colors-extra, $color) {
159
+ .btn-#{$color} {
160
+ @include df-button-variant-mapper($color);
161
+ }
255
162
 
256
- .btn-outline-warning {
257
- --#{$prefix}btn-color: var(--#{$prefix}warning-600);
258
- --#{$prefix}btn-hover-border-color: var(--#{$prefix}warning-600);
259
- --#{$prefix}btn-border-color: var(--#{$prefix}warning-500);
260
- --#{$prefix}btn-active-border-color: var(--#{$prefix}warning-600);
261
- --#{$prefix}btn-active-color: var(--#{$prefix}warning-700);
262
- --#{$prefix}btn-hover-color: var(--#{$prefix}warning-700);
263
- --#{$prefix}btn-focus-color: var(--#{$prefix}warning-700);
264
- --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
265
- --#{$prefix}btn-focus-shadow-rgb: var(--#{$prefix}btn-warning-focus-shadow-rgb);
266
- &:disabled,
267
- &.disabled {
268
- --#{$prefix}btn-disabled-border-color: var(--#{$prefix}warning-500);
269
- --#{$prefix}btn-disabled-color: var(--#{$prefix}warning-600);
270
- }
271
- }
163
+ .btn-link-#{$color} {
164
+ @include df-button-variant-mapper($color, "link");
165
+ }
272
166
 
273
- .btn-outline-dark {
274
- --#{$prefix}btn-color: var(--#{$prefix}black);
275
- --#{$prefix}btn-hover-border-color: var(--#{$prefix}black);
276
- --#{$prefix}btn-border-color: var(--#{$prefix}black);
277
- --#{$prefix}btn-active-border-color: var(--#{$prefix}black);
278
- --#{$prefix}btn-active-color: var(--#{$prefix}black);
279
- --#{$prefix}btn-hover-color: var(--#{$prefix}black);
280
- --#{$prefix}btn-focus-color: var(--#{$prefix}black);
281
- --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
282
- --#{$prefix}btn-focus-shadow-rgb: var(--#{$prefix}btn-dark-focus-shadow-rgb);
283
- &:disabled,
284
- &.disabled {
285
- --#{$prefix}btn-disabled-border-color: var(--#{$prefix}black);
286
- --#{$prefix}btn-disabled-color: var(--#{$prefix}black);
167
+ .btn-outline-#{$color} {
168
+ @include df-button-variant-outline-mapper($color);
169
+ }
287
170
  }
288
171
  }
289
172
 
@@ -9,8 +9,4 @@ label {
9
9
  font-size: var(--#{$prefix}label-font-size);
10
10
  font-weight: var(--#{$prefix}label-font-weight);
11
11
  color: var(--#{$prefix}label-color);
12
-
13
- .d-icon {
14
- --#{$prefix}icon-color: var(--#{$prefix}focus-ring-color);
15
- }
16
12
  }
@@ -11,6 +11,7 @@
11
11
  @import "d-collapse-icon-text";
12
12
  @import "d-datepicker";
13
13
  @import "d-timepicker";
14
+ @import "d-voucher";
14
15
  @import "d-close";
15
16
  @import "d-popover";
16
17
  @import "d-box-file";
@@ -50,7 +50,7 @@
50
50
  border: var(--#{$prefix}box-file-disabled-border);
51
51
  }
52
52
 
53
- .d-icon {
53
+ .d-box-file-dropzone > .d-icon {
54
54
  --#{$prefix}icon-size: var(--#{$prefix}box-file-icon-size);
55
55
  --#{$prefix}icon-color: var(--#{$prefix}box-file-icon-color);
56
56
  }
@@ -1,10 +1,10 @@
1
1
  @import "node_modules/@splidejs/splide/src/css/template/default/index";
2
- // stylelint-disable
2
+
3
3
  .d-carousel {
4
4
  // Arrows
5
5
  --#{$prefix}carousel-arrow-space: calc(var(--#{$prefix}ref-spacer-4) * -1);
6
6
  // Pagination
7
- --#{$prefix}carousel-pagination-bottom: calc(var(--#{$prefix}ref-spacer-4) * -1);
7
+ --#{$prefix}carousel-pagination-bottom: auto;
8
8
  --#{$prefix}carousel-pagination-page-bg: var(--#{$prefix}secondary-100);
9
9
  --#{$prefix}carousel-pagination-active-page-bg: var(--#{$prefix}secondary);
10
10
  // :focus
@@ -19,6 +19,7 @@
19
19
  }
20
20
  }
21
21
 
22
+ // stylelint-disable
22
23
  .splide__pagination__page {
23
24
  margin: 0;
24
25
  }
@@ -26,7 +27,6 @@
26
27
  .d-carousel-pagination {
27
28
  bottom: var(--#{$prefix}carousel-pagination-bottom);
28
29
  position: relative;
29
- bottom: auto;
30
30
  top: -0.5rem;
31
31
  width: fit-content;
32
32
  background: var(--#{$prefix}gray-25);
@@ -48,6 +48,7 @@
48
48
  }
49
49
  }
50
50
  }
51
+ // stylelint-enable
51
52
 
52
53
  &.splide.is-focus-in .d-carousel-arrow:focus,
53
54
  &.splide.is-focus-in .d-carousel-pagination-page:focus {
@@ -138,10 +138,29 @@
138
138
  }
139
139
 
140
140
  .custom-year-selector {
141
- width: 6ch;
142
- background: none;
143
- color: var(--#{$prefix}white);
144
- border: 0;
141
+ width: 8ch;
142
+ background: transparent;
143
+ color: var(--#{$prefix}body-color);
144
+ margin: auto;
145
+
146
+ .input-group {
147
+ border: 0;
148
+ }
149
+
150
+ .d-select__indicator-separator {
151
+ display: none;
152
+ }
153
+
154
+ .d-select__control {
155
+ background-color: var(--#{$prefix}datepicker-top-header-bg);
156
+ padding: var(--bs-ref-spacer-1) var(--bs-ref-spacer-1);
157
+ flex-wrap: nowrap;
158
+ color: var(--#{$prefix}white);
159
+ border: 0;
160
+ }
161
+ .d-select__menu-list {
162
+ max-height: 10lh;
163
+ }
145
164
  }
146
165
 
147
166
  &-selector {