@dynamic-framework/ui-react 2.8.0 → 2.9.0
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/dist/css/dynamic-ui.css +5 -22
- package/dist/css/dynamic-ui.min.css +2 -2
- package/dist/index.esm.js +178 -35
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +179 -34
- package/dist/index.js.map +1 -1
- package/dist/types/components/DInputCheck/DInputCheck.d.ts +1 -0
- package/dist/types/components/DInputSwitch/DInputSwitch.d.ts +2 -1
- package/dist/types/components/DModal/components/DModalHeader.d.ts +5 -1
- package/dist/types/components/DOffcanvas/components/DOffcanvasHeader.d.ts +5 -1
- package/dist/types/components/DTooltip/DTooltip.d.ts +38 -3
- package/dist/types/utils/buildUrl.d.ts +32 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/sanitizeHref.d.ts +37 -0
- package/dist/types/utils/tests/buildUrl.spec.d.ts +1 -0
- package/dist/types/utils/tests/sanitizeHref.spec.d.ts +1 -0
- package/package.json +9 -6
- package/src/style/_shame.scss +1 -5
- package/src/style/abstracts/variables/_+import.scss +1 -0
- package/src/style/abstracts/variables/_box.scss +7 -0
- package/src/style/abstracts/variables/_forms.scss +1 -3
- package/src/style/abstracts/variables/_shadow.scss +12 -1
- package/src/style/base/_+import.scss +0 -1
- package/src/style/base/_form-check.scss +4 -2
- package/src/style/components/_d-box.scss +5 -5
- package/src/style/base/_form-text.scss +0 -12
package/dist/index.esm.js
CHANGED
|
@@ -563,12 +563,12 @@ function DIcon(_a) {
|
|
|
563
563
|
return (jsx(DIconBase, Object.assign({ icon: resolvedIcon, familyClass: propFamilyClass !== null && propFamilyClass !== void 0 ? propFamilyClass : familyClass, familyPrefix: propFamilyPrefix !== null && propFamilyPrefix !== void 0 ? propFamilyPrefix : familyPrefix, materialStyle: propMaterialStyle !== null && propMaterialStyle !== void 0 ? propMaterialStyle : materialStyle }, props)));
|
|
564
564
|
}
|
|
565
565
|
|
|
566
|
-
function DAlert({ color = 'success', icon: iconProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle
|
|
567
|
-
const { iconMap: { alert, xLg, }, } = useDContext();
|
|
566
|
+
function DAlert({ color = 'success', icon: iconProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, iconClose: iconCloseProp, iconCloseFamilyClass, iconCloseFamilyPrefix, iconCloseMaterialStyle, showClose, onClose, children, id, className, style, dataAttributes, }) {
|
|
567
|
+
const { icon: { materialStyle, familyClass, familyPrefix, }, iconMap: { alert, xLg, }, } = useDContext();
|
|
568
568
|
const icon = useMemo(() => iconProp || alert[color], [alert, iconProp, color]);
|
|
569
569
|
const iconClose = useMemo(() => (iconCloseProp || xLg), [iconCloseProp, xLg]);
|
|
570
570
|
const generateClasses = useMemo(() => (Object.assign({ alert: true, [`alert-${color}`]: true, 'fade show': !!showClose }, className && { [className]: true })), [color, showClose, className]);
|
|
571
|
-
return (jsxs("div", Object.assign({ className: classNames(generateClasses), style: style, role: "alert", id: id }, dataAttributes, { children: [icon && (jsx(DIcon, { className: "alert-icon", icon: icon, familyClass: iconFamilyClass, familyPrefix: iconFamilyPrefix, materialStyle: iconMaterialStyle })), jsx("div", { className: "alert-text", children: children }), showClose && (jsx("button", { type: "button", className: "d-close", "aria-label": "Close", onClick: onClose, children: jsx(DIcon, { icon: iconClose, familyClass: iconCloseFamilyClass, familyPrefix: iconCloseFamilyPrefix, materialStyle: iconCloseMaterialStyle }) }))] })));
|
|
571
|
+
return (jsxs("div", Object.assign({ className: classNames(generateClasses), style: style, role: "alert", id: id }, dataAttributes, { children: [icon && (jsx(DIcon, { className: "alert-icon", icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })), jsx("div", { className: "alert-text", children: children }), showClose && (jsx("button", { type: "button", className: "d-close", "aria-label": "Close", onClick: onClose, children: jsx(DIcon, { icon: iconClose, familyClass: iconCloseFamilyClass !== null && iconCloseFamilyClass !== void 0 ? iconCloseFamilyClass : familyClass, familyPrefix: iconCloseFamilyPrefix !== null && iconCloseFamilyPrefix !== void 0 ? iconCloseFamilyPrefix : familyPrefix, materialStyle: iconCloseMaterialStyle !== null && iconCloseMaterialStyle !== void 0 ? iconCloseMaterialStyle : materialStyle }) }))] })));
|
|
572
572
|
}
|
|
573
573
|
|
|
574
574
|
function DAvatar({ id, size, image, name: nameProp, useNameAsInitials = false, className, style, dataAttributes, }) {
|
|
@@ -590,6 +590,7 @@ function DAvatar({ id, size, image, name: nameProp, useNameAsInitials = false, c
|
|
|
590
590
|
|
|
591
591
|
function DBadge(props) {
|
|
592
592
|
const { text, soft = false, color = 'primary', id, rounded, className, size, style, iconStart, iconEnd, iconMaterialStyle, iconFamilyClass, iconFamilyPrefix, dataAttributes, } = props;
|
|
593
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, } = useDContext();
|
|
593
594
|
// Responsive size resolution using useResponsiveProp
|
|
594
595
|
const { responsivePropValue } = useResponsiveProp(true);
|
|
595
596
|
const resolvedSize = useMemo(() => {
|
|
@@ -606,7 +607,7 @@ function DBadge(props) {
|
|
|
606
607
|
'rounded-pill': !!rounded,
|
|
607
608
|
[`badge-${resolvedSize}`]: !!resolvedSize,
|
|
608
609
|
}), [rounded, soft, color, resolvedSize]);
|
|
609
|
-
return (jsxs("span", Object.assign({ className: classNames(generateClasses, className), style: style }, id && { id }, dataAttributes, { children: [iconStart && (jsx(DIcon, { icon: iconStart, familyClass: iconFamilyClass, familyPrefix: iconFamilyPrefix, materialStyle: iconMaterialStyle })), jsx("span", { children: text }), iconEnd && (jsx(DIcon, { icon: iconEnd, familyClass: iconFamilyClass, familyPrefix: iconFamilyPrefix, materialStyle: iconMaterialStyle }))] })));
|
|
610
|
+
return (jsxs("span", Object.assign({ className: classNames(generateClasses, className), style: style }, id && { id }, dataAttributes, { children: [iconStart && (jsx(DIcon, { icon: iconStart, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })), jsx("span", { children: text }), iconEnd && (jsx(DIcon, { icon: iconEnd, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle }))] })));
|
|
610
611
|
}
|
|
611
612
|
|
|
612
613
|
function DBox({ className, style, children, dataAttributes, }) {
|
|
@@ -638,6 +639,7 @@ function DInput(_a, ref) {
|
|
|
638
639
|
const inputRef = useProvidedRefOrCreate(ref);
|
|
639
640
|
const innerId = useId();
|
|
640
641
|
const id = useMemo(() => idProp || innerId, [idProp, innerId]);
|
|
642
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, } = useDContext();
|
|
641
643
|
const handleOnChange = useCallback((event) => {
|
|
642
644
|
onChange === null || onChange === void 0 ? void 0 : onChange(event.currentTarget.value);
|
|
643
645
|
}, [onChange]);
|
|
@@ -700,7 +702,7 @@ function DInput(_a, ref) {
|
|
|
700
702
|
[`input-group-${size}`]: !!size,
|
|
701
703
|
'input-group': true,
|
|
702
704
|
'has-validation': invalid || valid,
|
|
703
|
-
}), children: [!!inputStart && (jsx("div", { className: "input-group-text", id: `${id}InputStart`, children: inputStart })), iconStart && (onIconStartClick ? (jsx("button", { type: "button", className: "input-group-text", id: `${id}Start`, onClick: handleOnIconStartClick, disabled: disabled || loading || iconStartDisabled, "aria-label": iconStartAriaLabel || (typeof iconStart === 'string' ? iconStart : 'start icon'), tabIndex: iconStartTabIndex, children: jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass, familyPrefix: iconStartFamilyPrefix, materialStyle: iconStartMaterialStyle }) })) : (jsx("div", { className: "input-group-text", id: `${id}Start`, "aria-hidden": "true", tabIndex: -1, children: jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass, familyPrefix: iconStartFamilyPrefix, materialStyle: iconStartMaterialStyle }) }))), dynamicComponent, (iconEnd && !loading) && (onIconEndClick ? (jsx("button", { type: "button", className: "input-group-text", id: `${id}End`, onClick: handleOnIconEndClick, disabled: disabled || loading || iconEndDisabled, "aria-label": iconEndAriaLabel || (typeof iconEnd === 'string' ? iconEnd : 'end icon'), tabIndex: iconEndTabIndex, children: jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass, familyPrefix: iconEndFamilyPrefix, materialStyle: iconEndMaterialStyle }) })) : (jsx("div", { className: "input-group-text", id: `${id}End`, "aria-hidden": "true", tabIndex: -1, children: jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass, familyPrefix: iconEndFamilyPrefix, materialStyle: iconEndMaterialStyle }) }))), loading && (jsx("div", { className: "input-group-text", id: `${id}Loading`, children: jsx("span", { className: "spinner-border spinner-border-sm", role: "status", "aria-hidden": "true", "data-testid": "loading-spinner", children: jsx("span", { className: "visually-hidden", children: "Loading..." }) }) })), !!inputEnd && (jsx("div", { className: "input-group-text", id: `${id}InputEnd`, children: inputEnd }))] }), hint && (jsx("div", { className: "form-text", id: `${id}Hint`, children: hint }))] })));
|
|
705
|
+
}), children: [!!inputStart && (jsx("div", { className: "input-group-text", id: `${id}InputStart`, children: inputStart })), iconStart && (onIconStartClick ? (jsx("button", { type: "button", className: "input-group-text", id: `${id}Start`, onClick: handleOnIconStartClick, disabled: disabled || loading || iconStartDisabled, "aria-label": iconStartAriaLabel || (typeof iconStart === 'string' ? iconStart : 'start icon'), tabIndex: iconStartTabIndex, children: jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass !== null && iconStartFamilyClass !== void 0 ? iconStartFamilyClass : familyClass, familyPrefix: iconStartFamilyPrefix !== null && iconStartFamilyPrefix !== void 0 ? iconStartFamilyPrefix : familyPrefix, materialStyle: iconStartMaterialStyle !== null && iconStartMaterialStyle !== void 0 ? iconStartMaterialStyle : materialStyle }) })) : (jsx("div", { className: "input-group-text", id: `${id}Start`, "aria-hidden": "true", tabIndex: -1, children: jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass !== null && iconStartFamilyClass !== void 0 ? iconStartFamilyClass : familyClass, familyPrefix: iconStartFamilyPrefix !== null && iconStartFamilyPrefix !== void 0 ? iconStartFamilyPrefix : familyPrefix, materialStyle: iconStartMaterialStyle !== null && iconStartMaterialStyle !== void 0 ? iconStartMaterialStyle : materialStyle }) }))), dynamicComponent, (iconEnd && !loading) && (onIconEndClick ? (jsx("button", { type: "button", className: "input-group-text", id: `${id}End`, onClick: handleOnIconEndClick, disabled: disabled || loading || iconEndDisabled, "aria-label": iconEndAriaLabel || (typeof iconEnd === 'string' ? iconEnd : 'end icon'), tabIndex: iconEndTabIndex, children: jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass !== null && iconEndFamilyClass !== void 0 ? iconEndFamilyClass : familyClass, familyPrefix: iconEndFamilyPrefix !== null && iconEndFamilyPrefix !== void 0 ? iconEndFamilyPrefix : familyPrefix, materialStyle: iconEndMaterialStyle !== null && iconEndMaterialStyle !== void 0 ? iconEndMaterialStyle : materialStyle }) })) : (jsx("div", { className: "input-group-text", id: `${id}End`, "aria-hidden": "true", tabIndex: -1, children: jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass !== null && iconEndFamilyClass !== void 0 ? iconEndFamilyClass : familyClass, familyPrefix: iconEndFamilyPrefix !== null && iconEndFamilyPrefix !== void 0 ? iconEndFamilyPrefix : familyPrefix, materialStyle: iconEndMaterialStyle !== null && iconEndMaterialStyle !== void 0 ? iconEndMaterialStyle : materialStyle }) }))), loading && (jsx("div", { className: "input-group-text", id: `${id}Loading`, children: jsx("span", { className: "spinner-border spinner-border-sm", role: "status", "aria-hidden": "true", "data-testid": "loading-spinner", children: jsx("span", { className: "visually-hidden", children: "Loading..." }) }) })), !!inputEnd && (jsx("div", { className: "input-group-text", id: `${id}InputEnd`, children: inputEnd }))] }), hint && (jsx("div", { className: "form-text", id: `${id}Hint`, children: hint }))] })));
|
|
704
706
|
}
|
|
705
707
|
const ForwardedDInput = forwardRef(DInput);
|
|
706
708
|
ForwardedDInput.displayName = 'DInput';
|
|
@@ -1096,7 +1098,7 @@ function useDBoxFile(props) {
|
|
|
1096
1098
|
|
|
1097
1099
|
function DBoxFile(_a) {
|
|
1098
1100
|
var { icon: iconProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, children, className, style, dataAttributes } = _a, props = __rest(_a, ["icon", "iconFamilyClass", "iconFamilyPrefix", "iconMaterialStyle", "children", "className", "style", "dataAttributes"]);
|
|
1099
|
-
const { iconMap: { upload } } = useDContext();
|
|
1101
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, iconMap: { upload }, } = useDContext();
|
|
1100
1102
|
const icon = useMemo(() => iconProp || upload, [iconProp, upload]);
|
|
1101
1103
|
const { inputRef, rootRef, isDragValid, isDragInvalid, acceptAttr, files, handleFileSelect, handleDrop, handleDragEnter, handleDragLeave, handleClick, handleKeyDown, handleRemoveFile, openFileDialog, } = useDBoxFile(props);
|
|
1102
1104
|
return (jsxs(Fragment, { children: [jsx("section", Object.assign({ className: classNames('d-box-file', {
|
|
@@ -1104,13 +1106,14 @@ function DBoxFile(_a) {
|
|
|
1104
1106
|
'd-box-file-disabled': props.disabled,
|
|
1105
1107
|
'd-box-file-valid': isDragValid,
|
|
1106
1108
|
'd-box-file-invalid': isDragInvalid,
|
|
1107
|
-
}, className), style: style }, dataAttributes, { children: jsxs("div", Object.assign({ className: "d-box-file-dropzone", ref: rootRef, onDragEnter: handleDragEnter, onDragOver: (e) => e.preventDefault(), onDragLeave: handleDragLeave, onDrop: handleDrop, onClick: handleClick, onKeyDown: handleKeyDown }, (!props.disabled && !props.noKeyboard ? { tabIndex: 0 } : {}), { role: "presentation", children: [jsx("input", { type: "file", multiple: props.multiple, style: { display: 'none' }, ref: inputRef, disabled: props.disabled, onChange: handleFileSelect, onClick: (e) => e.stopPropagation(), tabIndex: -1, accept: acceptAttr }), icon && iconProp !== false && (jsx(DIcon, { icon: icon, familyClass: iconFamilyClass, familyPrefix: iconFamilyPrefix, materialStyle: iconMaterialStyle })), jsx("div", { className: "d-box-content", children: typeof children === 'function'
|
|
1109
|
+
}, className), style: style }, dataAttributes, { children: jsxs("div", Object.assign({ className: "d-box-file-dropzone", ref: rootRef, onDragEnter: handleDragEnter, onDragOver: (e) => e.preventDefault(), onDragLeave: handleDragLeave, onDrop: handleDrop, onClick: handleClick, onKeyDown: handleKeyDown }, (!props.disabled && !props.noKeyboard ? { tabIndex: 0 } : {}), { role: "presentation", children: [jsx("input", { type: "file", multiple: props.multiple, style: { display: 'none' }, ref: inputRef, disabled: props.disabled, onChange: handleFileSelect, onClick: (e) => e.stopPropagation(), tabIndex: -1, accept: acceptAttr }), icon && iconProp !== false && (jsx(DIcon, { icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })), jsx("div", { className: "d-box-content", children: typeof children === 'function'
|
|
1108
1110
|
? children(openFileDialog)
|
|
1109
1111
|
: children || (jsx("p", { className: "d-box-file-empty-text", children: "Drag and drop some files here, or click to select files" })) })] })) })), !!files.length && (jsx("ul", { className: "d-box-files", children: files.map((file, index) => (jsx(ForwardedDInput, { value: file.name, iconStart: "Paperclip", iconEnd: "Trash", readOnly: true, onIconEndClick: () => handleRemoveFile(index) }, `${file.name} ${index}`))) }))] }));
|
|
1110
1112
|
}
|
|
1111
1113
|
|
|
1112
1114
|
const DButton = forwardRef((props, ref) => {
|
|
1113
1115
|
const { color = 'primary', size, variant = 'solid', text, children, iconStart, iconStartFamilyClass, iconStartFamilyPrefix, iconStartMaterialStyle, iconEnd, iconEndFamilyClass, iconEndFamilyPrefix, iconEndMaterialStyle, loading = false, loadingText, loadingAriaLabel, disabled = false, className, style, dataAttributes, onClick, type = 'button', target, rel, href, 'aria-label': ariaLabelProp } = props, rest = __rest(props, ["color", "size", "variant", "text", "children", "iconStart", "iconStartFamilyClass", "iconStartFamilyPrefix", "iconStartMaterialStyle", "iconEnd", "iconEndFamilyClass", "iconEndFamilyPrefix", "iconEndMaterialStyle", "loading", "loadingText", "loadingAriaLabel", "disabled", "className", "style", "dataAttributes", "onClick", "type", "target", "rel", "href", 'aria-label']);
|
|
1116
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, } = useDContext();
|
|
1114
1117
|
// Responsive size resolution using useResponsiveProp
|
|
1115
1118
|
const { responsivePropValue } = useResponsiveProp(true);
|
|
1116
1119
|
const resolvedSize = useMemo(() => {
|
|
@@ -1164,7 +1167,7 @@ const DButton = forwardRef((props, ref) => {
|
|
|
1164
1167
|
ref.current = node;
|
|
1165
1168
|
}, className: classNames(classes, className), style: Object.assign(Object.assign({}, style), (loading && buttonWidth
|
|
1166
1169
|
? { minWidth: `${buttonWidth}px` }
|
|
1167
|
-
: undefined)), "aria-label": ariaLabel, "aria-busy": loading, "aria-disabled": isDisabled, onClick: handleClick }, dataAttributes, { children: [loading && (jsxs("span", { className: "btn-loading", children: [jsx("span", { className: "spinner-border spinner-border-sm", "aria-hidden": "true" }), loadingText && jsx("span", { role: "status", children: loadingText })] })), !loading && (jsxs(Fragment, { children: [iconStart && (jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass, familyPrefix: iconStartFamilyPrefix, materialStyle: iconStartMaterialStyle })), content, iconEnd && (jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass, familyPrefix: iconEndFamilyPrefix, materialStyle: iconEndMaterialStyle }))] }))] })));
|
|
1170
|
+
: undefined)), "aria-label": ariaLabel, "aria-busy": loading, "aria-disabled": isDisabled, onClick: handleClick }, dataAttributes, { children: [loading && (jsxs("span", { className: "btn-loading", children: [jsx("span", { className: "spinner-border spinner-border-sm", "aria-hidden": "true" }), loadingText && jsx("span", { role: "status", children: loadingText })] })), !loading && (jsxs(Fragment, { children: [iconStart && (jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass !== null && iconStartFamilyClass !== void 0 ? iconStartFamilyClass : familyClass, familyPrefix: iconStartFamilyPrefix !== null && iconStartFamilyPrefix !== void 0 ? iconStartFamilyPrefix : familyPrefix, materialStyle: iconStartMaterialStyle !== null && iconStartMaterialStyle !== void 0 ? iconStartMaterialStyle : materialStyle })), content, iconEnd && (jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass !== null && iconEndFamilyClass !== void 0 ? iconEndFamilyClass : familyClass, familyPrefix: iconEndFamilyPrefix !== null && iconEndFamilyPrefix !== void 0 ? iconEndFamilyPrefix : familyPrefix, materialStyle: iconEndMaterialStyle !== null && iconEndMaterialStyle !== void 0 ? iconEndMaterialStyle : materialStyle }))] }))] })));
|
|
1168
1171
|
}
|
|
1169
1172
|
return (jsxs("button", Object.assign({ ref: (node) => {
|
|
1170
1173
|
buttonRef.current = node;
|
|
@@ -1178,12 +1181,13 @@ const DButton = forwardRef((props, ref) => {
|
|
|
1178
1181
|
// eslint-disable-next-line react/button-has-type
|
|
1179
1182
|
type: type, className: classNames(classes, className), style: Object.assign(Object.assign({}, style), (loading && buttonWidth
|
|
1180
1183
|
? { minWidth: `${buttonWidth}px` }
|
|
1181
|
-
: undefined)), disabled: isDisabled, "aria-label": ariaLabel, "aria-busy": loading, "aria-disabled": isDisabled, onClick: handleClick }, dataAttributes, rest, { children: [loading && (jsxs("span", { className: "btn-loading", children: [jsx("span", { className: "spinner-border spinner-border-sm", "aria-hidden": "true" }), loadingText && jsx("span", { role: "status", children: loadingText })] })), !loading && (jsxs(Fragment, { children: [iconStart && (jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass, familyPrefix: iconStartFamilyPrefix, materialStyle: iconStartMaterialStyle })), content, iconEnd && (jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass, familyPrefix: iconEndFamilyPrefix, materialStyle: iconEndMaterialStyle }))] }))] })));
|
|
1184
|
+
: undefined)), disabled: isDisabled, "aria-label": ariaLabel, "aria-busy": loading, "aria-disabled": isDisabled, onClick: handleClick }, dataAttributes, rest, { children: [loading && (jsxs("span", { className: "btn-loading", children: [jsx("span", { className: "spinner-border spinner-border-sm", "aria-hidden": "true" }), loadingText && jsx("span", { role: "status", children: loadingText })] })), !loading && (jsxs(Fragment, { children: [iconStart && (jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass !== null && iconStartFamilyClass !== void 0 ? iconStartFamilyClass : familyClass, familyPrefix: iconStartFamilyPrefix !== null && iconStartFamilyPrefix !== void 0 ? iconStartFamilyPrefix : familyPrefix, materialStyle: iconStartMaterialStyle !== null && iconStartMaterialStyle !== void 0 ? iconStartMaterialStyle : materialStyle })), content, iconEnd && (jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass !== null && iconEndFamilyClass !== void 0 ? iconEndFamilyClass : familyClass, familyPrefix: iconEndFamilyPrefix !== null && iconEndFamilyPrefix !== void 0 ? iconEndFamilyPrefix : familyPrefix, materialStyle: iconEndMaterialStyle !== null && iconEndMaterialStyle !== void 0 ? iconEndMaterialStyle : materialStyle }))] }))] })));
|
|
1182
1185
|
});
|
|
1183
1186
|
DButton.displayName = 'DButton';
|
|
1184
1187
|
|
|
1185
1188
|
function DButtonIcon(_a) {
|
|
1186
1189
|
var { id, icon, size, className, variant, state, loadingAriaLabel, iconMaterialStyle, disabled = false, color = 'primary', loading = false, href, target, rel, stopPropagationEnabled = true, style, iconFamilyClass, iconFamilyPrefix, dataAttributes, onClick, 'aria-label': ariaLabelProp } = _a, rest = __rest(_a, ["id", "icon", "size", "className", "variant", "state", "loadingAriaLabel", "iconMaterialStyle", "disabled", "color", "loading", "href", "target", "rel", "stopPropagationEnabled", "style", "iconFamilyClass", "iconFamilyPrefix", "dataAttributes", "onClick", 'aria-label']);
|
|
1190
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, } = useDContext();
|
|
1187
1191
|
const generateClasses = useMemo(() => {
|
|
1188
1192
|
const variantClass = !variant || variant === 'solid'
|
|
1189
1193
|
? `btn-${color}`
|
|
@@ -1207,11 +1211,11 @@ function DButtonIcon(_a) {
|
|
|
1207
1211
|
if (href) {
|
|
1208
1212
|
return (jsx("a", Object.assign({ id: id, href: href, target: target, rel: rel, className: classNames(generateClasses, className), style: style, onClick: clickHandler, "aria-label": ariaLabel, "aria-disabled": isDisabled }, dataAttributes, { children: loading
|
|
1209
1213
|
? (jsx("span", { className: "spinner-border spinner-border-sm", role: "status", "aria-hidden": "true", children: jsx("span", { className: "visually-hidden", children: "Loading..." }) }))
|
|
1210
|
-
: (jsx(DIcon, { icon: icon, familyClass: iconFamilyClass, familyPrefix: iconFamilyPrefix, materialStyle: iconMaterialStyle })) })));
|
|
1214
|
+
: (jsx(DIcon, { icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })) })));
|
|
1211
1215
|
}
|
|
1212
1216
|
return (jsx("button", Object.assign({ className: classNames(generateClasses, className), style: style, disabled: state === 'disabled' || loading, onClick: clickHandler, "aria-label": ariaLabel }, dataAttributes, rest, { children: loading
|
|
1213
1217
|
? (jsx("span", { className: "spinner-border spinner-border-sm", role: "status", "aria-hidden": "true", children: jsx("span", { className: "visually-hidden", children: "Loading..." }) }))
|
|
1214
|
-
: (jsx(DIcon, { icon: icon, familyClass: iconFamilyClass, familyPrefix: iconFamilyPrefix, materialStyle: iconMaterialStyle })) })));
|
|
1218
|
+
: (jsx(DIcon, { icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })) })));
|
|
1215
1219
|
}
|
|
1216
1220
|
|
|
1217
1221
|
function DCardHeader({ className, style, children, }) {
|
|
@@ -1274,12 +1278,12 @@ function DChip({ color = 'primary', text, icon, iconFamilyClass, iconFamilyPrefi
|
|
|
1274
1278
|
'd-chip': true,
|
|
1275
1279
|
[`d-chip-${color}`]: !!color,
|
|
1276
1280
|
}), [color]);
|
|
1277
|
-
const { iconMap: { xLg, }, } = useDContext();
|
|
1281
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, iconMap: { xLg, }, } = useDContext();
|
|
1278
1282
|
const iconClose = useMemo(() => iconCloseProp || xLg, [iconCloseProp, xLg]);
|
|
1279
|
-
return (jsxs("span", Object.assign({ className: classNames(generateClasses, className), style: style }, dataAttributes, { children: [icon && (jsx("div", { className: "d-chip-icon-container", children: jsx(DIcon, { icon: icon, familyClass: iconFamilyClass, familyPrefix: iconFamilyPrefix, materialStyle: iconMaterialStyle }) })), jsx("span", { children: text }), showClose && (jsx("button", { type: "button", className: "d-chip-icon-container", onClick: onClose, "aria-label": closeAriaLabel, children: jsx(DIcon, { icon: iconClose, familyClass: iconCloseFamilyClass, familyPrefix: iconCloseFamilyPrefix, materialStyle: iconCloseMaterialStyle }) }))] })));
|
|
1283
|
+
return (jsxs("span", Object.assign({ className: classNames(generateClasses, className), style: style }, dataAttributes, { children: [icon && (jsx("div", { className: "d-chip-icon-container", children: jsx(DIcon, { icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle }) })), jsx("span", { children: text }), showClose && (jsx("button", { type: "button", className: "d-chip-icon-container", onClick: onClose, "aria-label": closeAriaLabel, children: jsx(DIcon, { icon: iconClose, familyClass: iconCloseFamilyClass !== null && iconCloseFamilyClass !== void 0 ? iconCloseFamilyClass : familyClass, familyPrefix: iconCloseFamilyPrefix !== null && iconCloseFamilyPrefix !== void 0 ? iconCloseFamilyPrefix : familyPrefix, materialStyle: iconCloseMaterialStyle !== null && iconCloseMaterialStyle !== void 0 ? iconCloseMaterialStyle : materialStyle }) }))] })));
|
|
1280
1284
|
}
|
|
1281
1285
|
|
|
1282
|
-
function DCollapse({ id, className, style, Component, defaultCollapsed = true, onChange, children, iconOpen: iconOpenProp, iconClose: iconCloseProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle
|
|
1286
|
+
function DCollapse({ id, className, style, Component, defaultCollapsed = true, onChange, children, iconOpen: iconOpenProp, iconClose: iconCloseProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, dataAttributes, }) {
|
|
1283
1287
|
const [collapsed, setCollapsed] = useState(defaultCollapsed);
|
|
1284
1288
|
const onChangeCollapse = () => {
|
|
1285
1289
|
setCollapsed((prev) => {
|
|
@@ -1293,10 +1297,10 @@ function DCollapse({ id, className, style, Component, defaultCollapsed = true, o
|
|
|
1293
1297
|
useEffect(() => {
|
|
1294
1298
|
setCollapsed(defaultCollapsed);
|
|
1295
1299
|
}, [defaultCollapsed]);
|
|
1296
|
-
const { iconMap: { chevronDown, chevronUp, }, } = useDContext();
|
|
1300
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, iconMap: { chevronDown, chevronUp, }, } = useDContext();
|
|
1297
1301
|
const iconOpen = useMemo(() => iconOpenProp || chevronDown, [chevronDown, iconOpenProp]);
|
|
1298
1302
|
const iconClose = useMemo(() => iconCloseProp || chevronUp, [chevronUp, iconCloseProp]);
|
|
1299
|
-
return (jsxs("div", Object.assign({ id: id, className: classNames('collapse-container', className), style: style }, dataAttributes, { children: [jsxs("button", { className: "collapse-button", type: "button", onClick: onChangeCollapse, children: [jsx("div", { className: "flex-grow-1", children: Component }), jsx(DIcon, { color: "primary", size: "1.25rem", icon: collapsed ? iconOpen : iconClose, familyClass: iconFamilyClass, familyPrefix: iconFamilyPrefix, materialStyle: iconMaterialStyle })] }), jsx("div", { className: classNames('collapse-body-wrapper', {
|
|
1303
|
+
return (jsxs("div", Object.assign({ id: id, className: classNames('collapse-container', className), style: style }, dataAttributes, { children: [jsxs("button", { className: "collapse-button", type: "button", onClick: onChangeCollapse, children: [jsx("div", { className: "flex-grow-1", children: Component }), jsx(DIcon, { className: "collapse-icon", color: "primary", size: "1.25rem", icon: collapsed ? iconOpen : iconClose, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })] }), jsx("div", { className: classNames('collapse-body-wrapper', {
|
|
1300
1304
|
show: !collapsed,
|
|
1301
1305
|
}), children: jsx("div", { className: "collapse-body", children: children }) })] })));
|
|
1302
1306
|
}
|
|
@@ -2087,9 +2091,9 @@ function DInputCheck(_a) {
|
|
|
2087
2091
|
]);
|
|
2088
2092
|
useEffect(() => {
|
|
2089
2093
|
if (innerRef.current) {
|
|
2090
|
-
innerRef.current.indeterminate = Boolean(indeterminate);
|
|
2094
|
+
innerRef.current.indeterminate = type === 'checkbox' && Boolean(indeterminate);
|
|
2091
2095
|
}
|
|
2092
|
-
}, [indeterminate]);
|
|
2096
|
+
}, [indeterminate, type]);
|
|
2093
2097
|
useEffect(() => {
|
|
2094
2098
|
if (innerRef.current) {
|
|
2095
2099
|
innerRef.current.checked = checked;
|
|
@@ -2282,10 +2286,18 @@ function DInputSelect({ id: idProp, name, label = '', className, style, options
|
|
|
2282
2286
|
}), children: [iconStart && (jsx("button", { type: "button", className: "input-group-text", id: `${id}Start`, onClick: iconStartClickHandler, disabled: disabled || loading, "aria-label": iconStartAriaLabel, children: iconStart && (jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass, familyPrefix: iconStartFamilyPrefix })) })), dynamicComponent, iconEnd && !loading && (jsx("button", { type: "button", className: "input-group-text", id: `${id}End`, onClick: iconEndClickHandler, disabled: disabled || loading, "aria-label": iconEndAriaLabel, children: iconEnd && (jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass, familyPrefix: iconEndFamilyPrefix })) })), loading && (jsx("div", { className: "input-group-text form-control-icon loading", children: jsx("span", { className: "spinner-border spinner-border-sm", role: "status", "aria-hidden": "true", children: jsx("span", { className: "visually-hidden", children: "Loading..." }) }) }))] }), hint && (jsx("div", { className: "form-text", id: `${id}Hint`, children: hint }))] })));
|
|
2283
2287
|
}
|
|
2284
2288
|
|
|
2285
|
-
function DInputSwitch({ id: idProp, label, ariaLabel, name, checked, disabled, invalid = false, valid = false, readonly, className, style, dataAttributes, inputClassName, onChange, }) {
|
|
2289
|
+
function DInputSwitch({ id: idProp, label, ariaLabel, name, checked, disabled, invalid = false, valid = false, hint, readonly, className, style, dataAttributes, inputClassName, onChange, }) {
|
|
2286
2290
|
const innerId = useId();
|
|
2287
2291
|
const id = useMemo(() => idProp || innerId, [idProp, innerId]);
|
|
2288
2292
|
const [internalIsChecked, setInternalIsChecked] = useState(checked);
|
|
2293
|
+
const ariaDescribedby = useMemo(() => ([
|
|
2294
|
+
!!hint && `${id}Hint`,
|
|
2295
|
+
]
|
|
2296
|
+
.filter(Boolean)
|
|
2297
|
+
.join(' ')), [
|
|
2298
|
+
id,
|
|
2299
|
+
hint,
|
|
2300
|
+
]);
|
|
2289
2301
|
useEffect(() => {
|
|
2290
2302
|
setInternalIsChecked(checked);
|
|
2291
2303
|
}, [checked]);
|
|
@@ -2294,10 +2306,10 @@ function DInputSwitch({ id: idProp, label, ariaLabel, name, checked, disabled, i
|
|
|
2294
2306
|
setInternalIsChecked(value);
|
|
2295
2307
|
onChange === null || onChange === void 0 ? void 0 : onChange(value);
|
|
2296
2308
|
}, [onChange]);
|
|
2297
|
-
return (jsxs("div", Object.assign({ className: classNames('form-check form-switch', className) }, dataAttributes, { children: [jsx("input", { id: id, name: name, onChange: readonly ? () => false : changeHandler, className: classNames('form-check-input', {
|
|
2309
|
+
return (jsxs("div", Object.assign({ className: classNames('form-check form-switch', className) }, dataAttributes, { children: [jsx("input", Object.assign({ id: id, name: name, onChange: readonly ? () => false : changeHandler, className: classNames('form-check-input', {
|
|
2298
2310
|
'is-invalid': invalid,
|
|
2299
2311
|
'is-valid': valid,
|
|
2300
|
-
}, inputClassName), style: style, type: "checkbox", role: "switch", checked: internalIsChecked, disabled: disabled, "aria-label": ariaLabel }), label && (jsx("label", { className: "form-check-label", htmlFor: id, children: label }))] })));
|
|
2312
|
+
}, inputClassName), style: style, type: "checkbox", role: "switch", checked: internalIsChecked, disabled: disabled, "aria-label": ariaLabel }, ariaDescribedby && { 'aria-describedby': ariaDescribedby })), label && (jsx("label", { className: "form-check-label", htmlFor: id, children: label })), hint && (jsx("div", { className: "form-text", id: `${id}Hint`, children: hint }))] })));
|
|
2301
2313
|
}
|
|
2302
2314
|
|
|
2303
2315
|
function DInputRange(_a, ref) {
|
|
@@ -2338,6 +2350,7 @@ const ForwardedDInputRange = forwardRef(DInputRange);
|
|
|
2338
2350
|
ForwardedDInputRange.displayName = 'DInputRange';
|
|
2339
2351
|
|
|
2340
2352
|
function DListGroupItem({ as = 'li', action: actionProp, active, disabled, href, onClick, color, iconStart, iconStartFamilyClass, iconStartFamilyPrefix, iconStartMaterialStyle, iconEnd, iconEndFamilyClass, iconEndFamilyPrefix, iconEndMaterialStyle, children, className, style, dataAttributes, }) {
|
|
2353
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, } = useDContext();
|
|
2341
2354
|
const Tag = useMemo(() => {
|
|
2342
2355
|
if (href) {
|
|
2343
2356
|
return 'a';
|
|
@@ -2366,7 +2379,7 @@ function DListGroupItem({ as = 'li', action: actionProp, active, disabled, href,
|
|
|
2366
2379
|
}
|
|
2367
2380
|
return Object.assign(Object.assign({}, active && { 'aria-current': true }), disabled && { 'aria-disabled': true });
|
|
2368
2381
|
}, [Tag, active, disabled]);
|
|
2369
|
-
return (jsxs(Tag, Object.assign({ className: classNames(generateClasses, className), style: style }, Tag === 'a' && href && { href }, onClick && { onClick }, ariaAttributes, dataAttributes, Tag === 'button' && { type: 'button' }, { children: [iconStart && (jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass, familyPrefix: iconStartFamilyPrefix, materialStyle: iconStartMaterialStyle })), children, iconEnd && (jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass, familyPrefix: iconEndFamilyPrefix, materialStyle: iconEndMaterialStyle, className: "ms-auto" }))] })));
|
|
2382
|
+
return (jsxs(Tag, Object.assign({ className: classNames(generateClasses, className), style: style }, Tag === 'a' && href && { href }, onClick && { onClick }, ariaAttributes, dataAttributes, Tag === 'button' && { type: 'button' }, { children: [iconStart && (jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass !== null && iconStartFamilyClass !== void 0 ? iconStartFamilyClass : familyClass, familyPrefix: iconStartFamilyPrefix !== null && iconStartFamilyPrefix !== void 0 ? iconStartFamilyPrefix : familyPrefix, materialStyle: iconStartMaterialStyle !== null && iconStartMaterialStyle !== void 0 ? iconStartMaterialStyle : materialStyle })), children, iconEnd && (jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass !== null && iconEndFamilyClass !== void 0 ? iconEndFamilyClass : familyClass, familyPrefix: iconEndFamilyPrefix !== null && iconEndFamilyPrefix !== void 0 ? iconEndFamilyPrefix : familyPrefix, materialStyle: iconEndMaterialStyle !== null && iconEndMaterialStyle !== void 0 ? iconEndMaterialStyle : materialStyle, className: "ms-auto" }))] })));
|
|
2370
2383
|
}
|
|
2371
2384
|
|
|
2372
2385
|
function DListGroup({ as = 'ul', numbered, flush, horizontal, children, className, style, dataAttributes, }) {
|
|
@@ -2393,10 +2406,11 @@ var DListGroup$1 = Object.assign(DListGroup, {
|
|
|
2393
2406
|
Item: DListGroupItem,
|
|
2394
2407
|
});
|
|
2395
2408
|
|
|
2396
|
-
function DModalHeader({ showCloseButton, onClose, children, className, style, iconFamilyClass, iconFamilyPrefix, icon: iconProp, materialStyle
|
|
2397
|
-
|
|
2409
|
+
function DModalHeader({ showCloseButton, onClose, children, className, style, iconFamilyClass, iconFamilyPrefix, icon: iconProp, iconMaterialStyle, materialStyle: materialStyleProp, }) {
|
|
2410
|
+
var _a;
|
|
2411
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, iconMap: { xLg, }, } = useDContext();
|
|
2398
2412
|
const icon = useMemo(() => iconProp || xLg, [iconProp, xLg]);
|
|
2399
|
-
return (jsxs(Fragment, { children: [jsxs("div", { className: classNames('modal-header', className), style: style, children: [jsx("div", { children: children }), showCloseButton && (jsx("button", { type: "button", className: "d-close", "aria-label": "Close", onClick: onClose, children: jsx(DIcon, { icon: icon, familyClass: iconFamilyClass, familyPrefix: iconFamilyPrefix, materialStyle: materialStyle }) }))] }), jsx("div", { className: "d-modal-separator" })] }));
|
|
2413
|
+
return (jsxs(Fragment, { children: [jsxs("div", { className: classNames('modal-header', className), style: style, children: [jsx("div", { children: children }), showCloseButton && (jsx("button", { type: "button", className: "d-close", "aria-label": "Close", onClick: onClose, children: jsx(DIcon, { icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: (_a = iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyleProp) !== null && _a !== void 0 ? _a : materialStyle }) }))] }), jsx("div", { className: "d-modal-separator" })] }));
|
|
2400
2414
|
}
|
|
2401
2415
|
|
|
2402
2416
|
function DModalBody({ children, className, style, }) {
|
|
@@ -2437,10 +2451,11 @@ var DModal$1 = Object.assign(DModal, {
|
|
|
2437
2451
|
Footer: DModalFooter,
|
|
2438
2452
|
});
|
|
2439
2453
|
|
|
2440
|
-
function DOffcanvasHeader({ showCloseButton, onClose, children, className, style, iconFamilyClass, iconFamilyPrefix, icon: iconProp, materialStyle
|
|
2441
|
-
|
|
2454
|
+
function DOffcanvasHeader({ showCloseButton, onClose, children, className, style, iconFamilyClass, iconFamilyPrefix, icon: iconProp, iconMaterialStyle, materialStyle: materialStyleProp, }) {
|
|
2455
|
+
var _a;
|
|
2456
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, iconMap: { xLg, }, } = useDContext();
|
|
2442
2457
|
const icon = useMemo(() => iconProp || xLg, [iconProp, xLg]);
|
|
2443
|
-
return (jsxs(Fragment, { children: [jsxs("div", { className: classNames('offcanvas-header', className), style: style, children: [jsx("div", { children: children }), showCloseButton && (jsx("button", { type: "button", className: "d-close", "aria-label": "Close", onClick: onClose, children: jsx(DIcon, { icon: icon, familyClass: iconFamilyClass, familyPrefix: iconFamilyPrefix, materialStyle: materialStyle }) }))] }), jsx("div", { className: "d-offcanvas-separator" })] }));
|
|
2458
|
+
return (jsxs(Fragment, { children: [jsxs("div", { className: classNames('offcanvas-header', className), style: style, children: [jsx("div", { children: children }), showCloseButton && (jsx("button", { type: "button", className: "d-close", "aria-label": "Close", onClick: onClose, children: jsx(DIcon, { icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: (_a = iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyleProp) !== null && _a !== void 0 ? _a : materialStyle }) }))] }), jsx("div", { className: "d-offcanvas-separator" })] }));
|
|
2444
2459
|
}
|
|
2445
2460
|
|
|
2446
2461
|
function DOffcanvasBody({ children, className, style, }) {
|
|
@@ -2581,8 +2596,8 @@ function DProgress({ className, style, currentValue, minValue = 0, maxValue = 10
|
|
|
2581
2596
|
return (jsx("div", Object.assign({ className: classNames('progress', className), style: Object.assign({ height }, style) }, dataAttributes, { children: jsx("div", { className: classNames(generateClasses), role: "progressbar", "aria-label": "Progress bar", style: { width: formatProgress }, "aria-valuenow": currentValue, "aria-valuemin": minValue, "aria-valuemax": maxValue, children: !hideCurrentValue && formatProgress }) })));
|
|
2582
2597
|
}
|
|
2583
2598
|
|
|
2584
|
-
function DStepper$2({ options, currentStep, iconSuccess: iconSuccessProp, iconSuccessFamilyClass, iconSuccessFamilyPrefix, iconSuccessMaterialStyle
|
|
2585
|
-
const { iconMap: { check, }, } = useDContext();
|
|
2599
|
+
function DStepper$2({ options, currentStep, iconSuccess: iconSuccessProp, iconSuccessFamilyClass, iconSuccessFamilyPrefix, iconSuccessMaterialStyle, vertical = false, completed, alignStart = false, className, style, }) {
|
|
2600
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, iconMap: { check, }, } = useDContext();
|
|
2586
2601
|
const icon = useMemo(() => iconSuccessProp || check, [check, iconSuccessProp]);
|
|
2587
2602
|
if (currentStep < 1 || currentStep > options.length) {
|
|
2588
2603
|
throw new Error('Current step should be in the range from 1 to options length');
|
|
@@ -2597,7 +2612,7 @@ function DStepper$2({ options, currentStep, iconSuccess: iconSuccessProp, iconSu
|
|
|
2597
2612
|
}), children: [jsx("div", { className: "d-step-value", children: jsxs("div", { className: classNames({
|
|
2598
2613
|
'd-step-icon-container': true,
|
|
2599
2614
|
'd-step-check': value < currentStep || completed,
|
|
2600
|
-
}), children: [((value < currentStep) || completed) && (jsx(DIcon, { icon: icon, familyClass: iconSuccessFamilyClass, familyPrefix: iconSuccessFamilyPrefix, materialStyle: iconSuccessMaterialStyle, className: "d-step-icon" })), value] }) }), jsxs("div", { className: "d-step-text-container", children: [jsx("div", { className: "d-step-label", children: label }), description && (jsx("div", { className: "d-step-description", children: description }))] })] }, value))) }));
|
|
2615
|
+
}), children: [((value < currentStep) || completed) && (jsx(DIcon, { icon: icon, familyClass: iconSuccessFamilyClass !== null && iconSuccessFamilyClass !== void 0 ? iconSuccessFamilyClass : familyClass, familyPrefix: iconSuccessFamilyPrefix !== null && iconSuccessFamilyPrefix !== void 0 ? iconSuccessFamilyPrefix : familyPrefix, materialStyle: iconSuccessMaterialStyle !== null && iconSuccessMaterialStyle !== void 0 ? iconSuccessMaterialStyle : materialStyle, className: "d-step-icon" })), value] }) }), jsxs("div", { className: "d-step-text-container", children: [jsx("div", { className: "d-step-label", children: label }), description && (jsx("div", { className: "d-step-description", children: description }))] })] }, value))) }));
|
|
2601
2616
|
}
|
|
2602
2617
|
|
|
2603
2618
|
function DStepper$1({ options, currentStep, className, style, }) {
|
|
@@ -2630,13 +2645,20 @@ function DStepper$1({ options, currentStep, className, style, }) {
|
|
|
2630
2645
|
return (jsxs("div", { className: classNames('d-stepper', className), style: style, children: [jsx("div", { className: "d-step-bar", style: { background: progressStyle }, children: jsx("p", { className: "d-step-number", children: `${currentStep}/${options.length}` }) }), jsx("div", { className: "d-step-info", children: Object.keys(currentOption).length > 0 && (jsxs(Fragment, { children: [jsx("div", { className: "d-step-label", children: currentOption.label }), jsx("div", { className: "d-step-description", children: currentOption.description || '' })] })) })] }));
|
|
2631
2646
|
}
|
|
2632
2647
|
|
|
2633
|
-
function DStepper({ options, currentStep, iconSuccess, iconSuccessFamilyClass, iconSuccessFamilyPrefix, iconSuccessMaterialStyle
|
|
2634
|
-
|
|
2648
|
+
function DStepper({ options, currentStep, iconSuccess, iconSuccessFamilyClass, iconSuccessFamilyPrefix, iconSuccessMaterialStyle, vertical = false, breakpoint = 'lg', className, completed = false, style, dataAttributes, }) {
|
|
2649
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, } = useDContext();
|
|
2650
|
+
return (jsxs("div", Object.assign({ className: className, style: style }, dataAttributes, { children: [jsx("div", { className: classNames('d-stepper-mobile', `d-block d-${breakpoint}-none`), children: jsx(DStepper$1, { options: options, currentStep: currentStep }) }), jsx("div", { className: classNames('d-stepper-desktop', `d-none d-${breakpoint}-block`), children: jsx(DStepper$2, { options: options, currentStep: currentStep, vertical: vertical, iconSuccess: iconSuccess, iconSuccessFamilyClass: iconSuccessFamilyClass !== null && iconSuccessFamilyClass !== void 0 ? iconSuccessFamilyClass : familyClass, iconSuccessFamilyPrefix: iconSuccessFamilyPrefix !== null && iconSuccessFamilyPrefix !== void 0 ? iconSuccessFamilyPrefix : familyPrefix, iconSuccessMaterialStyle: iconSuccessMaterialStyle !== null && iconSuccessMaterialStyle !== void 0 ? iconSuccessMaterialStyle : materialStyle, completed: completed }) })] })));
|
|
2635
2651
|
}
|
|
2636
2652
|
|
|
2637
2653
|
const ARROW_WIDTH = 8;
|
|
2638
2654
|
const ARROW_HEIGHT = 4;
|
|
2639
2655
|
const GAP$1 = 2;
|
|
2656
|
+
/**
|
|
2657
|
+
* Tooltip is an abstraction component that wraps any element (`Component`) and displays
|
|
2658
|
+
* floating contextual content (`children`) positioned relative to it using Floating UI.
|
|
2659
|
+
* Use it to add short, non-critical hints or descriptions triggered by hover, focus, or
|
|
2660
|
+
* click, without altering the surrounding layout.
|
|
2661
|
+
*/
|
|
2640
2662
|
function DTooltip({ className, childrenClassName, style, offSet = ARROW_HEIGHT + GAP$1, padding, withFocus = false, withClick = false, withHover = true, open = false, placement = 'top', size, Component, children, }) {
|
|
2641
2663
|
const [isOpen, setIsOpen] = useState(open);
|
|
2642
2664
|
const arrowRef = useRef(null);
|
|
@@ -2919,11 +2941,132 @@ function validatePhoneNumber(phone) {
|
|
|
2919
2941
|
}
|
|
2920
2942
|
}
|
|
2921
2943
|
|
|
2944
|
+
const SAFE_SCHEMES = new Set(['http:', 'https:', 'mailto:', 'tel:']);
|
|
2945
|
+
/**
|
|
2946
|
+
* Characters the URL parser drops before resolving a URL, so they cannot be used to hide a
|
|
2947
|
+
* scheme-relative prefix or a dangerous scheme (e.g. `/<TAB>/evil.com`, `java<TAB>script:`).
|
|
2948
|
+
*/
|
|
2949
|
+
const IGNORED_CHARS$1 = /[\t\n\r]/g;
|
|
2950
|
+
/**
|
|
2951
|
+
* Two leading separators in any combination. Browsers treat a leading `\` exactly like a
|
|
2952
|
+
* leading `/`, so `//`, `/\`, `\/` and `\\` all resolve to a scheme-relative URL.
|
|
2953
|
+
*/
|
|
2954
|
+
const SCHEME_RELATIVE = /^[/\\]{2}/;
|
|
2955
|
+
const LEADING_SEPARATOR = /^[/\\]/;
|
|
2956
|
+
/**
|
|
2957
|
+
* Validates a `href` value and returns it only if it is safe to render as a link,
|
|
2958
|
+
* preventing XSS through unsafe URL schemes and scheme-relative URLs.
|
|
2959
|
+
*
|
|
2960
|
+
* Before validating, the value is trimmed and every tab, line feed and carriage return is
|
|
2961
|
+
* removed, because the URL parser ignores those characters too and they would otherwise
|
|
2962
|
+
* hide an unsafe value from the checks below.
|
|
2963
|
+
*
|
|
2964
|
+
* A `href` is considered safe when it is either:
|
|
2965
|
+
* - An absolute path starting with a single separator (e.g. `/accounts/42`). A leading `\`
|
|
2966
|
+
* is normalized to `/` in the returned value, since that is how the browser resolves it.
|
|
2967
|
+
* - A URL using one of the allowed schemes: `http:`, `https:`, `mailto:`, `tel:`.
|
|
2968
|
+
*
|
|
2969
|
+
* A `href` is rejected (returns `undefined`) when it is:
|
|
2970
|
+
* - Empty or made only of whitespace/ignored characters (`''`, `' '`).
|
|
2971
|
+
* - Scheme-relative (starts with two separators, e.g. `//evil.com`, `/\evil.com`,
|
|
2972
|
+
* `/<TAB>/evil.com`), since the browser would resolve it using the current protocol and it
|
|
2973
|
+
* can be used to redirect to an attacker-controlled host.
|
|
2974
|
+
* - Using a disallowed/dangerous scheme, such as `javascript:` or `data:`
|
|
2975
|
+
* (e.g. `javascript:alert(1)`, `data:text/html,<script>...</script>`).
|
|
2976
|
+
* - Not parseable as an absolute URL and not an absolute path, such as bare fragments
|
|
2977
|
+
* (`#anchor`) or scheme-less relative paths (`relative/path`). These cannot be validated
|
|
2978
|
+
* against `SAFE_SCHEMES`, so they are rejected rather than assumed safe.
|
|
2979
|
+
*
|
|
2980
|
+
* @param href - The raw URL or path to validate, typically coming from user input,
|
|
2981
|
+
* a CMS, or an external API.
|
|
2982
|
+
* @returns The sanitized `href` when safe, `undefined` otherwise.
|
|
2983
|
+
*
|
|
2984
|
+
* @example
|
|
2985
|
+
* sanitizeHref('/accounts/42'); // '/accounts/42'
|
|
2986
|
+
* sanitizeHref('https://example.com'); // 'https://example.com'
|
|
2987
|
+
* sanitizeHref('mailto:test@example.com'); // 'mailto:test@example.com'
|
|
2988
|
+
* sanitizeHref('//evil.com'); // undefined
|
|
2989
|
+
* sanitizeHref('/\\evil.com'); // undefined
|
|
2990
|
+
* sanitizeHref('javascript:alert(1)'); // undefined
|
|
2991
|
+
*/
|
|
2992
|
+
function sanitizeHref(href) {
|
|
2993
|
+
const normalized = href.trim().replace(IGNORED_CHARS$1, '');
|
|
2994
|
+
if (!normalized)
|
|
2995
|
+
return undefined;
|
|
2996
|
+
if (SCHEME_RELATIVE.test(normalized))
|
|
2997
|
+
return undefined;
|
|
2998
|
+
if (LEADING_SEPARATOR.test(normalized))
|
|
2999
|
+
return `/${normalized.slice(1)}`;
|
|
3000
|
+
try {
|
|
3001
|
+
const { protocol } = new URL(normalized);
|
|
3002
|
+
return SAFE_SCHEMES.has(protocol) ? normalized : undefined;
|
|
3003
|
+
}
|
|
3004
|
+
catch (_a) {
|
|
3005
|
+
return undefined;
|
|
3006
|
+
}
|
|
3007
|
+
}
|
|
3008
|
+
|
|
3009
|
+
/**
|
|
3010
|
+
* Characters the URL parser drops before resolving a URL, so they cannot be used to hide a
|
|
3011
|
+
* scheme-relative prefix (e.g. `/<TAB>/evil.com`).
|
|
3012
|
+
*/
|
|
3013
|
+
const IGNORED_CHARS = /[\t\n\r]/g;
|
|
3014
|
+
/**
|
|
3015
|
+
* Leading separators. Browsers treat a leading `\` exactly like a leading `/`, so both have
|
|
3016
|
+
* to be stripped to prevent scheme-relative URLs (`//evil.com`, `/\evil.com`, `\\evil.com`).
|
|
3017
|
+
*/
|
|
3018
|
+
const LEADING_SEPARATORS = /^[/\\]+/;
|
|
3019
|
+
/**
|
|
3020
|
+
* Builds an internal URL from a `path` and a set of query `params`, normalizing leading
|
|
3021
|
+
* separators to prevent scheme-relative URLs (e.g. `//accounts` and `/\accounts` both become
|
|
3022
|
+
* `/accounts`).
|
|
3023
|
+
*
|
|
3024
|
+
* The `path` is trimmed and every tab, line feed and carriage return is removed before
|
|
3025
|
+
* building the result, because the URL parser ignores those characters too and they would
|
|
3026
|
+
* otherwise hide a scheme-relative prefix (`/<TAB>/evil.com` resolves to `//evil.com`).
|
|
3027
|
+
*
|
|
3028
|
+
* Handles the special case where `path` is the literal string `'#'`, which happens when
|
|
3029
|
+
* a Liquid template variable used as a link target is left unconfigured; in that case the
|
|
3030
|
+
* params are ignored and `'#'` is returned as-is instead of building a broken URL.
|
|
3031
|
+
*
|
|
3032
|
+
* @param path - The path to build the URL from. Leading separators are stripped before
|
|
3033
|
+
* building the result (`/accounts`, `//accounts` and `\accounts` are all treated as `accounts`).
|
|
3034
|
+
* @param params - Key/value pairs serialized as the query string.
|
|
3035
|
+
* @returns The resulting URL:
|
|
3036
|
+
* - `'#'` when `path` normalizes to `'#'` (`'#'`, `'/#'`), ignoring the params.
|
|
3037
|
+
* - `'/'` when `path` is empty and there are no params.
|
|
3038
|
+
* - `'/?<query>'` when `path` is empty and there are params.
|
|
3039
|
+
* - `'<path>'` or `'<path>?<query>'` when `path` starts with `#`, since a fragment must not be
|
|
3040
|
+
* prefixed with `/` (it would navigate away from the current document).
|
|
3041
|
+
* - `'/<path>'` or `'/<path>?<query>'` otherwise.
|
|
3042
|
+
*
|
|
3043
|
+
* @example
|
|
3044
|
+
* buildUrl('accounts', { account_id: '42' }); // '/accounts?account_id=42'
|
|
3045
|
+
* buildUrl('//accounts', {}); // '/accounts'
|
|
3046
|
+
* buildUrl('#', { account_id: '42' }); // '#'
|
|
3047
|
+
* buildUrl('#accounts', { account_id: '42' }); // '#accounts?account_id=42'
|
|
3048
|
+
* buildUrl('', { tab: 'movimientos' }); // '/?tab=movimientos'
|
|
3049
|
+
*/
|
|
3050
|
+
function buildUrl(path, params) {
|
|
3051
|
+
const normalizedPath = path
|
|
3052
|
+
.trim()
|
|
3053
|
+
.replace(IGNORED_CHARS, '')
|
|
3054
|
+
.replace(LEADING_SEPARATORS, '');
|
|
3055
|
+
if (normalizedPath === '#')
|
|
3056
|
+
return '#';
|
|
3057
|
+
const query = new URLSearchParams(Object.entries(params).map(([key, value]) => [key, String(value)])).toString();
|
|
3058
|
+
if (normalizedPath === '')
|
|
3059
|
+
return query ? `/?${query}` : '/';
|
|
3060
|
+
const prefix = normalizedPath.startsWith('#') ? '' : '/';
|
|
3061
|
+
return `${prefix}${normalizedPath}${query ? `?${query}` : ''}`;
|
|
3062
|
+
}
|
|
3063
|
+
|
|
2922
3064
|
function DInputPhone(_a, ref) {
|
|
2923
3065
|
var { id: idProp, style, className, label = '', disabled = false, loading = false, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, iconEnd, iconEndDisabled, iconEndFamilyClass, iconEndFamilyPrefix, iconEndAriaLabel, iconEndTabIndex, iconEndMaterialStyle, hint, size, invalid = false, valid = false, floatingLabel = false, inputEnd, value, placeholder = '', dataAttributes, onChange, onIconEndClick, countrySelectorProps, filteredCountries, defaultCountry = 'cl' } = _a, inputProps = __rest(_a, ["id", "style", "className", "label", "disabled", "loading", "iconFamilyClass", "iconFamilyPrefix", "iconMaterialStyle", "iconEnd", "iconEndDisabled", "iconEndFamilyClass", "iconEndFamilyPrefix", "iconEndAriaLabel", "iconEndTabIndex", "iconEndMaterialStyle", "hint", "size", "invalid", "valid", "floatingLabel", "inputEnd", "value", "placeholder", "dataAttributes", "onChange", "onIconEndClick", "countrySelectorProps", "filteredCountries", "defaultCountry"]);
|
|
2924
3066
|
const innerRef = useProvidedRefOrCreate(ref);
|
|
2925
3067
|
const innerId = useId();
|
|
2926
3068
|
const id = useMemo(() => idProp || innerId, [idProp, innerId]);
|
|
3069
|
+
const { icon: { familyClass, familyPrefix, materialStyle, }, } = useDContext();
|
|
2927
3070
|
const handleOnIconEndClick = useCallback(() => {
|
|
2928
3071
|
onIconEndClick === null || onIconEndClick === void 0 ? void 0 : onIconEndClick(value);
|
|
2929
3072
|
}, [onIconEndClick, value]);
|
|
@@ -2997,7 +3140,7 @@ function DInputPhone(_a, ref) {
|
|
|
2997
3140
|
[`input-group-${size}`]: !!size,
|
|
2998
3141
|
'input-group': true,
|
|
2999
3142
|
'has-validation': invalid || valid,
|
|
3000
|
-
}), children: [jsx(CountrySelector, Object.assign({}, countrySelectorProps, { selectedCountry: country.iso2, onSelect: ({ iso2 }) => setCountry(iso2), countries: countries, disabled: disabled || loading, className: classNames('input-group-text', countrySelectorProps === null || countrySelectorProps === void 0 ? void 0 : countrySelectorProps.className) })), dynamicComponent, (iconEnd && !loading) && (jsx("button", { type: "button", className: "input-group-text", id: `${id}End`, onClick: handleOnIconEndClick, disabled: disabled || loading || iconEndDisabled, "aria-label": iconEndAriaLabel, tabIndex: onIconEndClick ? iconEndTabIndex : -1, children: jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass, familyPrefix: iconEndFamilyPrefix, materialStyle: iconEndMaterialStyle }) })), loading && (jsx("div", { className: "input-group-text", id: `${id}Loading`, children: jsx("span", { className: "spinner-border spinner-border-sm", role: "status", "aria-hidden": "true", children: jsx("span", { className: "visually-hidden", children: "Loading..." }) }) })), !!inputEnd && (jsx("div", { className: "input-group-text", id: `${id}InputEnd`, children: inputEnd }))] }), hint && (jsx("div", { className: "form-text", id: `${id}Hint`, children: hint }))] })));
|
|
3143
|
+
}), children: [jsx(CountrySelector, Object.assign({}, countrySelectorProps, { selectedCountry: country.iso2, onSelect: ({ iso2 }) => setCountry(iso2), countries: countries, disabled: disabled || loading, className: classNames('input-group-text', countrySelectorProps === null || countrySelectorProps === void 0 ? void 0 : countrySelectorProps.className) })), dynamicComponent, (iconEnd && !loading) && (jsx("button", { type: "button", className: "input-group-text", id: `${id}End`, onClick: handleOnIconEndClick, disabled: disabled || loading || iconEndDisabled, "aria-label": iconEndAriaLabel, tabIndex: onIconEndClick ? iconEndTabIndex : -1, children: jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass !== null && iconEndFamilyClass !== void 0 ? iconEndFamilyClass : familyClass, familyPrefix: iconEndFamilyPrefix !== null && iconEndFamilyPrefix !== void 0 ? iconEndFamilyPrefix : familyPrefix, materialStyle: iconEndMaterialStyle !== null && iconEndMaterialStyle !== void 0 ? iconEndMaterialStyle : materialStyle }) })), loading && (jsx("div", { className: "input-group-text", id: `${id}Loading`, children: jsx("span", { className: "spinner-border spinner-border-sm", role: "status", "aria-hidden": "true", children: jsx("span", { className: "visually-hidden", children: "Loading..." }) }) })), !!inputEnd && (jsx("div", { className: "input-group-text", id: `${id}InputEnd`, children: inputEnd }))] }), hint && (jsx("div", { className: "form-text", id: `${id}Hint`, children: hint }))] })));
|
|
3001
3144
|
}
|
|
3002
3145
|
const ForwardedDInputPhone = forwardRef(DInputPhone);
|
|
3003
3146
|
ForwardedDInputPhone.displayName = 'DInputPhone';
|
|
@@ -3599,5 +3742,5 @@ function DConfirmModalContainer({ nodeId }) {
|
|
|
3599
3742
|
return createPortal(jsx(AnimatePresence, { children: entries.map((entry) => (jsxs(motion.div, { initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0, transition: { delay: 0.3 } }, transition: { duration: 0.15, ease: 'linear' }, children: [jsx("div", { className: "backdrop backdrop-confirm-modal", onClick: entry.onCloseAction, role: "presentation" }), jsx(DConfirmModalUI, { entry: entry })] }, entry.id))) }), portalNode);
|
|
3600
3743
|
}
|
|
3601
3744
|
|
|
3602
|
-
export { DAlert, DAvatar, DBadge, DBox, DBoxFile, DButton, DButtonIcon, DCard$1 as DCard, DCardBody, DCardFooter, DCardHeader, DCarousel$1 as DCarousel, DCarouselSlide, DChip, DCollapse, DConfirmModalContainer, DContext, DContextProvider, DCreditCard, DCurrencyText, DDataStateWrapper, DDatePicker, DDropdown, DErrorBoundary, DIcon, DIconBase, ForwardedDInput as DInput, DInputCheck, ForwardedDInputCounter as DInputCounter, ForwardedDInputCurrency as DInputCurrency, ForwardedDInputMask as DInputMask, ForwardedDInputPassword as DInputPassword, ForwardedDInputPhone as DInputPhone, DInputPin, ForwardedDInputRange as DInputRange, ForwardedDInputSearch as DInputSearch, DInputSelect, DInputSwitch, DLayout$1 as DLayout, DLayoutPane, DListGroup$1 as DListGroup, DListGroupItem, DModal$1 as DModal, DModalBody, DModalFooter, DModalHeader, DOffcanvas$1 as DOffcanvas, DOffcanvasBody, DOffcanvasFooter, DOffcanvasHeader, DOtp, DPaginator, DPasswordStrengthMeter, DPopover, DProgress, DSelect$1 as DSelect, DStepper, DStepper$2 as DStepperDesktop, DStepper$1 as DStepperMobile, DTabContent, DTabs$1 as DTabs, DTimeline, DToast$1 as DToast, DToastContainer, DTooltip, DVoucher, EmptyState, ErrorState, LoadingState, changeQueryString, checkMediaQuery, configureI8n as configureI18n, formatCurrency, getCssVariable, getQueryString, subscribeToMediaQuery, useConfirmModal, useCountdown, useDContext, useDPortalContext, useDToast, useDisableBodyScrollEffect, useDisableInputWheel, useFormatCurrency, useInputCurrency, useItemSelection, useMediaBreakpointUpLg, useMediaBreakpointUpMd, useMediaBreakpointUpSm, useMediaBreakpointUpXl, useMediaBreakpointUpXs, useMediaBreakpointUpXxl, useMediaQuery, useOtp, useProvidedRefOrCreate, useScreenshot, useScreenshotDownload, useScreenshotWebShare, useStackState, useTabContext, validatePhoneNumber };
|
|
3745
|
+
export { DAlert, DAvatar, DBadge, DBox, DBoxFile, DButton, DButtonIcon, DCard$1 as DCard, DCardBody, DCardFooter, DCardHeader, DCarousel$1 as DCarousel, DCarouselSlide, DChip, DCollapse, DConfirmModalContainer, DContext, DContextProvider, DCreditCard, DCurrencyText, DDataStateWrapper, DDatePicker, DDropdown, DErrorBoundary, DIcon, DIconBase, ForwardedDInput as DInput, DInputCheck, ForwardedDInputCounter as DInputCounter, ForwardedDInputCurrency as DInputCurrency, ForwardedDInputMask as DInputMask, ForwardedDInputPassword as DInputPassword, ForwardedDInputPhone as DInputPhone, DInputPin, ForwardedDInputRange as DInputRange, ForwardedDInputSearch as DInputSearch, DInputSelect, DInputSwitch, DLayout$1 as DLayout, DLayoutPane, DListGroup$1 as DListGroup, DListGroupItem, DModal$1 as DModal, DModalBody, DModalFooter, DModalHeader, DOffcanvas$1 as DOffcanvas, DOffcanvasBody, DOffcanvasFooter, DOffcanvasHeader, DOtp, DPaginator, DPasswordStrengthMeter, DPopover, DProgress, DSelect$1 as DSelect, DStepper, DStepper$2 as DStepperDesktop, DStepper$1 as DStepperMobile, DTabContent, DTabs$1 as DTabs, DTimeline, DToast$1 as DToast, DToastContainer, DTooltip, DVoucher, EmptyState, ErrorState, LoadingState, buildUrl, changeQueryString, checkMediaQuery, configureI8n as configureI18n, formatCurrency, getCssVariable, getQueryString, sanitizeHref, subscribeToMediaQuery, useConfirmModal, useCountdown, useDContext, useDPortalContext, useDToast, useDisableBodyScrollEffect, useDisableInputWheel, useFormatCurrency, useInputCurrency, useItemSelection, useMediaBreakpointUpLg, useMediaBreakpointUpMd, useMediaBreakpointUpSm, useMediaBreakpointUpXl, useMediaBreakpointUpXs, useMediaBreakpointUpXxl, useMediaQuery, useOtp, useProvidedRefOrCreate, useScreenshot, useScreenshotDownload, useScreenshotWebShare, useStackState, useTabContext, validatePhoneNumber };
|
|
3603
3746
|
//# sourceMappingURL=index.esm.js.map
|