@ainias42/react-bootstrap-mobile 0.1.31 → 0.2.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.
Files changed (52) hide show
  1. package/.eslintrc.json +1 -1
  2. package/bin/updateCopies.js +5 -1
  3. package/bootstrapReactMobile.ts +2 -0
  4. package/dist/bootstrapReactMobile.d.ts +2 -0
  5. package/dist/bootstrapReactMobile.js +1611 -1070
  6. package/dist/bootstrapReactMobile.js.map +1 -1
  7. package/dist/src/Components/DragAndDrop/DropArea.d.ts +1 -3
  8. package/dist/src/Components/Hooks/useClientLayoutEffect.d.ts +2 -0
  9. package/dist/src/Components/Hooks/useDelayed.d.ts +1 -1
  10. package/dist/src/Components/Layout/Block.d.ts +1 -1
  11. package/dist/src/Components/Layout/Flex.d.ts +1 -1
  12. package/dist/src/Components/Layout/Inline.d.ts +1 -1
  13. package/dist/src/Components/Layout/InlineBlock.d.ts +1 -1
  14. package/dist/src/Components/Layout/View.d.ts +2 -3
  15. package/dist/src/Components/Layout/ViewWithoutListeners.d.ts +2 -3
  16. package/dist/src/Components/Toast/ToastContext.d.ts +11 -0
  17. package/package.json +64 -53
  18. package/react-bootstrap-mobile.scss +2 -2
  19. package/src/Components/Card/Card.tsx +0 -1
  20. package/src/Components/Dialog/DialogContainer.tsx +15 -13
  21. package/src/Components/Dialog/DialogContext.ts +4 -1
  22. package/src/Components/DragAndDrop/DropArea.tsx +2 -6
  23. package/src/Components/FormElements/Button/Button.tsx +1 -1
  24. package/src/Components/FormElements/ColorInput/ColorInput.tsx +3 -2
  25. package/src/Components/FormElements/Input/FileInput/FileInput.tsx +1 -1
  26. package/src/Components/FormElements/Input/FileInput/MultipleFileInput.tsx +1 -3
  27. package/src/Components/FormElements/Input/HiddenInput.tsx +0 -1
  28. package/src/Components/FormElements/Input/Input.tsx +30 -20
  29. package/src/Components/FormElements/Select/Select.tsx +1 -1
  30. package/src/Components/FullScreen/FullScreen.tsx +1 -1
  31. package/src/Components/Hooks/useClientLayoutEffect.ts +8 -0
  32. package/src/Components/Hooks/useDelayed.ts +1 -1
  33. package/src/Components/Hooks/useMousePosition.ts +3 -2
  34. package/src/Components/Layout/Grid/GridItem.tsx +0 -1
  35. package/src/Components/Layout/Grow.tsx +2 -4
  36. package/src/Components/Layout/View.tsx +5 -10
  37. package/src/Components/Layout/ViewWithoutListeners.tsx +4 -9
  38. package/src/Components/Menu/Menu.tsx +9 -9
  39. package/src/Components/RbmComponentProps.ts +0 -1
  40. package/src/Components/SpoilerList/Spoiler/Spoiler.tsx +1 -3
  41. package/src/Components/Toast/Toast.tsx +0 -1
  42. package/src/Components/Toast/ToastContainer.tsx +59 -3
  43. package/src/Components/Toast/ToastContext.ts +9 -0
  44. package/src/Components/TopBar/TopBarButton.tsx +2 -4
  45. package/src/Components/TopBar/topBar.scss +4 -0
  46. package/src/helper/withRenderBrowserOnly.tsx +2 -2
  47. package/src/scss/_baseClasses.scss +6 -6
  48. package/src/scss/_default.scss +2 -0
  49. package/src/scss/_variables.scss +2 -2
  50. package/webpack.config.js +2 -1
  51. package/src/scss/_animations.scss +0 -46
  52. package/src/scss/_mobileMixin.scss +0 -35
@@ -2,6 +2,4 @@ import * as React from 'react';
2
2
  import { RbmComponentProps, WithNoStringAndChildrenProps } from '../RbmComponentProps';
3
3
  import { DroppableProps } from 'react-beautiful-dnd';
4
4
  export type DropAreaProps = RbmComponentProps<Omit<DroppableProps, 'children'>, WithNoStringAndChildrenProps>;
5
- declare function DropArea({ children, style, className, ...dropProps }: DropAreaProps): React.JSX.Element | null;
6
- declare const DropAreaMemo: typeof DropArea;
7
- export { DropAreaMemo as DropArea };
5
+ export declare const DropArea: ({ children, style, className, ...dropProps }: DropAreaProps) => React.JSX.Element | null;
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare function useClientLayoutEffect(...params: Parameters<typeof React.useLayoutEffect>): void;
@@ -1 +1 @@
1
- export declare function useDelayed<Args extends any[]>(callback: (...args: Args) => void | Promise<void>, dependencies: any[], delay?: number, maxDelay?: number): (...newArgs: Args) => void;
1
+ export declare function useDelayed<Args extends any[]>(callback: (...args: Args) => void | Promise<void>, dependencies: any[], delay?: number, maxDelay?: number | undefined): (...newArgs: Args) => void;
@@ -3,5 +3,5 @@
3
3
  import { RbmComponentProps } from '../RbmComponentProps';
4
4
  import { ViewWithoutListenersProps } from './ViewWithoutListeners';
5
5
  export type BlockProps<AsType extends keyof JSX.IntrinsicElements> = RbmComponentProps<ViewWithoutListenersProps<AsType>>;
6
- declare const BlockMemo: import("../../helper/withForwardRef").RefComponent<BlockProps<keyof JSX.IntrinsicElements>, SVGSymbolElement | SVGElement | HTMLObjectElement | HTMLElement | HTMLHtmlElement | SVGTextElement | HTMLTitleElement | HTMLLinkElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLButtonElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDivElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLIFrameElement | HTMLImageElement | HTMLInputElement | HTMLLabelElement | HTMLLegendElement | HTMLLIElement | HTMLMapElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLParagraphElement | HTMLParamElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLSpanElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableDataCellElement | HTMLTextAreaElement | HTMLTableHeaderCellElement | HTMLTimeElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement | HTMLWebViewElement | SVGSVGElement | SVGCircleElement | SVGClipPathElement | SVGDefsElement | SVGDescElement | SVGEllipseElement | SVGFEBlendElement | SVGFEColorMatrixElement | SVGFEComponentTransferElement | SVGFECompositeElement | SVGFEConvolveMatrixElement | SVGFEDiffuseLightingElement | SVGFEDisplacementMapElement | SVGFEDistantLightElement | SVGFEDropShadowElement | SVGFEFloodElement | SVGFEFuncAElement | SVGFEFuncBElement | SVGFEFuncGElement | SVGFEFuncRElement | SVGFEGaussianBlurElement | SVGFEImageElement | SVGFEMergeElement | SVGFEMergeNodeElement | SVGFEMorphologyElement | SVGFEOffsetElement | SVGFEPointLightElement | SVGFESpecularLightingElement | SVGFESpotLightElement | SVGFETileElement | SVGFETurbulenceElement | SVGFilterElement | SVGForeignObjectElement | SVGGElement | SVGImageElement | SVGLineElement | SVGLinearGradientElement | SVGMarkerElement | SVGMaskElement | SVGMetadataElement | SVGPathElement | SVGPatternElement | SVGPolygonElement | SVGPolylineElement | SVGRadialGradientElement | SVGRectElement | SVGStopElement | SVGSwitchElement | SVGTextPathElement | SVGTSpanElement | SVGUseElement | SVGViewElement>;
6
+ declare const BlockMemo: import("../../helper/withForwardRef").RefComponent<BlockProps<keyof JSX.IntrinsicElements>, SVGSymbolElement | SVGElement | HTMLObjectElement | HTMLElement | HTMLHtmlElement | SVGTextElement | HTMLTitleElement | HTMLLinkElement | HTMLInputElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLButtonElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDivElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLIFrameElement | HTMLImageElement | HTMLLabelElement | HTMLLegendElement | HTMLLIElement | HTMLMapElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLParagraphElement | HTMLParamElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLSpanElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableDataCellElement | HTMLTextAreaElement | HTMLTableHeaderCellElement | HTMLTimeElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement | HTMLWebViewElement | SVGCircleElement | SVGClipPathElement | SVGDefsElement | SVGDescElement | SVGEllipseElement | SVGFEBlendElement | SVGFEColorMatrixElement | SVGFEComponentTransferElement | SVGFECompositeElement | SVGFEConvolveMatrixElement | SVGFEDiffuseLightingElement | SVGFEDisplacementMapElement | SVGFEDistantLightElement | SVGFEDropShadowElement | SVGFEFloodElement | SVGFEFuncAElement | SVGFEFuncBElement | SVGFEFuncGElement | SVGFEFuncRElement | SVGFEGaussianBlurElement | SVGFEImageElement | SVGFEMergeElement | SVGFEMergeNodeElement | SVGFEMorphologyElement | SVGFEOffsetElement | SVGFEPointLightElement | SVGFESpecularLightingElement | SVGFESpotLightElement | SVGFETileElement | SVGFETurbulenceElement | SVGFilterElement | SVGForeignObjectElement | SVGGElement | SVGImageElement | SVGLineElement | SVGLinearGradientElement | SVGMarkerElement | SVGMaskElement | SVGMetadataElement | SVGPathElement | SVGPatternElement | SVGPolygonElement | SVGPolylineElement | SVGRadialGradientElement | SVGRectElement | SVGStopElement | SVGSVGElement | SVGSwitchElement | SVGTextPathElement | SVGTSpanElement | SVGUseElement | SVGViewElement | SVGSetElement>;
7
7
  export { BlockMemo as Block };
@@ -6,5 +6,5 @@ export type FlexProps<AsType extends keyof JSX.IntrinsicElements> = RbmComponent
6
6
  horizontal?: boolean;
7
7
  grow?: boolean;
8
8
  }>;
9
- declare const tmp: import("../../helper/withForwardRef").RefComponent<FlexProps<keyof JSX.IntrinsicElements>, SVGSymbolElement | SVGElement | HTMLObjectElement | HTMLElement | HTMLHtmlElement | SVGTextElement | HTMLTitleElement | HTMLLinkElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLButtonElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDivElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLIFrameElement | HTMLImageElement | HTMLInputElement | HTMLLabelElement | HTMLLegendElement | HTMLLIElement | HTMLMapElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLParagraphElement | HTMLParamElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLSpanElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableDataCellElement | HTMLTextAreaElement | HTMLTableHeaderCellElement | HTMLTimeElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement | HTMLWebViewElement | SVGSVGElement | SVGCircleElement | SVGClipPathElement | SVGDefsElement | SVGDescElement | SVGEllipseElement | SVGFEBlendElement | SVGFEColorMatrixElement | SVGFEComponentTransferElement | SVGFECompositeElement | SVGFEConvolveMatrixElement | SVGFEDiffuseLightingElement | SVGFEDisplacementMapElement | SVGFEDistantLightElement | SVGFEDropShadowElement | SVGFEFloodElement | SVGFEFuncAElement | SVGFEFuncBElement | SVGFEFuncGElement | SVGFEFuncRElement | SVGFEGaussianBlurElement | SVGFEImageElement | SVGFEMergeElement | SVGFEMergeNodeElement | SVGFEMorphologyElement | SVGFEOffsetElement | SVGFEPointLightElement | SVGFESpecularLightingElement | SVGFESpotLightElement | SVGFETileElement | SVGFETurbulenceElement | SVGFilterElement | SVGForeignObjectElement | SVGGElement | SVGImageElement | SVGLineElement | SVGLinearGradientElement | SVGMarkerElement | SVGMaskElement | SVGMetadataElement | SVGPathElement | SVGPatternElement | SVGPolygonElement | SVGPolylineElement | SVGRadialGradientElement | SVGRectElement | SVGStopElement | SVGSwitchElement | SVGTextPathElement | SVGTSpanElement | SVGUseElement | SVGViewElement>;
9
+ declare const tmp: import("../../helper/withForwardRef").RefComponent<FlexProps<keyof JSX.IntrinsicElements>, SVGSymbolElement | SVGElement | HTMLObjectElement | HTMLElement | HTMLHtmlElement | SVGTextElement | HTMLTitleElement | HTMLLinkElement | HTMLInputElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLButtonElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDivElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLIFrameElement | HTMLImageElement | HTMLLabelElement | HTMLLegendElement | HTMLLIElement | HTMLMapElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLParagraphElement | HTMLParamElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLSpanElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableDataCellElement | HTMLTextAreaElement | HTMLTableHeaderCellElement | HTMLTimeElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement | HTMLWebViewElement | SVGCircleElement | SVGClipPathElement | SVGDefsElement | SVGDescElement | SVGEllipseElement | SVGFEBlendElement | SVGFEColorMatrixElement | SVGFEComponentTransferElement | SVGFECompositeElement | SVGFEConvolveMatrixElement | SVGFEDiffuseLightingElement | SVGFEDisplacementMapElement | SVGFEDistantLightElement | SVGFEDropShadowElement | SVGFEFloodElement | SVGFEFuncAElement | SVGFEFuncBElement | SVGFEFuncGElement | SVGFEFuncRElement | SVGFEGaussianBlurElement | SVGFEImageElement | SVGFEMergeElement | SVGFEMergeNodeElement | SVGFEMorphologyElement | SVGFEOffsetElement | SVGFEPointLightElement | SVGFESpecularLightingElement | SVGFESpotLightElement | SVGFETileElement | SVGFETurbulenceElement | SVGFilterElement | SVGForeignObjectElement | SVGGElement | SVGImageElement | SVGLineElement | SVGLinearGradientElement | SVGMarkerElement | SVGMaskElement | SVGMetadataElement | SVGPathElement | SVGPatternElement | SVGPolygonElement | SVGPolylineElement | SVGRadialGradientElement | SVGRectElement | SVGStopElement | SVGSVGElement | SVGSwitchElement | SVGTextPathElement | SVGTSpanElement | SVGUseElement | SVGViewElement | SVGSetElement>;
10
10
  export { tmp as Flex };
@@ -3,5 +3,5 @@
3
3
  import { RbmComponentProps } from '../RbmComponentProps';
4
4
  import { ViewWithoutListenersProps } from './ViewWithoutListeners';
5
5
  export type InlineProps<AsType extends keyof JSX.IntrinsicElements> = RbmComponentProps<ViewWithoutListenersProps<AsType>>;
6
- declare const InlineMemo: import("../../helper/withForwardRef").RefComponent<InlineProps<keyof JSX.IntrinsicElements>, SVGSymbolElement | SVGElement | HTMLObjectElement | HTMLElement | HTMLHtmlElement | SVGTextElement | HTMLTitleElement | HTMLLinkElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLButtonElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDivElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLIFrameElement | HTMLImageElement | HTMLInputElement | HTMLLabelElement | HTMLLegendElement | HTMLLIElement | HTMLMapElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLParagraphElement | HTMLParamElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLSpanElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableDataCellElement | HTMLTextAreaElement | HTMLTableHeaderCellElement | HTMLTimeElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement | HTMLWebViewElement | SVGSVGElement | SVGCircleElement | SVGClipPathElement | SVGDefsElement | SVGDescElement | SVGEllipseElement | SVGFEBlendElement | SVGFEColorMatrixElement | SVGFEComponentTransferElement | SVGFECompositeElement | SVGFEConvolveMatrixElement | SVGFEDiffuseLightingElement | SVGFEDisplacementMapElement | SVGFEDistantLightElement | SVGFEDropShadowElement | SVGFEFloodElement | SVGFEFuncAElement | SVGFEFuncBElement | SVGFEFuncGElement | SVGFEFuncRElement | SVGFEGaussianBlurElement | SVGFEImageElement | SVGFEMergeElement | SVGFEMergeNodeElement | SVGFEMorphologyElement | SVGFEOffsetElement | SVGFEPointLightElement | SVGFESpecularLightingElement | SVGFESpotLightElement | SVGFETileElement | SVGFETurbulenceElement | SVGFilterElement | SVGForeignObjectElement | SVGGElement | SVGImageElement | SVGLineElement | SVGLinearGradientElement | SVGMarkerElement | SVGMaskElement | SVGMetadataElement | SVGPathElement | SVGPatternElement | SVGPolygonElement | SVGPolylineElement | SVGRadialGradientElement | SVGRectElement | SVGStopElement | SVGSwitchElement | SVGTextPathElement | SVGTSpanElement | SVGUseElement | SVGViewElement>;
6
+ declare const InlineMemo: import("../../helper/withForwardRef").RefComponent<InlineProps<keyof JSX.IntrinsicElements>, SVGSymbolElement | SVGElement | HTMLObjectElement | HTMLElement | HTMLHtmlElement | SVGTextElement | HTMLTitleElement | HTMLLinkElement | HTMLInputElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLButtonElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDivElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLIFrameElement | HTMLImageElement | HTMLLabelElement | HTMLLegendElement | HTMLLIElement | HTMLMapElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLParagraphElement | HTMLParamElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLSpanElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableDataCellElement | HTMLTextAreaElement | HTMLTableHeaderCellElement | HTMLTimeElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement | HTMLWebViewElement | SVGCircleElement | SVGClipPathElement | SVGDefsElement | SVGDescElement | SVGEllipseElement | SVGFEBlendElement | SVGFEColorMatrixElement | SVGFEComponentTransferElement | SVGFECompositeElement | SVGFEConvolveMatrixElement | SVGFEDiffuseLightingElement | SVGFEDisplacementMapElement | SVGFEDistantLightElement | SVGFEDropShadowElement | SVGFEFloodElement | SVGFEFuncAElement | SVGFEFuncBElement | SVGFEFuncGElement | SVGFEFuncRElement | SVGFEGaussianBlurElement | SVGFEImageElement | SVGFEMergeElement | SVGFEMergeNodeElement | SVGFEMorphologyElement | SVGFEOffsetElement | SVGFEPointLightElement | SVGFESpecularLightingElement | SVGFESpotLightElement | SVGFETileElement | SVGFETurbulenceElement | SVGFilterElement | SVGForeignObjectElement | SVGGElement | SVGImageElement | SVGLineElement | SVGLinearGradientElement | SVGMarkerElement | SVGMaskElement | SVGMetadataElement | SVGPathElement | SVGPatternElement | SVGPolygonElement | SVGPolylineElement | SVGRadialGradientElement | SVGRectElement | SVGStopElement | SVGSVGElement | SVGSwitchElement | SVGTextPathElement | SVGTSpanElement | SVGUseElement | SVGViewElement | SVGSetElement>;
7
7
  export { InlineMemo as Inline };
@@ -6,5 +6,5 @@ export type InlineBlockProps<AsType extends keyof JSX.IntrinsicElements> = RbmCo
6
6
  id?: string;
7
7
  title?: string;
8
8
  }>;
9
- declare const InlineBlockMemo: import("../../helper/withForwardRef").RefComponent<InlineBlockProps<keyof JSX.IntrinsicElements>, SVGSymbolElement | SVGElement | HTMLObjectElement | HTMLElement | HTMLHtmlElement | SVGTextElement | HTMLTitleElement | HTMLLinkElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLButtonElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDivElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLIFrameElement | HTMLImageElement | HTMLInputElement | HTMLLabelElement | HTMLLegendElement | HTMLLIElement | HTMLMapElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLParagraphElement | HTMLParamElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLSpanElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableDataCellElement | HTMLTextAreaElement | HTMLTableHeaderCellElement | HTMLTimeElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement | HTMLWebViewElement | SVGSVGElement | SVGCircleElement | SVGClipPathElement | SVGDefsElement | SVGDescElement | SVGEllipseElement | SVGFEBlendElement | SVGFEColorMatrixElement | SVGFEComponentTransferElement | SVGFECompositeElement | SVGFEConvolveMatrixElement | SVGFEDiffuseLightingElement | SVGFEDisplacementMapElement | SVGFEDistantLightElement | SVGFEDropShadowElement | SVGFEFloodElement | SVGFEFuncAElement | SVGFEFuncBElement | SVGFEFuncGElement | SVGFEFuncRElement | SVGFEGaussianBlurElement | SVGFEImageElement | SVGFEMergeElement | SVGFEMergeNodeElement | SVGFEMorphologyElement | SVGFEOffsetElement | SVGFEPointLightElement | SVGFESpecularLightingElement | SVGFESpotLightElement | SVGFETileElement | SVGFETurbulenceElement | SVGFilterElement | SVGForeignObjectElement | SVGGElement | SVGImageElement | SVGLineElement | SVGLinearGradientElement | SVGMarkerElement | SVGMaskElement | SVGMetadataElement | SVGPathElement | SVGPatternElement | SVGPolygonElement | SVGPolylineElement | SVGRadialGradientElement | SVGRectElement | SVGStopElement | SVGSwitchElement | SVGTextPathElement | SVGTSpanElement | SVGUseElement | SVGViewElement>;
9
+ declare const InlineBlockMemo: import("../../helper/withForwardRef").RefComponent<InlineBlockProps<keyof JSX.IntrinsicElements>, SVGSymbolElement | SVGElement | HTMLObjectElement | HTMLElement | HTMLHtmlElement | SVGTextElement | HTMLTitleElement | HTMLLinkElement | HTMLInputElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLButtonElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDivElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLIFrameElement | HTMLImageElement | HTMLLabelElement | HTMLLegendElement | HTMLLIElement | HTMLMapElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLParagraphElement | HTMLParamElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLSpanElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableDataCellElement | HTMLTextAreaElement | HTMLTableHeaderCellElement | HTMLTimeElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement | HTMLWebViewElement | SVGCircleElement | SVGClipPathElement | SVGDefsElement | SVGDescElement | SVGEllipseElement | SVGFEBlendElement | SVGFEColorMatrixElement | SVGFEComponentTransferElement | SVGFECompositeElement | SVGFEConvolveMatrixElement | SVGFEDiffuseLightingElement | SVGFEDisplacementMapElement | SVGFEDistantLightElement | SVGFEDropShadowElement | SVGFEFloodElement | SVGFEFuncAElement | SVGFEFuncBElement | SVGFEFuncGElement | SVGFEFuncRElement | SVGFEGaussianBlurElement | SVGFEImageElement | SVGFEMergeElement | SVGFEMergeNodeElement | SVGFEMorphologyElement | SVGFEOffsetElement | SVGFEPointLightElement | SVGFESpecularLightingElement | SVGFESpotLightElement | SVGFETileElement | SVGFETurbulenceElement | SVGFilterElement | SVGForeignObjectElement | SVGGElement | SVGImageElement | SVGLineElement | SVGLinearGradientElement | SVGMarkerElement | SVGMaskElement | SVGMetadataElement | SVGPathElement | SVGPatternElement | SVGPolygonElement | SVGPolylineElement | SVGRadialGradientElement | SVGRectElement | SVGStopElement | SVGSVGElement | SVGSwitchElement | SVGTextPathElement | SVGTSpanElement | SVGUseElement | SVGViewElement | SVGSetElement>;
10
10
  export { InlineBlockMemo as InlineBlock };
@@ -1,9 +1,8 @@
1
1
  import * as React from 'react';
2
- import { ComponentRef, PropsWithChildren, ReactNode, RefAttributes } from 'react';
2
+ import { PropsWithChildren } from 'react';
3
3
  import { Override } from '../../TypeHelpers';
4
4
  export type ViewProps<AsType extends keyof JSX.IntrinsicElements> = PropsWithChildren<Override<React.ComponentPropsWithoutRef<AsType>, {
5
5
  as?: AsType;
6
6
  children?: React.ReactNode;
7
7
  }>>;
8
- declare const ViewMemo: <AsType extends keyof JSX.IntrinsicElements>(props: ViewProps<AsType> & RefAttributes<ComponentRef<AsType>>) => ReactNode | null;
9
- export { ViewMemo as View };
8
+ export declare const View: import("../../helper/withForwardRef").RefComponent<ViewProps<keyof JSX.IntrinsicElements>, SVGSymbolElement | SVGElement | HTMLObjectElement | HTMLElement | HTMLHtmlElement | SVGTextElement | HTMLTitleElement | HTMLLinkElement | HTMLInputElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLButtonElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDivElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLIFrameElement | HTMLImageElement | HTMLLabelElement | HTMLLegendElement | HTMLLIElement | HTMLMapElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLParagraphElement | HTMLParamElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLSpanElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableDataCellElement | HTMLTextAreaElement | HTMLTableHeaderCellElement | HTMLTimeElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement | HTMLWebViewElement | SVGCircleElement | SVGClipPathElement | SVGDefsElement | SVGDescElement | SVGEllipseElement | SVGFEBlendElement | SVGFEColorMatrixElement | SVGFEComponentTransferElement | SVGFECompositeElement | SVGFEConvolveMatrixElement | SVGFEDiffuseLightingElement | SVGFEDisplacementMapElement | SVGFEDistantLightElement | SVGFEDropShadowElement | SVGFEFloodElement | SVGFEFuncAElement | SVGFEFuncBElement | SVGFEFuncGElement | SVGFEFuncRElement | SVGFEGaussianBlurElement | SVGFEImageElement | SVGFEMergeElement | SVGFEMergeNodeElement | SVGFEMorphologyElement | SVGFEOffsetElement | SVGFEPointLightElement | SVGFESpecularLightingElement | SVGFESpotLightElement | SVGFETileElement | SVGFETurbulenceElement | SVGFilterElement | SVGForeignObjectElement | SVGGElement | SVGImageElement | SVGLineElement | SVGLinearGradientElement | SVGMarkerElement | SVGMaskElement | SVGMetadataElement | SVGPathElement | SVGPatternElement | SVGPolygonElement | SVGPolylineElement | SVGRadialGradientElement | SVGRectElement | SVGStopElement | SVGSVGElement | SVGSwitchElement | SVGTextPathElement | SVGTSpanElement | SVGUseElement | SVGViewElement | SVGSetElement>;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { ComponentRef, DOMAttributes, ReactNode, RefAttributes } from 'react';
2
+ import { DOMAttributes } from 'react';
3
3
  import { ViewProps } from './View';
4
4
  export type ViewWithoutListenersProps<AsType extends keyof JSX.IntrinsicElements> = Omit<ViewProps<AsType>, keyof DOMAttributes<AsType>> & {
5
5
  children?: React.ReactNode;
@@ -7,5 +7,4 @@ export type ViewWithoutListenersProps<AsType extends keyof JSX.IntrinsicElements
7
7
  __html: string | TrustedHTML;
8
8
  } | undefined;
9
9
  };
10
- declare const ViewWithoutListenersMemo: <AsType extends keyof JSX.IntrinsicElements>(props: ViewWithoutListenersProps<AsType> & RefAttributes<ComponentRef<AsType>>) => ReactNode;
11
- export { ViewWithoutListenersMemo as ViewWithoutListeners };
10
+ export declare const ViewWithoutListeners: import("../../helper/withForwardRef").RefComponent<ViewWithoutListenersProps<keyof JSX.IntrinsicElements>, SVGSymbolElement | SVGElement | HTMLObjectElement | HTMLElement | HTMLHtmlElement | SVGTextElement | HTMLTitleElement | HTMLLinkElement | HTMLInputElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLButtonElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDivElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLIFrameElement | HTMLImageElement | HTMLLabelElement | HTMLLegendElement | HTMLLIElement | HTMLMapElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLParagraphElement | HTMLParamElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLSpanElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableDataCellElement | HTMLTextAreaElement | HTMLTableHeaderCellElement | HTMLTimeElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement | HTMLWebViewElement | SVGCircleElement | SVGClipPathElement | SVGDefsElement | SVGDescElement | SVGEllipseElement | SVGFEBlendElement | SVGFEColorMatrixElement | SVGFEComponentTransferElement | SVGFECompositeElement | SVGFEConvolveMatrixElement | SVGFEDiffuseLightingElement | SVGFEDisplacementMapElement | SVGFEDistantLightElement | SVGFEDropShadowElement | SVGFEFloodElement | SVGFEFuncAElement | SVGFEFuncBElement | SVGFEFuncGElement | SVGFEFuncRElement | SVGFEGaussianBlurElement | SVGFEImageElement | SVGFEMergeElement | SVGFEMergeNodeElement | SVGFEMorphologyElement | SVGFEOffsetElement | SVGFEPointLightElement | SVGFESpecularLightingElement | SVGFESpotLightElement | SVGFETileElement | SVGFETurbulenceElement | SVGFilterElement | SVGForeignObjectElement | SVGGElement | SVGImageElement | SVGLineElement | SVGLinearGradientElement | SVGMarkerElement | SVGMaskElement | SVGMetadataElement | SVGPathElement | SVGPatternElement | SVGPolygonElement | SVGPolylineElement | SVGRadialGradientElement | SVGRectElement | SVGStopElement | SVGSVGElement | SVGSwitchElement | SVGTextPathElement | SVGTSpanElement | SVGUseElement | SVGViewElement | SVGSetElement>;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ export declare const ToastContext: import("react").Context<(<Data>(text: string, action?: {
3
+ name: string;
4
+ onClick: (data?: Data) => void;
5
+ onClickData?: Data;
6
+ }, duration?: number) => void)>;
7
+ export declare function useToast(): <Data>(text: string, action?: {
8
+ name: string;
9
+ onClick: (data?: Data | undefined) => void;
10
+ onClickData?: Data | undefined;
11
+ } | undefined, duration?: number | undefined) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ainias42/react-bootstrap-mobile",
3
- "version": "0.1.31",
3
+ "version": "0.2.0",
4
4
  "description": "Mobile React Components using Bootstrap",
5
5
  "main": "dist/bootstrapReactMobile",
6
6
  "scripts": {
@@ -8,7 +8,10 @@
8
8
  "build": "node bin/build.js && webpack",
9
9
  "build:production": "node bin/build.js && webpack --env production",
10
10
  "update packages": "node bin/updateCopies.js",
11
- "typecheck": "tsc --noEmit"
11
+ "typecheck": "tsc --noEmit",
12
+ "lint:noCache": "eslint \"src/{**/*,*}.{js,jsx,tsx,ts}\" --max-warnings 0",
13
+ "lint": "npm run lint:noCache -- --cache",
14
+ "lint:fix": "npm run lint -- --fix"
12
15
  },
13
16
  "repository": {
14
17
  "type": "git",
@@ -29,64 +32,72 @@
29
32
  },
30
33
  "homepage": "https://github.com/Ainias/Bootstrap-React-Mobile#readme",
31
34
  "peerDependencies": {
32
- "@fortawesome/fontawesome-svg-core": "^6.4.0",
33
- "@fortawesome/free-regular-svg-icons": "^6.4.0",
34
- "@fortawesome/free-solid-svg-icons": "^6.4.0",
35
- "@fortawesome/react-fontawesome": "^0.2.0",
36
- "react": ">=17.0.0",
35
+ "@fortawesome/fontawesome-svg-core": "^6.5.2",
36
+ "@fortawesome/free-regular-svg-icons": "^6.5.2",
37
+ "@fortawesome/free-solid-svg-icons": "^6.5.2",
38
+ "@fortawesome/react-fontawesome": "^0.2.2",
39
+ "bootstrap": "^5.3.3",
40
+ "react": ">=18.0.0",
37
41
  "react-beautiful-dnd": "^13.1.1"
38
42
  },
39
43
  "devDependencies": {
40
- "@babel/core": "^7.15.0",
41
- "@babel/plugin-proposal-class-properties": "^7.16.7",
42
- "@babel/plugin-transform-typescript": "^7.16.8",
43
- "@babel/preset-env": "^7.17.10",
44
- "@babel/preset-react": "^7.16.7",
45
- "@babel/preset-typescript": "^7.16.7",
46
- "@types/react": ">=17.0.0",
47
- "@types/react-beautiful-dnd": "^13.1.3",
48
- "@types/react-color": "^3.0.6",
49
- "@types/react-dom": ">=17.0.0",
50
- "@types/react-redux": "^7.1.18",
51
- "@types/react-table": "^7.7.9",
52
- "@types/react-window": "^1.8.5",
53
- "@types/react-window-infinite-loader": "^1.0.6",
54
- "@typescript-eslint/eslint-plugin": "^4.30.0",
55
- "@typescript-eslint/parser": "^4.30.0",
56
- "babel-loader": "^8.2.5",
57
- "bootstrap": "^5.1.0",
58
- "css-loader": "^6.7.1",
59
- "eslint": "^7.32.0",
60
- "eslint-config-airbnb": "^18.2.1",
61
- "eslint-config-airbnb-typescript": "^14.0.0",
62
- "eslint-config-prettier": "^8.3.0",
63
- "eslint-import-resolver-typescript": "^2.4.0",
64
- "eslint-plugin-import": "^2.26.0",
65
- "eslint-plugin-react": "^7.25.1",
66
- "html-webpack-plugin": "^5.5.0",
44
+ "ajv": "^8.14.0",
45
+ "bootstrap": "^5.3.3",
46
+ "react": ">=18.0.0",
47
+ "react-dom": ">=18.3.1",
48
+ "react-beautiful-dnd": "^13.1.1",
49
+ "@babel/core": "^7.24.6",
50
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
51
+ "@babel/plugin-transform-typescript": "^7.24.6",
52
+ "@babel/preset-env": "^7.24.6",
53
+ "@babel/preset-react": "^7.24.6",
54
+ "@babel/preset-typescript": "^7.24.6",
55
+ "@fortawesome/fontawesome-svg-core": "^6.5.2",
56
+ "@fortawesome/free-regular-svg-icons": "^6.5.2",
57
+ "@fortawesome/free-solid-svg-icons": "^6.5.2",
58
+ "@fortawesome/react-fontawesome": "^0.2.2",
59
+ "@types/react": ">=18.0.0",
60
+ "@types/react-beautiful-dnd": "^13.1.8",
61
+ "@types/react-color": "^3.0.12",
62
+ "@types/react-dom": ">=18.0.0",
63
+ "@types/react-table": "^7.7.20",
64
+ "@types/react-window": "^1.8.8",
65
+ "@types/react-window-infinite-loader": "^1.0.9",
66
+ "@typescript-eslint/eslint-plugin": "^7.11.0",
67
+ "@typescript-eslint/parser": "^7.11.0",
68
+ "babel-loader": "^9.1.3",
69
+ "css-loader": "^7.1.2",
70
+ "eslint": "^8.57.0",
71
+ "eslint-config-airbnb": "^19.0.4",
72
+ "eslint-config-airbnb-typescript": "^18.0.0",
73
+ "eslint-config-prettier": "^9.1.0",
74
+ "eslint-import-resolver-typescript": "^3.6.1",
75
+ "eslint-plugin-import": "^2.29.1",
76
+ "eslint-plugin-jsx-a11y": "^6.8.0",
77
+ "eslint-plugin-react": "^7.34.2",
78
+ "eslint-plugin-react-hooks": "^4.6.2",
79
+ "html-webpack-plugin": "^5.6.0",
67
80
  "loader-utils": "3.2.1",
68
- "mini-css-extract-plugin": "^2.6.0",
69
- "prettier": "^2.3.2",
70
- "sass": "^1.53.0",
71
- "sass-loader": "^12.6.0",
72
- "style-loader": "^3.3.1",
73
- "terser-webpack-plugin": "^5.3.1",
74
- "ts-loader": "^9.2.9",
75
- "typescript": "^5.2.2",
76
- "webpack": "^5.72.0",
77
- "webpack-cli": "^4.9.2",
78
- "webpack-dev-server": "^4.8.1"
81
+ "mini-css-extract-plugin": "^2.9.0",
82
+ "prettier": "^3.2.5",
83
+ "sass": "^1.77.2",
84
+ "sass-loader": "^14.2.1",
85
+ "terser-webpack-plugin": "^5.3.10",
86
+ "ts-loader": "^9.5.1",
87
+ "typescript": "^5.4.5",
88
+ "webpack": "^5.91.0",
89
+ "webpack-cli": "^5.1.4",
90
+ "webpack-dev-server": "^5.0.4"
79
91
  },
80
92
  "dependencies": {
81
- "@types/react-virtualized-auto-sizer": "^1.0.1",
82
- "classnames": "^2.3.1",
93
+ "@ainias42/js-helper": ">=0.8.14",
94
+ "@types/react-virtualized-auto-sizer": "^1.0.4",
95
+ "classnames": "^2.5.1",
83
96
  "isomorphic-style-loader": "^5.3.2",
84
- "@ainias42/js-helper": ">=0.8.10",
85
97
  "react-color": "^2.19.3",
86
- "react-table": "^7.7.0",
87
- "react-virtualized-auto-sizer": "^1.0.7",
88
- "react-window": "^1.8.8",
89
- "react-window-infinite-loader": "^1.0.8",
90
- "styled-jsx": "^5.0.2"
98
+ "react-table": "^7.8.0",
99
+ "react-virtualized-auto-sizer": "^1.0.24",
100
+ "react-window": "^1.8.10",
101
+ "react-window-infinite-loader": "^1.0.9"
91
102
  }
92
103
  }
@@ -1,6 +1,6 @@
1
1
  @import "src/scss/variables";
2
- @import "src/scss/mobileMixin";
2
+ @import "src/scss/designMixin";
3
+ @import "src/scss/flavorMixin";
3
4
  @import "src/scss/default";
4
- @import "src/scss/animations";
5
5
  @import "src/scss/baseClasses";
6
6
  @import "src/scss/colors";
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import { RbmComponentProps } from '../RbmComponentProps';
3
-
4
3
  import styles from './card.scss';
5
4
  import { withMemo } from '../../helper/withMemo';
6
5
  import classNames from 'classnames';
@@ -1,10 +1,9 @@
1
1
  import * as React from 'react';
2
- import {ComponentType, ForwardedRef, PropsWithChildren, useCallback, useImperativeHandle, useState} from 'react';
2
+ import { ComponentType, ForwardedRef, PropsWithChildren, useCallback, useImperativeHandle, useState } from 'react';
3
3
  import { PromiseWithHandlers } from '@ainias42/js-helper';
4
4
  import { DialogProvider, ShowDialog } from './DialogContext';
5
5
  import { Dialog } from './Dialog';
6
- import { EmptyProps } from '../../helper/EmptyProps';
7
- import {withForwardRef} from "../../helper/withForwardRef";
6
+ import { withForwardRef } from "../../helper/withForwardRef";
8
7
  import { Block } from "../Layout/Block";
9
8
 
10
9
  export type DialogContainerProps = PropsWithChildren<{
@@ -22,7 +21,10 @@ export type DialogContainerRef = {
22
21
  showDialog: ShowDialog;
23
22
  }
24
23
 
25
- export const DialogContainer = withForwardRef(function DialogContainer({ children, dialogClassName }: DialogContainerProps, ref: ForwardedRef<DialogContainerRef>) {
24
+ export const DialogContainer = withForwardRef(function DialogContainer({
25
+ children,
26
+ dialogClassName
27
+ }: DialogContainerProps, ref: ForwardedRef<DialogContainerRef>) {
26
28
  // Variables
27
29
  const [dialogs, setDialogs] = useState<DialogData[]>([]);
28
30
  const [, setLastId] = useState(0);
@@ -39,7 +41,7 @@ export const DialogContainer = withForwardRef(function DialogContainer({ childre
39
41
  setLastId((oldId) => {
40
42
  const id = oldId + 1;
41
43
  setDialogs((oldDialogs) => {
42
- return [...oldDialogs, { id, component, props, resultPromise: promise }] as DialogData[];
44
+ return [...oldDialogs, {id, component, props, resultPromise: promise}] as DialogData[];
43
45
  });
44
46
  return id;
45
47
  });
@@ -72,14 +74,14 @@ export const DialogContainer = withForwardRef(function DialogContainer({ childre
72
74
  <DialogProvider value={showDialog}>
73
75
  {children}
74
76
  <Block className={dialogClassName}>
75
- {dialogs.map((d) => {
76
- const DialogComponent = d.component;
77
- return (
78
- <Dialog {...d.props} key={d.id} onClose={onClose} identifier={d.id}>
79
- <DialogComponent {...d.props} />
80
- </Dialog>
81
- );
82
- })}
77
+ {dialogs.map((d) => {
78
+ const DialogComponent = d.component;
79
+ return (
80
+ <Dialog {...d.props} key={d.id} onClose={onClose} identifier={d.id}>
81
+ <DialogComponent {...d.props} />
82
+ </Dialog>
83
+ );
84
+ })}
83
85
  </Block>
84
86
  </DialogProvider>
85
87
  );
@@ -12,7 +12,10 @@ export type ShowDialog = <
12
12
  props?: Omit<P, 'close'>
13
13
  ) => Promise<R | void>;
14
14
 
15
- const DialogContext = React.createContext<ShowDialog>(() => Promise.reject());
15
+ const DialogContext = React.createContext<ShowDialog>(() => {
16
+ console.error("DialogContext not initialized");
17
+ return Promise.reject("DialogContext not initialized")
18
+ });
16
19
  export const DialogProvider = DialogContext.Provider;
17
20
 
18
21
  export function useDialog() {
@@ -6,7 +6,7 @@ import { useStrictEnabled } from './useStrictEnabled';
6
6
 
7
7
  export type DropAreaProps = RbmComponentProps<Omit<DroppableProps, 'children'>, WithNoStringAndChildrenProps>;
8
8
 
9
- function DropArea({ children, style, className, ...dropProps }: DropAreaProps) {
9
+ export const DropArea = withMemo(function DropArea({ children, style, className, ...dropProps }: DropAreaProps) {
10
10
  // Variables
11
11
 
12
12
  // Refs
@@ -37,8 +37,4 @@ function DropArea({ children, style, className, ...dropProps }: DropAreaProps) {
37
37
  )}
38
38
  </Droppable>
39
39
  );
40
- }
41
-
42
- // Need DropAreaMemo for autocompletion of phpstorm
43
- const DropAreaMemo = withMemo(DropArea);
44
- export { DropAreaMemo as DropArea };
40
+ });
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import {Override} from '@ainias42/js-helper';
3
- import {OptionalListener, useListener, useListenerWithExtractedProps} from '../../Hooks/useListener';
3
+ import {OptionalListener, useListenerWithExtractedProps} from '../../Hooks/useListener';
4
4
 
5
5
  import styles from './button.scss';
6
6
  import classNames from 'classnames';
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import {useCallback, useRef, useState, MouseEvent, useEffect, useLayoutEffect} from 'react';
2
+ import {useCallback, useRef, useState, MouseEvent} from 'react';
3
3
  import {Color, ColorChangeHandler, ColorResult, SketchPicker} from 'react-color';
4
4
  import {OptionalListener, useListener} from '../../Hooks/useListener';
5
5
  import {withMemo} from '../../../helper/withMemo';
@@ -7,6 +7,7 @@ import {withMemo} from '../../../helper/withMemo';
7
7
  import styles from './colorInput.scss';
8
8
  import {useSharedSelectedColor} from './sharedSelectedColor';
9
9
  import {Menu} from "../../Menu/Menu";
10
+ import { useClientLayoutEffect } from "../../Hooks/useClientLayoutEffect";
10
11
 
11
12
  export type ColorInputProps<OnChangeData> = {
12
13
  defaultValue?: string;
@@ -112,7 +113,7 @@ function ColorInput<OnChangeData>({
112
113
  );
113
114
 
114
115
  // Effects
115
- useLayoutEffect(() => {
116
+ useClientLayoutEffect(() => {
116
117
  if (!modalRef.current) {
117
118
  return;
118
119
  }
@@ -48,7 +48,7 @@ export const FileInput = withMemo(function FileInput<OnChangeData>({
48
48
 
49
49
  // Other
50
50
 
51
- // Render Functions
51
+ // Render Functions
52
52
  return <MultipleFileInput maxFiles={1} value={innerValue} onChangeFiles={onChangeFiles}
53
53
  mimeTypes={mimeTypes} showDeleteButton={!required} {...multipleFileInputProps}/>;
54
54
 
@@ -187,7 +187,6 @@ export const MultipleFileInput = withMemo(function MultipleImageInput<OnChangeDa
187
187
  }
188
188
 
189
189
  indexRef.current = index;
190
- console.log("LOG-d inputRef dispatch", inputRef.current);
191
190
  inputRef.current.dispatchEvent(new MouseEvent("click"));
192
191
  }, [allowOverride]);
193
192
 
@@ -236,7 +235,6 @@ export const MultipleFileInput = withMemo(function MultipleImageInput<OnChangeDa
236
235
  </Flex>
237
236
  <Flex horizontal={true} className={styles.previewContainer}>
238
237
  {value?.map((file, index) => {
239
- console.log("LOG-d file", file);
240
238
  return <Grow className={styles.preview} center={true} key={file.data}>
241
239
  <Clickable
242
240
  onDrop={onDrop}
@@ -252,7 +250,7 @@ export const MultipleFileInput = withMemo(function MultipleImageInput<OnChangeDa
252
250
  <Icon icon={faTimesCircle}/>
253
251
  </Clickable>}
254
252
  </Clickable>
255
- </Grow>
253
+ </Grow>;
256
254
  })}
257
255
  <Grow className={classNames(styles.addFile, {[styles.hidden]: value.length >= maxFiles})} center={true}>
258
256
  <Clickable
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { Input, InputProps } from './Input';
3
3
  import { withMemo } from '../../../helper/withMemo';
4
-
5
4
  import styles from './input.scss';
6
5
  import classNames from 'classnames';
7
6
 
@@ -1,13 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import {
3
3
  ChangeEvent,
4
- ChangeEventHandler,
5
4
  InputHTMLAttributes,
6
- KeyboardEvent, KeyboardEventHandler,
5
+ KeyboardEvent,
7
6
  MutableRefObject,
8
- useCallback, useMemo,
9
- useRef,
10
- useState
7
+ useCallback, useEffect,
8
+ useMemo,
11
9
  } from 'react';
12
10
  import { RbmComponentProps } from '../../RbmComponentProps';
13
11
  import { Override } from '../../../TypeHelpers';
@@ -41,6 +39,7 @@ export const Input = withForwardRef(function Input<OnChangeData, OnBlurData, OnC
41
39
  onKeyDown,
42
40
  inline = false,
43
41
  value,
42
+ onChangeText,
44
43
  ...otherProps
45
44
  }: InputProps<OnChangeData, OnBlurData, OnChangeDoneData>,
46
45
  ref: MutableRefObject<HTMLInputElement> | null
@@ -53,7 +52,7 @@ export const Input = withForwardRef(function Input<OnChangeData, OnBlurData, OnC
53
52
  return value;
54
53
  }
55
54
  if (typeof value === "string") {
56
- if (value === "-"){
55
+ if (value === "-") {
57
56
  return value;
58
57
  }
59
58
 
@@ -76,7 +75,7 @@ export const Input = withForwardRef(function Input<OnChangeData, OnBlurData, OnC
76
75
  }
77
76
  }
78
77
  return "";
79
- }, [value])
78
+ }, [value, otherProps.max, otherProps.min, otherProps.type]);
80
79
  // Refs
81
80
  const innerRef = useComposedRef(ref);
82
81
 
@@ -86,23 +85,23 @@ export const Input = withForwardRef(function Input<OnChangeData, OnBlurData, OnC
86
85
  otherProps
87
86
  );
88
87
  const onChange = useCallback(
89
- (e: ChangeEvent<HTMLInputElement>|KeyboardEvent<HTMLInputElement>) => {
90
- if (otherProps.onChangeText) {
88
+ (e: ChangeEvent<HTMLInputElement> | KeyboardEvent<HTMLInputElement>) => {
89
+ if (onChangeText) {
91
90
  if (otherProps.type === "number") {
92
91
  if (e.currentTarget.value === "-") {
93
- otherProps.onChangeText(e.currentTarget.value);
92
+ onChangeText(e.currentTarget.value);
94
93
  return;
95
94
  }
96
95
 
97
96
  const val = !Number.isNaN(Number(e.currentTarget.value)) ? e.currentTarget.value : !Number.isNaN(parseFloat(e.currentTarget.value)) ? String(parseFloat(e.currentTarget.value)) : "";
98
- otherProps.onChangeText(val);
97
+ onChangeText(val);
99
98
  } else {
100
- otherProps.onChangeText(e.currentTarget.value);
99
+ onChangeText(e.currentTarget.value);
101
100
  }
102
101
  }
103
102
  onChangeWithData(e);
104
103
  },
105
- [onChangeWithData, otherProps.onChangeText, otherProps.type]
104
+ [onChangeWithData, onChangeText, otherProps.type]
106
105
  );
107
106
 
108
107
  const [onBlur, otherPropsWithoutBlur] = useListenerWithExtractedProps<'onBlur', OnBlurData>(
@@ -122,7 +121,7 @@ export const Input = withForwardRef(function Input<OnChangeData, OnBlurData, OnC
122
121
  if (otherProps.type === "number") {
123
122
  const stringValue = (e.target as HTMLInputElement).value;
124
123
  const val = !Number.isNaN(Number(stringValue)) ? stringValue : !Number.isNaN(parseFloat(stringValue)) ? String(parseFloat(stringValue)) : "";
125
- otherProps.onEnter(val)
124
+ otherProps.onEnter(val);
126
125
  } else {
127
126
  otherProps.onEnter((e.target as HTMLInputElement).value);
128
127
  }
@@ -130,15 +129,14 @@ export const Input = withForwardRef(function Input<OnChangeData, OnBlurData, OnC
130
129
 
131
130
  if (otherProps.type === "number") {
132
131
  const step = otherProps.step ? Number(otherProps.step) : 1;
133
- if (e.key === "ArrowUp"){
132
+ if (e.key === "ArrowUp") {
134
133
  let newValue = (parseFloat(e.currentTarget.value) || 0) + step;
135
134
  if (otherProps.max !== undefined && newValue > Number(otherProps.max)) {
136
- newValue = Number(otherProps.max);
135
+ newValue = Number(otherProps.max);
137
136
  }
138
137
  e.currentTarget.value = newValue.toString();
139
138
  onChange(e);
140
- }
141
- else if (e.key === "ArrowDown"){
139
+ } else if (e.key === "ArrowDown") {
142
140
  let newValue = (parseFloat(e.currentTarget.value) || 0) - step;
143
141
  if (otherProps.min !== undefined && newValue < Number(otherProps.min)) {
144
142
  newValue = Number(otherProps.min);
@@ -148,18 +146,30 @@ export const Input = withForwardRef(function Input<OnChangeData, OnBlurData, OnC
148
146
  }
149
147
  }
150
148
  },
151
- [otherProps.onEnter, onKeyDown, otherProps.type]
149
+ [onKeyDown, onChange, otherProps]
152
150
  );
153
151
 
154
152
  // Effects
155
153
  useOnChangeDone(onChangeDone, innerRef);
156
154
 
155
+ useEffect(() => {
156
+ // Add the onChangeDone for numbers
157
+ if (otherProps.type === "number") {
158
+ const elem = innerRef.current;
159
+ elem?.addEventListener('blur', onChangeDone);
160
+ return () => {
161
+ elem?.removeEventListener('blur', onChangeDone);
162
+ };
163
+ }
164
+ return undefined;
165
+ }, [ref, onChangeDone, innerRef, otherProps.type]);
166
+
167
+
157
168
  // Other
158
169
 
159
170
  // Render Functions
160
171
 
161
172
  return (
162
- // eslint-disable-next-line jsx-a11y/label-has-associated-control
163
173
  <label className={classNames(styles.input, {[styles.inline]: inline}, className)} style={style}>
164
174
  {label ? <span className={styles.label}>{label}</span> : null}
165
175
  <input
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { RbmComponentProps } from '../../RbmComponentProps';
3
3
  import { Override } from '../../../TypeHelpers';
4
4
  import { ChangeEventHandler, SelectHTMLAttributes, useCallback } from 'react';
5
- import {OptionalListener, useListener, useListenerWithExtractedProps} from '../../Hooks/useListener';
5
+ import {OptionalListener, useListenerWithExtractedProps} from '../../Hooks/useListener';
6
6
 
7
7
  import styles from './select.scss';
8
8
  import { withMemo } from '../../../helper/withMemo';