@dynamic-framework/ui-react 1.18.0 → 1.19.1

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 (72) hide show
  1. package/dist/css/dynamic-ui-non-root.css +1634 -1019
  2. package/dist/css/dynamic-ui-non-root.min.css +2 -2
  3. package/dist/css/dynamic-ui-root.css +493 -29
  4. package/dist/css/dynamic-ui-root.min.css +2 -2
  5. package/dist/css/dynamic-ui.css +2126 -1047
  6. package/dist/css/dynamic-ui.min.css +2 -2
  7. package/dist/index.esm.js +290 -318
  8. package/dist/index.esm.js.map +1 -1
  9. package/dist/index.js +288 -321
  10. package/dist/index.js.map +1 -1
  11. package/dist/types/components/DAvatar/DAvatar.d.ts +9 -0
  12. package/dist/types/components/DAvatar/index.d.ts +2 -0
  13. package/dist/types/components/DCarousel/DCarousel.d.ts +5 -4
  14. package/dist/types/components/DDatePicker/DDatePicker.d.ts +5 -4
  15. package/dist/types/components/DDatePickerHeader/DDatePickerHeader.d.ts +5 -4
  16. package/dist/types/components/DDatePickerInput/DDatePickerInput.d.ts +1 -0
  17. package/dist/types/components/DToastContainer/DToastContainer.d.ts +9 -7
  18. package/dist/types/components/DToastContainer/index.d.ts +1 -1
  19. package/dist/types/components/DToastContainer/{useToast.d.ts → useDToast.d.ts} +7 -4
  20. package/dist/types/components/index.d.ts +1 -1
  21. package/dist/types/components/interface.d.ts +1 -0
  22. package/dist/types/contexts/DContext.d.ts +8 -7
  23. package/dist/types/contexts/DPortalContext.d.ts +29 -0
  24. package/dist/types/contexts/index.d.ts +1 -2
  25. package/dist/types/hooks/useStackState.d.ts +1 -1
  26. package/package.json +3 -3
  27. package/src/style/abstracts/_mixins.scss +110 -94
  28. package/src/style/abstracts/_utilities.scss +46 -1
  29. package/src/style/abstracts/variables/_+import.scss +2 -0
  30. package/src/style/abstracts/variables/_accordion.scss +2 -2
  31. package/src/style/abstracts/variables/_alerts.scss +1 -1
  32. package/src/style/abstracts/variables/_cards.scss +2 -0
  33. package/src/style/abstracts/variables/_collapse-icon-text.scss +2 -2
  34. package/src/style/abstracts/variables/_forms.scss +7 -8
  35. package/src/style/abstracts/variables/_navs.scss +2 -2
  36. package/src/style/abstracts/variables/_pagination.scss +4 -4
  37. package/src/style/abstracts/variables/_progress.scss +2 -2
  38. package/src/style/abstracts/variables/_quick-action-button.scss +4 -4
  39. package/src/style/abstracts/variables/_quick-action-check.scss +4 -4
  40. package/src/style/abstracts/variables/_quick-action-select.scss +3 -3
  41. package/src/style/abstracts/variables/_quick-action-switch.scss +2 -2
  42. package/src/style/abstracts/variables/_tooltip.scss +16 -0
  43. package/src/style/abstracts/variables/_typography.scss +76 -20
  44. package/src/style/abstracts/variables/_z-index.scss +11 -0
  45. package/src/style/base/_+import.scss +7 -2
  46. package/src/style/base/_avatar.scss +61 -0
  47. package/src/style/base/_backdrop.scss +9 -0
  48. package/src/style/base/_button-group.scss +13 -0
  49. package/src/style/base/{_button.scss → _buttons.scss} +14 -48
  50. package/src/style/base/_form-check.scss +2 -1
  51. package/src/style/base/_input-group.scss +11 -6
  52. package/src/style/base/_tooltip.scss +23 -0
  53. package/src/style/base/_type.scss +104 -0
  54. package/src/style/components/_+import.scss +0 -2
  55. package/src/style/components/_d-datepicker.scss +95 -45
  56. package/src/style/components/_d-icon.scss +1 -1
  57. package/src/style/components/_d-input-pin.scss +5 -0
  58. package/src/style/components/_d-quick-action-button.scss +8 -0
  59. package/src/style/components/_d-quick-action-select.scss +2 -0
  60. package/src/style/components/_d-quick-action-switch.scss +4 -4
  61. package/src/style/components/_d-select.scss +1 -1
  62. package/src/style/components/_d-stepper-mobile.scss +3 -3
  63. package/src/style/helpers/_+import.scss +3 -1
  64. package/src/style/helpers/_colored-links.scss +70 -0
  65. package/src/style/helpers/_text-truncate.scss +8 -0
  66. package/src/style/root/_root.scss +98 -21
  67. package/dist/types/components/DMonthPicker/DMonthPicker.d.ts +0 -12
  68. package/dist/types/components/DMonthPicker/index.d.ts +0 -2
  69. package/dist/types/contexts/DModalContext.d.ts +0 -31
  70. package/dist/types/contexts/DOffcanvasContext.d.ts +0 -31
  71. package/src/style/components/_d-monthpicker.scss +0 -98
  72. package/src/style/components/_d-tooltip.scss +0 -35
@@ -0,0 +1,9 @@
1
+ import type { AvatarSize, BaseProps } from '../interface';
2
+ type Props = BaseProps & {
3
+ id?: string;
4
+ size?: AvatarSize;
5
+ image?: string;
6
+ title?: string;
7
+ };
8
+ export default function DAvatar({ id, size, image, title, className, style, }: Props): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,2 @@
1
+ import DAvatar from './DAvatar';
2
+ export default DAvatar;
@@ -1,10 +1,11 @@
1
- import type { PropsWithChildren } from 'react';
1
+ /// <reference types="react" />
2
+ import { Splide } from '@splidejs/react-splide';
2
3
  import type { SplideProps } from '@splidejs/react-splide';
3
4
  import DCarouselSlide from './components/DCarouselSlide';
4
5
  import type { BaseProps } from '../interface';
5
- type Props = SplideProps & PropsWithChildren<BaseProps>;
6
- declare function DCarousel({ children, className, style, options, ...props }: Props): import("react/jsx-runtime").JSX.Element;
7
- declare const _default: typeof DCarousel & {
6
+ declare const _default: import("react").ForwardRefExoticComponent<SplideProps & BaseProps & {
7
+ children?: import("react").ReactNode;
8
+ } & import("react").RefAttributes<Splide>> & {
8
9
  Slide: typeof DCarouselSlide;
9
10
  };
10
11
  export default _default;
@@ -1,9 +1,8 @@
1
1
  import type { Locale } from 'date-fns';
2
2
  import type { ReactDatePickerProps } from 'react-datepicker';
3
3
  import type { BaseProps, ButtonVariant, ComponentSize, FamilyIconProps } from '../interface';
4
- type Props<CustomModifierNames extends string = never, WithRange extends boolean | undefined = undefined> = BaseProps & FamilyIconProps & Omit<ReactDatePickerProps<CustomModifierNames, WithRange>, 'selected' | 'selectsRange' | 'locale'> & {
4
+ type Props<CustomModifierNames extends string = never, WithRange extends boolean | undefined = undefined> = BaseProps & FamilyIconProps & Pick<ReactDatePickerProps<CustomModifierNames, WithRange>, 'formatWeekDay' | 'onChange' | 'autoFocus' | 'inline' | 'withPortal' | 'minDate' | 'showTimeInput' | 'calendarStartDay' | 'dateFormat' | 'selectsStart' | 'selectsEnd' | 'startDate' | 'endDate' | 'fixedHeight'> & {
5
5
  date?: string | null;
6
- withMonthSelector?: boolean;
7
6
  selectsRange?: boolean;
8
7
  inputLabel?: string;
9
8
  inputAriaLabel?: string;
@@ -14,12 +13,14 @@ type Props<CustomModifierNames extends string = never, WithRange extends boolean
14
13
  timeLabel?: string;
15
14
  iconHeaderPrevMonth?: string;
16
15
  iconHeaderNextMonth?: string;
16
+ iconHeaderSize?: ComponentSize;
17
17
  headerPrevMonthAriaLabel?: string;
18
18
  headerNextMonthAriaLabel?: string;
19
- headerIconSize?: ComponentSize;
20
19
  headerButtonVariant?: ButtonVariant;
21
20
  headerButtonTheme?: string;
22
21
  locale?: Locale;
22
+ minYearSelect?: number;
23
+ maxYearSelect?: number;
23
24
  };
24
- export default function DDatePicker<CustomModifierNames extends string = never, WithRange extends boolean | undefined = undefined>({ date, selectsRange, withMonthSelector, inputLabel, inputAriaLabel, inputActionAriaLabel, inputId, timeId, timeLabel, iconInput: iconInputProp, iconHeaderPrevMonth: iconHeaderPrevMonthProp, iconHeaderNextMonth: iconHeaderNextMonthProp, iconMaterialStyle: iconMaterialStyleProp, iconFamilyClass, iconFamilyPrefix, headerPrevMonthAriaLabel, headerNextMonthAriaLabel, headerIconSize, headerButtonVariant, headerButtonTheme, locale, className, style, ...props }: Props<CustomModifierNames, WithRange>): import("react/jsx-runtime").JSX.Element;
25
+ export default function DDatePicker<CustomModifierNames extends string = never, WithRange extends boolean | undefined = undefined>({ date, selectsRange, inputLabel, inputAriaLabel, inputActionAriaLabel, inputId, timeId, timeLabel, iconInput: iconInputProp, iconHeaderPrevMonth: iconHeaderPrevMonthProp, iconHeaderNextMonth: iconHeaderNextMonthProp, iconMaterialStyle: iconMaterialStyleProp, iconFamilyClass, iconFamilyPrefix, minYearSelect, maxYearSelect, iconHeaderSize, headerPrevMonthAriaLabel, headerNextMonthAriaLabel, headerButtonVariant, headerButtonTheme, locale, className, formatWeekDay: formatWeekDayProp, style, ...props }: Props<CustomModifierNames, WithRange>): import("react/jsx-runtime").JSX.Element;
25
26
  export {};
@@ -3,14 +3,13 @@ import DButton from '../DButton';
3
3
  import type { BaseProps, ButtonVariant, ComponentSize, FamilyIconProps } from '../interface';
4
4
  type Props = BaseProps & FamilyIconProps & {
5
5
  locale?: Locale;
6
- monthDate: Date;
6
+ date: Date;
7
7
  decreaseMonth: () => void;
8
8
  increaseMonth: () => void;
9
9
  changeMonth: (monthNumber: number) => void;
10
10
  changeYear: (yearNumber: number) => void;
11
11
  prevMonthButtonDisabled: boolean;
12
12
  nextMonthButtonDisabled: boolean;
13
- withMonthSelector: boolean;
14
13
  iconPrevMonth: string;
15
14
  iconNextMonth: string;
16
15
  prevMonthAriaLabel?: string;
@@ -18,6 +17,8 @@ type Props = BaseProps & FamilyIconProps & {
18
17
  iconSize: ComponentSize;
19
18
  buttonVariant: ButtonVariant;
20
19
  buttonTheme: string;
21
- } & Omit<ComponentProps<typeof DButton>, 'iconStart' | 'onMClick' | 'isDisabled'>;
22
- export default function DDatePickerHeader({ monthDate, changeMonth, changeYear, decreaseMonth, increaseMonth, prevMonthButtonDisabled, nextMonthButtonDisabled, withMonthSelector, iconPrevMonth, iconNextMonth, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, prevMonthAriaLabel, nextMonthAriaLabel, iconSize, buttonVariant, buttonTheme, locale, style, className, }: Props): import("react/jsx-runtime").JSX.Element;
20
+ minYearSelect: number;
21
+ maxYearSelect: number;
22
+ } & Omit<ComponentProps<typeof DButton>, 'iconStart' | 'onClick' | 'disabled'>;
23
+ export default function DDatePickerHeader({ date, changeYear, changeMonth, decreaseMonth, increaseMonth, prevMonthButtonDisabled, nextMonthButtonDisabled, iconPrevMonth, iconNextMonth, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, prevMonthAriaLabel, nextMonthAriaLabel, iconSize, buttonVariant, buttonTheme, locale, style, className, minYearSelect, maxYearSelect, }: Props): import("react/jsx-runtime").JSX.Element;
23
24
  export {};
@@ -4,6 +4,7 @@ import type { BaseProps } from '../interface';
4
4
  type Props = BaseProps & {
5
5
  value?: string;
6
6
  onClick?: () => void;
7
+ inputLabel?: string;
7
8
  } & Omit<ComponentProps<typeof DInput>, 'type' | 'isReadOnly' | 'onIconEndClick' | 'value'>;
8
9
  declare const ForwardedDDatePickerInput: import("react").ForwardRefExoticComponent<Omit<Props, "ref"> & import("react").RefAttributes<HTMLInputElement>>;
9
10
  export default ForwardedDDatePickerInput;
@@ -1,12 +1,14 @@
1
1
  import type { CSSProperties } from 'react';
2
- import type { ToastPosition } from 'react-toastify';
3
- import type { BaseProps } from '../interface';
4
- type Props = BaseProps & {
2
+ import type { ToastContainerProps } from 'react-toastify';
3
+ import { BaseProps } from '../interface';
4
+ type Props = BaseProps & Pick<ToastContainerProps, 'autoClose' | 'closeOnClick' | 'position'> & {
5
+ containerId?: string;
6
+ stacked?: boolean;
5
7
  style?: CSSProperties & {
6
- '--toastify-toast-width': any;
7
- [index: string]: any;
8
+ '--toastify-toast-width': string | number;
9
+ [index: string]: string | number;
8
10
  };
9
- position?: ToastPosition;
11
+ transition?: 'slide' | 'flip' | 'bounce' | 'zoom';
10
12
  };
11
- export default function DToastContainer({ style, position, className, }: Props): import("react/jsx-runtime").JSX.Element;
13
+ export default function DToastContainer({ style, className, closeOnClick, position, autoClose, stacked, transition, containerId, }: Props): import("react/jsx-runtime").JSX.Element;
12
14
  export {};
@@ -1,3 +1,3 @@
1
1
  import DToastContainer from './DToastContainer';
2
- export { default as useToast } from './useToast';
2
+ export { default as useDToast } from './useDToast';
3
3
  export default DToastContainer;
@@ -2,12 +2,15 @@ import type { ToastPosition } from 'react-toastify';
2
2
  import type { AlertType } from '../interface';
3
3
  export type ToastConfig = {
4
4
  type?: AlertType;
5
+ icon?: string;
6
+ iconClose?: string;
5
7
  showClose?: boolean;
6
8
  position?: ToastPosition;
7
9
  autoClose?: number | false;
8
- icon?: string;
9
- iconClose?: string;
10
+ stacked?: boolean;
11
+ containerId?: string;
12
+ transition?: 'slide' | 'flip' | 'bounce' | 'zoom';
10
13
  };
11
- export default function useToast(): {
12
- toast: (message: string, { position, type, showClose, autoClose, icon, iconClose, }?: ToastConfig) => void;
14
+ export default function useDToast(): {
15
+ toast: (message: string, { icon, iconClose, type, showClose, transition, ...rest }: ToastConfig) => void;
13
16
  };
@@ -38,4 +38,4 @@ export { default as DStepperDesktop } from './DStepperDesktop';
38
38
  export { default as DStepperMobile } from './DStepperMobile';
39
39
  export { default as DTooltip } from './DTooltip';
40
40
  export { default as DTabs, useTabContext, DTabOption, DTabContent, } from './DTabs';
41
- export { default as DToastContainer, useToast, } from './DToastContainer';
41
+ export { default as DToastContainer, useDToast, } from './DToastContainer';
@@ -12,6 +12,7 @@ export type NavegableProps = {
12
12
  };
13
13
  export type ComponentSize = 'sm' | 'lg';
14
14
  export type BreakpointSize = 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
15
+ export type AvatarSize = 'xs' | 'sm' | 'lg' | 'xl' | 'xxl';
15
16
  export type BaseProps = {
16
17
  style?: CSSProperties;
17
18
  className?: string;
@@ -1,4 +1,5 @@
1
1
  import type { PropsWithChildren } from 'react';
2
+ import { PortalContextProps } from './DPortalContext';
2
3
  import type { AlertTypeIconMap } from '../components/interface';
3
4
  type CurrencyProps = {
4
5
  symbol: string;
@@ -32,16 +33,16 @@ type IconMapProps = {
32
33
  increase: string;
33
34
  };
34
35
  };
35
- type Props = {
36
+ type Props<T extends Record<string, unknown>> = {
36
37
  language: string;
37
38
  currency: CurrencyProps;
38
39
  icon: IconProps;
39
40
  iconMap: IconMapProps;
41
+ } & PortalContextProps<T>;
42
+ type Context<T extends Record<string, unknown>> = Props<T> & {
43
+ setContext: (value: Partial<Props<T>>) => void;
40
44
  };
41
- type Context = Props & {
42
- setContext: (value: Partial<Props>) => void;
43
- };
44
- export declare const DContext: import("react").Context<Partial<Context>>;
45
- export declare function DContextProvider({ language, currency, icon, iconMap, children, }: PropsWithChildren<Partial<Props>>): import("react/jsx-runtime").JSX.Element;
46
- export declare function useDContext(): Context;
45
+ export declare const DContext: import("react").Context<Partial<Context<any>>>;
46
+ export declare function DContextProvider<T extends Record<string, unknown>>({ language, currency, icon, iconMap, portalName, availablePortals, children, }: PropsWithChildren<Partial<Props<T>>>): import("react/jsx-runtime").JSX.Element;
47
+ export declare function useDContext<T extends Record<string, unknown>>(): Context<T>;
47
48
  export {};
@@ -0,0 +1,29 @@
1
+ import type { PropsWithChildren, FC } from 'react';
2
+ type PortalComponent<P = any> = FC<PortalProps<P>>;
3
+ type PortalAvailableList<T extends Record<string, unknown>> = {
4
+ [K in keyof T]: PortalComponent<T[K]>;
5
+ };
6
+ export type PortalContextProps<T extends Record<string, unknown>> = PropsWithChildren<{
7
+ portalName: string;
8
+ availablePortals?: PortalAvailableList<T>;
9
+ }>;
10
+ type PortalStackItem<N extends string = string, P = any> = {
11
+ name: N;
12
+ Component: PortalComponent<P>;
13
+ payload: P;
14
+ };
15
+ type OpenPortalFunction<P = unknown> = (name: string, payload: P) => void;
16
+ type ClosePortalFunction = () => void;
17
+ export type PortalContextType<T extends Record<string, unknown>> = {
18
+ stack: PortalStackItem<string, T[keyof T]>[];
19
+ openPortal: OpenPortalFunction<T[keyof T]>;
20
+ closePortal: ClosePortalFunction;
21
+ };
22
+ export type PortalProps<P = unknown> = {
23
+ name: string;
24
+ payload: P;
25
+ };
26
+ export declare const DPortalContext: import("react").Context<PortalContextType<any> | undefined>;
27
+ export declare function DPortalContextProvider<T extends Record<string, unknown>>({ portalName, children, availablePortals, }: PortalContextProps<T>): import("react/jsx-runtime").JSX.Element;
28
+ export declare function useDPortalContext<T extends Record<string, unknown>>(): PortalContextType<T>;
29
+ export {};
@@ -1,3 +1,2 @@
1
1
  export * from './DContext';
2
- export * from './DModalContext';
3
- export * from './DOffcanvasContext';
2
+ export { useDPortalContext, PortalProps } from './DPortalContext';
@@ -6,7 +6,7 @@
6
6
  * @returns The list and controls to modify the stack
7
7
  * @see https://react-hooks.org/docs/useStackState
8
8
  */
9
- export default function useStackState<T>(initialList: T[]): [
9
+ export default function useStackState<T>(initialList?: T[]): [
10
10
  T[],
11
11
  {
12
12
  clear: () => void;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "sideEffects": [
4
4
  "*.css"
5
5
  ],
6
- "version": "1.18.0",
6
+ "version": "1.19.1",
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": {
@@ -83,7 +83,7 @@
83
83
  "react-dropzone": "^14.2.3",
84
84
  "react-responsive-pagination": "^2.4.1",
85
85
  "react-select": "^5.8.0",
86
- "react-toastify": "^9.1.3"
86
+ "react-toastify": "^10.0.0"
87
87
  },
88
88
  "devDependencies": {
89
89
  "@babel/core": "^7.23.2",
@@ -149,5 +149,5 @@
149
149
  "react-dom": "^18.2.0",
150
150
  "react-i18next": "^13.3.1"
151
151
  },
152
- "gitHead": "42b36587373ddc1a2ccf2c120c0bf17285bdfd16"
152
+ "gitHead": "a8a398fe7b2718df5329a1f1ca6d38aa36b8ef02"
153
153
  }
@@ -1,126 +1,142 @@
1
- // scss-docs-start df-btn-variant-mixin
2
- @mixin df-button-variant(
1
+ // scss-docs-start df-button-variant-variables-mixin
2
+ @mixin df-button-variant-variables(
3
3
  $color-name,
4
4
  $default-color: var(--#{$prefix}#{$color-name}-500),
5
5
  $hover-color: var(--#{$prefix}#{$color-name}-600),
6
- $focus-color: var(--#{$prefix}#{$color-name}-600),
6
+ $focus-color: var(--#{$prefix}#{$color-name}-500),
7
7
  $active-color: var(--#{$prefix}#{$color-name}-700),
8
- $disabled-color: var(--#{$prefix}#{$color-name}-100),
9
8
  $default-text-color: color-contrast-var(map-get($theme-colors-palletes, #{$color-name}-500)),
10
9
  $hover-text-color: color-contrast-var(map-get($theme-colors-palletes, #{$color-name}-600)),
11
10
  $focus-text-color: color-contrast-var(map-get($theme-colors-palletes, #{$color-name}-600)),
12
11
  $active-text-color: color-contrast-var(map-get($theme-colors-palletes, #{$color-name}-700)),
13
- $disabled-text-color: color-contrast-var(map-get($theme-colors-palletes, #{$color-name}-100)),
12
+ $disabled-opacity: .5
14
13
  ) {
15
- --#{$prefix}btn-color: #{$default-text-color};
16
- --#{$prefix}btn-bg: #{$default-color};
17
- --#{$prefix}btn-border-color: #{$default-color};
18
-
19
- --#{$prefix}btn-hover-color: #{$hover-text-color};
20
- --#{$prefix}btn-hover-bg: #{$hover-color};
21
- --#{$prefix}btn-hover-border-color: #{$hover-color};
22
-
23
- --#{$prefix}btn-focus-color: #{$focus-text-color};
24
- --#{$prefix}btn-focus-bg: #{$focus-color};
25
- --#{$prefix}btn-focus-border-color: #{$focus-color};
26
-
27
- --#{$prefix}btn-active-color: #{$active-text-color};
28
- --#{$prefix}btn-active-bg: #{$active-color};
29
- --#{$prefix}btn-active-border-color: #{$active-color};
30
-
31
- --#{$prefix}btn-disabled-color: #{$disabled-text-color};
32
- --#{$prefix}btn-disabled-bg: #{$disabled-color};
33
- --#{$prefix}btn-disabled-border-color: #{$disabled-color};
34
-
35
- &.loading {
36
- --#{$prefix}btn-disabled-opacity: 1;
37
- --#{$prefix}btn-disabled-bg: #{$active-color};
38
- --#{$prefix}btn-disabled-border-color: #{$active-color};
39
- --#{$prefix}btn-disabled-color: #{$hover-text-color};
40
- }
14
+ --#{$prefix}btn-#{$color-name}-color: #{$default-text-color};
15
+ --#{$prefix}btn-#{$color-name}-bg: #{$default-color};
16
+ --#{$prefix}btn-#{$color-name}-border-color: #{$default-color};
17
+
18
+ --#{$prefix}btn-#{$color-name}-hover-color: #{$hover-text-color};
19
+ --#{$prefix}btn-#{$color-name}-hover-bg: #{$hover-color};
20
+ --#{$prefix}btn-#{$color-name}-hover-border-color: #{$hover-color};
21
+
22
+ --#{$prefix}btn-#{$color-name}-focus-color: #{$focus-text-color};
23
+ --#{$prefix}btn-#{$color-name}-focus-bg: #{$focus-color};
24
+ --#{$prefix}btn-#{$color-name}-focus-border-color: #{$focus-color};
25
+
26
+ --#{$prefix}btn-#{$color-name}-active-color: #{$active-text-color};
27
+ --#{$prefix}btn-#{$color-name}-active-bg: #{$active-color};
28
+ --#{$prefix}btn-#{$color-name}-active-border-color: #{$active-color};
29
+
30
+ --#{$prefix}btn-#{$color-name}-disabled-color: #{$default-text-color};
31
+ --#{$prefix}btn-#{$color-name}-disabled-bg: #{$default-color};
32
+ --#{$prefix}btn-#{$color-name}-disabled-border-color: #{$default-color};
33
+ --#{$prefix}btn-#{$color-name}-disabled-opacity: #{$disabled-opacity};
41
34
  }
42
- // scss-docs-end df-btn-variant-mixin
35
+ // scss-docs-end df-button-variant-variables-mixin
43
36
 
44
-
45
- // scss-docs-start df-btn-outline-variant-mixin
46
- @mixin df-button-outline-variant(
37
+ // scss-docs-start df-btn-outline-variant-variables-mixin
38
+ @mixin df-button-outline-variant-variables(
47
39
  $color-name,
48
40
  $default-color: var(--#{$prefix}#{$color-name}-500),
49
41
  $hover-bg-color: var(--#{$prefix}#{$color-name}-100),
50
- $focus-bg-color: var(--#{$prefix}#{$color-name}-100),
51
- $active-bg-color: var(--#{$prefix}#{$color-name}-200),
52
- $disabled-color: var(--#{$prefix}#{$color-name}-100),
53
- $disabled-text-color: color-contrast-var(map-get($theme-colors-palletes, #{$color-name}-100)),
42
+ $hover-text-color: var(--#{$prefix}#{$color-name}-500),
43
+ $focus-text-color: var(--#{$prefix}#{$color-name}-500),
44
+ $active-text-color: var(--#{$prefix}#{$color-name}-700),
45
+ $active-bg-color: var(--#{$prefix}#{$color-name}-100),
46
+ $active-border-color: var(--#{$prefix}#{$color-name}-700),
47
+ $disabled-opacity: .5
54
48
  ) {
55
- --#{$prefix}btn-bg: transparent;
56
- --#{$prefix}btn-border-color: #{$default-color};
57
- --#{$prefix}btn-color: #{$default-color};
58
-
59
- --#{$prefix}btn-hover-bg: #{$hover-bg-color};
60
- --#{$prefix}btn-hover-border-color: #{$default-color};
61
- --#{$prefix}btn-hover-color: #{$default-color};
62
-
63
- --#{$prefix}btn-focus-bg: #{$focus-bg-color};
64
- --#{$prefix}btn-focus-border-color: #{$default-color};
65
- --#{$prefix}btn-focus-color: #{$default-color};
66
-
67
- --#{$prefix}btn-active-bg: #{$active-bg-color};
68
- --#{$prefix}btn-active-border-color: #{$default-color};
69
- --#{$prefix}btn-active-color: #{$default-color};
70
-
71
- --#{$prefix}btn-disabled-bg: transparent;
72
- --#{$prefix}btn-disabled-border-color: #{$disabled-color};
73
- --#{$prefix}btn-disabled-color: #{$disabled-text-color};
74
-
75
- --#{$prefix}gradient: none;
76
-
77
- &.loading {
78
- --#{$prefix}btn-disabled-opacity: 1;
79
- --#{$prefix}btn-disabled-bg: transparent;
80
- --#{$prefix}btn-disabled-border-color: #{$default-color};
81
- --#{$prefix}btn-disabled-color: #{$default-color};
82
- }
49
+ --#{$prefix}btn-outline-#{$color-name}-color: #{$default-color};
50
+ --#{$prefix}btn-outline-#{$color-name}-bg: transparent;
51
+ --#{$prefix}btn-outline-#{$color-name}-border-color: #{$default-color};
52
+
53
+ --#{$prefix}btn-outline-#{$color-name}-hover-color: #{$hover-text-color};
54
+ --#{$prefix}btn-outline-#{$color-name}-hover-bg: #{$hover-bg-color};
55
+ --#{$prefix}btn-outline-#{$color-name}-hover-border-color: #{$default-color};
56
+
57
+ --#{$prefix}btn-outline-#{$color-name}-focus-color: #{$focus-text-color};
58
+ --#{$prefix}btn-outline-#{$color-name}-focus-bg: transparent;
59
+ --#{$prefix}btn-outline-#{$color-name}-focus-border-color: #{$default-color};
60
+
61
+ --#{$prefix}btn-outline-#{$color-name}-active-color: #{$active-text-color};
62
+ --#{$prefix}btn-outline-#{$color-name}-active-bg: #{$active-bg-color};
63
+ --#{$prefix}btn-outline-#{$color-name}-active-border-color: #{$active-border-color};
64
+
65
+ --#{$prefix}btn-outline-#{$color-name}-disabled-color: #{$default-color};
66
+ --#{$prefix}btn-outline-#{$color-name}-disabled-bg: transparent;
67
+ --#{$prefix}btn-outline-#{$color-name}-disabled-border-color: #{$default-color};
68
+ --#{$prefix}btn-outline-#{$color-name}-disabled-opacity: #{$disabled-opacity};
83
69
  }
84
- // scss-docs-end df-btn-outline-variant-mixin
70
+ // scss-docs-end df-btn-outline-variant-variables-mixin
85
71
 
86
- // scss-docs-start df-btn-link-variant-mixin
87
- @mixin df-button-link-variant(
72
+ // scss-docs-start df-btn-link-variant-variables-mixin
73
+ @mixin df-button-link-variant-variables(
88
74
  $color-name,
89
- $default-color: var(--#{$prefix}#{$color-name}-600),
75
+ $default-color: var(--#{$prefix}#{$color-name}-500),
90
76
  $hover-bg-color: var(--#{$prefix}#{$color-name}-100),
91
- $active-bg-color: var(--#{$prefix}#{$color-name}-200),
92
- $disable-color: var(--#{$prefix}#{$color-name}-300),
77
+ $hover-text-color: var(--#{$prefix}#{$color-name}-500),
78
+ $focus-text-color: var(--#{$prefix}#{$color-name}-500),
79
+ $active-text-color: var(--#{$prefix}#{$color-name}-700),
80
+ $active-bg-color: var(--#{$prefix}#{$color-name}-100),
81
+ $disabled-opacity: .5
93
82
  ) {
94
- --#{$prefix}btn-bg: transparent;
95
- --#{$prefix}btn-border-color: transparent;
96
- --#{$prefix}btn-color: #{$default-color};
83
+ --#{$prefix}btn-link-#{$color-name}-bg: transparent;
84
+ --#{$prefix}btn-link-#{$color-name}-border-color: transparent;
85
+ --#{$prefix}btn-link-#{$color-name}-color: #{$default-color};
86
+
87
+ --#{$prefix}btn-link-#{$color-name}-hover-bg: #{$hover-bg-color};
88
+ --#{$prefix}btn-link-#{$color-name}-hover-border-color: transparent;
89
+ --#{$prefix}btn-link-#{$color-name}-hover-color: #{$hover-text-color};
90
+
91
+ --#{$prefix}btn-link-#{$color-name}-focus-bg: transparent;
92
+ --#{$prefix}btn-link-#{$color-name}-focus-border-color: transparent;
93
+ --#{$prefix}btn-link-#{$color-name}-focus-color: #{$focus-text-color};
94
+
95
+ --#{$prefix}btn-link-#{$color-name}-active-bg: #{$active-bg-color};
96
+ --#{$prefix}btn-link-#{$color-name}-active-border-color: transparent;
97
+ --#{$prefix}btn-link-#{$color-name}-active-color: #{$active-text-color};
98
+
99
+ --#{$prefix}btn-link-#{$color-name}-disabled-bg: transparent;
100
+ --#{$prefix}btn-link-#{$color-name}-disabled-border-color: transparent;
101
+ --#{$prefix}btn-link-#{$color-name}-disabled-color: #{$default-color};
102
+ --#{$prefix}btn-link-#{$color-name}-disabled-opacity: #{$disabled-opacity};
103
+ }
104
+ // scss-docs-end df-btn-link-variant-variables-mixin
105
+
106
+ // scss-docs-start df-btn-variant-mixin
107
+ @mixin df-button-variant-mapper($color-name, $variant-name: "") {
108
+ @if $variant-name != "" {
109
+ $variant-name: "#{$variant-name}-";
110
+ }
97
111
 
98
- --#{$prefix}btn-hover-bg: #{$hover-bg-color};
99
- --#{$prefix}btn-hover-border-color: transparent;
100
- --#{$prefix}btn-hover-color: #{$default-color};
112
+ --#{$prefix}btn-color: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-color);
113
+ --#{$prefix}btn-bg: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-bg);
114
+ --#{$prefix}btn-border-color: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-border-color);
101
115
 
102
- --#{$prefix}btn-focus-bg: transparent;
103
- --#{$prefix}btn-focus-border-color: transparent;
104
- --#{$prefix}btn-focus-color: #{$default-color};
116
+ --#{$prefix}btn-hover-color: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-hover-color);
117
+ --#{$prefix}btn-hover-bg: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-hover-bg);
118
+ --#{$prefix}btn-hover-border-color: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-hover-border-color);
105
119
 
106
- --#{$prefix}btn-active-bg: #{$active-bg-color};
107
- --#{$prefix}btn-active-border-color: transparent;
108
- --#{$prefix}btn-active-color: #{$default-color};
120
+ --#{$prefix}btn-focus-color: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-focus-color);
121
+ --#{$prefix}btn-focus-bg: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-focus-bg);
122
+ --#{$prefix}btn-focus-border-color: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-focus-border-color);
109
123
 
110
- --#{$prefix}btn-disabled-bg: transparent;
111
- --#{$prefix}btn-disabled-border-color: transparent;
112
- --#{$prefix}btn-disabled-color: #{$disable-color};
124
+ --#{$prefix}btn-active-color: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-active-color);
125
+ --#{$prefix}btn-active-bg: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-active-bg);
126
+ --#{$prefix}btn-active-border-color: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-active-border-color);
113
127
 
114
- --#{$prefix}btn-focus-outline-offset: 0;
128
+ --#{$prefix}btn-disabled-color: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-disabled-color);
129
+ --#{$prefix}btn-disabled-bg: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-disabled-bg);
130
+ --#{$prefix}btn-disabled-border-color: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-disabled-border-color);
131
+ --#{$prefix}btn-disabled-opacity: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-disabled-opacity);
115
132
 
116
133
  &.loading {
117
- --#{$prefix}btn-disabled-opacity: 1;
118
- --#{$prefix}btn-disabled-bg: transparent;
119
- --#{$prefix}btn-disabled-border-color: transparent;
120
- --#{$prefix}btn-disabled-color: #{$default-color};
134
+ --#{$prefix}btn-disabled-color: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-active-color);
135
+ --#{$prefix}btn-disabled-bg: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-active-bg);
136
+ --#{$prefix}btn-disabled-border-color: var(--#{$prefix}btn-#{$variant-name}#{$color-name}-active-border-color);
121
137
  }
122
138
  }
123
- // scss-docs-end df-btn-link-variant-mixin
139
+ // scss-docs-end df-btn-variant-mixin
124
140
 
125
141
  // scss-docs-start df-table-variant
126
142
  @mixin df-table-variant($state, $background) {
@@ -55,6 +55,12 @@ $utilities: map-merge(
55
55
  )
56
56
  )
57
57
  ),
58
+ "font-weight": map-merge(
59
+ map-get($utilities, "font-weight"),
60
+ (
61
+ responsive: true
62
+ )
63
+ ),
58
64
  "border-color": map-merge(
59
65
  map-get($utilities, "border-color"),
60
66
  (
@@ -76,9 +82,48 @@ $utilities: map-merge(
76
82
  100: 1
77
83
  )
78
84
  ),
85
+ "text-truncate": (
86
+ responsive: true,
87
+ class: "text-truncate",
88
+ css-var: true,
89
+ values: (
90
+ 1: 1,
91
+ 2: 2,
92
+ 3: 3,
93
+ 4: 4,
94
+ 5: 6,
95
+ 6: 6
96
+ )
97
+ ),
79
98
  "cursor": (
80
99
  property: cursor,
81
- values: $cursors,
100
+ values: $cursors
101
+ ),
102
+ "font-size": map-merge(
103
+ map-get($utilities, "font-size"),
104
+ (
105
+ responsive: true,
106
+ rfs: false
107
+ )
108
+ ),
109
+ "display-font-size": (
110
+ class: "display",
111
+ responsive: true,
112
+ css-var: true,
113
+ css-variable-name: display-font-size,
114
+ values: $display-font-sizes
115
+ ),
116
+ "height": map-merge(
117
+ map-get($utilities, "height"),
118
+ (
119
+ responsive: true,
120
+ )
121
+ ),
122
+ "width": map-merge(
123
+ map-get($utilities, "width"),
124
+ (
125
+ responsive: true,
126
+ )
82
127
  ),
83
128
  )
84
129
  );
@@ -57,6 +57,7 @@ $input-btn-border-width: var(--#{$prefix}border-width) !default;
57
57
 
58
58
  @import "buttons";
59
59
  @import "forms";
60
+ @import "z-index";
60
61
  @import "navs";
61
62
  @import "navbar";
62
63
  @import "dropdowns";
@@ -64,6 +65,7 @@ $input-btn-border-width: var(--#{$prefix}border-width) !default;
64
65
 
65
66
  @import "cards";
66
67
  @import "accordion";
68
+ @import "tooltip";
67
69
  @import "badges";
68
70
  @import "modals";
69
71
  @import "alerts";
@@ -9,8 +9,8 @@ $accordion-bg: var(--#{$prefix}white) !default;
9
9
  // custom
10
10
  $accordion-body-padding-top: $accordion-padding-x !default;
11
11
  $accordion-button-border-color: var(--#{$prefix}gray-100) !default;
12
- $accordion-button-font-weight: var(--#{$prefix}ref-fw-bold) !default;
13
- $accordion-button-font-size: var(--#{$prefix}ref-fs-6) !default;
12
+ $accordion-button-font-weight: var(--#{$prefix}fw-bold) !default;
13
+ $accordion-button-font-size: var(--#{$prefix}fs-6) !default;
14
14
  // end custom
15
15
 
16
16
  $accordion-button-active-bg: var(--#{$prefix}secondary-soft) !default;
@@ -5,7 +5,7 @@
5
5
  // scss-docs-start alert-variables
6
6
  $alert-padding-x: $spacer-6 !default;
7
7
  $alert-border-radius: var(--#{$prefix}border-radius-sm) !default;
8
- $alert-link-font-weight: var(--#{$prefix}ref-fw-bold) !default;
8
+ $alert-link-font-weight: var(--#{$prefix}fw-bold) !default;
9
9
  // scss-docs-end alert-variables
10
10
 
11
11
  // fusv-disable
@@ -4,4 +4,6 @@
4
4
  $card-border-width: 0px !default; // stylelint-disable-line length-zero-no-unit
5
5
  $card-box-shadow: var(--#{$prefix}box-shadow-sm) !default;
6
6
  $card-bg: var(--#{$prefix}white) !default;
7
+ $card-spacer-y: $spacer-6 !default;
8
+ $card-spacer-x: $spacer-6 !default;
7
9
  // scss-docs-end card-variables
@@ -1,3 +1,3 @@
1
1
  $collapse-icon-text-header-gap: var(--#{$prefix}ref-spacer-4) !default;
2
- $collapse-icon-text-header-font-size: var(--#{$prefix}ref-fs-6) !default;
3
- $collapse-icon-text-header-font-weight: var(--#{$prefix}ref-fw-bold) !default;
2
+ $collapse-icon-text-header-font-size: var(--#{$prefix}fs-6) !default;
3
+ $collapse-icon-text-header-font-weight: var(--#{$prefix}fw-bold) !default;