@dynamic-framework/ui-react 2.0.0-dev.22 → 2.0.0-dev.24

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 (42) hide show
  1. package/dist/css/dynamic-ui-non-root.css +13424 -895
  2. package/dist/css/dynamic-ui-non-root.min.css +2 -2
  3. package/dist/css/dynamic-ui-root.css +1 -17
  4. package/dist/css/dynamic-ui-root.min.css +2 -2
  5. package/dist/css/dynamic-ui.css +13424 -911
  6. package/dist/css/dynamic-ui.min.css +2 -2
  7. package/dist/index.esm.js +98 -30
  8. package/dist/index.esm.js.map +1 -1
  9. package/dist/index.js +106 -29
  10. package/dist/index.js.map +1 -1
  11. package/dist/types/components/DBadge/DBadge.d.ts +3 -2
  12. package/dist/types/components/DButton/DButton.d.ts +3 -2
  13. package/dist/types/components/DCreditCard/DCreditCard.d.ts +2 -1
  14. package/dist/types/components/DDataStateWrapper/DDataStateWrapper.d.ts +14 -0
  15. package/dist/types/components/DDataStateWrapper/components/EmptyState.d.ts +8 -0
  16. package/dist/types/components/DDataStateWrapper/components/ErrorState.d.ts +8 -0
  17. package/dist/types/components/DDataStateWrapper/components/LoadingState.d.ts +6 -0
  18. package/dist/types/components/DDataStateWrapper/index.d.ts +2 -0
  19. package/dist/types/components/DErrorBoundary/DErrorBoundary.d.ts +11 -0
  20. package/dist/types/components/DErrorBoundary/components/DefaultErrorBoundary.d.ts +6 -0
  21. package/dist/types/components/DErrorBoundary/index.d.ts +3 -0
  22. package/dist/types/components/index.d.ts +2 -0
  23. package/package.json +8 -14
  24. package/src/style/abstracts/_utilities-dark.scss +72 -0
  25. package/src/style/abstracts/_utilities.scss +7 -8
  26. package/src/style/abstracts/variables/_+import.scss +0 -4
  27. package/src/style/abstracts/variables/_alerts.scss +1 -1
  28. package/src/style/abstracts/variables/_input-phone.scss +1 -1
  29. package/src/style/abstracts/variables/_tooltip.scss +2 -2
  30. package/src/style/abstracts/variables/_typography.scss +0 -40
  31. package/src/style/base/_badge.scss +2 -2
  32. package/src/style/base/_type.scss +3 -6
  33. package/src/style/components/_d-credit-card.scss +22 -12
  34. package/src/style/components/_d-icon.scss +17 -0
  35. package/src/style/dynamic-ui-non-root.scss +2 -0
  36. package/src/style/dynamic-ui.scss +2 -0
  37. package/src/style/helpers/_color-bg.scss +1 -3
  38. package/src/style/root/_root.scss +0 -5
  39. package/src/style/abstracts/variables/_quick-action-button.scss +0 -31
  40. package/src/style/abstracts/variables/_quick-action-check.scss +0 -22
  41. package/src/style/abstracts/variables/_quick-action-select.scss +0 -16
  42. package/src/style/abstracts/variables/_quick-action-switch.scss +0 -19
@@ -1,8 +1,9 @@
1
1
  import type { BaseProps, ComponentColor } from '../interface';
2
+ import { ResponsiveProp } from '../../hooks/useResponsiveProp';
2
3
  type Props = BaseProps & {
3
4
  text?: string;
4
5
  soft?: boolean;
5
- size?: 'sm' | 'lg';
6
+ size?: string | ResponsiveProp;
6
7
  rounded?: boolean;
7
8
  color?: ComponentColor;
8
9
  id?: string;
@@ -12,5 +13,5 @@ type Props = BaseProps & {
12
13
  iconFamilyClass?: string;
13
14
  iconFamilyPrefix?: string;
14
15
  };
15
- export default function DBadge({ text, soft, color, id, rounded, className, size, style, iconStart, iconEnd, iconMaterialStyle, iconFamilyClass, iconFamilyPrefix, dataAttributes, }: Props): import("react/jsx-runtime").JSX.Element;
16
+ export default function DBadge(props: Props): import("react/jsx-runtime").JSX.Element;
16
17
  export {};
@@ -1,11 +1,12 @@
1
1
  import { type ButtonHTMLAttributes } from 'react';
2
- import type { BaseProps, ButtonVariant, ComponentColor, ComponentSize, EndIconProps, StartIconProps } from '../interface';
2
+ import { ResponsiveProp } from '../../hooks/useResponsiveProp';
3
+ import type { BaseProps, ButtonVariant, ComponentColor, EndIconProps, StartIconProps } from '../interface';
3
4
  interface Props extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'color'>, BaseProps, StartIconProps, EndIconProps {
4
5
  href?: string;
5
6
  target?: React.AnchorHTMLAttributes<HTMLAnchorElement>['target'];
6
7
  rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>['rel'];
7
8
  color?: ComponentColor;
8
- size?: ComponentSize;
9
+ size?: string | ResponsiveProp;
9
10
  variant?: ButtonVariant;
10
11
  text?: string;
11
12
  loading?: boolean;
@@ -1,6 +1,7 @@
1
+ type CardBrand = 'visa' | 'mastercard';
1
2
  type Props = {
2
3
  className?: string;
3
- brand?: string;
4
+ brand?: CardBrand;
4
5
  isChipVisible?: boolean;
5
6
  name?: string;
6
7
  number?: string;
@@ -0,0 +1,14 @@
1
+ import type { ReactNode } from 'react';
2
+ type Renderable = ReactNode | (() => ReactNode);
3
+ type DDataStateWrapperProps<T> = {
4
+ isLoading: boolean;
5
+ isError: boolean;
6
+ data: T[] | undefined;
7
+ onRetry?: () => void;
8
+ renderLoading?: Renderable;
9
+ renderEmpty?: Renderable;
10
+ renderError?: Renderable;
11
+ children: (data: T[]) => ReactNode;
12
+ };
13
+ export default function DDataStateWrapper<T>({ isLoading, isError, data, onRetry, renderLoading, renderEmpty, renderError, children, }: DDataStateWrapperProps<T>): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
14
+ export {};
@@ -0,0 +1,8 @@
1
+ interface EmptyStateProps {
2
+ message?: string;
3
+ icon?: string;
4
+ actionText?: string;
5
+ onAction?: () => void;
6
+ }
7
+ export declare function EmptyState({ message, icon, actionText, onAction, }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ type ErrorStateProps = {
2
+ message?: string;
3
+ onRetry?: () => void;
4
+ retryMessage?: string;
5
+ color?: 'danger' | 'warning';
6
+ };
7
+ export declare function ErrorState({ message, onRetry, retryMessage, color, }: ErrorStateProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,6 @@
1
+ type LoadingStateProps = {
2
+ ariaLabel?: string;
3
+ className?: string;
4
+ };
5
+ export declare function LoadingState({ ariaLabel, className }: LoadingStateProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,2 @@
1
+ import DDataStateWrapper from './DDataStateWrapper';
2
+ export default DDataStateWrapper;
@@ -0,0 +1,11 @@
1
+ import { type PropsWithChildren, type ReactNode, type ErrorInfo } from 'react';
2
+ import { FallbackProps, useErrorBoundary, getErrorMessage } from 'react-error-boundary';
3
+ export { type FallbackProps, useErrorBoundary, getErrorMessage, };
4
+ export type DErrorBoundaryProps = PropsWithChildren<{
5
+ name?: string;
6
+ fallback?: (props: FallbackProps) => ReactNode;
7
+ resetKeys?: unknown[];
8
+ onReset?: () => void;
9
+ onError?: (error: unknown, info: ErrorInfo) => void;
10
+ }>;
11
+ export default function DErrorBoundary({ name, fallback, resetKeys, onReset, onError, children, }: DErrorBoundaryProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { FallbackProps } from 'react-error-boundary';
2
+ type Props = {
3
+ resetErrorBoundary: FallbackProps['resetErrorBoundary'];
4
+ };
5
+ export default function DefaultErrorBoundary({ resetErrorBoundary }: Props): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,3 @@
1
+ import DErrorBoundary, { type FallbackProps, useErrorBoundary, getErrorMessage } from './DErrorBoundary';
2
+ export { type FallbackProps, useErrorBoundary, getErrorMessage, };
3
+ export default DErrorBoundary;
@@ -48,3 +48,5 @@ export { default as DCreditCard } from './DCreditCard';
48
48
  export { default as DDropdown } from './DDropdown';
49
49
  export { default as DVoucher } from './DVoucher';
50
50
  export { default as DOtp } from './DOtp';
51
+ export { default as DErrorBoundary, useErrorBoundary, type FallbackProps, getErrorMessage, } from './DErrorBoundary';
52
+ export { default as DDataStateWrapper } from './DDataStateWrapper';
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "sideEffects": [
4
4
  "*.css"
5
5
  ],
6
- "version": "2.0.0-dev.22",
6
+ "version": "2.0.0-dev.24",
7
7
  "description": "React Dynamic Framework",
8
8
  "license": "https://github.com/dynamic-framework/dynamic-ui/blob/master/LICENSE.md",
9
9
  "repository": {
@@ -103,24 +103,21 @@
103
103
  "jspdf": "^4.0.0",
104
104
  "lucide-react": "^0.553.0",
105
105
  "react-datepicker": "~8.3.0",
106
+ "react-error-boundary": "^6.1.0",
106
107
  "react-international-phone": "~4.6.0",
107
108
  "react-responsive-pagination": "~2.11.3",
108
109
  "react-select": "~5.10.2"
109
110
  },
110
111
  "devDependencies": {
111
- "@babel/core": "~7.23.2",
112
- "@babel/preset-env": "~7.23.2",
113
- "@babel/preset-react": "~7.22.15",
114
- "@babel/preset-typescript": "~7.23.2",
115
112
  "@commitlint/cli": "~19.3.0",
116
113
  "@commitlint/config-conventional": "~19.2.2",
117
114
  "@mdx-js/react": "~2.3.0",
118
115
  "@popperjs/core": "~2.11.8",
119
116
  "@rollup/plugin-node-resolve": "^15.3.0",
120
- "@storybook/addon-a11y": "~9.0.17",
121
- "@storybook/addon-docs": "~9.0.17",
122
- "@storybook/addon-links": "~9.0.17",
123
- "@storybook/react-vite": "~9.0.17",
117
+ "@storybook/addon-a11y": "~10.2.8",
118
+ "@storybook/addon-docs": "~10.2.8",
119
+ "@storybook/addon-links": "~10.2.8",
120
+ "@storybook/react-vite": "~10.2.8",
124
121
  "@testing-library/jest-dom": "~6.6.3",
125
122
  "@testing-library/react": "~16.3.0",
126
123
  "@testing-library/user-event": "^14.6.1",
@@ -134,8 +131,6 @@
134
131
  "@vitejs/plugin-react": "~4.7.0",
135
132
  "autoprefixer": "~10.4.16",
136
133
  "axe-playwright": "~1.2.3",
137
- "babel-jest": "^29.7.0",
138
- "babel-loader": "~9.1.3",
139
134
  "conventional-changelog-conventionalcommits": "~6.1.0",
140
135
  "eslint": "~8.52.0",
141
136
  "eslint-config-airbnb": "~19.0.4",
@@ -151,7 +146,6 @@
151
146
  "i18next": "~25.6.1",
152
147
  "jest": "~29.7.0",
153
148
  "jest-axe": "~8.0.0",
154
- "jest-cli": "~29.7.0",
155
149
  "jest-environment-jsdom": "~29.7.0",
156
150
  "lint-staged": "^15.2.10",
157
151
  "postcss-cli": "~10.1.0",
@@ -162,9 +156,9 @@
162
156
  "recharts": "~3.3.0",
163
157
  "remark-gfm": "~4.0.1",
164
158
  "rimraf": "~6.1.0",
165
- "rollup": "~4.53.1",
159
+ "rollup": "^4.59.0",
166
160
  "sass": "~1.69.4",
167
- "storybook": "^9.1.17",
161
+ "storybook": "^10.2.8",
168
162
  "stylelint": "^16.16.0",
169
163
  "stylelint-config-twbs-bootstrap": "^16.0.0",
170
164
  "ts-jest": "~29.2.3",
@@ -0,0 +1,72 @@
1
+ @mixin generate-dark-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: "dark\\:";
25
+ $selector: ".#{$escaped-prefix}#{$property-class}#{$property-class-modifier}";
26
+
27
+ @if $is-css-var {
28
+ @media (prefers-color-scheme: dark) {
29
+ #{$selector} {
30
+ --#{$prefix}#{$css-variable-name}: #{$value};
31
+ }
32
+ }
33
+ .dark #{$selector} {
34
+ --#{$prefix}#{$css-variable-name}: #{$value};
35
+ }
36
+ } @else {
37
+ @media (prefers-color-scheme: dark) {
38
+ #{$selector} {
39
+ @each $property in $properties {
40
+ @if $is-local-vars {
41
+ @each $local-var, $variable in $is-local-vars {
42
+ --#{$prefix}#{$local-var}: #{$variable};
43
+ }
44
+ }
45
+ #{$property}: $value if($enable-important-utilities, !important, null);
46
+ }
47
+ }
48
+ }
49
+ .dark #{$selector} {
50
+ @each $property in $properties {
51
+ @if $is-local-vars {
52
+ @each $local-var, $variable in $is-local-vars {
53
+ --#{$prefix}#{$local-var}: #{$variable};
54
+ }
55
+ }
56
+ #{$property}: $value if($enable-important-utilities, !important, null);
57
+ }
58
+ }
59
+ }
60
+ }
61
+ }
62
+ }
63
+
64
+ @mixin generate-dark-utilities($utilities-map) {
65
+ @each $name, $utility in $utilities-map {
66
+ @if map-has-key($utility, values) and map-has-key($utility, property) {
67
+ @include generate-dark-utility($utility);
68
+ }
69
+ }
70
+ }
71
+
72
+ @include generate-dark-utilities($utilities);
@@ -133,7 +133,13 @@ $utilities: map-merge(
133
133
  map-get($utilities, "font-size"),
134
134
  (
135
135
  responsive: true,
136
- rfs: false
136
+ rfs: false,
137
+ values: map-merge(
138
+ map-get(map-get($utilities, "font-size"), "values"),
139
+ (
140
+ body: var(--#{$prefix}body-font-size)
141
+ )
142
+ )
137
143
  )
138
144
  ),
139
145
  "display-font-size": (
@@ -199,13 +205,6 @@ $utilities: map-merge(
199
205
  wrap: wrap
200
206
  )
201
207
  ),
202
- "body-font-size": (
203
- class: "fs-body",
204
- responsive: true,
205
- css-var: true,
206
- css-variable-name: fs-body-font-size,
207
- values: $body-font-sizes
208
- ),
209
208
  "line-height": (
210
209
  property: line-height,
211
210
  class: lh,
@@ -88,10 +88,6 @@ $input-btn-border-width: var(--#{$prefix}border-width) !default;
88
88
  @import "code";
89
89
 
90
90
  // custom
91
- @import "quick-action-button";
92
- @import "quick-action-select";
93
- @import "quick-action-check";
94
- @import "quick-action-switch";
95
91
  @import "cursors";
96
92
  @import "chips";
97
93
  @import "collapse-icon-text";
@@ -1,6 +1,6 @@
1
1
  // Alerts
2
2
  // scss-docs-start alert-variables
3
- $alert-border-radius: var(--#{$prefix}border-radius-sm) !default;
3
+ $alert-border-radius: var(--#{$prefix}border-radius) !default;
4
4
  $alert-link-font-weight: var(--#{$prefix}fw-bold) !default;
5
5
  // scss-docs-end alert-variables
6
6
 
@@ -36,7 +36,7 @@ $input-phone-dropdown-item-text-color: $input-phone-text-color !default;
36
36
  $input-phone-dropdown-item-dial-code-color: var(--#{$prefix}gray-500) !default;
37
37
  $input-phone-dropdown-item-height: 28px !default;
38
38
  $input-phone-dropdown-item-padding: var(--#{$prefix}ref-spacer-3) var(--#{$prefix}ref-spacer-3) !default;
39
- $input-phone-dropdown-item-font-size: var(--#{$prefix}fs-body-small) !default;
39
+ $input-phone-dropdown-item-font-size: var(--#{$prefix}font-size-sm) !default;
40
40
  $input-phone-dropdown-item-font-weight: var(--#{$prefix}fw-normal) !default;
41
41
 
42
42
  // Selected / hover items
@@ -9,8 +9,8 @@ $tooltip-padding-y: var(--#{$prefix}ref-spacer-2) !default;
9
9
  $tooltip-padding-x: var(--#{$prefix}ref-spacer-1) !default;
10
10
 
11
11
  // custom
12
- $tooltip-font-size-sm: var(--#{$prefix}fs-body-small) !default;
13
- $tooltip-font-size-lg: var(--#{$prefix}fs-body-medium) !default;
12
+ $tooltip-font-size-sm: var(--#{$prefix}fs-small) !default;
13
+ $tooltip-font-size-lg: var(--#{$prefix}fs-5) !default;
14
14
  // end custom
15
15
 
16
16
  // scss-docs-end tooltip-variables
@@ -15,8 +15,6 @@ $font-size-sm: var(--#{$prefix}fs-small) !default;
15
15
  $font-size-sm-value: .875em !default;
16
16
  // end custom
17
17
 
18
- $font-size-lg: $font-size-base * 1.125 !default; // 18px
19
-
20
18
  // custom
21
19
  $font-weight-lighter-value: lighter !default;
22
20
  $font-weight-light-value: 200 !default;
@@ -39,40 +37,6 @@ $line-height-base: 1.5 !default;
39
37
  $line-height-sm: 1.25 !default;
40
38
  $line-height-lg: 2 !default;
41
39
 
42
- // custom
43
- $body-large-font-size-value: $font-size-base * 1.5 !default; // 24px - 21.525px
44
- $body-medium-font-size-value: $font-size-base * 1.25 !default; // 20px - 20px
45
- $body-normal-font-size-value: $font-size-base * 1 !default; // 16px - 16px
46
- $body-small-font-size-value: $font-size-base * .875 !default; // 14px - 14px
47
- $body-tiny-font-size-value: $font-size-base * .8125 !default; // 13px - 13px
48
-
49
- $body-large-font-size: var(--#{$prefix}fs-body-large) !default;
50
- $body-medium-font-size: var(--#{$prefix}fs-body-medium) !default;
51
- $body-normal-font-size: var(--#{$prefix}fs-body-normal) !default;
52
- $body-small-font-size: var(--#{$prefix}fs-body-small) !default;
53
- $body-tiny-font-size: var(--#{$prefix}fs-body-tiny) !default;
54
- // end custom
55
- // scss-docs-end font-variables
56
-
57
- // scss-docs-start body-font-sizes
58
- // custom
59
- $body-font-sizes-value: (
60
- large: $body-large-font-size-value,
61
- medium: $body-medium-font-size-value,
62
- normal: $body-normal-font-size-value,
63
- small: $body-small-font-size-value,
64
- tiny: $body-tiny-font-size-value,
65
- ) !default;
66
-
67
- $body-font-sizes: (
68
- large: $body-large-font-size,
69
- medium: $body-medium-font-size,
70
- normal: $body-normal-font-size,
71
- small: $body-small-font-size,
72
- tiny: $body-tiny-font-size,
73
- ) !default;
74
- // end custom
75
- // scss-docs-end body-font-sizes
76
40
 
77
41
  // custom
78
42
  $h1-font-size-value: $font-size-base * 3 !default; // 48px - 30.675px
@@ -169,10 +133,6 @@ $small-font-size-value: $font-size-sm-value !default;
169
133
 
170
134
  $sub-sup-font-size: .75em !default;
171
135
 
172
- // // fusv-disable
173
- // $text-muted: var(--#{$prefix}gray-400) !default;
174
- // // fusv-enable
175
-
176
136
  $blockquote-margin-y: var(--#{$prefix}ref-spacer-4) !default;
177
137
  $blockquote-footer-color: var(--#{$prefix}gray-600) !default;
178
138
 
@@ -3,8 +3,8 @@
3
3
  --#{$prefix}badge-icon-size: #{$badge-font-size};
4
4
  --#{$prefix}badge-bg: #{$badge-bg};
5
5
  --#{$prefix}badge-color: #{$badge-color};
6
- --#{$prefix}badge-sm-font-size: var(--#{$prefix}fs-body-small);
7
- --#{$prefix}badge-lg-font-size: var(--#{$prefix}fs-body-large);
6
+ --#{$prefix}badge-sm-font-size: var(--#{$prefix}fs-small);
7
+ --#{$prefix}badge-lg-font-size: var(--#{$prefix}fs-5);
8
8
 
9
9
  display: inline-flex;
10
10
  gap: var(--#{$prefix}badge-gap);
@@ -1,3 +1,5 @@
1
+ /* stylelint-disable declaration-no-important */
2
+
1
3
  //
2
4
  // Headings
3
5
  //
@@ -34,17 +36,12 @@
34
36
  // Type display classes
35
37
  [class*="display-"] {
36
38
  font-family: $display-font-family;
37
- font-size: var(--#{$prefix}display-font-size);
39
+ font-size: var(--#{$prefix}display-font-size) !important;
38
40
  font-style: $display-font-style;
39
41
  font-weight: $display-font-weight;
40
42
  line-height: $display-line-height;
41
43
  }
42
44
 
43
- // Body display classes
44
- [class*="fs-body-"] {
45
- font-size: var(--#{$prefix}fs-body-font-size);
46
- }
47
-
48
45
  //
49
46
  // Emphasis
50
47
  //
@@ -14,25 +14,26 @@
14
14
  --#{$prefix}d-credit-card-padding: var(--#{$prefix}ref-spacer-4);
15
15
  --#{$prefix}d-credit-card-number-size: inherit;
16
16
  --#{$prefix}d-credit-card-chip-size: 30px;
17
- flex-direction: column;
17
+ --#{$prefix}d-credit-card-color: var(--#{$prefix}white);
18
+ --#{$prefix}d-credit-card-logo-size: 22%;
18
19
 
20
+ position: relative;
21
+ display: flex;
22
+ flex-direction: column;
19
23
  aspect-ratio: var(--#{$prefix}d-credit-card-aspect-ratio);
20
24
  padding: var(--#{$prefix}d-credit-card-padding);
25
+ overflow: hidden;
26
+ color: var(--#{$prefix}d-credit-card-color);
21
27
  background: var(--#{$prefix}d-credit-card-bg);
22
- --#{$prefix}d-credit-card-logo-size: 22%;
28
+ border-radius: var(--#{$prefix}border-radius-lg);
23
29
 
24
- > * {
25
- display: flex;
26
- align-items: center;
30
+ .d-credit-card-details {
31
+ display: block;
32
+ margin-top: auto;
27
33
  }
28
34
 
29
- .d-credit-card-details {
30
- .name {
31
- font-size: var(--#{$prefix}ref-fs-6);
32
- }
33
- .date {
34
- font-size: var(--#{$prefix}ref-fs-6);
35
- }
35
+ .d-credit-card-name {
36
+ font-size: var(--#{$prefix}ref-fs-6);
36
37
  }
37
38
 
38
39
  .d-credit-card-logo {
@@ -40,7 +41,9 @@
40
41
  }
41
42
 
42
43
  .d-credit-card-chip {
44
+ padding: var(--#{$prefix}ref-spacer-1);
43
45
  background: var(--#{$prefix}d-credit-card-chip-bg);
46
+ border-radius: var(--#{$prefix}border-radius-sm);
44
47
  }
45
48
 
46
49
  .d-credit-card-chip-image {
@@ -48,6 +51,7 @@
48
51
  }
49
52
 
50
53
  .d-credit-card-number {
54
+ margin-bottom: var(--#{$prefix}ref-spacer-4);
51
55
  font-family: var(--#{$prefix}d-credit-card-font-family-number);
52
56
  font-size: var(--#{$prefix}d-credit-card-number-size);
53
57
  }
@@ -59,9 +63,15 @@
59
63
  }
60
64
 
61
65
  .d-credit-card-header {
66
+ display: flex;
62
67
  align-items: center;
63
68
  justify-content: space-between;
64
69
  min-height: 45px;
65
70
  }
66
71
 
72
+ .d-credit-card-holder-text {
73
+ display: block;
74
+ opacity: .5;
75
+ }
76
+
67
77
  }
@@ -24,6 +24,23 @@
24
24
  }
25
25
  }
26
26
 
27
+ // Circle background defaults and opacity variable
28
+ .d-icon-has-circle {
29
+ --#{$prefix}icon-component-bg-opacity: .1;
30
+ --#{$prefix}icon-component-bg-color: rgba(var(--#{$prefix}body-color-rgb), var(--#{$prefix}icon-component-bg-opacity));
31
+ }
32
+
33
+ // Generate color classes for icon color and circle background
34
+ @each $theme, $value in $theme-colors {
35
+ .d-icon-color-#{$theme} {
36
+ --#{$prefix}icon-component-color: var(--#{$prefix}#{$theme});
37
+ }
38
+
39
+ .d-icon-color-#{$theme}.d-icon-has-circle {
40
+ --#{$prefix}icon-component-bg-color: rgba(var(--#{$prefix}#{$theme}-rgb), var(--#{$prefix}icon-component-bg-opacity));
41
+ }
42
+ }
43
+
27
44
  .d-icon-loading {
28
45
  animation: loading-icon var(--#{$prefix}icon-loading-duration) infinite linear;
29
46
  }
@@ -12,4 +12,6 @@
12
12
 
13
13
  @import "abstracts/utilities-hover";
14
14
 
15
+ @import "abstracts/utilities-dark";
16
+
15
17
  @import "shame";
@@ -14,4 +14,6 @@
14
14
 
15
15
  @import "abstracts/utilities-hover";
16
16
 
17
+ @import "abstracts/utilities-dark";
18
+
17
19
  @import "shame";
@@ -11,9 +11,7 @@
11
11
  background-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null);
12
12
  }
13
13
  }
14
- .hover-bg-#{$color}:hover {
15
- background-color: var(--#{$prefix}#{$color}) if($enable-important-utilities, !important, null);
16
- }
14
+
17
15
  }
18
16
 
19
17
  @each $color, $value in $theme-colors {
@@ -193,11 +193,6 @@
193
193
  @include rfs($small-font-size-value, --#{$prefix}rfs-fs-small);
194
194
  --#{$prefix}fs-small: var(--#{$prefix}rfs-fs-small);
195
195
 
196
- @each $level, $value in $body-font-sizes-value {
197
- @include rfs($value, --#{$prefix}rfs-fs-body-#{$level});
198
- --#{$prefix}fs-body-#{$level}: var(--#{$prefix}rfs-fs-body-#{$level});
199
- }
200
-
201
196
  --#{$prefix}fw-lighter: #{$font-weight-lighter-value};
202
197
  --#{$prefix}fw-light: #{$font-weight-light-value};
203
198
  --#{$prefix}fw-normal: #{$font-weight-normal-value};
@@ -1,31 +0,0 @@
1
- $quick-action-button-gap: var(--#{$prefix}ref-spacer-2) !default;
2
- $quick-action-button-padding: var(--#{$prefix}ref-spacer-4) !default;
3
- $quick-action-button-bg: var(--#{$prefix}white) !default;
4
- $quick-action-button-border: 1px solid var(--#{$prefix}secondary-100) !default;
5
- $quick-action-button-border-radius: var(--#{$prefix}border-radius) !default;
6
- $quick-action-button-box-shadow: none !default;
7
-
8
- $quick-action-button-line1-font-size: var(--#{$prefix}fs-6) !default;
9
- $quick-action-button-line1-font-weight: var(--#{$prefix}fw-bold) !default;
10
- $quick-action-button-line1-color: var(--#{$prefix}body-color) !default;
11
-
12
- $quick-action-button-line2-font-size: var(--#{$prefix}fs-small) !default;
13
- $quick-action-button-line2-font-weight: var(--#{$prefix}fw-normal) !default;
14
- $quick-action-button-line2-color: var(--#{$prefix}gray-500) !default;
15
-
16
- $quick-action-button-representative-image-size: var(--#{$prefix}ref-spacer-9) !default;
17
- $quick-action-button-representative-image-border-radius: $spacer-2 !default;
18
- $quick-action-button-representative-icon-size: var(--#{$prefix}ref-spacer-6) !default;
19
-
20
- $quick-action-button-action-icon-color: var(--#{$prefix}gray-500) !default;
21
- $quick-action-button-action-icon-size: var(--#{$prefix}body-font-size) !default;
22
-
23
- $quick-action-button-hover-bg: var(--#{$prefix}gray-100) !default;
24
- $quick-action-button-hover-border-color: var(--#{$prefix}secondary-100) !default;
25
- $quick-action-button-hover-action-icon-color: var(--#{$prefix}secondary) !default;
26
- $quick-action-button-hover-box-shadow: var(--#{$prefix}box-shadow-sm) !default;
27
-
28
- $quick-action-button-active-bg: var(--#{$prefix}gray-100) !default;
29
- $quick-action-button-active-border-color: var(--#{$prefix}secondary) !default;
30
- $quick-action-button-active-action-icon-color: var(--#{$prefix}secondary) !default;
31
- $quick-action-button-active-box-shadow: var(--#{$prefix}box-shadow-sm) !default;
@@ -1,22 +0,0 @@
1
- $quick-action-check-gap: var(--#{$prefix}ref-spacer-4) !default;
2
- $quick-action-check-padding: var(--#{$prefix}ref-spacer-4) !default;
3
- $quick-action-check-bg: var(--#{$prefix}white) !default;
4
- $quick-action-check-border-radius: var(--#{$prefix}border-radius-sm) !default;
5
-
6
- $quick-action-check-line1-font-size: var(--#{$prefix}body-font-size) !default;
7
- $quick-action-check-line1-font-weight: var(--#{$prefix}fw-bold) !default;
8
- $quick-action-check-line1-color: var(--#{$prefix}gray-900) !default;
9
-
10
- $quick-action-check-line2-font-size: var(--#{$prefix}fs-small) !default;
11
- $quick-action-check-line2-font-weight: var(--#{$prefix}fw-normal) !default;
12
- $quick-action-check-line2-color: var(--#{$prefix}gray) !default;
13
-
14
- $quick-action-check-line3-font-size: var(--#{$prefix}body-font-size) !default;
15
- $quick-action-check-line3-font-weight: var(--#{$prefix}fw-bold) !default;
16
- $quick-action-check-line3-color: var(--#{$prefix}gray) !default;
17
-
18
- $quick-action-check-hover-bg: var(--#{$prefix}gray-100) !default;
19
-
20
- $quick-action-check-checked-bg: var(--#{$prefix}white) !default;
21
- $quick-action-check-checked-color: var(--#{$prefix}body-color) !default;
22
-
@@ -1,16 +0,0 @@
1
- $quick-action-select-padding: var(--#{$prefix}ref-spacer-4) !default;
2
- $quick-action-select-bg: var(--#{$prefix}gray-100) !default;
3
- $quick-action-select-border-radius: var(--#{$prefix}border-radius-sm) !default;
4
-
5
- $quick-action-select-line1-font-size: var(--#{$prefix}fs-small) !default;
6
- $quick-action-select-line1-font-weight: var(--#{$prefix}fw-normal) !default;
7
- $quick-action-select-line1-color: var(--#{$prefix}secondary) !default;
8
-
9
- $quick-action-select-line2-font-size: var(--#{$prefix}body-font-size) !default;
10
- $quick-action-select-line2-font-weight: var(--#{$prefix}fw-bold) !default;
11
- $quick-action-select-line2-color: var(--#{$prefix}light-text-emphasis) !default;
12
-
13
- $quick-action-select-hover-bg: var(--#{$prefix}gray-200) !default;
14
-
15
- $quick-action-select-checked-bg: var(--#{$prefix}secondary) !default;
16
- $quick-action-select-checked-color: var(--#{$prefix}white) !default;