@dynamic-framework/ui-react 2.2.0 → 2.3.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.
- package/README.md +8 -0
- package/dist/css/dynamic-ui.css +2215 -224
- package/dist/css/dynamic-ui.min.css +2 -2
- package/dist/index.esm.js +197 -132
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +195 -130
- package/dist/index.js.map +1 -1
- package/dist/types/components/DBadge/DBadge.d.ts +3 -2
- package/dist/types/components/DButton/DButton.d.ts +3 -2
- package/dist/types/components/DButtonIcon/DButtonIcon.d.ts +3 -7
- package/dist/types/components/DCollapse/DCollapse.d.ts +1 -2
- package/dist/types/components/DDatePicker/DDatePicker.d.ts +2 -1
- package/dist/types/components/DDatePicker/components/DDatePickerTime.d.ts +4 -6
- package/dist/types/components/DInputPin/DInputPin.d.ts +2 -1
- package/dist/types/components/DPopover/DPopover.d.ts +2 -7
- package/dist/types/components/DSelect/DSelect.d.ts +2 -1
- package/dist/types/components/DSelect/components/DSelectOptionCheck.d.ts +1 -1
- package/dist/types/components/DTabs/DTabs.d.ts +3 -1
- package/package.json +11 -15
- package/src/style/_shame.scss +2 -2
- package/src/style/abstracts/_mixins.scss +4 -4
- package/src/style/abstracts/_utilities.scss +68 -11
- package/src/style/abstracts/variables/_+import.scss +2 -2
- package/src/style/abstracts/variables/_alerts.scss +1 -1
- package/src/style/abstracts/variables/_border.scss +9 -0
- package/src/style/abstracts/variables/_buttons.scss +1 -1
- package/src/style/abstracts/variables/_carousel.scss +13 -1
- package/src/style/abstracts/variables/_colors.scss +2 -2
- package/src/style/abstracts/variables/_navs.scss +23 -27
- package/src/style/base/_+import.scss +1 -0
- package/src/style/base/_badge.scss +1 -1
- package/src/style/base/_carousel.scss +44 -0
- package/src/style/base/_collapse.scss +21 -8
- package/src/style/base/_nav.scss +10 -59
- package/src/style/base/_type.scss +4 -0
- package/src/style/components/_+import.scss +0 -1
- package/src/style/components/_d-avatar.scss +2 -2
- package/src/style/components/_d-box.scss +10 -10
- package/src/style/components/_d-carousel.scss +26 -4
- package/src/style/components/_d-chip.scss +13 -3
- package/src/style/components/_d-credit-card.scss +22 -12
- package/src/style/components/_d-icon.scss +17 -0
- package/src/style/components/_d-select.scss +59 -25
- package/src/style/components/_d-stepper-desktop.scss +2 -2
- package/src/style/components/_d-tabs.scss +7 -18
- package/src/style/components/_d-timeline.scss +6 -5
- package/src/style/components/_d-voucher.scss +1 -1
- package/src/style/helpers/_+import.scss +1 -0
- package/src/style/helpers/_animations.scss +13 -0
- package/src/style/root/_root.scss +8 -4
- package/dist/css/dynamic-ui-non-root.css +0 -50044
- package/dist/css/dynamic-ui-non-root.min.css +0 -6
- package/dist/css/dynamic-ui-root.css +0 -1116
- package/dist/css/dynamic-ui-root.min.css +0 -6
- package/src/style/components/_d-collapse-icon-text.scss +0 -16
- package/src/style/dynamic-ui-non-root.scss +0 -17
- package/src/style/dynamic-ui-root.scss +0 -5
|
@@ -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?:
|
|
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(
|
|
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
|
|
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?:
|
|
9
|
+
size?: string | ResponsiveProp;
|
|
9
10
|
variant?: ButtonVariant;
|
|
10
11
|
text?: string;
|
|
11
12
|
loading?: boolean;
|
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
import type { MouseEvent } from 'react';
|
|
2
|
-
import type { BaseProps,
|
|
3
|
-
type Props = BaseProps & FamilyIconProps & {
|
|
4
|
-
id?: string;
|
|
2
|
+
import type { BaseProps, ButtonVariant, ComponentColor, ComponentSize, FamilyIconProps, InputState } from '../interface';
|
|
3
|
+
type Props = BaseProps & FamilyIconProps & React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
5
4
|
icon: string;
|
|
6
5
|
size?: ComponentSize;
|
|
7
6
|
variant?: ButtonVariant;
|
|
8
7
|
color?: ComponentColor;
|
|
9
8
|
state?: InputState;
|
|
10
|
-
type?: ButtonType;
|
|
11
9
|
loading?: boolean;
|
|
12
10
|
loadingAriaLabel?: string;
|
|
13
|
-
ariaLabel?: string;
|
|
14
11
|
stopPropagationEnabled?: boolean;
|
|
15
|
-
disabled?: boolean;
|
|
16
12
|
href?: string;
|
|
17
13
|
target?: React.AnchorHTMLAttributes<HTMLAnchorElement>['target'];
|
|
18
14
|
rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>['rel'];
|
|
19
15
|
onClick?: (event: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;
|
|
20
16
|
};
|
|
21
|
-
export default function DButtonIcon({ id, icon, size, className, variant, state, loadingAriaLabel, iconMaterialStyle,
|
|
17
|
+
export default function DButtonIcon({ id, icon, size, className, variant, state, loadingAriaLabel, iconMaterialStyle, disabled, color, loading, href, target, rel, stopPropagationEnabled, style, iconFamilyClass, iconFamilyPrefix, dataAttributes, onClick, 'aria-label': ariaLabelProp, ...rest }: Props): import("react/jsx-runtime").JSX.Element;
|
|
22
18
|
export {};
|
|
@@ -3,7 +3,6 @@ import type { BaseProps, FamilyIconProps } from '../interface';
|
|
|
3
3
|
type Props = BaseProps & FamilyIconProps & PropsWithChildren<{
|
|
4
4
|
id?: string;
|
|
5
5
|
Component: ReactElement<unknown> | ReactNode;
|
|
6
|
-
hasSeparator?: boolean;
|
|
7
6
|
/**
|
|
8
7
|
* Reactive prop for controlled and uncontrolled mode.
|
|
9
8
|
*
|
|
@@ -15,5 +14,5 @@ type Props = BaseProps & FamilyIconProps & PropsWithChildren<{
|
|
|
15
14
|
iconOpen?: string;
|
|
16
15
|
iconClose?: string;
|
|
17
16
|
}>;
|
|
18
|
-
export default function DCollapse({ id, className, style, Component,
|
|
17
|
+
export default function DCollapse({ id, className, style, Component, defaultCollapsed, onChange, children, iconOpen: iconOpenProp, iconClose: iconCloseProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, dataAttributes, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
19
18
|
export {};
|
|
@@ -24,6 +24,7 @@ type Props = BaseProps & FamilyIconProps & Omit<DatePickerProps, 'showMonthDropd
|
|
|
24
24
|
showHeaderSelectors?: boolean;
|
|
25
25
|
formatHeaderDate?: string;
|
|
26
26
|
locale?: Locale;
|
|
27
|
+
ariaLabelInputTime?: string;
|
|
27
28
|
};
|
|
28
|
-
export default function DDatePicker({ inputLabel, inputHint, inputAriaLabel, inputActionAriaLabel, inputId, timeId, timeInputLabel, minYearSelect, maxYearSelect, iconHeaderSize, iconMaterialStyle, iconInput, headerPrevMonthAriaLabel, headerNextMonthAriaLabel, invalid, valid, renderCustomHeader: renderCustomHeaderProp, className, dateFormatCalendar, style, dataAttributes, placeholder, showHeaderSelectors, formatHeaderDate, ...props }: Props): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export default function DDatePicker({ inputLabel, inputHint, inputAriaLabel, ariaLabelInputTime, inputActionAriaLabel, inputId, timeId, timeInputLabel, minYearSelect, maxYearSelect, iconHeaderSize, iconMaterialStyle, iconInput, headerPrevMonthAriaLabel, headerNextMonthAriaLabel, invalid, valid, renderCustomHeader: renderCustomHeaderProp, className, dateFormatCalendar, style, dataAttributes, placeholder, showHeaderSelectors, formatHeaderDate, ...props }: Props): import("react/jsx-runtime").JSX.Element;
|
|
29
30
|
export {};
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
6
|
-
export default function DDatePickerTime({ value, onChange, id, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
import DInput from '../../DInput';
|
|
3
|
+
type Props = Pick<ComponentProps<typeof DInput>, 'id' | 'value' | 'onChange' | 'aria-label'>;
|
|
4
|
+
export default function DDatePickerTime({ ...rest }: Props): import("react/jsx-runtime").JSX.Element;
|
|
7
5
|
export {};
|
|
@@ -14,6 +14,7 @@ type Props = BaseProps & FamilyIconProps & {
|
|
|
14
14
|
invalid?: boolean;
|
|
15
15
|
valid?: boolean;
|
|
16
16
|
onChange?: (value: string) => void;
|
|
17
|
+
'aria-label'?: string;
|
|
17
18
|
};
|
|
18
|
-
export default function DInputPin({ id: idProp, label, placeholder, type, disabled, loading, secret, characters, innerInputMode, hint, invalid, valid, className, style, dataAttributes, onChange, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export default function DInputPin({ id: idProp, label, placeholder, type, disabled, loading, secret, characters, innerInputMode, hint, invalid, valid, className, style, dataAttributes, onChange, 'aria-label': ariaLabel, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
19
20
|
export {};
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ReactElement, PropsWithChildren } from 'react';
|
|
2
2
|
import type { BaseProps } from '../interface';
|
|
3
3
|
type Props = BaseProps & PropsWithChildren<{
|
|
4
|
-
|
|
5
|
-
* Component to render in call to action
|
|
6
|
-
* @param {boolean} open
|
|
7
|
-
* @returns {React.ReactElement}
|
|
8
|
-
*/
|
|
9
|
-
renderComponent: (open: boolean) => ReactElement<unknown>;
|
|
4
|
+
renderComponent: (open: boolean) => ReactElement;
|
|
10
5
|
open: boolean;
|
|
11
6
|
setOpen?: (open: boolean) => void;
|
|
12
7
|
adjustContentToRender?: boolean;
|
|
@@ -13,6 +13,7 @@ import DSelectPlaceholder from './components/DSelectPlaceholder';
|
|
|
13
13
|
import type { BaseProps, EndIconProps, FamilyIconProps, StartIconProps } from '../interface';
|
|
14
14
|
type Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> = BaseProps & FamilyIconProps & StartIconProps & EndIconProps & Omit<SelectProps<Option, IsMulti, Group>, 'isDisabled' | 'isClearable' | 'isLoading' | 'isRtl' | 'isSearchable' | 'isMulti'> & {
|
|
15
15
|
label?: string;
|
|
16
|
+
ariaLabel?: string;
|
|
16
17
|
hint?: string;
|
|
17
18
|
invalid?: boolean;
|
|
18
19
|
valid?: boolean;
|
|
@@ -27,7 +28,7 @@ type Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> = B
|
|
|
27
28
|
searchable?: SelectProps<Option, IsMulti, Group>['isSearchable'];
|
|
28
29
|
multi?: SelectProps<Option, IsMulti, Group>['isMulti'];
|
|
29
30
|
};
|
|
30
|
-
declare function DSelect<Option = unknown, IsMulti extends boolean = false, Group extends GroupBase<Option> = GroupBase<Option>>({ id: idProp, className, style, label, hint, iconFamilyClass, iconFamilyPrefix, iconStart, iconStartFamilyClass, iconStartFamilyPrefix, iconStartAriaLabel, iconStartTabIndex, iconEnd, iconEndFamilyClass, iconEndFamilyPrefix, iconEndAriaLabel, iconEndTabIndex, invalid, valid, menuWithMaxContent, disabled, clearable, loading, floatingLabel, rtl, searchable, multi, components, defaultValue, placeholder, onIconStartClick, onIconEndClick, dataAttributes, ...props }: Props<Option, IsMulti, Group>): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
declare function DSelect<Option = unknown, IsMulti extends boolean = false, Group extends GroupBase<Option> = GroupBase<Option>>({ id: idProp, className, style, label, hint, iconFamilyClass, iconFamilyPrefix, iconStart, iconStartFamilyClass, iconStartFamilyPrefix, iconStartAriaLabel, iconStartTabIndex, iconEnd, iconEndFamilyClass, iconEndFamilyPrefix, iconEndAriaLabel, iconEndTabIndex, invalid, valid, menuWithMaxContent, disabled, clearable, loading, floatingLabel, rtl, searchable, multi, components, defaultValue, placeholder, onIconStartClick, onIconEndClick, dataAttributes, ariaLabel, ...props }: Props<Option, IsMulti, Group>): import("react/jsx-runtime").JSX.Element;
|
|
31
32
|
declare const _default: typeof DSelect & {
|
|
32
33
|
OptionCheck: typeof DSelectOptionCheck;
|
|
33
34
|
OptionIcon: typeof DSelectOptionIcon;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { GroupBase, OptionProps } from 'react-select';
|
|
2
|
-
export default function DSelectOptionCheck<Option = unknown, IsMulti extends boolean = false, Group extends GroupBase<Option> = GroupBase<Option>>({
|
|
2
|
+
export default function DSelectOptionCheck<Option = unknown, IsMulti extends boolean = false, Group extends GroupBase<Option> = GroupBase<Option>>({ children, isSelected, ...props }: OptionProps<Option, IsMulti, Group>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -14,8 +14,10 @@ type Props = BaseProps & PropsWithChildren<{
|
|
|
14
14
|
defaultSelected: string;
|
|
15
15
|
vertical?: boolean;
|
|
16
16
|
variant?: TabVariant;
|
|
17
|
+
ariaLabel?: string;
|
|
18
|
+
ariaLabelledBy?: string;
|
|
17
19
|
}>;
|
|
18
|
-
declare function DTabs({ children, defaultSelected, onChange, options, className, classNameTab, style, vertical, variant, dataAttributes, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
declare function DTabs({ children, defaultSelected, onChange, options, className, classNameTab, style, vertical, variant, dataAttributes, ariaLabel, ariaLabelledBy, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
19
21
|
declare const _default: typeof DTabs & {
|
|
20
22
|
Tab: typeof DTabContent;
|
|
21
23
|
};
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"sideEffects": [
|
|
4
4
|
"*.css"
|
|
5
5
|
],
|
|
6
|
-
"version": "2.
|
|
6
|
+
"version": "2.3.1",
|
|
7
7
|
"description": "React Dynamic Framework",
|
|
8
8
|
"license": "https://github.com/dynamic-framework/dynamic-ui/blob/master/LICENSE.md",
|
|
9
9
|
"repository": {
|
|
@@ -75,7 +75,8 @@
|
|
|
75
75
|
"lint-staged": "lint-staged",
|
|
76
76
|
"prepare": "husky",
|
|
77
77
|
"commitlint": "commitlint --edit",
|
|
78
|
-
"verify": "node scripts/verify.js"
|
|
78
|
+
"verify": "node scripts/verify.js",
|
|
79
|
+
"axe": "npx tsx scripts/generate-a11y-report.ts"
|
|
79
80
|
},
|
|
80
81
|
"engines": {
|
|
81
82
|
"node": ">=22.0.0"
|
|
@@ -109,10 +110,7 @@
|
|
|
109
110
|
"react-select": "~5.10.2"
|
|
110
111
|
},
|
|
111
112
|
"devDependencies": {
|
|
112
|
-
"@
|
|
113
|
-
"@babel/preset-env": "~7.23.2",
|
|
114
|
-
"@babel/preset-react": "~7.22.15",
|
|
115
|
-
"@babel/preset-typescript": "~7.23.2",
|
|
113
|
+
"@axe-core/playwright": "^4.11.1",
|
|
116
114
|
"@commitlint/cli": "~19.3.0",
|
|
117
115
|
"@commitlint/config-conventional": "~19.2.2",
|
|
118
116
|
"@mdx-js/react": "~2.3.0",
|
|
@@ -135,8 +133,6 @@
|
|
|
135
133
|
"@vitejs/plugin-react": "~4.7.0",
|
|
136
134
|
"autoprefixer": "~10.4.16",
|
|
137
135
|
"axe-playwright": "~1.2.3",
|
|
138
|
-
"babel-jest": "^29.7.0",
|
|
139
|
-
"babel-loader": "~9.1.3",
|
|
140
136
|
"conventional-changelog-conventionalcommits": "~6.1.0",
|
|
141
137
|
"eslint": "~8.52.0",
|
|
142
138
|
"eslint-config-airbnb": "~19.0.4",
|
|
@@ -147,14 +143,13 @@
|
|
|
147
143
|
"eslint-plugin-react-hooks": "~4.6.0",
|
|
148
144
|
"formik": "~2.4.8",
|
|
149
145
|
"framer-motion": "^12.23.24",
|
|
150
|
-
"glob": "^11.1.0",
|
|
151
146
|
"husky": "~9.1.7",
|
|
152
147
|
"i18next": "~25.6.1",
|
|
153
|
-
"jest": "
|
|
154
|
-
"jest-axe": "
|
|
155
|
-
"jest-
|
|
156
|
-
"jest-environment-jsdom": "~29.7.0",
|
|
148
|
+
"jest": "^30.3.0",
|
|
149
|
+
"jest-axe": "^10.0.0",
|
|
150
|
+
"jest-environment-jsdom": "^30.3.0",
|
|
157
151
|
"lint-staged": "^15.2.10",
|
|
152
|
+
"playwright": "^1.58.2",
|
|
158
153
|
"postcss-cli": "~10.1.0",
|
|
159
154
|
"react": "~19.2.1",
|
|
160
155
|
"react-dom": "~19.2.1",
|
|
@@ -163,13 +158,14 @@
|
|
|
163
158
|
"recharts": "~3.3.0",
|
|
164
159
|
"remark-gfm": "~4.0.1",
|
|
165
160
|
"rimraf": "~6.1.0",
|
|
166
|
-
"rollup": "
|
|
161
|
+
"rollup": "^4.59.0",
|
|
167
162
|
"sass": "~1.69.4",
|
|
168
163
|
"storybook": "^10.2.8",
|
|
169
164
|
"stylelint": "^16.16.0",
|
|
170
165
|
"stylelint-config-twbs-bootstrap": "^16.0.0",
|
|
171
|
-
"ts-jest": "
|
|
166
|
+
"ts-jest": "^29.4.6",
|
|
172
167
|
"tslib": "~2.6.2",
|
|
168
|
+
"tsx": "^4.21.0",
|
|
173
169
|
"typescript": "~5.2.2",
|
|
174
170
|
"vite": "^6.4.1",
|
|
175
171
|
"yup": "^1.6.1"
|
package/src/style/_shame.scss
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
.text-muted {
|
|
8
|
-
--#{$prefix}text-muted: var(--#{$prefix}gray-
|
|
8
|
+
--#{$prefix}text-muted: var(--#{$prefix}gray-500);
|
|
9
9
|
color: var(--#{$prefix}text-muted) !important;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
.form-text {
|
|
13
|
-
--#{$prefix}form-text: var(--#{$prefix}gray-
|
|
13
|
+
--#{$prefix}form-text: var(--#{$prefix}gray-500);
|
|
14
14
|
color: var(--#{$prefix}form-text) !important;
|
|
15
15
|
}
|
|
16
16
|
|
|
@@ -43,12 +43,12 @@
|
|
|
43
43
|
// scss-docs-start df-btn-outline-variant-variables-mixin
|
|
44
44
|
@mixin df-button-outline-variant-variables(
|
|
45
45
|
$color-name,
|
|
46
|
-
$default-color: var(--#{$prefix}#{$color-name}-500),
|
|
46
|
+
$default-color: if($color-name == "warning", var(--#{$prefix}#{$color-name}-700), var(--#{$prefix}#{$color-name}-500)),
|
|
47
47
|
$default-border-color: $default-color,
|
|
48
|
-
$hover-color: var(--#{$prefix}#{$color-name}-600),
|
|
48
|
+
$hover-color: if($color-name == "warning", var(--#{$prefix}#{$color-name}-800), var(--#{$prefix}#{$color-name}-600)),
|
|
49
49
|
$hover-border-color: $hover-color,
|
|
50
50
|
$focus-color: $hover-color,
|
|
51
|
-
$active-color: var(--#{$prefix}#{$color-name}-700),
|
|
51
|
+
$active-color: if($color-name == "warning", var(--#{$prefix}#{$color-name}-900), var(--#{$prefix}#{$color-name}-700)),
|
|
52
52
|
$active-border-color: $active-color,
|
|
53
53
|
$disabled-opacity: $btn-disabled-opacity,
|
|
54
54
|
$box-shadow: $btn-box-shadow,
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
// scss-docs-start df-btn-link-variant-variables-mixin
|
|
85
85
|
@mixin df-button-link-variant-variables(
|
|
86
86
|
$color-name,
|
|
87
|
-
$default-color: var(--#{$prefix}#{$color-name}-500),
|
|
87
|
+
$default-color: if($color-name == "warning", var(--#{$prefix}#{$color-name}-700), var(--#{$prefix}#{$color-name}-500)),
|
|
88
88
|
$hover-text-color: var(--#{$prefix}#{$color-name}-600),
|
|
89
89
|
$focus-text-color: var(--#{$prefix}#{$color-name}-600),
|
|
90
90
|
$active-text-color: var(--#{$prefix}#{$color-name}-700),
|
|
@@ -38,20 +38,10 @@ $utilities: map-merge(
|
|
|
38
38
|
)
|
|
39
39
|
)
|
|
40
40
|
),
|
|
41
|
-
"shadow": map-merge(
|
|
42
|
-
map-get($utilities, "shadow"),
|
|
43
|
-
(
|
|
44
|
-
values: (
|
|
45
|
-
null: var(--#{$prefix}box-shadow),
|
|
46
|
-
sm: var(--#{$prefix}box-shadow-sm),
|
|
47
|
-
lg: var(--#{$prefix}box-shadow-lg),
|
|
48
|
-
none: none
|
|
49
|
-
)
|
|
50
|
-
)
|
|
51
|
-
),
|
|
52
41
|
"text-opacity": map-merge(
|
|
53
42
|
map-get($utilities, "text-opacity"),
|
|
54
43
|
(
|
|
44
|
+
responsive: true,
|
|
55
45
|
values: map-merge(
|
|
56
46
|
map-get(map-get($utilities, "text-opacity"), "values"),
|
|
57
47
|
(
|
|
@@ -72,15 +62,82 @@ $utilities: map-merge(
|
|
|
72
62
|
responsive: true
|
|
73
63
|
)
|
|
74
64
|
),
|
|
65
|
+
"border": map-merge(
|
|
66
|
+
map-get($utilities, "border"),
|
|
67
|
+
(
|
|
68
|
+
responsive: true,
|
|
69
|
+
)
|
|
70
|
+
),
|
|
71
|
+
"border-top": map-merge(
|
|
72
|
+
map-get($utilities, "border-top"),
|
|
73
|
+
(
|
|
74
|
+
responsive: true,
|
|
75
|
+
)
|
|
76
|
+
),
|
|
77
|
+
"border-end": map-merge(
|
|
78
|
+
map-get($utilities, "border-end"),
|
|
79
|
+
(
|
|
80
|
+
responsive: true,
|
|
81
|
+
)
|
|
82
|
+
),
|
|
83
|
+
"border-bottom": map-merge(
|
|
84
|
+
map-get($utilities, "border-bottom"),
|
|
85
|
+
(
|
|
86
|
+
responsive: true,
|
|
87
|
+
)
|
|
88
|
+
),
|
|
89
|
+
"border-start": map-merge(
|
|
90
|
+
map-get($utilities, "border-start"),
|
|
91
|
+
(
|
|
92
|
+
responsive: true,
|
|
93
|
+
)
|
|
94
|
+
),
|
|
75
95
|
"border-color": map-merge(
|
|
76
96
|
map-get($utilities, "border-color"),
|
|
77
97
|
(
|
|
98
|
+
responsive: true,
|
|
78
99
|
values: map-merge(
|
|
79
100
|
map-get(map-get($utilities, "border-color"), "values"),
|
|
80
101
|
map-loop($palette-grays, rgba-css-var, "$key", "border"),
|
|
81
102
|
)
|
|
82
103
|
)
|
|
83
104
|
),
|
|
105
|
+
"border-width": map-merge(
|
|
106
|
+
map-get($utilities, "border-width"),
|
|
107
|
+
(
|
|
108
|
+
responsive: true,
|
|
109
|
+
)
|
|
110
|
+
),
|
|
111
|
+
"rounded": map-merge(
|
|
112
|
+
map-get($utilities, "rounded"),
|
|
113
|
+
(
|
|
114
|
+
responsive: true,
|
|
115
|
+
)
|
|
116
|
+
),
|
|
117
|
+
"rounded-top": map-merge(
|
|
118
|
+
map-get($utilities, "rounded-top"),
|
|
119
|
+
(
|
|
120
|
+
responsive: true,
|
|
121
|
+
)
|
|
122
|
+
),
|
|
123
|
+
"rounded-end": map-merge(
|
|
124
|
+
map-get($utilities, "rounded-end"),
|
|
125
|
+
(
|
|
126
|
+
responsive: true,
|
|
127
|
+
)
|
|
128
|
+
),
|
|
129
|
+
"rounded-bottom": map-merge(
|
|
130
|
+
map-get($utilities, "rounded-bottom"),
|
|
131
|
+
(
|
|
132
|
+
responsive: true,
|
|
133
|
+
)
|
|
134
|
+
),
|
|
135
|
+
"rounded-start": map-merge(
|
|
136
|
+
map-get($utilities, "rounded-start"),
|
|
137
|
+
(
|
|
138
|
+
responsive: true,
|
|
139
|
+
)
|
|
140
|
+
),
|
|
84
141
|
"grid-column": (
|
|
85
142
|
class: "g-col",
|
|
86
143
|
property: grid-column,
|
|
@@ -20,8 +20,8 @@ $focus-ring-opacity: .25 !default;
|
|
|
20
20
|
$focus-ring-blur: 0 !default;
|
|
21
21
|
// custom
|
|
22
22
|
$focus-ring-border-color: transparent !default;
|
|
23
|
-
$focus-ring-color-mapping: "
|
|
24
|
-
$focus-ring-color: var(--#{$prefix}
|
|
23
|
+
$focus-ring-color-mapping: "primary-rgb" !default;
|
|
24
|
+
$focus-ring-color: var(--#{$prefix}focus-ring-color) !default;
|
|
25
25
|
// end custom
|
|
26
26
|
$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;
|
|
27
27
|
// scss-docs-end focus-ring-variables
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Alerts
|
|
2
2
|
// scss-docs-start alert-variables
|
|
3
|
-
$alert-border-radius: var(--#{$prefix}border-radius
|
|
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
|
|
|
@@ -15,3 +15,12 @@ $border-radius-xl: 1.5rem !default;
|
|
|
15
15
|
$border-radius-xxl: 2rem !default;
|
|
16
16
|
$border-radius-pill: 50rem !default;
|
|
17
17
|
// scss-docs-end border-radius-variables
|
|
18
|
+
|
|
19
|
+
$border-widths: (
|
|
20
|
+
1: var(--#{$prefix}border-width),
|
|
21
|
+
2: calc(var(--#{$prefix}border-width) * 2),
|
|
22
|
+
3: calc(var(--#{$prefix}border-width) * 3),
|
|
23
|
+
4: calc(var(--#{$prefix}border-width) * 4),
|
|
24
|
+
5: calc(var(--#{$prefix}border-width) * 5),
|
|
25
|
+
6: calc(var(--#{$prefix}border-width) * 6)
|
|
26
|
+
) !default;
|
|
@@ -7,7 +7,7 @@ $btn-color: var(--#{$prefix}body-color) !default;
|
|
|
7
7
|
$btn-padding-y: $spacer-2 !default;
|
|
8
8
|
$btn-padding-x: $spacer-4 !default;
|
|
9
9
|
$btn-line-height: 1.5 !default;
|
|
10
|
-
$btn-font-weight: $font-weight-
|
|
10
|
+
$btn-font-weight: $font-weight-normal !default;
|
|
11
11
|
|
|
12
12
|
$btn-padding-y-sm: $spacer-1 !default;
|
|
13
13
|
$btn-padding-x-sm: $spacer-3 !default;
|
|
@@ -2,7 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
// scss-docs-start carousel-variables
|
|
4
4
|
$carousel-control-color: var(--#{$prefix}white) !default;
|
|
5
|
-
$carousel-indicator-
|
|
5
|
+
$carousel-indicator-bg: var(--#{$prefix}primary-100) !default;
|
|
6
|
+
$carousel-indicator-border: 1px solid var(--#{$prefix}primary-200) !default;
|
|
7
|
+
$carousel-indicator-width: 16px !default;
|
|
8
|
+
$carousel-indicator-height: 16px !default;
|
|
9
|
+
$carousel-indicator-radius: 100px !default;
|
|
10
|
+
$carousel-indicator-active-width: 26px !default;
|
|
11
|
+
$carousel-indicator-active-bg: var(--#{$prefix}primary) !default;
|
|
12
|
+
$carousel-indicator-active-border: var(--#{$prefix}primary) !default;
|
|
13
|
+
$carousel-indicator-hover-bg: var(--#{$prefix}primary-200) !default;
|
|
14
|
+
$carousel-control-bg: var(--#{$prefix}primary) !default;
|
|
15
|
+
$carousel-control-width: 24px !default;
|
|
16
|
+
$carousel-control-height: 24px !default;
|
|
17
|
+
$carousel-control-radius: 48px !default;
|
|
6
18
|
$carousel-caption-color: var(--#{$prefix}white) !default;
|
|
7
19
|
// scss-docs-end carousel-variables
|
|
8
20
|
|
|
@@ -41,7 +41,7 @@ $purple: #4848b7 !default;
|
|
|
41
41
|
$pink: #d81b60 !default;
|
|
42
42
|
$red: #dc3545 !default;
|
|
43
43
|
$orange: #fd7e14 !default;
|
|
44
|
-
$yellow: #
|
|
44
|
+
$yellow: #ffb300 !default;
|
|
45
45
|
$green: #198754 !default;
|
|
46
46
|
$teal: #20c997 !default;
|
|
47
47
|
$cyan: #0dcaf0 !default;
|
|
@@ -404,7 +404,7 @@ $info-text-emphasis: var(--#{$prefix}info-600) !default;
|
|
|
404
404
|
$warning-text-emphasis: var(--#{$prefix}warning-800) !default;
|
|
405
405
|
$danger-text-emphasis: var(--#{$prefix}danger-600) !default;
|
|
406
406
|
$light-text-emphasis: var(--#{$prefix}gray-600) !default;
|
|
407
|
-
$dark-text-emphasis: var(--#{$prefix}gray-
|
|
407
|
+
$dark-text-emphasis: var(--#{$prefix}gray-25) !default;
|
|
408
408
|
// scss-docs-end theme-text-variables
|
|
409
409
|
|
|
410
410
|
// scss-docs-start theme-bg-subtle-variables
|
|
@@ -1,34 +1,30 @@
|
|
|
1
1
|
// Navs
|
|
2
2
|
|
|
3
3
|
// scss-docs-start nav-variables
|
|
4
|
-
$nav-link-padding-y:
|
|
5
|
-
$nav-link-padding-x:
|
|
6
|
-
$nav-link-font-size:
|
|
7
|
-
$nav-link-font-weight:
|
|
8
|
-
$nav-link-color:
|
|
9
|
-
$nav-link-hover-color:
|
|
10
|
-
$nav-link-
|
|
11
|
-
$nav-link-disabled-color:
|
|
4
|
+
$nav-link-padding-y: $spacer-2 !default;
|
|
5
|
+
$nav-link-padding-x: $spacer-4 !default;
|
|
6
|
+
$nav-link-font-size: var(--#{$prefix}body-font-size) !default;
|
|
7
|
+
$nav-link-font-weight: var(--#{$prefix}fw-normal) !default;
|
|
8
|
+
$nav-link-color: var(--#{$prefix}gray-900) !default;
|
|
9
|
+
$nav-link-hover-color: var(--#{$prefix}primary-600) !default;
|
|
10
|
+
$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;
|
|
11
|
+
$nav-link-disabled-color: var(--#{$prefix}gray-300) !default;
|
|
12
|
+
$nav-link-focus-box-shadow: $focus-ring-box-shadow !default;
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
$nav-
|
|
15
|
-
|
|
14
|
+
$nav-tabs-border-color: var(--#{$prefix}gray-100) !default;
|
|
15
|
+
$nav-tabs-border-width: var(--#{$prefix}border-width) !default;
|
|
16
|
+
$nav-tabs-border-radius: var(--#{$prefix}border-radius-sm) !default;
|
|
17
|
+
$nav-tabs-link-hover-border-color: $nav-tabs-border-color !default;
|
|
18
|
+
$nav-tabs-link-active-color: var(--#{$prefix}primary) !default;
|
|
19
|
+
$nav-tabs-link-active-bg: var(--#{$prefix}white) !default;
|
|
20
|
+
$nav-tabs-link-active-border-color: var(--#{$prefix}nav-tabs-border-color) !default;
|
|
16
21
|
|
|
17
|
-
$nav-
|
|
18
|
-
$nav-
|
|
19
|
-
$nav-
|
|
20
|
-
$nav-tabs-link-active-border-color: var(--#{$prefix}gray-300) !default;
|
|
21
|
-
$nav-tabs-border-color: var(--#{$prefix}gray-300) !default;
|
|
22
|
+
$nav-pills-border-radius: var(--#{$prefix}border-radius-sm) !default;
|
|
23
|
+
$nav-pills-link-active-color: var(--#{$prefix}primary-500) !default;
|
|
24
|
+
$nav-pills-link-active-bg: var(--#{$prefix}gray-50) !default;
|
|
22
25
|
|
|
23
|
-
|
|
24
|
-
$nav-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
$nav-pills-border-radius: var(--#{$prefix}border-radius-sm) !default;
|
|
28
|
-
$nav-pills-link-active-color: var(--#{$prefix}white) !default;
|
|
29
|
-
$nav-pills-link-active-bg: var(--#{$prefix}primary) !default;
|
|
26
|
+
$nav-underline-gap: 1rem !default;
|
|
27
|
+
$nav-underline-border-width: 2px !default;
|
|
28
|
+
$nav-underline-link-active-color: var(--#{$prefix}primary) !default;
|
|
29
|
+
$nav-underline-font-weight: var(--#{$prefix}fw-normal) !default; // custom
|
|
30
30
|
// scss-docs-end nav-variables
|
|
31
|
-
|
|
32
|
-
$nav-underline-link-active-color: var(--#{$prefix}primary) !default;
|
|
33
|
-
$nav-underline-border-width: 2px !default;
|
|
34
|
-
$nav-underline-border-color: transparent !default;
|
|
@@ -3,7 +3,7 @@
|
|
|
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}
|
|
6
|
+
--#{$prefix}badge-sm-font-size: var(--#{$prefix}fs-small);
|
|
7
7
|
--#{$prefix}badge-lg-font-size: var(--#{$prefix}fs-5);
|
|
8
8
|
|
|
9
9
|
display: inline-flex;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
.carousel-indicators {
|
|
2
|
+
position: relative;
|
|
3
|
+
[data-bs-target] {
|
|
4
|
+
width: $carousel-indicator-width;
|
|
5
|
+
height: $carousel-indicator-height;
|
|
6
|
+
text-align: left;
|
|
7
|
+
text-indent: 0;
|
|
8
|
+
background: $carousel-indicator-bg;
|
|
9
|
+
border: $carousel-indicator-border;
|
|
10
|
+
border-radius: $carousel-indicator-radius;
|
|
11
|
+
opacity: 1;
|
|
12
|
+
transition: .3s;
|
|
13
|
+
&.active {
|
|
14
|
+
width: $carousel-indicator-active-width;
|
|
15
|
+
background: $carousel-indicator-active-bg;
|
|
16
|
+
border-color: $carousel-indicator-active-border;
|
|
17
|
+
transition: .3s;
|
|
18
|
+
&:hover {
|
|
19
|
+
background: $carousel-indicator-active-bg;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
&:hover {
|
|
23
|
+
background: $carousel-indicator-hover-bg;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.carousel-control-prev,
|
|
29
|
+
.carousel-control-next {
|
|
30
|
+
top: calc(50% - 20px);
|
|
31
|
+
bottom: auto;
|
|
32
|
+
width: $carousel-control-width;
|
|
33
|
+
height: $carousel-control-height;
|
|
34
|
+
padding: var(--#{$prefix}ref-spacer-1);
|
|
35
|
+
margin-inline: var(--#{$prefix}ref-spacer-1);
|
|
36
|
+
background: $carousel-control-bg;
|
|
37
|
+
border-radius: $carousel-control-radius;
|
|
38
|
+
opacity: .85;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.carousel-control-next-icon,
|
|
42
|
+
.carousel-control-prev-icon {
|
|
43
|
+
filter: invert(1);
|
|
44
|
+
}
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
--#{$prefix}collapse-separator-display: none;
|
|
15
15
|
--#{$prefix}collapse-separator-height: 1px;
|
|
16
16
|
--#{$prefix}collapse-separator-bg: var(--#{$prefix}gray-200);
|
|
17
|
+
--#{$prefix}collapse-interpolate-size: allow-keywords;
|
|
18
|
+
--#{$prefix}collapse-transition: all ease-in-out .3s allow-discrete;
|
|
17
19
|
|
|
18
20
|
background-color: var(--#{$prefix}collapse-bg);
|
|
19
21
|
border-radius: var(--#{$prefix}collapse-border-radius);
|
|
@@ -40,15 +42,26 @@
|
|
|
40
42
|
position: relative;
|
|
41
43
|
padding: var(--#{$prefix}collapse-body-padding-y) var(--#{$prefix}collapse-body-padding-x);
|
|
42
44
|
padding-top: 0;
|
|
45
|
+
}
|
|
43
46
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
.collapse-body-wrapper {
|
|
48
|
+
height: 0;
|
|
49
|
+
overflow: hidden;
|
|
50
|
+
opacity: 0;
|
|
51
|
+
transition: var(--#{$prefix}collapse-transition);
|
|
52
|
+
interpolate-size: var(--#{$prefix}collapse-interpolate-size);
|
|
53
|
+
&.show {
|
|
54
|
+
display: block;
|
|
55
|
+
height: auto;
|
|
56
|
+
opacity: 1;
|
|
52
57
|
}
|
|
53
58
|
}
|
|
59
|
+
|
|
60
|
+
@starting-style {
|
|
61
|
+
.collapse-body-wrapper.show {
|
|
62
|
+
height: 0;
|
|
63
|
+
opacity: 0;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
54
67
|
}
|