@dynamic-framework/ui-react 1.36.1 → 2.0.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/css/dynamic-ui-non-root.css +81 -12
  2. package/dist/css/dynamic-ui-non-root.min.css +2 -2
  3. package/dist/css/dynamic-ui-root.css +1 -1
  4. package/dist/css/dynamic-ui-root.min.css +1 -1
  5. package/dist/css/dynamic-ui.css +81 -12
  6. package/dist/css/dynamic-ui.min.css +2 -2
  7. package/dist/index.esm.js +17 -19
  8. package/dist/index.esm.js.map +1 -1
  9. package/dist/index.js +17 -19
  10. package/dist/index.js.map +1 -1
  11. package/dist/js/bootstrap.bundle.js +3 -6
  12. package/dist/js/bootstrap.bundle.min.js +2 -2
  13. package/dist/js/bootstrap.esm.js +3 -6
  14. package/dist/js/bootstrap.esm.min.js +2 -2
  15. package/dist/js/bootstrap.js +3 -6
  16. package/dist/js/bootstrap.min.js +2 -2
  17. package/dist/types/components/DBoxFile/useDBoxFile.d.ts +2 -2
  18. package/dist/types/components/DCarousel/components/DCarouselSlide.d.ts +3 -1
  19. package/dist/types/components/DCollapse/DCollapse.d.ts +1 -1
  20. package/dist/types/components/DInput/DInput.d.ts +1 -1
  21. package/dist/types/components/DInputCounter/DInputCounter.d.ts +1 -1
  22. package/dist/types/components/DInputCurrency/DInputCurrency.d.ts +1 -1
  23. package/dist/types/components/DInputCurrencyBase/DInputCurrencyBase.d.ts +1 -1
  24. package/dist/types/components/DInputMask/DInputMask.d.ts +1 -1
  25. package/dist/types/components/DInputPhone/DInputPhone.d.ts +1 -1
  26. package/dist/types/components/DInputSearch/DInputSearch.d.ts +1 -1
  27. package/dist/types/components/DPopover/DPopover.d.ts +1 -1
  28. package/dist/types/contexts/DContext.d.ts +0 -2
  29. package/dist/types/hooks/tests/useDisableBodyScrollEffect.spec.d.ts +1 -0
  30. package/dist/types/hooks/tests/useDisableInputWheel.spec.d.ts +1 -0
  31. package/dist/types/hooks/tests/useFormatCurrency.spec.d.ts +1 -0
  32. package/dist/types/hooks/tests/useInputCurrency.spec.d.ts +1 -0
  33. package/dist/types/hooks/tests/useItemSelection.spec.d.ts +1 -0
  34. package/dist/types/hooks/tests/useMediaBreakpointUp.spec.d.ts +1 -0
  35. package/dist/types/hooks/tests/useMediaQuery.spec.d.ts +1 -0
  36. package/dist/types/hooks/tests/usePortal.spec.d.ts +1 -0
  37. package/dist/types/hooks/tests/useProvidedRefOrCreate.spec.d.ts +1 -0
  38. package/dist/types/hooks/tests/useStackState.spec.d.ts +1 -0
  39. package/dist/types/hooks/useInputCurrency.d.ts +1 -1
  40. package/dist/types/hooks/useProvidedRefOrCreate.d.ts +1 -1
  41. package/dist/types/types/polymorphic.d.ts +3 -3
  42. package/dist/types/utils/tests/attr-accept.spec.d.ts +1 -0
  43. package/dist/types/utils/tests/changeQueryString.spec.d.ts +1 -0
  44. package/dist/types/utils/tests/configureI18n.spec.d.ts +1 -0
  45. package/dist/types/utils/tests/formatCurrency.spec.d.ts +1 -0
  46. package/dist/types/utils/tests/getCssVariable.spec.d.ts +1 -0
  47. package/dist/types/utils/tests/getKeyboardFocusableElements.spec.d.ts +1 -0
  48. package/dist/types/utils/tests/getQueryString.spec.d.ts +1 -0
  49. package/dist/types/utils/tests/mediaQuery.spec.d.ts +1 -0
  50. package/dist/types/utils/tests/validatePhoneNumber.spec.d.ts +1 -0
  51. package/jest/setup.js +94 -1
  52. package/package.json +28 -29
  53. package/src/style/abstracts/variables/_forms.scss +2 -2
  54. package/src/style/abstracts/variables/_z-index.scss +24 -0
  55. package/src/style/components/_d-icon.scss +1 -1
  56. package/src/style/components/_d-select.scss +3 -3
  57. package/dist/css/bootstrap-icons.css +0 -2106
  58. package/dist/css/bootstrap-icons.json +0 -2080
  59. package/dist/css/bootstrap-icons.min.css +0 -5
  60. package/dist/css/bootstrap-icons.scss +0 -2118
  61. package/dist/css/fonts/bootstrap-icons.woff +0 -0
  62. package/dist/css/fonts/bootstrap-icons.woff2 +0 -0
package/dist/index.js CHANGED
@@ -270,8 +270,6 @@ const DEFAULT_STATE = {
270
270
  secondary: 'info-circle',
271
271
  },
272
272
  input: {
273
- invalid: 'exclamation-circle',
274
- valid: 'check',
275
273
  search: 'search',
276
274
  show: 'eye',
277
275
  hide: 'eye-slash',
@@ -460,7 +458,7 @@ function DInput(_a, ref) {
460
458
  [`input-group-${size}`]: !!size,
461
459
  'input-group': true,
462
460
  'has-validation': invalid || valid,
463
- }), children: [!!inputStart && (jsxRuntime.jsx("div", { className: "input-group-text", id: `${id}InputStart`, children: inputStart })), iconStart && (jsxRuntime.jsx("button", { type: "button", className: "input-group-text", id: `${id}Start`, onClick: handleOnIconStartClick, disabled: disabled || loading || iconStartDisabled, "aria-label": iconStartAriaLabel, tabIndex: onIconStartClick ? iconStartTabIndex : -1, children: jsxRuntime.jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass, familyPrefix: iconStartFamilyPrefix, materialStyle: iconStartMaterialStyle }) })), dynamicComponent, (iconEnd && !loading) && (jsxRuntime.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: jsxRuntime.jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass, familyPrefix: iconEndFamilyPrefix, materialStyle: iconEndMaterialStyle }) })), loading && (jsxRuntime.jsx("div", { className: "input-group-text", id: `${id}Loading`, children: jsxRuntime.jsx("span", { className: "spinner-border spinner-border-sm", role: "status", "aria-hidden": "true", children: jsxRuntime.jsx("span", { className: "visually-hidden", children: "Loading..." }) }) })), !!inputEnd && (jsxRuntime.jsx("div", { className: "input-group-text", id: `${id}InputEnd`, children: inputEnd }))] }), hint && (jsxRuntime.jsx("div", { className: "form-text", id: `${id}Hint`, children: hint }))] })));
461
+ }), children: [!!inputStart && (jsxRuntime.jsx("div", { className: "input-group-text", id: `${id}InputStart`, children: inputStart })), iconStart && (jsxRuntime.jsx("button", { type: "button", className: "input-group-text", id: `${id}Start`, onClick: handleOnIconStartClick, disabled: disabled || loading || iconStartDisabled, "aria-label": iconStartAriaLabel, tabIndex: onIconStartClick ? iconStartTabIndex : -1, children: jsxRuntime.jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass, familyPrefix: iconStartFamilyPrefix, materialStyle: iconStartMaterialStyle }) })), dynamicComponent, (iconEnd && !loading) && (jsxRuntime.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: jsxRuntime.jsx(DIcon, { icon: iconEnd, familyClass: iconEndFamilyClass, familyPrefix: iconEndFamilyPrefix, materialStyle: iconEndMaterialStyle }) })), loading && (jsxRuntime.jsx("div", { className: "input-group-text", id: `${id}Loading`, children: jsxRuntime.jsx("span", { className: "spinner-border spinner-border-sm", role: "status", "aria-hidden": "true", "data-testid": "loading-spinner", children: jsxRuntime.jsx("span", { className: "visually-hidden", children: "Loading..." }) }) })), !!inputEnd && (jsxRuntime.jsx("div", { className: "input-group-text", id: `${id}InputEnd`, children: inputEnd }))] }), hint && (jsxRuntime.jsx("div", { className: "form-text", id: `${id}Hint`, children: hint }))] })));
464
462
  }
465
463
  const ForwardedDInput = React.forwardRef(DInput);
466
464
  ForwardedDInput.displayName = 'DInput';
@@ -964,24 +962,24 @@ function DChip({ theme = 'primary', text, icon, iconFamilyClass, iconFamilyPrefi
964
962
  return (jsxRuntime.jsxs("span", Object.assign({ className: classNames(generateClasses, className), style: style }, dataAttributes, { children: [icon && (jsxRuntime.jsx("div", { className: "d-chip-icon-container", children: jsxRuntime.jsx(DIcon, { icon: icon, familyClass: iconFamilyClass, familyPrefix: iconFamilyPrefix, materialStyle: iconMaterialStyle }) })), jsxRuntime.jsx("span", { children: text }), showClose && (jsxRuntime.jsx("button", { type: "button", className: "d-chip-icon-container", onClick: onClose, "aria-label": closeAriaLabel, children: jsxRuntime.jsx(DIcon, { icon: iconClose, familyClass: iconCloseFamilyClass, familyPrefix: iconCloseFamilyPrefix, materialStyle: iconCloseMaterialStyle }) }))] })));
965
963
  }
966
964
 
967
- function DCollapse({ id, className, style, Component, hasSeparator = false, defaultCollapsed = false, onChange, children, iconOpen: iconOpenProp, iconClose: iconCloseProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle = false, dataAttributes, }) {
968
- const [toggle, setToggle] = React.useState(defaultCollapsed);
969
- const onChangeCollapse = () => setToggle((prev) => !prev);
965
+ function DCollapse({ id, className, style, Component, hasSeparator = false, defaultCollapsed = true, onChange, children, iconOpen: iconOpenProp, iconClose: iconCloseProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle = false, dataAttributes, }) {
966
+ const [collapsed, setCollapsed] = React.useState(defaultCollapsed);
967
+ const onChangeCollapse = () => {
968
+ setCollapsed((prev) => {
969
+ const next = !prev;
970
+ if (onChange) {
971
+ onChange(next);
972
+ }
973
+ return next;
974
+ });
975
+ };
970
976
  const { iconMap: { chevronDown, chevronUp, }, } = useDContext();
971
- const iconOpen = React.useMemo(() => iconOpenProp || chevronUp, [chevronUp, iconOpenProp]);
972
- const iconClose = React.useMemo(() => iconCloseProp || chevronDown, [chevronDown, iconCloseProp]);
973
- React.useEffect(() => {
974
- if (onChange) {
975
- onChange(toggle);
976
- }
977
- }, [toggle, onChange]);
978
- React.useEffect(() => {
979
- setToggle(defaultCollapsed);
980
- }, [defaultCollapsed]);
977
+ const iconOpen = React.useMemo(() => iconOpenProp || chevronDown, [chevronDown, iconOpenProp]);
978
+ const iconClose = React.useMemo(() => iconCloseProp || chevronUp, [chevronUp, iconCloseProp]);
981
979
  const generateStyles = React.useMemo(() => ({
982
980
  [`--${PREFIX_BS}collapse-separator-display`]: hasSeparator ? 'block' : 'none',
983
981
  }), [hasSeparator]);
984
- return (jsxRuntime.jsxs("div", Object.assign({ id: id, className: classNames('collapse-container', className), style: style }, dataAttributes, { children: [jsxRuntime.jsxs("button", { className: "collapse-button", type: "button", onClick: onChangeCollapse, children: [jsxRuntime.jsx("div", { className: "flex-grow-1", children: Component }), jsxRuntime.jsx(DIcon, { color: `var(--${PREFIX_BS}gray)`, size: `var(--${PREFIX_BS}fs-small)`, icon: toggle ? iconOpen : iconClose, familyClass: iconFamilyClass, familyPrefix: iconFamilyPrefix, materialStyle: iconMaterialStyle })] }), toggle && (jsxRuntime.jsx("div", { className: classNames({
982
+ return (jsxRuntime.jsxs("div", Object.assign({ id: id, className: classNames('collapse-container', className), style: style }, dataAttributes, { children: [jsxRuntime.jsxs("button", { className: "collapse-button", type: "button", onClick: onChangeCollapse, children: [jsxRuntime.jsx("div", { className: "flex-grow-1", children: Component }), jsxRuntime.jsx(DIcon, { color: `var(--${PREFIX_BS}gray)`, size: `var(--${PREFIX_BS}fs-small)`, icon: collapsed ? iconOpen : iconClose, familyClass: iconFamilyClass, familyPrefix: iconFamilyPrefix, materialStyle: iconMaterialStyle })] }), !collapsed && (jsxRuntime.jsx("div", { className: classNames({
985
983
  'collapse-body': true,
986
984
  }), style: generateStyles, children: children }))] })));
987
985
  }
@@ -1906,9 +1904,9 @@ function DPopover({ children, renderComponent, open, setOpen, adjustContentToRen
1906
1904
  role,
1907
1905
  ]);
1908
1906
  const headingId = react.useId();
1909
- const generateStyleVariables = React.useMemo(() => (Object.assign(Object.assign({}, style), adjustContentToRender && {
1907
+ const generateStyleVariables = React.useMemo(() => (Object.assign(Object.assign({}, style), (adjustContentToRender && {
1910
1908
  [`--${PREFIX_BS}popover-component-min-width`]: 'auto',
1911
- })), [style, adjustContentToRender]);
1909
+ }))), [style, adjustContentToRender]);
1912
1910
  return (jsxRuntime.jsxs("div", Object.assign({ className: classNames('d-popover', className), style: generateStyleVariables }, dataAttributes, { children: [jsxRuntime.jsx("div", Object.assign({ ref: refs.setReference }, getReferenceProps(), { children: renderComponent(isOpen) })), isOpen && (jsxRuntime.jsx(react.FloatingFocusManager, { context: context, modal: false, children: jsxRuntime.jsx("div", Object.assign({ className: classNames('d-popover-content', {
1913
1911
  'w-100': adjustContentToRender,
1914
1912
  }), ref: refs.setFloating, style: floatingStyles, "aria-labelledby": headingId }, getFloatingProps(), { children: children })) }))] })));