@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.esm.js CHANGED
@@ -268,8 +268,6 @@ const DEFAULT_STATE = {
268
268
  secondary: 'info-circle',
269
269
  },
270
270
  input: {
271
- invalid: 'exclamation-circle',
272
- valid: 'check',
273
271
  search: 'search',
274
272
  show: 'eye',
275
273
  hide: 'eye-slash',
@@ -458,7 +456,7 @@ function DInput(_a, ref) {
458
456
  [`input-group-${size}`]: !!size,
459
457
  'input-group': true,
460
458
  'has-validation': invalid || valid,
461
- }), children: [!!inputStart && (jsx("div", { className: "input-group-text", id: `${id}InputStart`, children: inputStart })), iconStart && (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: jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass, familyPrefix: iconStartFamilyPrefix, materialStyle: iconStartMaterialStyle }) })), 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 }))] })));
459
+ }), children: [!!inputStart && (jsx("div", { className: "input-group-text", id: `${id}InputStart`, children: inputStart })), iconStart && (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: jsx(DIcon, { icon: iconStart, familyClass: iconStartFamilyClass, familyPrefix: iconStartFamilyPrefix, materialStyle: iconStartMaterialStyle }) })), 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", "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 }))] })));
462
460
  }
463
461
  const ForwardedDInput = forwardRef(DInput);
464
462
  ForwardedDInput.displayName = 'DInput';
@@ -962,24 +960,24 @@ function DChip({ theme = 'primary', text, icon, iconFamilyClass, iconFamilyPrefi
962
960
  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 }) }))] })));
963
961
  }
964
962
 
965
- function DCollapse({ id, className, style, Component, hasSeparator = false, defaultCollapsed = false, onChange, children, iconOpen: iconOpenProp, iconClose: iconCloseProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle = false, dataAttributes, }) {
966
- const [toggle, setToggle] = useState(defaultCollapsed);
967
- const onChangeCollapse = () => setToggle((prev) => !prev);
963
+ function DCollapse({ id, className, style, Component, hasSeparator = false, defaultCollapsed = true, onChange, children, iconOpen: iconOpenProp, iconClose: iconCloseProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle = false, dataAttributes, }) {
964
+ const [collapsed, setCollapsed] = useState(defaultCollapsed);
965
+ const onChangeCollapse = () => {
966
+ setCollapsed((prev) => {
967
+ const next = !prev;
968
+ if (onChange) {
969
+ onChange(next);
970
+ }
971
+ return next;
972
+ });
973
+ };
968
974
  const { iconMap: { chevronDown, chevronUp, }, } = useDContext();
969
- const iconOpen = useMemo(() => iconOpenProp || chevronUp, [chevronUp, iconOpenProp]);
970
- const iconClose = useMemo(() => iconCloseProp || chevronDown, [chevronDown, iconCloseProp]);
971
- useEffect(() => {
972
- if (onChange) {
973
- onChange(toggle);
974
- }
975
- }, [toggle, onChange]);
976
- useEffect(() => {
977
- setToggle(defaultCollapsed);
978
- }, [defaultCollapsed]);
975
+ const iconOpen = useMemo(() => iconOpenProp || chevronDown, [chevronDown, iconOpenProp]);
976
+ const iconClose = useMemo(() => iconCloseProp || chevronUp, [chevronUp, iconCloseProp]);
979
977
  const generateStyles = useMemo(() => ({
980
978
  [`--${PREFIX_BS}collapse-separator-display`]: hasSeparator ? 'block' : 'none',
981
979
  }), [hasSeparator]);
982
- 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: `var(--${PREFIX_BS}gray)`, size: `var(--${PREFIX_BS}fs-small)`, icon: toggle ? iconOpen : iconClose, familyClass: iconFamilyClass, familyPrefix: iconFamilyPrefix, materialStyle: iconMaterialStyle })] }), toggle && (jsx("div", { className: classNames({
980
+ 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: `var(--${PREFIX_BS}gray)`, size: `var(--${PREFIX_BS}fs-small)`, icon: collapsed ? iconOpen : iconClose, familyClass: iconFamilyClass, familyPrefix: iconFamilyPrefix, materialStyle: iconMaterialStyle })] }), !collapsed && (jsx("div", { className: classNames({
983
981
  'collapse-body': true,
984
982
  }), style: generateStyles, children: children }))] })));
985
983
  }
@@ -1904,9 +1902,9 @@ function DPopover({ children, renderComponent, open, setOpen, adjustContentToRen
1904
1902
  role,
1905
1903
  ]);
1906
1904
  const headingId = useId$1();
1907
- const generateStyleVariables = useMemo(() => (Object.assign(Object.assign({}, style), adjustContentToRender && {
1905
+ const generateStyleVariables = useMemo(() => (Object.assign(Object.assign({}, style), (adjustContentToRender && {
1908
1906
  [`--${PREFIX_BS}popover-component-min-width`]: 'auto',
1909
- })), [style, adjustContentToRender]);
1907
+ }))), [style, adjustContentToRender]);
1910
1908
  return (jsxs("div", Object.assign({ className: classNames('d-popover', className), style: generateStyleVariables }, dataAttributes, { children: [jsx("div", Object.assign({ ref: refs.setReference }, getReferenceProps(), { children: renderComponent(isOpen) })), isOpen && (jsx(FloatingFocusManager, { context: context, modal: false, children: jsx("div", Object.assign({ className: classNames('d-popover-content', {
1911
1909
  'w-100': adjustContentToRender,
1912
1910
  }), ref: refs.setFloating, style: floatingStyles, "aria-labelledby": headingId }, getFloatingProps(), { children: children })) }))] })));