linear-react-components-ui 1.1.26-beta.16 → 1.1.26-beta.17

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 (147) hide show
  1. package/lib/alerts/index.d.ts +3 -3
  2. package/lib/alerts/index.js +2 -1
  3. package/lib/buttons/DefaultButton.js +1 -1
  4. package/lib/buttons/index.d.ts +1 -1
  5. package/lib/buttons/index.js +1 -0
  6. package/lib/calendar/base/helpers.js +27 -84
  7. package/lib/calendar/base/helpers.js.map +1 -1
  8. package/lib/calendar/base/index.js +29 -33
  9. package/lib/calendar/base/index.js.map +1 -1
  10. package/lib/checkbox/index.js +31 -44
  11. package/lib/checkbox/index.js.map +1 -1
  12. package/lib/dialog/Alert.js +10 -12
  13. package/lib/dialog/Alert.js.map +1 -1
  14. package/lib/dialog/Custom.js +2 -3
  15. package/lib/dialog/Custom.js.map +1 -1
  16. package/lib/dialog/Error.js +9 -11
  17. package/lib/dialog/Error.js.map +1 -1
  18. package/lib/dialog/Information.js +8 -10
  19. package/lib/dialog/Information.js.map +1 -1
  20. package/lib/dialog/Question.js +4 -4
  21. package/lib/dialog/Warning.js +11 -13
  22. package/lib/dialog/Warning.js.map +1 -1
  23. package/lib/dialog/base/index.d.ts +4 -0
  24. package/lib/dialog/base/index.js +78 -72
  25. package/lib/dialog/base/index.js.map +1 -1
  26. package/lib/dialog/form/index.js +3 -7
  27. package/lib/dialog/form/index.js.map +1 -1
  28. package/lib/drawer/Drawer.js +4 -5
  29. package/lib/drawer/Drawer.js.map +1 -1
  30. package/lib/dropdown/Popup.js.map +1 -1
  31. package/lib/dropdown/index.d.ts +3 -0
  32. package/lib/dropdown/index.js +6 -0
  33. package/lib/dropdown/index.js.map +1 -0
  34. package/lib/dropdown/withDropdown.js +1 -1
  35. package/lib/fieldset/index.js +17 -18
  36. package/lib/fieldset/index.js.map +1 -1
  37. package/lib/form/FieldArray.js +18 -20
  38. package/lib/form/FieldArray.js.map +1 -1
  39. package/lib/form/helpers.js +16 -17
  40. package/lib/form/helpers.js.map +1 -1
  41. package/lib/form/index.js +46 -52
  42. package/lib/form/index.js.map +1 -1
  43. package/lib/index.js +20 -23
  44. package/lib/index.js.map +1 -1
  45. package/lib/inputs/base/InputTextBase.js +1 -1
  46. package/lib/inputs/color/index.js +22 -25
  47. package/lib/inputs/color/index.js.map +1 -1
  48. package/lib/inputs/date/index.js +15 -19
  49. package/lib/inputs/date/index.js.map +1 -1
  50. package/lib/inputs/file/DefaultFile.js +1 -1
  51. package/lib/inputs/file/DragDropFile.js +3 -4
  52. package/lib/inputs/file/DragDropFile.js.map +1 -1
  53. package/lib/inputs/file/File.js +9 -11
  54. package/lib/inputs/file/File.js.map +1 -1
  55. package/lib/inputs/file/FileButtonSettings.js +1 -1
  56. package/lib/inputs/index.d.ts +14 -0
  57. package/lib/inputs/index.js +40 -0
  58. package/lib/inputs/index.js.map +1 -0
  59. package/lib/inputs/inputHOC.js +0 -1
  60. package/lib/inputs/inputHOC.js.map +1 -1
  61. package/lib/inputs/multiSelect/ActionButtons.js +16 -19
  62. package/lib/inputs/multiSelect/ActionButtons.js.map +1 -1
  63. package/lib/inputs/number/format_number.js +6 -7
  64. package/lib/inputs/number/format_number.js.map +1 -1
  65. package/lib/inputs/period/helper.js +19 -27
  66. package/lib/inputs/period/helper.js.map +1 -1
  67. package/lib/inputs/period/index.js +4 -5
  68. package/lib/inputs/period/index.js.map +1 -1
  69. package/lib/inputs/search/index.js +1 -1
  70. package/lib/inputs/select/helper.js +22 -23
  71. package/lib/inputs/select/helper.js.map +1 -1
  72. package/lib/inputs/select/index.js +7 -8
  73. package/lib/inputs/select/index.js.map +1 -1
  74. package/lib/inputs2/checkboxfield/index.js +1 -2
  75. package/lib/inputs2/checkboxfield/index.js.map +1 -1
  76. package/lib/inputs2/colorfield/index.js +1 -4
  77. package/lib/inputs2/colorfield/index.js.map +1 -1
  78. package/lib/inputs2/date/datefield/calendarbox.js +1 -4
  79. package/lib/inputs2/date/datefield/calendarbox.js.map +1 -1
  80. package/lib/inputs2/date/datefield/index.js +0 -1
  81. package/lib/inputs2/date/datefield/index.js.map +1 -1
  82. package/lib/inputs2/date/dateperiodfield/calendarbox.js +16 -19
  83. package/lib/inputs2/date/dateperiodfield/calendarbox.js.map +1 -1
  84. package/lib/inputs2/date/dateperiodfield/index.js +0 -1
  85. package/lib/inputs2/date/dateperiodfield/index.js.map +1 -1
  86. package/lib/inputs2/date/dateperiodfield/triggers.js +14 -18
  87. package/lib/inputs2/date/dateperiodfield/triggers.js.map +1 -1
  88. package/lib/inputs2/date/helpers.js +19 -30
  89. package/lib/inputs2/date/helpers.js.map +1 -1
  90. package/lib/inputs2/filefield/index.js +17 -20
  91. package/lib/inputs2/filefield/index.js.map +1 -1
  92. package/lib/inputs2/index.js +18 -18
  93. package/lib/inputs2/numberfield/currency.js +6 -11
  94. package/lib/inputs2/numberfield/currency.js.map +1 -1
  95. package/lib/inputs2/numberfield/decimal.js +9 -14
  96. package/lib/inputs2/numberfield/decimal.js.map +1 -1
  97. package/lib/inputs2/numberfield/index.js +12 -17
  98. package/lib/inputs2/numberfield/index.js.map +1 -1
  99. package/lib/inputs2/radiofield/index.js +1 -2
  100. package/lib/inputs2/radiofield/index.js.map +1 -1
  101. package/lib/inputs2/selectfield/index.js +4 -5
  102. package/lib/inputs2/selectfield/index.js.map +1 -1
  103. package/lib/inputs2/textareafield/index.js +4 -5
  104. package/lib/inputs2/textareafield/index.js.map +1 -1
  105. package/lib/inputs2/textfield/index.js +4 -5
  106. package/lib/inputs2/textfield/index.js.map +1 -1
  107. package/lib/internals/constants.js +3 -4
  108. package/lib/internals/constants.js.map +1 -1
  109. package/lib/labels/DefaultLabel.js +1 -1
  110. package/lib/labels/index.d.ts +1 -1
  111. package/lib/labels/index.js +5 -4
  112. package/lib/list/helpers.js +4 -6
  113. package/lib/list/helpers.js.map +1 -1
  114. package/lib/menus/float/index.js +1 -1
  115. package/lib/menus/sidenav/NavMenuItem.js +1 -1
  116. package/lib/menus/sidenav/NavSubMenuItem.js +1 -1
  117. package/lib/panel/Default.js +14 -15
  118. package/lib/panel/Default.js.map +1 -1
  119. package/lib/popover/index.js +1 -1
  120. package/lib/radio/index.js +1 -1
  121. package/lib/skeleton/index.js +13 -14
  122. package/lib/skeleton/index.js.map +1 -1
  123. package/lib/spinner/index.d.ts +2 -0
  124. package/lib/spinner/index.js +1 -0
  125. package/lib/spinner/index.js.map +1 -1
  126. package/lib/table/Body.js +23 -26
  127. package/lib/table/Body.js.map +1 -1
  128. package/lib/tabs/DropdownTabs.js +31 -40
  129. package/lib/tabs/DropdownTabs.js.map +1 -1
  130. package/lib/tabs/MenuTabs.js +16 -19
  131. package/lib/tabs/MenuTabs.js.map +1 -1
  132. package/lib/tabs/context.js +3 -3
  133. package/lib/treetable/Body.js +18 -24
  134. package/lib/treetable/Body.js.map +1 -1
  135. package/lib/treetable/Header.js +9 -12
  136. package/lib/treetable/Header.js.map +1 -1
  137. package/lib/treetable/Row.js +37 -40
  138. package/lib/treetable/Row.js.map +1 -1
  139. package/lib/uitour/index.js +3 -5
  140. package/lib/uitour/index.js.map +1 -1
  141. package/package.json +277 -34
  142. package/lib/buttons/ButtonGroups.js +0 -13
  143. package/lib/buttons/ButtonGroups.js.map +0 -1
  144. package/lib/dropdown/helper.js +0 -9
  145. package/lib/dropdown/helper.js.map +0 -1
  146. package/lib/panel/ToolBar.js +0 -20
  147. package/lib/panel/ToolBar.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/lib/dialog/base/index.tsx"],"sourcesContent":["import '../../assets/styles/dialog.scss';\nimport ReactDOM from 'react-dom';\nimport * as uuid from 'uuid';\nimport { \n createContext, \n MouseEventHandler, \n useContext, \n useEffect, \n useLayoutEffect, \n useRef, \n useState,\n KeyboardEvent as ReactKeyboardEvent,\n} from 'react';\nimport dialogStyle from './style';\nimport { IBaseProps } from '../types';\nimport { FormDialogContext } from '../form';\n\ntype DialogContextType = {\n handleClose: () => void\n open: boolean\n onOpenChange: (open: boolean) => void\n};\n\nexport const DialogContext = createContext({} as DialogContextType);\n\nconst { body } = document;\nconst BaseDialog = (props: IBaseProps) => {\n const baseDialogId = uuid.v4();\n const {\n id = baseDialogId,\n overlay = true,\n closeOnEsc,\n closeOnOutsideClick,\n wrapperClassName = '',\n className = '',\n children,\n open: openProp,\n onOpenChange,\n zIndex,\n handlerClose,\n } = props;\n const { headerRef } = useContext(FormDialogContext);\n const [open = true, setOpen] = useState(openProp);\n const [isDragging, setIsDragging] = useState(false);\n const wrapperEl = useRef<HTMLDivElement>(null);\n const modalContainerRef = useRef<HTMLDivElement>(null);\n const focusableElementsRef = useRef<HTMLElement[]>([]);\n\n if (openProp !== undefined && openProp !== open) {\n setOpen(openProp);\n }\n\n const handleClose = () => {\n if (openProp !== undefined && onOpenChange) {\n onOpenChange(false);\n } else {\n if (handlerClose) handlerClose();\n if (onOpenChange) onOpenChange(false);\n }\n };\n\n const handleClickOutside: MouseEventHandler = (event) => {\n if (!closeOnOutsideClick) return;\n const target = event.target as Element;\n event.stopPropagation();\n if (wrapperEl !== null && wrapperEl.current !== null && !isDragging &&\n !wrapperEl.current.contains(target)) {\n handleClose();\n }\n };\n\n const onKeyDownPress = (event: KeyboardEvent) => {\n if (event?.key === 'Escape') {\n event.stopPropagation();\n handleClose();\n }\n };\n\n useEffect(() => {\n if (open && modalContainerRef.current) {\n focusableElementsRef.current = Array.from(\n modalContainerRef.current.querySelectorAll<HTMLElement>(\n \"button, a, input, select, textarea, [tabindex]:not([tabindex='-1'])\",\n ),\n );\n }\n }, [open]);\n\n const onDialogPositionChange = ({\n positionX, positionY,\n }: { positionX: number; positionY: number; }) => {\n if (wrapperEl.current) {\n const { width, height } = wrapperEl.current.getBoundingClientRect();\n let x = positionX <= 0 ? 0 : positionX;\n let y = positionY <= 0 ? 0 : positionY;\n\n if (x + width >= window.innerWidth) x = window.innerWidth - width;\n if (y + height >= window.innerHeight) y = window.innerHeight - height;\n\n wrapperEl.current.style.transform = `translate(${x}px, ${y}px)`;\n wrapperEl.current.style.transition = 'none';\n wrapperEl.current.style.left = '0';\n wrapperEl.current.style.top = '0';\n wrapperEl.current.style.position = 'absolute';\n }\n };\n\n const onMouseMove = (event: MouseEvent) => {\n if (wrapperEl.current && isDragging) {\n const { left, top } = wrapperEl.current.getBoundingClientRect();\n onDialogPositionChange({\n positionX: event.movementX + left,\n positionY: event.movementY + top,\n });\n }\n };\n\n const onMouseDown = (event: MouseEvent) => {\n const element = event.target as Element;\n const isHeader = headerRef?.current?.contains(element);\n\n if (wrapperEl.current && isHeader) setIsDragging(true);\n };\n\n const onMouseUp = () => {\n if (wrapperEl.current) setIsDragging(false);\n };\n\n const handleKeyDown = (e: ReactKeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Tab') {\n const { current: elements } = focusableElementsRef;\n if (elements.length === 0) return;\n\n const firstElement = elements[0];\n const lastElement = elements[elements.length - 1];\n\n if (e.shiftKey && document.activeElement === firstElement) {\n lastElement.focus();\n e.preventDefault();\n } else if (!e.shiftKey && document.activeElement === lastElement) {\n firstElement.focus();\n e.preventDefault();\n }\n }\n };\n\n const createdModal = (\n <div\n id={id}\n onKeyDown={handleKeyDown}\n ref={modalContainerRef}\n className='modalcontainer'\n onMouseDown={handleClickOutside}\n style={{ zIndex: zIndex ? Number(zIndex) : undefined }}>\n {overlay && (\n <div className='modal-overlay' data-testid=\"modal-overlay\" />\n )}\n <div className={`dialog ${className}`} data-testid='dialog-component'>\n <div\n className={wrapperClassName}\n data-testid=\"dialog-wrapper\"\n style={dialogStyle(props)}\n ref={wrapperEl}>\n {children}\n </div>\n </div>\n </div>\n );\n\n useLayoutEffect(() => {\n const { activeElement } = document;\n const lastElementActiveBeforeOpen = activeElement as HTMLElement;\n return () => { lastElementActiveBeforeOpen?.focus(); };\n }, []);\n\n useEffect(() => {\n if (open) {\n if (closeOnEsc) {\n document.addEventListener('keydown', onKeyDownPress);\n }\n }\n\n return () => {\n document.removeEventListener('keydown', onKeyDownPress);\n };\n }, [open, closeOnEsc]);\n\n useEffect(() => {\n if (open) {\n document.addEventListener('mousedown', onMouseDown);\n document.addEventListener('mouseup', onMouseUp);\n if (isDragging) document.addEventListener('mousemove', onMouseMove);\n }\n\n return () => {\n document.removeEventListener('mousedown', onMouseDown);\n document.removeEventListener('mouseup', onMouseUp);\n document.removeEventListener('mousemove', onMouseMove);\n };\n }, [isDragging, open]);\n\n useEffect(() => {\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\n const originalOverflow = document.body.style.overflow;\n const originalPaddingRight = document.body.style.paddingRight;\n\n document.body.style.overflow = 'hidden';\n document.body.style.paddingRight = `${scrollbarWidth}px`;\n\n return () => {\n document.body.style.overflow = originalOverflow;\n document.body.style.paddingRight = originalPaddingRight;\n };\n }, [open]);\n\n if (!open) return null;\n\n return (\n <DialogContext.Provider value={{\n handleClose, open, onOpenChange: onOpenChange || setOpen,\n }}>\n {ReactDOM.createPortal(createdModal, body)}\n </DialogContext.Provider>\n );\n};\n\nexport default BaseDialog;\n"],"names":["DialogContext","createContext","body","document","BaseDialog","props","$","_c","t0","Symbol","for","uuid","v4","baseDialogId","id","t1","overlay","t2","closeOnEsc","closeOnOutsideClick","wrapperClassName","t3","className","t4","children","open","openProp","onOpenChange","zIndex","handlerClose","undefined","headerRef","useContext","FormDialogContext","t5","setOpen","useState","isDragging","setIsDragging","wrapperEl","useRef","modalContainerRef","t6","focusableElementsRef","t7","handleClose","t8","event","target","stopPropagation","current","contains","handleClickOutside","t9","event_0","key","onKeyDownPress","t10","t11","Array","from","querySelectorAll","useEffect","t12","t13","positionX","positionY","width","height","getBoundingClientRect","x","y","window","innerWidth","innerHeight","style","transform","transition","left","top","position","onDialogPositionChange","event_1","movementX","movementY","onMouseMove","t14","event_2","element","isHeader","onMouseDown","t15","onMouseUp","t16","e","elements","length","firstElement","lastElement","shiftKey","activeElement","focus","preventDefault","handleKeyDown","t17","Number","t18","t19","jsx","t20","t21","dialogStyle","t22","t23","t24","createdModal","t25","useLayoutEffect","_temp","t26","addEventListener","removeEventListener","t27","t28","t29","t30","_temp2","t31","t32","t33","ReactDOM","createPortal","t34","lastElementActiveBeforeOpen","scrollbarWidth","documentElement","clientWidth","originalOverflow","overflow","originalPaddingRight","paddingRight"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/dialog/base/index.tsx"],"sourcesContent":["import '../../assets/styles/dialog.scss';\nimport ReactDOM from 'react-dom';\nimport * as uuid from 'uuid';\nimport { \n createContext, \n MouseEventHandler, \n useContext, \n useEffect, \n useLayoutEffect, \n useRef, \n useState,\n KeyboardEvent as ReactKeyboardEvent,\n} from 'react';\nimport dialogStyle from './style';\nimport { IBaseProps } from '../types';\nimport { FormDialogContext } from '../form';\nimport BaseContent from './Content';\nimport BaseHeader from './Header';\nimport BaseFooter from './Footer';\n\ntype DialogContextType = {\n handleClose: () => void\n open: boolean\n onOpenChange: (open: boolean) => void\n};\n\nexport const DialogContext = createContext({} as DialogContextType);\n\nconst { body } = document;\nconst BaseDialog = (props: IBaseProps) => {\n const baseDialogId = uuid.v4();\n const {\n id = baseDialogId,\n overlay = true,\n closeOnEsc,\n closeOnOutsideClick,\n wrapperClassName = '',\n className = '',\n children,\n open: openProp,\n onOpenChange,\n zIndex,\n handlerClose,\n } = props;\n const { headerRef } = useContext(FormDialogContext);\n const [open = true, setOpen] = useState(openProp);\n const [isDragging, setIsDragging] = useState(false);\n const wrapperEl = useRef<HTMLDivElement>(null);\n const modalContainerRef = useRef<HTMLDivElement>(null);\n const focusableElementsRef = useRef<HTMLElement[]>([]);\n\n if (openProp !== undefined && openProp !== open) {\n setOpen(openProp);\n }\n\n const handleClose = () => {\n if (openProp !== undefined && onOpenChange) {\n onOpenChange(false);\n } else {\n if (handlerClose) handlerClose();\n if (onOpenChange) onOpenChange(false);\n }\n };\n\n const handleClickOutside: MouseEventHandler = (event) => {\n if (!closeOnOutsideClick) return;\n const target = event.target as Element;\n event.stopPropagation();\n if (wrapperEl !== null && wrapperEl.current !== null && !isDragging &&\n !wrapperEl.current.contains(target)) {\n handleClose();\n }\n };\n\n const onKeyDownPress = (event: KeyboardEvent) => {\n if (event?.key === 'Escape') {\n event.stopPropagation();\n handleClose();\n }\n };\n\n useEffect(() => {\n if (open && modalContainerRef.current) {\n focusableElementsRef.current = Array.from(\n modalContainerRef.current.querySelectorAll<HTMLElement>(\n \"button, a, input, select, textarea, [tabindex]:not([tabindex='-1'])\",\n ),\n );\n }\n }, [open]);\n\n const onDialogPositionChange = ({\n positionX, positionY,\n }: { positionX: number; positionY: number; }) => {\n if (wrapperEl.current) {\n const { width, height } = wrapperEl.current.getBoundingClientRect();\n let x = positionX <= 0 ? 0 : positionX;\n let y = positionY <= 0 ? 0 : positionY;\n\n if (x + width >= window.innerWidth) x = window.innerWidth - width;\n if (y + height >= window.innerHeight) y = window.innerHeight - height;\n\n wrapperEl.current.style.transform = `translate(${x}px, ${y}px)`;\n wrapperEl.current.style.transition = 'none';\n wrapperEl.current.style.left = '0';\n wrapperEl.current.style.top = '0';\n wrapperEl.current.style.position = 'absolute';\n }\n };\n\n const onMouseMove = (event: MouseEvent) => {\n if (wrapperEl.current && isDragging) {\n const { left, top } = wrapperEl.current.getBoundingClientRect();\n onDialogPositionChange({\n positionX: event.movementX + left,\n positionY: event.movementY + top,\n });\n }\n };\n\n const onMouseDown = (event: MouseEvent) => {\n const element = event.target as Element;\n const isHeader = headerRef?.current?.contains(element);\n\n if (wrapperEl.current && isHeader) setIsDragging(true);\n };\n\n const onMouseUp = () => {\n if (wrapperEl.current) setIsDragging(false);\n };\n\n const handleKeyDown = (e: ReactKeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Tab') {\n const { current: elements } = focusableElementsRef;\n if (elements.length === 0) return;\n\n const firstElement = elements[0];\n const lastElement = elements[elements.length - 1];\n\n if (e.shiftKey && document.activeElement === firstElement) {\n lastElement.focus();\n e.preventDefault();\n } else if (!e.shiftKey && document.activeElement === lastElement) {\n firstElement.focus();\n e.preventDefault();\n }\n }\n };\n\n const createdModal = (\n <div\n id={id}\n onKeyDown={handleKeyDown}\n ref={modalContainerRef}\n className='modalcontainer'\n onMouseDown={handleClickOutside}\n style={{ zIndex: zIndex ? Number(zIndex) : undefined }}>\n {overlay && (\n <div className='modal-overlay' data-testid=\"modal-overlay\" />\n )}\n <div className={`dialog ${className}`} data-testid='dialog-component'>\n <div\n className={wrapperClassName}\n data-testid=\"dialog-wrapper\"\n style={dialogStyle(props)}\n ref={wrapperEl}>\n {children}\n </div>\n </div>\n </div>\n );\n\n useLayoutEffect(() => {\n const { activeElement } = document;\n const lastElementActiveBeforeOpen = activeElement as HTMLElement;\n return () => { lastElementActiveBeforeOpen?.focus(); };\n }, []);\n\n useEffect(() => {\n if (open) {\n if (closeOnEsc) {\n document.addEventListener('keydown', onKeyDownPress);\n }\n }\n\n return () => {\n document.removeEventListener('keydown', onKeyDownPress);\n };\n }, [open, closeOnEsc]);\n\n useEffect(() => {\n if (open) {\n document.addEventListener('mousedown', onMouseDown);\n document.addEventListener('mouseup', onMouseUp);\n if (isDragging) document.addEventListener('mousemove', onMouseMove);\n }\n\n return () => {\n document.removeEventListener('mousedown', onMouseDown);\n document.removeEventListener('mouseup', onMouseUp);\n document.removeEventListener('mousemove', onMouseMove);\n };\n }, [isDragging, open]);\n\n useEffect(() => {\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\n const originalOverflow = document.body.style.overflow;\n const originalPaddingRight = document.body.style.paddingRight;\n\n document.body.style.overflow = 'hidden';\n document.body.style.paddingRight = `${scrollbarWidth}px`;\n\n return () => {\n document.body.style.overflow = originalOverflow;\n document.body.style.paddingRight = originalPaddingRight;\n };\n }, [open]);\n\n if (!open) return null;\n\n return (\n <DialogContext.Provider value={{\n handleClose, open, onOpenChange: onOpenChange || setOpen,\n }}>\n {ReactDOM.createPortal(createdModal, body)}\n </DialogContext.Provider>\n );\n};\n\nexport default BaseDialog;\nexport { BaseContent, BaseHeader, BaseFooter }; \n"],"names":["DialogContext","createContext","body","document","BaseDialog","props","$","_c","t0","Symbol","for","uuid","v4","baseDialogId","id","t1","overlay","t2","closeOnEsc","closeOnOutsideClick","wrapperClassName","t3","className","t4","children","open","openProp","onOpenChange","zIndex","handlerClose","undefined","headerRef","useContext","FormDialogContext","t5","setOpen","useState","isDragging","setIsDragging","wrapperEl","useRef","modalContainerRef","t6","focusableElementsRef","t7","handleClose","t8","event","target","stopPropagation","current","contains","handleClickOutside","t9","event_0","key","onKeyDownPress","t10","t11","Array","from","querySelectorAll","useEffect","t12","t13","positionX","positionY","width","height","getBoundingClientRect","x","y","window","innerWidth","innerHeight","style","transform","transition","left","top","position","onDialogPositionChange","event_1","movementX","movementY","onMouseMove","t14","event_2","element","isHeader","onMouseDown","t15","onMouseUp","t16","e","elements","length","firstElement","lastElement","shiftKey","activeElement","focus","preventDefault","handleKeyDown","t17","Number","t18","t19","jsx","t20","t21","dialogStyle","t22","t23","t24","createdModal","t25","useLayoutEffect","_temp","t26","addEventListener","removeEventListener","t27","t28","t29","t30","_temp2","t31","t32","t33","ReactDOM","createPortal","t34","lastElementActiveBeforeOpen","scrollbarWidth","documentElement","clientWidth","originalOverflow","overflow","originalPaddingRight","paddingRight"],"mappings":";;;;;;;;;;;AA0BO,MAAMA,KAAgBC,GAAc,CAAA,CAAuB,GAE5D;AAAA,EAAEC,MAAAA;AAAK,IAAIC,UACXC,KAAaC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,GAAAA,EAAA,EAAA;AAAA,MAAAC;AAAA,EAAAF,EAAA,CAAA,MAAAG,OAAAC,IAAA,2BAAA,KACIF,IAAAG,GAAIC,GAAKN,OAAAE,KAAAA,IAAAF,EAAA,CAAA;AAA9B,QAAAO,KAAqBL,GACrB;AAAA,IAAAM,IAAAC;AAAAA,IAAAC,SAAAC;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,qBAAAA;AAAAA,IAAAC,kBAAAC;AAAAA,IAAAC,WAAAC;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,MAAAC;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,cAAAA;AAAAA,EAAAA,IAYIxB,GAXFS,IAAAC,OAAAe,SAAAjB,KAAAE,IACAC,IAAAC,OAAAa,SAAA,KAAAb,IAGAG,IAAAC,OAAAS,SAAA,KAAAT,IACAC,KAAAC,OAAAO,SAAA,KAAAP,IAOF;AAAA,IAAAQ,WAAAA;AAAAA,EAAAA,IAAsBC,GAAWC,EAAiB,GAClD,CAAAC,IAAAC,EAAA,IAA+BC,GAASV,CAAQ,GAAzCD,IAAAS,OAAAJ,SAAA,KAAAI,IACP,CAAAG,GAAAC,EAAA,IAAoCF,GAAS,EAAK,GAClDG,IAAkBC,GAAuB,IAAI,GAC7CC,IAA0BD,GAAuB,IAAI;AAAE,MAAAE;AAAA,EAAApC,EAAA,CAAA,MAAAG,OAAAC,IAAA,2BAAA,KACJgC,IAAA,CAAA,GAAEpC,OAAAoC,KAAAA,IAAApC,EAAA,CAAA;AAArD,QAAAqC,KAA6BH,GAAsBE,CAAE;AAErD,EAAIhB,MAAaI,UAAaJ,MAAaD,KACzCU,GAAQT,CAAQ;AACjB,MAAAkB;AAAA,EAAAtC,EAAA,CAAA,MAAAuB,KAAAvB,SAAAqB,KAAArB,EAAA,CAAA,MAAAoB,KAEmBkB,IAAAA,MAAA;AAClB,IAAIlB,MAAaI,UAAbH,IACFA,EAAa,EAAK,KAEdE,KAAcA,EAAAA,GACdF,KAAcA,EAAa,EAAK;AAAA,EACrC,GACFrB,OAAAuB,GAAAvB,OAAAqB,GAAArB,OAAAoB,GAAApB,OAAAsC,KAAAA,IAAAtC,EAAA,CAAA;AAPD,QAAAuC,IAAoBD;AAOlB,MAAAE;AAAA,EAAAxC,EAAA,CAAA,MAAAa,KAAAb,SAAAuC,KAAAvC,EAAA,CAAA,MAAA+B,KAE4CS,IAAAC,CAAAA,MAAA;AAC5C,QAAI,CAAC5B;AAAmB;AACxB,UAAA6B,IAAeD,EAAKC;AACpBD,IAAAA,EAAKE,gBAAAA,GACDV,MAAc,QAAQA,EAASW,YAAa,QAA5C,CAAqDb,KAArD,CACDE,EAASW,QAAQC,SAAUH,CAAM,KAClCH,EAAAA;AAAAA,EACD,GACFvC,OAAAa,GAAAb,OAAAuC,GAAAvC,OAAA+B,GAAA/B,OAAAwC,KAAAA,IAAAxC,EAAA,CAAA;AARD,QAAA8C,IAA8CN;AAQ5C,MAAAO;AAAA,EAAA/C,UAAAuC,KAEqBQ,IAAAC,CAAAA,MAAA;AACrB,IAAIP,GAAKQ,QAAU,aACjBR,EAAKE,gBAAAA,GACLJ,EAAAA;AAAAA,EACD,GACFvC,QAAAuC,GAAAvC,QAAA+C,KAAAA,IAAA/C,EAAA,EAAA;AALD,QAAAkD,IAAuBH;AAKrB,MAAAI,GAAAC;AAAA,EAAApD,UAAAmB,KAEQgC,IAAAA,MAAA;AACR,IAAIhC,KAAQgB,EAAiBS,YAC3BP,GAAoBO,UAAWS,MAAKC,KAClCnB,EAAiBS,QAAQW,iBACvB,qEACF,CACF;AAAA,EACD,GACAH,IAAA,CAACjC,CAAI,GAACnB,QAAAmB,GAAAnB,QAAAmD,GAAAnD,QAAAoD,MAAAD,IAAAnD,EAAA,EAAA,GAAAoD,IAAApD,EAAA,EAAA,IARTwD,EAAUL,GAQPC,CAAM;AAAC,MAAAK;AAAA,EAAAzD,EAAA,EAAA,MAAAG,OAAAC,IAAA,2BAAA,KAEqBqD,IAAAC,CAAAA,MAAA;AAAC,UAAA;AAAA,MAAAC,WAAAA;AAAAA,MAAAC,WAAAA;AAAAA,IAAAA,IAAAF;AAG9B,QAAIzB,EAASW,SAAQ;AACnB,YAAA;AAAA,QAAAiB,OAAAA;AAAAA,QAAAC,QAAAA;AAAAA,MAAAA,IAA0B7B,EAASW,QAAQmB,sBAAAA;AAC3C,UAAAC,KAAQL,KAAa,IAAb,IAAAA,GACRM,KAAQL,KAAa,IAAb,IAAAA;AAER,MAAII,KAAIH,KAASK,OAAMC,eAAaH,KAAIE,OAAMC,aAAcN,IACxDI,KAAIH,MAAUI,OAAME,gBAAcH,KAAIC,OAAME,cAAeN,KAE/D7B,EAASW,QAAQyB,MAAMC,YAAa,aAAaN,EAAC,OAAOC,EAAC,OAC1DhC,EAASW,QAAQyB,MAAME,aAAc,QACrCtC,EAASW,QAAQyB,MAAMG,OAAQ,KAC/BvC,EAASW,QAAQyB,MAAMI,MAAO,KAC9BxC,EAASW,QAAQyB,MAAMK,WAAY;AAAA,IAAH;AAAA,EACjC,GACF1E,QAAAyD,KAAAA,IAAAzD,EAAA,EAAA;AAjBD,QAAA2E,KAA+BlB;AAiB7B,MAAAC;AAAA,EAAA1D,UAAA+B,KAEkB2B,IAAAkB,CAAAA,MAAA;AAClB,QAAI3C,EAASW,WAATb,GAA+B;AACjC,YAAA;AAAA,QAAAyC,MAAAA;AAAAA,QAAAC,KAAAA;AAAAA,MAAAA,IAAsBxC,EAASW,QAAQmB,sBAAAA;AACvCY,MAAAA,GAAuB;AAAA,QAAAhB,WACVlB,EAAKoC,YAAaL;AAAAA,QAAIZ,WACtBnB,EAAKqC,YAAaL;AAAAA,MAAAA,CAC9B;AAAA,IAAC;AAAA,EACH,GACFzE,QAAA+B,GAAA/B,QAAA0D,KAAAA,IAAA1D,EAAA,EAAA;AARD,QAAA+E,IAAoBrB;AAQlB,MAAAsB;AAAA,EAAAhF,UAAAyB,KAEkBuD,IAAAC,CAAAA,MAAA;AAClB,UAAAC,IAAgBzC,EAAKC,QACrByC,IAAiB1D,GAASmB,SAAmBC,SAACqC,CAAO;AAErD,IAAIjD,EAASW,WAATuC,KAA+BnD,GAAc,EAAI;AAAA,EAAE,GACxDhC,QAAAyB,GAAAzB,QAAAgF,KAAAA,IAAAhF,EAAA,EAAA;AALD,QAAAoF,IAAoBJ;AAKlB,MAAAK;AAAA,EAAArF,EAAA,EAAA,MAAAG,OAAAC,IAAA,2BAAA,KAEgBiF,IAAAA,MAAA;AAChB,IAAIpD,EAASW,WAAUZ,GAAc,EAAK;AAAA,EAAE,GAC7ChC,QAAAqF,KAAAA,IAAArF,EAAA,EAAA;AAFD,QAAAsF,KAAkBD;AAEhB,MAAAE;AAAA,EAAAvF,EAAA,EAAA,MAAAG,OAAAC,IAAA,2BAAA,KAEoBmF,IAAAC,CAAAA,MAAA;AACpB,QAAIA,EAACvC,QAAS,OAAK;AACjB,YAAA;AAAA,QAAAL,SAAA6C;AAAAA,MAAAA,IAA8BpD;AAC9B,UAAIoD,EAAQC,WAAY;AAAC;AAEzB,YAAAC,IAAqBF,EAAQ,CAAA,GAC7BG,IAAoBH,EAASA,EAAQC,SAAU,CAAC;AAEhD,MAAIF,EAACK,YAAahG,SAAQiG,kBAAmBH,KAC3CC,EAAWG,MAAAA,GACXP,EAACQ,eAAAA,KACQ,CAACR,EAACK,YAAahG,SAAQiG,kBAAmBF,MACnDD,EAAYI,MAAAA,GACZP,EAACQ,eAAAA;AAAAA,IACF;AAAA,EACF,GACFhG,QAAAuF,KAAAA,IAAAvF,EAAA,EAAA;AAhBD,QAAAiG,KAAsBV,GAyBDW,KAAA5E,KAAS6E,OAAO7E,EAAkB,IAAlCE;AAAmC,MAAA4E;AAAA,EAAApG,UAAAkG,MAA7CE,IAAA;AAAA,IAAA9E,QAAU4E;AAAAA,EAAAA,GAAqClG,QAAAkG,IAAAlG,QAAAoG,KAAAA,IAAApG,EAAA,EAAA;AAAA,MAAAqG;AAAA,EAAArG,UAAAU,KACrD2F,IAAA3F,KACC,gBAAA4F,EAAA,OAAA,EAAe,WAAA,iBAA4B,eAAA,iBAAe,GAC3DtG,QAAAU,GAAAV,QAAAqG,KAAAA,IAAArG,EAAA,EAAA;AACe,QAAAuG,KAAA,UAAUvF,EAAS;AAAE,MAAAwF;AAAA,EAAAxG,UAAAD,KAI1ByG,IAAAC,GAAY1G,CAAK,GAACC,QAAAD,GAAAC,QAAAwG,KAAAA,IAAAxG,EAAA,EAAA;AAAA,MAAA0G;AAAA,EAAA1G,EAAA,EAAA,MAAAkB,KAAAlB,UAAAwG,KAAAxG,EAAA,EAAA,MAAAc,KAH3B4F,IAAA,gBAAAJ,EAAA,OAAA,EACaxF,WAAAA,GACC,eAAA,kBACL,OAAA0F,GACFvE,KAAAA,GACJf,UAAAA,EAAAA,CACH,GAAMlB,QAAAkB,GAAAlB,QAAAwG,GAAAxG,QAAAc,GAAAd,QAAA0G,KAAAA,IAAA1G,EAAA,EAAA;AAAA,MAAA2G;AAAA,EAAA3G,EAAA,EAAA,MAAAuG,MAAAvG,UAAA0G,KAPRC,+BAAgB,WAAAJ,IAAmC,eAAA,oBACjDG,UAAAA,GAOF,GAAM1G,QAAAuG,IAAAvG,QAAA0G,GAAA1G,QAAA2G,KAAAA,IAAA3G,EAAA,EAAA;AAAA,MAAA4G;AAAA,EAAA5G,EAAA,EAAA,MAAA8C,KAAA9C,EAAA,EAAA,MAAAQ,KAAAR,EAAA,EAAA,MAAAoG,KAAApG,EAAA,EAAA,MAAAqG,KAAArG,UAAA2G,KAlBRC,gCACMpG,IAAAA,GACOyF,WAAAA,IACN9D,KAAAA,GACK,WAAA,kBACGW,aAAAA,GACN,OAAAsD,GACNC,UAAAA;AAAAA,IAAAA;AAAAA,IAGDM;AAAAA,EAAAA,GASF,GAAM3G,QAAA8C,GAAA9C,QAAAQ,GAAAR,QAAAoG,GAAApG,QAAAqG,GAAArG,QAAA2G,GAAA3G,QAAA4G,KAAAA,IAAA5G,EAAA,EAAA;AApBR,QAAA6G,KACED;AAoBA,MAAAE;AAAA,EAAA9G,EAAA,EAAA,MAAAG,OAAAC,IAAA,2BAAA,KAMC0G,IAAA,CAAA,GAAE9G,QAAA8G,KAAAA,IAAA9G,EAAA,EAAA,GAJL+G,GAAgBC,IAIbF,CAAE;AAAC,MAAAG;AAAA,EAAAjH,EAAA,EAAA,MAAAY,KAAAZ,UAAAkD,KAAAlD,EAAA,EAAA,MAAAmB,KAEI8F,IAAAA,OACJ9F,KACEP,KACFf,SAAQqH,iBAAkB,WAAWhE,CAAc,GAIhD,MAAA;AACLrD,aAAQsH,oBAAqB,WAAWjE,CAAc;AAAA,EAAC,IAE1DlD,QAAAY,GAAAZ,QAAAkD,GAAAlD,QAAAmB,GAAAnB,QAAAiH,KAAAA,IAAAjH,EAAA,EAAA;AAAA,MAAAoH;AAAA,EAAApH,EAAA,EAAA,MAAAY,KAAAZ,UAAAmB,KAAEiG,IAAA,CAACjG,GAAMP,CAAU,GAACZ,QAAAY,GAAAZ,QAAAmB,GAAAnB,QAAAoH,KAAAA,IAAApH,EAAA,EAAA,GAVrBwD,EAAUyD,GAUPG,CAAkB;AAAC,MAAAC;AAAA,EAAArH,EAAA,EAAA,MAAA+B,KAAA/B,EAAA,EAAA,MAAAoF,KAAApF,EAAA,EAAA,MAAA+E,KAAA/E,UAAAmB,KAEZkG,IAAAA,OACJlG,MACFtB,SAAQqH,iBAAkB,aAAa9B,CAAW,GAClDvF,SAAQqH,iBAAkB,WAAW5B,EAAS,GAC1CvD,KAAYlC,SAAQqH,iBAAkB,aAAanC,CAAW,IAG7D,MAAA;AACLlF,aAAQsH,oBAAqB,aAAa/B,CAAW,GACrDvF,SAAQsH,oBAAqB,WAAW7B,EAAS,GACjDzF,SAAQsH,oBAAqB,aAAapC,CAAW;AAAA,EAAC,IAEzD/E,QAAA+B,GAAA/B,QAAAoF,GAAApF,QAAA+E,GAAA/E,QAAAmB,GAAAnB,QAAAqH,KAAAA,IAAArH,EAAA,EAAA;AAAA,MAAAsH;AAAA,EAAAtH,EAAA,EAAA,MAAA+B,KAAA/B,UAAAmB,KAAEmG,IAAA,CAACvF,GAAYZ,CAAI,GAACnB,QAAA+B,GAAA/B,QAAAmB,GAAAnB,QAAAsH,KAAAA,IAAAtH,EAAA,EAAA,GAZrBwD,EAAU6D,GAYPC,CAAkB;AAAC,MAAAC;AAiBtB,MAjBsBvH,UAAAmB,KAenBoG,IAAA,CAACpG,CAAI,GAACnB,QAAAmB,GAAAnB,QAAAuH,KAAAA,IAAAvH,EAAA,EAAA,GAbTwD,EAAUgE,IAaPD,CAAM,GAEL,CAACpG;AAAI,WAAS;AAImB,QAAAsG,KAAApG,KAAAQ;AAAuB,MAAA6F;AAAA,EAAA1H,EAAA,EAAA,MAAAuC,KAAAvC,UAAAmB,KAAAnB,EAAA,EAAA,MAAAyH,MAD3BC,IAAA;AAAA,IAAAnF,aAAAA;AAAAA,IAAApB,MAAAA;AAAAA,IAAAE,cACIoG;AAAAA,EAAAA,GAClCzH,QAAAuC,GAAAvC,QAAAmB,GAAAnB,QAAAyH,IAAAzH,QAAA0H,KAAAA,IAAA1H,EAAA,EAAA;AAAA,MAAA2H;AAAA,EAAA3H,UAAA6G,MACEc,IAAAC,GAAQC,aAAchB,IAAcjH,EAAI,GAACI,QAAA6G,IAAA7G,QAAA2H,KAAAA,IAAA3H,EAAA,EAAA;AAAA,MAAA8H;AAAA,SAAA9H,EAAA,EAAA,MAAA0H,KAAA1H,UAAA2H,KAH5CG,sBAAApI,GAAA,UAAA,EAA+B,OAAAgI,GAG5BC,UAAAA,GACH,GAAyB3H,QAAA0H,GAAA1H,QAAA2H,GAAA3H,QAAA8H,KAAAA,IAAA9H,EAAA,EAAA,GAJzB8H;AAIyB;AArMV,SAAAd,KAAA;AAgJf,QAAA;AAAA,IAAAlB,eAAAA;AAAAA,EAAAA,IAA0BjG,UAC1BkI,IAAoCjC;AAA6B,SAC1D,MAAA;AAAQiC,IAAAA,GAA2BhC,MAAAA;AAAAA,EAAS;AAAG;AAlJvC,SAAAyB,KAAA;AAgLf,QAAAQ,IAAuB9D,OAAMC,aAActE,SAAQoI,gBAAgBC,aAEnEC,IAAyBtI,SAAQD,KAAKyE,MAAM+D,UAC5CC,IAA6BxI,SAAQD,KAAKyE,MAAMiE;AAEhDzI,kBAAQD,KAAKyE,MAAM+D,WAAY,UAC/BvI,SAAQD,KAAKyE,MAAMiE,eAAgB,GAAGN,CAAc,MAE7C,MAAA;AACLnI,aAAQD,KAAKyE,MAAM+D,WAAYD,GAC/BtI,SAAQD,KAAKyE,MAAMiE,eAAgBD;AAAAA,EAAH;AACjC;"}
@@ -4,11 +4,7 @@ import { createContext as ne, useRef as le, useContext as re, useState as se, us
4
4
  import me from "../base/index.js";
5
5
  import fe from "../base/Header.js";
6
6
  import de from "../../buttons/button_container/index.js";
7
- import "../../buttons/DefaultButton.js";
8
- import '../../assets/styles/button.css';import '../../assets/styles/tooltip.css';import '../../assets/styles/icon.css';/* empty css */
9
- import "react-dom";
10
- /* empty css */
11
- /* empty css */
7
+ import '../../assets/styles/button.css';/* empty css */
12
8
  import ue from "../base/Content.js";
13
9
  import he from "../base/Footer.js";
14
10
  import Ce from "../../spinner/index.js";
@@ -104,12 +100,12 @@ const xe = ne({}), ge = (t) => {
104
100
  u,
105
101
  h
106
102
  ] }), e[52] = u, e[53] = h, e[54] = B) : B = e[54], B;
107
- }, ze = ye(ge);
103
+ }, je = ye(ge);
108
104
  function Fe(t) {
109
105
  t?.preventDefault();
110
106
  }
111
107
  export {
112
108
  xe as FormDialogContext,
113
- ze as default
109
+ je as default
114
110
  };
115
111
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/lib/dialog/form/index.tsx"],"sourcesContent":["import { useContext, createContext, useRef, useState, useEffect, Children, cloneElement } from 'react';\nimport BaseDialog from '../base';\nimport BaseHeader from '../base/Header';\nimport { ButtonContainer } from '../../buttons/index';\nimport Content from '../base/Content';\nimport BaseFooter from '../base/Footer';\nimport SpinnerLoading from '../../spinner';\nimport withFormSecurity, { FormSecurityContext } from '../../form/withFormSecurity';\nimport { IFormProps, IFormDialogContext } from '../types';\nimport DialogQuestion from '../Question';\n\nexport const FormDialogContext = createContext({} as IFormDialogContext);\n\nconst ModalForm = (props: IFormProps) => {\n const {\n showFooter = true,\n isWaiting = false,\n width = '50%',\n height = '50%',\n content,\n children,\n className = '',\n wrapperClassName = '',\n contentClassName = '',\n headerClassName = '',\n securityBeforeUnload = false,\n securityTitle = 'Dados Alterados',\n securityText = 'Você possui dados alterados, confirma o fechamento?',\n } = props;\n const headerRef = useRef<HTMLDivElement>(null);\n const context = useContext(FormSecurityContext);\n const [showSecurityDialog, setShowSecurityDialog] = useState(false);\n const overlayStyle = isWaiting ? { opacity: 0.4, pointerEvent: 'none' } : {};\n\n const handlerClose = () => {\n if (securityBeforeUnload) {\n setShowSecurityDialog(true);\n return;\n }\n\n if (props.handlerClose) {\n props.handlerClose();\n }\n };\n\n const onConfirmSecurity = () => {\n props.handlerClose?.();\n setShowSecurityDialog(false);\n };\n\n const onUnconfirmClick = () => {\n setShowSecurityDialog(false);\n };\n\n const getSpinner = () => {\n if (!isWaiting) return null;\n return (\n <div className=\"waitingspinner\">\n <SpinnerLoading style={{ width: 60 }} delayTime={0} />\n </div>\n );\n };\n\n useEffect(() => {\n const onBeforeUnload = (e: Event) => {\n e?.preventDefault();\n };\n\n if (securityBeforeUnload) {\n window.addEventListener('beforeunload', onBeforeUnload);\n }\n return () => {\n window.removeEventListener('beforeunload', onBeforeUnload);\n };\n }, [securityBeforeUnload]);\n\n return (\n <FormDialogContext.Provider value={{ headerRef: headerRef as any }}>\n <BaseDialog\n {...props}\n width={width}\n height={height}\n className={className}\n wrapperClassName={`dialog-form-wrapper ${wrapperClassName}`}\n securityBeforeUnload={securityBeforeUnload}\n handlerClose={handlerClose}>\n {props.title &&\n <div className={`header-form ${headerClassName}`}>\n <BaseHeader\n title={props.title}\n handlerClose={handlerClose}\n icon={props.icon} />\n </div>\n }\n <Content \n styleForContent={{ ...props.styleForContent, ...overlayStyle }} \n className={contentClassName}>\n {content || children}\n </Content>\n {getSpinner()}\n {showFooter && props.buttons &&\n <BaseFooter>\n <ButtonContainer {...props} style={{ ...overlayStyle }}>\n {Children.toArray(props.buttons.map((button) => {\n if (context && (context.securityBeforeUnload || securityBeforeUnload) && button \n && button.type && button.type.name === 'CancelButton') {\n return cloneElement(button, { onClick: handlerClose });\n }\n return cloneElement(button);\n }))}\n </ButtonContainer>\n </BaseFooter>\n }\n </BaseDialog>\n <DialogQuestion\n zIndex=\"99999999\"\n title={securityTitle}\n text={securityText}\n visible={showSecurityDialog}\n onConfirmClick={onConfirmSecurity}\n onUnconfirmClick={onUnconfirmClick} />\n </FormDialogContext.Provider>\n );\n};\n\nexport default withFormSecurity(ModalForm);\n"],"names":["FormDialogContext","createContext","ModalForm","props","$","_c","showFooter","t0","isWaiting","t1","width","t2","height","t3","content","children","className","t4","wrapperClassName","t5","contentClassName","t6","headerClassName","t7","securityBeforeUnload","t8","securityTitle","t9","securityText","t10","undefined","headerRef","useRef","context","useContext","FormSecurityContext","showSecurityDialog","setShowSecurityDialog","useState","t11","opacity","pointerEvent","overlayStyle","t12","handlerClose","t13","onConfirmSecurity","t14","Symbol","for","onUnconfirmClick","t15","jsx","SpinnerLoading","getSpinner","t16","t17","onBeforeUnload","_temp","window","addEventListener","removeEventListener","useEffect","t18","t19","t20","icon","title","BaseHeader","t21","styleForContent","t22","t23","Content","t24","t25","buttons","BaseFooter","ButtonContainer","Children","toArray","map","button","type","name","cloneElement","onClick","t26","jsxs","BaseDialog","t27","DialogQuestion","t28","FormDialog","withFormSecurity","e","preventDefault"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/dialog/form/index.tsx"],"sourcesContent":["import { useContext, createContext, useRef, useState, useEffect, Children, cloneElement } from 'react';\nimport BaseDialog from '../base';\nimport BaseHeader from '../base/Header';\nimport { ButtonContainer } from '../../buttons/index';\nimport Content from '../base/Content';\nimport BaseFooter from '../base/Footer';\nimport SpinnerLoading from '../../spinner';\nimport withFormSecurity, { FormSecurityContext } from '../../form/withFormSecurity';\nimport { IFormProps, IFormDialogContext } from '../types';\nimport DialogQuestion from '../Question';\n\nexport const FormDialogContext = createContext({} as IFormDialogContext);\n\nconst ModalForm = (props: IFormProps) => {\n const {\n showFooter = true,\n isWaiting = false,\n width = '50%',\n height = '50%',\n content,\n children,\n className = '',\n wrapperClassName = '',\n contentClassName = '',\n headerClassName = '',\n securityBeforeUnload = false,\n securityTitle = 'Dados Alterados',\n securityText = 'Você possui dados alterados, confirma o fechamento?',\n } = props;\n const headerRef = useRef<HTMLDivElement>(null);\n const context = useContext(FormSecurityContext);\n const [showSecurityDialog, setShowSecurityDialog] = useState(false);\n const overlayStyle = isWaiting ? { opacity: 0.4, pointerEvent: 'none' } : {};\n\n const handlerClose = () => {\n if (securityBeforeUnload) {\n setShowSecurityDialog(true);\n return;\n }\n\n if (props.handlerClose) {\n props.handlerClose();\n }\n };\n\n const onConfirmSecurity = () => {\n props.handlerClose?.();\n setShowSecurityDialog(false);\n };\n\n const onUnconfirmClick = () => {\n setShowSecurityDialog(false);\n };\n\n const getSpinner = () => {\n if (!isWaiting) return null;\n return (\n <div className=\"waitingspinner\">\n <SpinnerLoading style={{ width: 60 }} delayTime={0} />\n </div>\n );\n };\n\n useEffect(() => {\n const onBeforeUnload = (e: Event) => {\n e?.preventDefault();\n };\n\n if (securityBeforeUnload) {\n window.addEventListener('beforeunload', onBeforeUnload);\n }\n return () => {\n window.removeEventListener('beforeunload', onBeforeUnload);\n };\n }, [securityBeforeUnload]);\n\n return (\n <FormDialogContext.Provider value={{ headerRef: headerRef as any }}>\n <BaseDialog\n {...props}\n width={width}\n height={height}\n className={className}\n wrapperClassName={`dialog-form-wrapper ${wrapperClassName}`}\n securityBeforeUnload={securityBeforeUnload}\n handlerClose={handlerClose}>\n {props.title &&\n <div className={`header-form ${headerClassName}`}>\n <BaseHeader\n title={props.title}\n handlerClose={handlerClose}\n icon={props.icon} />\n </div>\n }\n <Content \n styleForContent={{ ...props.styleForContent, ...overlayStyle }} \n className={contentClassName}>\n {content || children}\n </Content>\n {getSpinner()}\n {showFooter && props.buttons &&\n <BaseFooter>\n <ButtonContainer {...props} style={{ ...overlayStyle }}>\n {Children.toArray(props.buttons.map((button) => {\n if (context && (context.securityBeforeUnload || securityBeforeUnload) && button \n && button.type && button.type.name === 'CancelButton') {\n return cloneElement(button, { onClick: handlerClose });\n }\n return cloneElement(button);\n }))}\n </ButtonContainer>\n </BaseFooter>\n }\n </BaseDialog>\n <DialogQuestion\n zIndex=\"99999999\"\n title={securityTitle}\n text={securityText}\n visible={showSecurityDialog}\n onConfirmClick={onConfirmSecurity}\n onUnconfirmClick={onUnconfirmClick} />\n </FormDialogContext.Provider>\n );\n};\n\nexport default withFormSecurity(ModalForm);\n"],"names":["FormDialogContext","createContext","ModalForm","props","$","_c","showFooter","t0","isWaiting","t1","width","t2","height","t3","content","children","className","t4","wrapperClassName","t5","contentClassName","t6","headerClassName","t7","securityBeforeUnload","t8","securityTitle","t9","securityText","t10","undefined","headerRef","useRef","context","useContext","FormSecurityContext","showSecurityDialog","setShowSecurityDialog","useState","t11","opacity","pointerEvent","overlayStyle","t12","handlerClose","t13","onConfirmSecurity","t14","Symbol","for","onUnconfirmClick","t15","jsx","SpinnerLoading","getSpinner","t16","t17","onBeforeUnload","_temp","window","addEventListener","removeEventListener","useEffect","t18","t19","t20","icon","title","BaseHeader","t21","styleForContent","t22","t23","Content","t24","t25","buttons","BaseFooter","ButtonContainer","Children","toArray","map","button","type","name","cloneElement","onClick","t26","jsxs","BaseDialog","t27","DialogQuestion","t28","FormDialog","withFormSecurity","e","preventDefault"],"mappings":"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"}
@@ -2,13 +2,12 @@ import { jsx as r, jsxs as M } from "react/jsx-runtime";
2
2
  import { useRef as w, useState as R, useEffect as h } from "react";
3
3
  import H from "react-dom";
4
4
  import V from "./helpers.js";
5
- import { OPTIONS_ON_DENIED as q, actionsOnPermissionDenied as z } from "../permissionValidations.js";
5
+ import { actionsOnPermissionDenied as q, OPTIONS_ON_DENIED as z } from "../permissionValidations.js";
6
6
  import A from "./Header.js";
7
7
  import F from "./Content.js";
8
8
  import '../assets/styles/drawers.css';/* empty css */
9
- import "../form/withFormSecurity.js";
10
9
  import G from "../spinner/index.js";
11
- const ne = ({
10
+ const te = ({
12
11
  position: C = "left",
13
12
  customClass: E = "",
14
13
  children: N,
@@ -34,7 +33,7 @@ const ne = ({
34
33
  i.current.className = "drawercontainer", y && (i.current.className = y);
35
34
  const o = w(null), {
36
35
  hideContent: B
37
- } = q, [$] = R(z([B], O)), k = p ? {
36
+ } = z, [$] = R(q([B], O)), k = p ? {
38
37
  opacity: 0.4,
39
38
  pointerEvent: "none",
40
39
  placeContent: "center"
@@ -73,6 +72,6 @@ const ne = ({
73
72
  return H.createPortal(j(), i.current);
74
73
  };
75
74
  export {
76
- ne as default
75
+ te as default
77
76
  };
78
77
  //# sourceMappingURL=Drawer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.js","sources":["../../src/lib/drawer/Drawer.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport DrawerContext from './helpers';\nimport { actionsOnPermissionDenied, OPTIONS_ON_DENIED } from '../permissionValidations';\nimport { IDrawerProps, IDrawerContext } from './types';\nimport { OnDenied } from '../@types/PermissionAttr';\nimport { DrawerContent, DrawerHeader } from '.';\nimport SpinnerLoading from '../spinner';\n\nconst BaseDrawer = ({\n position = 'left', customClass = '', children, style, customClassForContent = '', targetId,\n closeOnEsc, overlay, permissionAttr, skeletonize, handlerClose, customClassForDrawer = '',\n content, title, isWaiting = false, customClassElementDrawer = '', ...rest\n}: IDrawerProps) => {\n const headerProps = { ...rest, title };\n const drawerContainerEl = useRef(document.createElement('div'));\n drawerContainerEl.current.className = 'drawercontainer';\n if (customClassElementDrawer) {\n drawerContainerEl.current.className = customClassElementDrawer;\n }\n const drawerComponentEl = useRef<HTMLDivElement>(null);\n const { hideContent } = OPTIONS_ON_DENIED;\n const [onDenied] = useState<OnDenied>(actionsOnPermissionDenied([hideContent], permissionAttr));\n\n const overlayStyle = isWaiting ? { opacity: 0.4, pointerEvent: 'none', placeContent: 'center' } : {};\n\n const getSpinner = () => {\n if (!isWaiting) return null;\n return (\n <div className=\"waitingspinner\">\n <SpinnerLoading style={{ width: 60 }} delayTime={0} />\n </div>\n );\n };\n\n const setDrawerComponent = (body: HTMLElement, randonId: number) => {\n const componentEl = document.createElement('div');\n componentEl.className = 'drawer-component';\n componentEl.id = String(randonId);\n body.appendChild(componentEl);\n componentEl.appendChild(drawerContainerEl.current);\n drawerComponentEl.current = componentEl;\n };\n\n const setDrawerOverlay = (body: HTMLElement, id: string) => {\n const drawerOverlay = document.createElement('div');\n drawerOverlay.className = 'drawer-overlay';\n drawerOverlay.id = id;\n drawerOverlay.dataset.testid = 'drawer-overlay';\n body.appendChild(drawerOverlay);\n };\n\n const closeDrawerOnEsc = (e: KeyboardEvent) => {\n if (closeOnEsc && (e.key === 'Escape')) {\n handlerClose?.();\n e.stopPropagation();\n }\n };\n\n useEffect(() => {\n let body: HTMLElement | null;\n const randomId = Math.round(+new Date() / 1000);\n const overlayId = `overlay-${randomId}`;\n if (targetId === undefined) {\n body = document.getElementsByTagName('body')[0];\n } else {\n body = document.getElementById(targetId);\n }\n if (body) setDrawerComponent(body, randomId);\n if (overlay && body) {\n setDrawerOverlay(body, overlayId);\n }\n return () => {\n const drawerOverlay = document.getElementById(overlayId);\n if (closeOnEsc) document.body.removeEventListener('keydown', closeDrawerOnEsc);\n if (targetId) {\n const drawerComponentTarget = document.getElementById(targetId);\n if (drawerComponentTarget && drawerComponentEl.current) {\n drawerComponentTarget.removeChild(drawerComponentEl.current);\n }\n } else if (drawerComponentEl.current) document.body.removeChild(drawerComponentEl.current);\n if (drawerOverlay && body) body.removeChild(drawerOverlay);\n };\n }, []);\n\n useEffect(() => {\n if (closeOnEsc) {\n document.body.addEventListener('keydown', closeDrawerOnEsc);\n }\n return () => document.body.removeEventListener('keydown', closeDrawerOnEsc);\n }, [closeOnEsc]);\n\n const contextValues: IDrawerContext = {\n handlerClose,\n hideContent: onDenied.hideContent,\n skeletonize,\n };\n\n const drawerContent = () => (\n <DrawerContext.Provider value={contextValues}>\n <div data-testid=\"drawercontainer-component\" className={`${position} ${customClass}`} style={style}>\n <div\n style={overlayStyle}\n data-testid=\"drawercontent\"\n className={`drawercontent ${skeletonize ? '-skeletonized' : ''} ${customClassForContent}`}>\n {title && <DrawerHeader {...headerProps} customClass={customClassForDrawer} />}\n {content ? <DrawerContent>{content}</DrawerContent> : children}\n {getSpinner()}\n </div>\n </div>\n </DrawerContext.Provider>\n );\n\n return ReactDOM.createPortal(drawerContent(), drawerContainerEl.current);\n};\n\nexport default BaseDrawer;\n"],"names":["BaseDrawer","position","customClass","children","style","customClassForContent","targetId","closeOnEsc","overlay","permissionAttr","skeletonize","handlerClose","customClassForDrawer","content","title","isWaiting","customClassElementDrawer","rest","headerProps","drawerContainerEl","useRef","document","createElement","current","className","drawerComponentEl","hideContent","OPTIONS_ON_DENIED","onDenied","useState","actionsOnPermissionDenied","overlayStyle","opacity","pointerEvent","placeContent","getSpinner","jsx","SpinnerLoading","width","setDrawerComponent","body","randonId","componentEl","id","String","appendChild","setDrawerOverlay","drawerOverlay","dataset","testid","closeDrawerOnEsc","e","key","stopPropagation","useEffect","randomId","Math","round","Date","overlayId","undefined","getElementsByTagName","getElementById","removeEventListener","drawerComponentTarget","removeChild","addEventListener","contextValues","drawerContent","DrawerContext","jsxs","DrawerHeader","DrawerContent","ReactDOM","createPortal"],"mappings":"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"}
1
+ {"version":3,"file":"Drawer.js","sources":["../../src/lib/drawer/Drawer.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport DrawerContext from './helpers';\nimport { actionsOnPermissionDenied, OPTIONS_ON_DENIED } from '../permissionValidations';\nimport { IDrawerProps, IDrawerContext } from './types';\nimport { OnDenied } from '../@types/PermissionAttr';\nimport { DrawerContent, DrawerHeader } from '.';\nimport SpinnerLoading from '../spinner';\n\nconst BaseDrawer = ({\n position = 'left', customClass = '', children, style, customClassForContent = '', targetId,\n closeOnEsc, overlay, permissionAttr, skeletonize, handlerClose, customClassForDrawer = '',\n content, title, isWaiting = false, customClassElementDrawer = '', ...rest\n}: IDrawerProps) => {\n const headerProps = { ...rest, title };\n const drawerContainerEl = useRef(document.createElement('div'));\n drawerContainerEl.current.className = 'drawercontainer';\n if (customClassElementDrawer) {\n drawerContainerEl.current.className = customClassElementDrawer;\n }\n const drawerComponentEl = useRef<HTMLDivElement>(null);\n const { hideContent } = OPTIONS_ON_DENIED;\n const [onDenied] = useState<OnDenied>(actionsOnPermissionDenied([hideContent], permissionAttr));\n\n const overlayStyle = isWaiting ? { opacity: 0.4, pointerEvent: 'none', placeContent: 'center' } : {};\n\n const getSpinner = () => {\n if (!isWaiting) return null;\n return (\n <div className=\"waitingspinner\">\n <SpinnerLoading style={{ width: 60 }} delayTime={0} />\n </div>\n );\n };\n\n const setDrawerComponent = (body: HTMLElement, randonId: number) => {\n const componentEl = document.createElement('div');\n componentEl.className = 'drawer-component';\n componentEl.id = String(randonId);\n body.appendChild(componentEl);\n componentEl.appendChild(drawerContainerEl.current);\n drawerComponentEl.current = componentEl;\n };\n\n const setDrawerOverlay = (body: HTMLElement, id: string) => {\n const drawerOverlay = document.createElement('div');\n drawerOverlay.className = 'drawer-overlay';\n drawerOverlay.id = id;\n drawerOverlay.dataset.testid = 'drawer-overlay';\n body.appendChild(drawerOverlay);\n };\n\n const closeDrawerOnEsc = (e: KeyboardEvent) => {\n if (closeOnEsc && (e.key === 'Escape')) {\n handlerClose?.();\n e.stopPropagation();\n }\n };\n\n useEffect(() => {\n let body: HTMLElement | null;\n const randomId = Math.round(+new Date() / 1000);\n const overlayId = `overlay-${randomId}`;\n if (targetId === undefined) {\n body = document.getElementsByTagName('body')[0];\n } else {\n body = document.getElementById(targetId);\n }\n if (body) setDrawerComponent(body, randomId);\n if (overlay && body) {\n setDrawerOverlay(body, overlayId);\n }\n return () => {\n const drawerOverlay = document.getElementById(overlayId);\n if (closeOnEsc) document.body.removeEventListener('keydown', closeDrawerOnEsc);\n if (targetId) {\n const drawerComponentTarget = document.getElementById(targetId);\n if (drawerComponentTarget && drawerComponentEl.current) {\n drawerComponentTarget.removeChild(drawerComponentEl.current);\n }\n } else if (drawerComponentEl.current) document.body.removeChild(drawerComponentEl.current);\n if (drawerOverlay && body) body.removeChild(drawerOverlay);\n };\n }, []);\n\n useEffect(() => {\n if (closeOnEsc) {\n document.body.addEventListener('keydown', closeDrawerOnEsc);\n }\n return () => document.body.removeEventListener('keydown', closeDrawerOnEsc);\n }, [closeOnEsc]);\n\n const contextValues: IDrawerContext = {\n handlerClose,\n hideContent: onDenied.hideContent,\n skeletonize,\n };\n\n const drawerContent = () => (\n <DrawerContext.Provider value={contextValues}>\n <div data-testid=\"drawercontainer-component\" className={`${position} ${customClass}`} style={style}>\n <div\n style={overlayStyle}\n data-testid=\"drawercontent\"\n className={`drawercontent ${skeletonize ? '-skeletonized' : ''} ${customClassForContent}`}>\n {title && <DrawerHeader {...headerProps} customClass={customClassForDrawer} />}\n {content ? <DrawerContent>{content}</DrawerContent> : children}\n {getSpinner()}\n </div>\n </div>\n </DrawerContext.Provider>\n );\n\n return ReactDOM.createPortal(drawerContent(), drawerContainerEl.current);\n};\n\nexport default BaseDrawer;\n"],"names":["BaseDrawer","position","customClass","children","style","customClassForContent","targetId","closeOnEsc","overlay","permissionAttr","skeletonize","handlerClose","customClassForDrawer","content","title","isWaiting","customClassElementDrawer","rest","headerProps","drawerContainerEl","useRef","document","createElement","current","className","drawerComponentEl","hideContent","OPTIONS_ON_DENIED","onDenied","useState","actionsOnPermissionDenied","overlayStyle","opacity","pointerEvent","placeContent","getSpinner","jsx","SpinnerLoading","width","setDrawerComponent","body","randonId","componentEl","id","String","appendChild","setDrawerOverlay","drawerOverlay","dataset","testid","closeDrawerOnEsc","e","key","stopPropagation","useEffect","randomId","Math","round","Date","overlayId","undefined","getElementsByTagName","getElementById","removeEventListener","drawerComponentTarget","removeChild","addEventListener","contextValues","drawerContent","DrawerContext","jsxs","DrawerHeader","DrawerContent","ReactDOM","createPortal"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Popup.js","sources":["../../src/lib/dropdown/Popup.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport ReactDOM, { createPortal } from 'react-dom';\nimport { v1 as uuid } from 'uuid';\n\nimport { GetDropdownStyleParams, IPopupProps } from './types';\n\nconst getDropdownStyles = ({\n align, isFloatMenu, minWidth, container, target,\n}: GetDropdownStyleParams) => {\n if (!container || !target) return '';\n const targetDimensions = target.getBoundingClientRect();\n const rightPosition = !isFloatMenu ?\n (window.innerWidth - targetDimensions.x) - targetDimensions.width - 4 :\n undefined;\n const leftPosition = targetDimensions.left;\n const topPosition = targetDimensions.top + window.scrollY + targetDimensions.height;\n\n let top = topPosition + (isFloatMenu ? 6 : 2);\n let maxHeight = undefined;\n let showScroll = false;\n const isOverflowing = top + container.scrollHeight > window.innerHeight;\n\n if (isOverflowing) {\n const targetPosition = targetDimensions.top;\n const containerHeight = container.scrollHeight;\n showScroll = containerHeight > targetPosition;\n maxHeight = showScroll ? targetPosition - 10 : containerHeight;\n top = top - maxHeight - targetDimensions.height - (isFloatMenu ? 6 : 2) - 5;\n }\n\n let style = `top: ${top}px; min-width: ${minWidth}px;`;\n if (showScroll) style += `max-height: ${maxHeight}px; overflow-y: scroll;`;\n if (align === 'left') {\n style += `left: ${leftPosition}px;`;\n } else if (align === 'right') {\n style += `right: ${rightPosition}px;`;\n }\n return style;\n};\n\nconst { body } = document;\n\nconst DropdownPopup = ({\n id,\n customClassForDropdown = '',\n align = 'left',\n isFloatMenu = false,\n topPosition = 0,\n leftPosition = 0,\n rightPosition = 0,\n minWidth = 0,\n targetRef,\n ...props\n}: IPopupProps) => {\n const popup = useRef(document.createElement('div'));\n popup.current.className = `dropdown-component ${customClassForDropdown}`;\n popup.current.dataset.testid = 'dropdown-component';\n\n if (popup && popup.current) {\n const modalContainers = document.body.getElementsByClassName('modalcontainer');\n const lastModalContainer = modalContainers[modalContainers.length - 1] as HTMLElement;\n popup.current.style.zIndex = `${modalContainers.length ? (Number(lastModalContainer.style.zIndex) + 1) : 99999}`;\n }\n\n useEffect(() => {\n body.appendChild(popup.current);\n popup.current.id = id || `dropdown-component-${uuid()}`;\n\n popup.current.style.cssText = getDropdownStyles({\n topPosition, leftPosition, rightPosition, align, isFloatMenu, minWidth, \n container: popup.current, target: targetRef,\n });\n\n return () => {\n body.removeChild(popup.current);\n };\n }, []);\n\n return createPortal(props.children, popup.current);\n};\n\nexport default DropdownPopup;\n"],"names":["getDropdownStyles","align","isFloatMenu","minWidth","container","target","targetDimensions","getBoundingClientRect","rightPosition","undefined","window","innerWidth","x","width","leftPosition","left","top","scrollY","height","maxHeight","showScroll","scrollHeight","innerHeight","targetPosition","containerHeight","style","body","document","DropdownPopup","id","customClassForDropdown","topPosition","targetRef","props","popup","useRef","createElement","current","className","dataset","testid","modalContainers","getElementsByClassName","lastModalContainer","length","zIndex","Number","useEffect","appendChild","uuid","cssText","removeChild","createPortal","children"],"mappings":";;;AAMA,MAAMA,IAAoBA,CAAC;AAAA,EACzBC,OAAAA;AAAAA,EAAOC,aAAAA;AAAAA,EAAaC,UAAAA;AAAAA,EAAUC,WAAAA;AAAAA,EAAWC,QAAAA;AACnB,MAAM;AAC5B,MAAI,CAACD,KAAa,CAACC,EAAQ,QAAO;AAClC,QAAMC,IAAmBD,EAAOE,sBAAAA,GAC1BC,IAAiBN,IAErBO,SADGC,OAAOC,aAAaL,EAAiBM,IAAKN,EAAiBO,QAAQ,GAElEC,IAAeR,EAAiBS;AAGtC,MAAIC,IAFgBV,EAAiBU,MAAMN,OAAOO,UAAUX,EAAiBY,UAEpDhB,IAAc,IAAI,IACvCiB,GACAC,IAAa;AAGjB,MAFsBJ,IAAMZ,EAAUiB,eAAeX,OAAOY,aAEzC;AACjB,UAAMC,IAAiBjB,EAAiBU,KAClCQ,IAAkBpB,EAAUiB;AAClCD,IAAAA,IAAaI,IAAkBD,GAC/BJ,IAAYC,IAAaG,IAAiB,KAAKC,GAC/CR,IAAMA,IAAMG,IAAYb,EAAiBY,UAAUhB,IAAc,IAAI,KAAK;AAAA,EAC5E;AAEA,MAAIuB,IAAQ,QAAQT,CAAG,kBAAkBb,CAAQ;AACjD,SAAIiB,MAAYK,KAAS,eAAeN,CAAS,4BAC7ClB,MAAU,SACZwB,KAAS,SAASX,CAAY,QACrBb,MAAU,YACnBwB,KAAS,UAAUjB,CAAa,QAE3BiB;AACT,GAEM;AAAA,EAAEC,MAAAA;AAAK,IAAIC,UAEXC,IAAgBA,CAAC;AAAA,EACrBC,IAAAA;AAAAA,EACAC,wBAAAA,IAAyB;AAAA,EACzB7B,OAAAA,IAAQ;AAAA,EACRC,aAAAA,IAAc;AAAA,EACd6B,aAAAA,IAAc;AAAA,EACdjB,cAAAA,IAAe;AAAA,EACfN,eAAAA,IAAgB;AAAA,EAChBL,UAAAA,IAAW;AAAA,EACX6B,WAAAA;AAAAA,EACA,GAAGC;AACQ,MAAM;AACjB,QAAMC,IAAQC,EAAOR,SAASS,cAAc,KAAK,CAAC;AAIlD,MAHAF,EAAMG,QAAQC,YAAY,sBAAsBR,CAAsB,IACtEI,EAAMG,QAAQE,QAAQC,SAAS,sBAE3BN,KAASA,EAAMG,SAAS;AAC1B,UAAMI,IAAkBd,SAASD,KAAKgB,uBAAuB,gBAAgB,GACvEC,IAAqBF,EAAgBA,EAAgBG,SAAS,CAAC;AACrEV,IAAAA,EAAMG,QAAQZ,MAAMoB,SAAS,GAAGJ,EAAgBG,SAAUE,OAAOH,EAAmBlB,MAAMoB,MAAM,IAAI,IAAK,KAAK;AAAA,EAChH;AAEAE,SAAAA,EAAU,OACRrB,EAAKsB,YAAYd,EAAMG,OAAO,GAC9BH,EAAMG,QAAQR,KAAKA,KAAM,sBAAsBoB,GAAM,IAErDf,EAAMG,QAAQZ,MAAMyB,UAAUlD,EAAkB;AAAA,IACJC,OAAAA;AAAAA,IAAOC,aAAAA;AAAAA,IAAaC,UAAAA;AAAAA,IAC9DC,WAAW8B,EAAMG;AAAAA,IAAShC,QAAQ2B;AAAAA,EAAAA,CACnC,GAEM,MAAM;AACXN,IAAAA,EAAKyB,YAAYjB,EAAMG,OAAO;AAAA,EAChC,IACC,CAAA,CAAE,GAEEe,EAAanB,EAAMoB,UAAUnB,EAAMG,OAAO;AACnD;"}
1
+ {"version":3,"file":"Popup.js","sources":["../../src/lib/dropdown/Popup.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport { v1 as uuid } from 'uuid';\n\nimport { GetDropdownStyleParams, IPopupProps } from './types';\n\nconst getDropdownStyles = ({\n align, isFloatMenu, minWidth, container, target,\n}: GetDropdownStyleParams) => {\n if (!container || !target) return '';\n const targetDimensions = target.getBoundingClientRect();\n const rightPosition = !isFloatMenu ?\n (window.innerWidth - targetDimensions.x) - targetDimensions.width - 4 :\n undefined;\n const leftPosition = targetDimensions.left;\n const topPosition = targetDimensions.top + window.scrollY + targetDimensions.height;\n\n let top = topPosition + (isFloatMenu ? 6 : 2);\n let maxHeight = undefined;\n let showScroll = false;\n const isOverflowing = top + container.scrollHeight > window.innerHeight;\n\n if (isOverflowing) {\n const targetPosition = targetDimensions.top;\n const containerHeight = container.scrollHeight;\n showScroll = containerHeight > targetPosition;\n maxHeight = showScroll ? targetPosition - 10 : containerHeight;\n top = top - maxHeight - targetDimensions.height - (isFloatMenu ? 6 : 2) - 5;\n }\n\n let style = `top: ${top}px; min-width: ${minWidth}px;`;\n if (showScroll) style += `max-height: ${maxHeight}px; overflow-y: scroll;`;\n if (align === 'left') {\n style += `left: ${leftPosition}px;`;\n } else if (align === 'right') {\n style += `right: ${rightPosition}px;`;\n }\n return style;\n};\n\nconst { body } = document;\n\nconst DropdownPopup = ({\n id,\n customClassForDropdown = '',\n align = 'left',\n isFloatMenu = false,\n topPosition = 0,\n leftPosition = 0,\n rightPosition = 0,\n minWidth = 0,\n targetRef,\n ...props\n}: IPopupProps) => {\n const popup = useRef(document.createElement('div'));\n popup.current.className = `dropdown-component ${customClassForDropdown}`;\n popup.current.dataset.testid = 'dropdown-component';\n\n if (popup && popup.current) {\n const modalContainers = document.body.getElementsByClassName('modalcontainer');\n const lastModalContainer = modalContainers[modalContainers.length - 1] as HTMLElement;\n popup.current.style.zIndex = `${modalContainers.length ? (Number(lastModalContainer.style.zIndex) + 1) : 99999}`;\n }\n\n useEffect(() => {\n body.appendChild(popup.current);\n popup.current.id = id || `dropdown-component-${uuid()}`;\n\n popup.current.style.cssText = getDropdownStyles({\n topPosition, leftPosition, rightPosition, align, isFloatMenu, minWidth, \n container: popup.current, target: targetRef,\n });\n\n return () => {\n body.removeChild(popup.current);\n };\n }, []);\n\n return createPortal(props.children, popup.current);\n};\n\nexport default DropdownPopup;\n"],"names":["getDropdownStyles","align","isFloatMenu","minWidth","container","target","targetDimensions","getBoundingClientRect","rightPosition","undefined","window","innerWidth","x","width","leftPosition","left","top","scrollY","height","maxHeight","showScroll","scrollHeight","innerHeight","targetPosition","containerHeight","style","body","document","DropdownPopup","id","customClassForDropdown","topPosition","targetRef","props","popup","useRef","createElement","current","className","dataset","testid","modalContainers","getElementsByClassName","lastModalContainer","length","zIndex","Number","useEffect","appendChild","uuid","cssText","removeChild","createPortal","children"],"mappings":";;;AAMA,MAAMA,IAAoBA,CAAC;AAAA,EACzBC,OAAAA;AAAAA,EAAOC,aAAAA;AAAAA,EAAaC,UAAAA;AAAAA,EAAUC,WAAAA;AAAAA,EAAWC,QAAAA;AACnB,MAAM;AAC5B,MAAI,CAACD,KAAa,CAACC,EAAQ,QAAO;AAClC,QAAMC,IAAmBD,EAAOE,sBAAAA,GAC1BC,IAAiBN,IAErBO,SADGC,OAAOC,aAAaL,EAAiBM,IAAKN,EAAiBO,QAAQ,GAElEC,IAAeR,EAAiBS;AAGtC,MAAIC,IAFgBV,EAAiBU,MAAMN,OAAOO,UAAUX,EAAiBY,UAEpDhB,IAAc,IAAI,IACvCiB,GACAC,IAAa;AAGjB,MAFsBJ,IAAMZ,EAAUiB,eAAeX,OAAOY,aAEzC;AACjB,UAAMC,IAAiBjB,EAAiBU,KAClCQ,IAAkBpB,EAAUiB;AAClCD,IAAAA,IAAaI,IAAkBD,GAC/BJ,IAAYC,IAAaG,IAAiB,KAAKC,GAC/CR,IAAMA,IAAMG,IAAYb,EAAiBY,UAAUhB,IAAc,IAAI,KAAK;AAAA,EAC5E;AAEA,MAAIuB,IAAQ,QAAQT,CAAG,kBAAkBb,CAAQ;AACjD,SAAIiB,MAAYK,KAAS,eAAeN,CAAS,4BAC7ClB,MAAU,SACZwB,KAAS,SAASX,CAAY,QACrBb,MAAU,YACnBwB,KAAS,UAAUjB,CAAa,QAE3BiB;AACT,GAEM;AAAA,EAAEC,MAAAA;AAAK,IAAIC,UAEXC,IAAgBA,CAAC;AAAA,EACrBC,IAAAA;AAAAA,EACAC,wBAAAA,IAAyB;AAAA,EACzB7B,OAAAA,IAAQ;AAAA,EACRC,aAAAA,IAAc;AAAA,EACd6B,aAAAA,IAAc;AAAA,EACdjB,cAAAA,IAAe;AAAA,EACfN,eAAAA,IAAgB;AAAA,EAChBL,UAAAA,IAAW;AAAA,EACX6B,WAAAA;AAAAA,EACA,GAAGC;AACQ,MAAM;AACjB,QAAMC,IAAQC,EAAOR,SAASS,cAAc,KAAK,CAAC;AAIlD,MAHAF,EAAMG,QAAQC,YAAY,sBAAsBR,CAAsB,IACtEI,EAAMG,QAAQE,QAAQC,SAAS,sBAE3BN,KAASA,EAAMG,SAAS;AAC1B,UAAMI,IAAkBd,SAASD,KAAKgB,uBAAuB,gBAAgB,GACvEC,IAAqBF,EAAgBA,EAAgBG,SAAS,CAAC;AACrEV,IAAAA,EAAMG,QAAQZ,MAAMoB,SAAS,GAAGJ,EAAgBG,SAAUE,OAAOH,EAAmBlB,MAAMoB,MAAM,IAAI,IAAK,KAAK;AAAA,EAChH;AAEAE,SAAAA,EAAU,OACRrB,EAAKsB,YAAYd,EAAMG,OAAO,GAC9BH,EAAMG,QAAQR,KAAKA,KAAM,sBAAsBoB,GAAM,IAErDf,EAAMG,QAAQZ,MAAMyB,UAAUlD,EAAkB;AAAA,IACJC,OAAAA;AAAAA,IAAOC,aAAAA;AAAAA,IAAaC,UAAAA;AAAAA,IAC9DC,WAAW8B,EAAMG;AAAAA,IAAShC,QAAQ2B;AAAAA,EAAAA,CACnC,GAEM,MAAM;AACXN,IAAAA,EAAKyB,YAAYjB,EAAMG,OAAO;AAAA,EAChC,IACC,CAAA,CAAE,GAEEe,EAAanB,EAAMoB,UAAUnB,EAAMG,OAAO;AACnD;"}
@@ -0,0 +1,3 @@
1
+ import { default as withDropdown } from './withDropdown';
2
+ export default withDropdown;
3
+ export { withDropdown };
@@ -0,0 +1,6 @@
1
+ import r from "./withDropdown.js";
2
+ export {
3
+ r as default,
4
+ r as withDropdown
5
+ };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as u } from "react/jsx-runtime";
2
2
  import { c as K } from "../_virtual/compiler-runtime.js";
3
- import { createContext as Q, useState as V, useRef as q, useEffect as z } from "react";
3
+ import { useState as V, useRef as q, useEffect as z, createContext as Q } from "react";
4
4
  import T from "./Popup.js";
5
5
  import '../assets/styles/dropdown.css';/* empty css */
6
6
  const U = Q({}), X = (o) => o.displayName || o.name || "Component", ne = (o) => {
@@ -1,23 +1,22 @@
1
1
  import { jsx as f, jsxs as b } from "react/jsx-runtime";
2
2
  import { c as I } from "../_virtual/compiler-runtime.js";
3
3
  import { useState as R, Fragment as G } from "react";
4
- import '../assets/styles/fieldset.css';import '../assets/styles/gridlayout.css';/* empty css */
5
4
  import k from "../gridlayout/GridCol.js";
6
5
  import { actionsOnPermissionDenied as q, OPTIONS_ON_DENIED as z } from "../permissionValidations.js";
7
6
  import B from "../noPermission/index.js";
8
- /* empty css */
9
- const X = (n) => {
7
+ import '../assets/styles/fieldset.css';/* empty css */
8
+ const W = (n) => {
10
9
  const t = I.c(21), {
11
- gridCols: o,
12
- children: l,
10
+ gridCols: l,
11
+ children: o,
13
12
  title: e,
14
13
  titleAlign: N,
15
14
  style: u,
16
15
  styleContent: C,
17
16
  styleTitle: g,
18
17
  template: w,
19
- titleCustomClass: p,
20
- permissionAttr: h,
18
+ titleCustomClass: h,
19
+ permissionAttr: p,
21
20
  leftElements: O,
22
21
  rightElements: x
23
22
  } = n, v = N === void 0 ? "left" : N, s = w === void 0 ? "none" : w, $ = O === void 0 ? null : O, E = x === void 0 ? null : x, {
@@ -25,7 +24,7 @@ const X = (n) => {
25
24
  unvisible: A
26
25
  } = z;
27
26
  let i;
28
- t[0] !== h ? (i = q([j, A], h), t[0] = h, t[1] = i) : i = t[1];
27
+ t[0] !== p ? (i = q([j, A], p), t[0] = p, t[1] = i) : i = t[1];
29
28
  const [r] = R(i), P = H;
30
29
  let c;
31
30
  t[2] !== s ? (c = (S) => {
@@ -41,32 +40,32 @@ const X = (n) => {
41
40
  }, t[2] = s, t[3] = c) : c = t[3];
42
41
  const y = c;
43
42
  let m;
44
- t[4] !== l || t[5] !== y || t[6] !== $ || t[7] !== r.hideContent || t[8] !== n || t[9] !== E || t[10] !== u || t[11] !== C || t[12] !== g || t[13] !== s || t[14] !== e || t[15] !== v || t[16] !== p ? (m = () => /* @__PURE__ */ f("fieldset", { style: u, className: P({
43
+ t[4] !== o || t[5] !== y || t[6] !== $ || t[7] !== r.hideContent || t[8] !== n || t[9] !== E || t[10] !== u || t[11] !== C || t[12] !== g || t[13] !== s || t[14] !== e || t[15] !== v || t[16] !== h ? (m = () => /* @__PURE__ */ f("fieldset", { style: u, className: P({
45
44
  ...n
46
45
  }), children: r.hideContent ? /* @__PURE__ */ f(B, {}) : /* @__PURE__ */ b(G, { children: [
47
- e && /* @__PURE__ */ b("legend", { style: g, align: v, className: `legend ${p}`, children: [
46
+ e && /* @__PURE__ */ b("legend", { style: g, align: v, className: `legend ${h}`, children: [
48
47
  $,
49
48
  e,
50
49
  E
51
50
  ] }),
52
- /* @__PURE__ */ f("div", { className: `contentfieldset -template${s} `, style: Object.assign(y(n), C), children: l })
53
- ] }) }), t[4] = l, t[5] = y, t[6] = $, t[7] = r.hideContent, t[8] = n, t[9] = E, t[10] = u, t[11] = C, t[12] = g, t[13] = s, t[14] = e, t[15] = v, t[16] = p, t[17] = m) : m = t[17];
51
+ /* @__PURE__ */ f("div", { className: `contentfieldset -template${s} `, style: Object.assign(y(n), C), children: o })
52
+ ] }) }), t[4] = o, t[5] = y, t[6] = $, t[7] = r.hideContent, t[8] = n, t[9] = E, t[10] = u, t[11] = C, t[12] = g, t[13] = s, t[14] = e, t[15] = v, t[16] = h, t[17] = m) : m = t[17];
54
53
  const d = m;
55
54
  if (r.unvisible)
56
55
  return null;
57
56
  let a;
58
- return t[18] !== o || t[19] !== d ? (a = o ? /* @__PURE__ */ f(k, { cols: o, children: d() }) : d(), t[18] = o, t[19] = d, t[20] = a) : a = t[20], a;
57
+ return t[18] !== l || t[19] !== d ? (a = l ? /* @__PURE__ */ f(k, { cols: l, children: d() }) : d(), t[18] = l, t[19] = d, t[20] = a) : a = t[20], a;
59
58
  };
60
59
  function H(n) {
61
60
  const {
62
61
  type: t,
63
- customClass: o,
64
- hasError: l
62
+ customClass: l,
63
+ hasError: o
65
64
  } = n;
66
- let e = `fieldset-component ${o}`;
67
- return t && (e = `${e} -${t}`), l && (e = `${e} -witherror`), e;
65
+ let e = `fieldset-component ${l}`;
66
+ return t && (e = `${e} -${t}`), o && (e = `${e} -witherror`), e;
68
67
  }
69
68
  export {
70
- X as default
69
+ W as default
71
70
  };
72
71
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/lib/fieldset/index.tsx"],"sourcesContent":["import { Fragment, useState } from 'react';\nimport Grid from '../gridlayout';\nimport { actionsOnPermissionDenied, OPTIONS_ON_DENIED } from '../permissionValidations';\nimport NoPermission from '../noPermission';\nimport '../assets/styles/fieldset.scss';\nimport { IFieldsetProps } from './types';\nimport { OnDenied } from '../@types/PermissionAttr';\n\nconst Fieldset = (props: IFieldsetProps) => {\n const {\n gridCols, children, title, titleAlign = 'left', style, styleContent, styleTitle,\n template = 'none', titleCustomClass, permissionAttr, leftElements = null, rightElements = null,\n } = props;\n const { hideContent, unvisible } = OPTIONS_ON_DENIED;\n const [onDenied] =\n useState<OnDenied>(actionsOnPermissionDenied([hideContent, unvisible], permissionAttr));\n\n const getCssClass = ({ type, customClass, hasError }: IFieldsetProps) => {\n let cssClass = `fieldset-component ${customClass}`;\n if (type) cssClass = `${cssClass} -${type}`;\n if (hasError) cssClass = `${cssClass} -witherror`;\n return cssClass;\n };\n\n const getContentStyle = ({ colsCount = 2, rowsCount = 2 }: IFieldsetProps) => {\n if (template === 'rows') {\n return { gridTemplateRows: `repeat(${rowsCount}, 1fr)` };\n } else if (template === 'columns') {\n return { gridTemplateColumns: `repeat(${colsCount}, 1fr)` };\n }\n return {};\n };\n\n const renderContent = () => (\n <fieldset style={style} className={getCssClass({ ...props })}>\n {onDenied.hideContent\n ? (\n <NoPermission />\n )\n : (\n <Fragment>\n {title && (\n <legend\n style={styleTitle}\n align={titleAlign}\n className={`legend ${titleCustomClass}`}>\n {leftElements}\n {title}\n {rightElements}\n </legend>\n )}\n <div\n className={`contentfieldset -template${template} `}\n style={Object.assign(getContentStyle(props), styleContent)}>\n {children}\n </div>\n </Fragment>\n )}\n </fieldset>\n );\n\n if (onDenied.unvisible) return null;\n return (\n gridCols\n ? (\n <Grid cols={gridCols}>{renderContent()}</Grid>\n )\n : (\n renderContent()\n )\n );\n};\n\nexport default Fieldset;\n"],"names":["Fieldset","props","$","_c","gridCols","children","title","titleAlign","t0","style","styleContent","styleTitle","template","t1","titleCustomClass","permissionAttr","leftElements","t2","rightElements","t3","undefined","hideContent","unvisible","OPTIONS_ON_DENIED","t4","actionsOnPermissionDenied","onDenied","useState","getCssClass","_temp","t5","t6","colsCount","t7","rowsCount","t8","gridTemplateRows","gridTemplateColumns","getContentStyle","jsx","NoPermission","Fragment","jsxs","Object","assign","renderContent","Grid","type","customClass","hasError","cssClass"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/lib/fieldset/index.tsx"],"sourcesContent":["import { Fragment, useState } from 'react';\nimport Grid from '../gridlayout';\nimport { actionsOnPermissionDenied, OPTIONS_ON_DENIED } from '../permissionValidations';\nimport NoPermission from '../noPermission';\nimport '../assets/styles/fieldset.scss';\nimport { IFieldsetProps } from './types';\nimport { OnDenied } from '../@types/PermissionAttr';\n\nconst Fieldset = (props: IFieldsetProps) => {\n const {\n gridCols, children, title, titleAlign = 'left', style, styleContent, styleTitle,\n template = 'none', titleCustomClass, permissionAttr, leftElements = null, rightElements = null,\n } = props;\n const { hideContent, unvisible } = OPTIONS_ON_DENIED;\n const [onDenied] =\n useState<OnDenied>(actionsOnPermissionDenied([hideContent, unvisible], permissionAttr));\n\n const getCssClass = ({ type, customClass, hasError }: IFieldsetProps) => {\n let cssClass = `fieldset-component ${customClass}`;\n if (type) cssClass = `${cssClass} -${type}`;\n if (hasError) cssClass = `${cssClass} -witherror`;\n return cssClass;\n };\n\n const getContentStyle = ({ colsCount = 2, rowsCount = 2 }: IFieldsetProps) => {\n if (template === 'rows') {\n return { gridTemplateRows: `repeat(${rowsCount}, 1fr)` };\n } else if (template === 'columns') {\n return { gridTemplateColumns: `repeat(${colsCount}, 1fr)` };\n }\n return {};\n };\n\n const renderContent = () => (\n <fieldset style={style} className={getCssClass({ ...props })}>\n {onDenied.hideContent\n ? (\n <NoPermission />\n )\n : (\n <Fragment>\n {title && (\n <legend\n style={styleTitle}\n align={titleAlign}\n className={`legend ${titleCustomClass}`}>\n {leftElements}\n {title}\n {rightElements}\n </legend>\n )}\n <div\n className={`contentfieldset -template${template} `}\n style={Object.assign(getContentStyle(props), styleContent)}>\n {children}\n </div>\n </Fragment>\n )}\n </fieldset>\n );\n\n if (onDenied.unvisible) return null;\n return (\n gridCols\n ? (\n <Grid cols={gridCols}>{renderContent()}</Grid>\n )\n : (\n renderContent()\n )\n );\n};\n\nexport default Fieldset;\n"],"names":["Fieldset","props","$","_c","gridCols","children","title","titleAlign","t0","style","styleContent","styleTitle","template","t1","titleCustomClass","permissionAttr","leftElements","t2","rightElements","t3","undefined","hideContent","unvisible","OPTIONS_ON_DENIED","t4","actionsOnPermissionDenied","onDenied","useState","getCssClass","_temp","t5","t6","colsCount","t7","rowsCount","t8","gridTemplateRows","gridTemplateColumns","getContentStyle","jsx","NoPermission","Fragment","jsxs","Object","assign","renderContent","Grid","type","customClass","hasError","cssClass"],"mappings":"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"}
@@ -1,45 +1,43 @@
1
- import { jsx as i } from "react/jsx-runtime";
1
+ import { jsx as n } from "react/jsx-runtime";
2
2
  import { Fragment as b, useCallback as u } from "react";
3
3
  import E from "../_virtual/lodash.js";
4
4
  import C from "./withFieldHOC.js";
5
- import "../_virtual/compiler-runtime.js";
6
- import '../assets/styles/gridlayout.css';/* empty css */
7
5
  import F from "../gridlayout/GridCol.js";
8
6
  import y from "../fieldset/index.js";
9
7
  import { getErrorMessages as f } from "./helpers.js";
10
8
  const g = (e) => {
11
9
  const {
12
- valuePropName: n = "value",
10
+ valuePropName: i = "value",
13
11
  changePropName: r = "onSelect",
14
12
  data: m,
15
13
  name: s,
16
14
  handlerFieldChange: a,
17
- handlerSelecionados: t,
18
- onBlur: l
15
+ handlerSelecionados: l,
16
+ onBlur: t
19
17
  } = e;
20
18
  return {
21
19
  onBlur: u((o) => {
22
- l && l(o);
23
- }, [l]),
24
- [n]: E.get(m, s),
20
+ t && t(o);
21
+ }, [t]),
22
+ [i]: E.get(m, s),
25
23
  [r]: u((o) => {
26
24
  a && a({
27
25
  target: {
28
26
  value: o,
29
27
  name: s
30
28
  }
31
- }), t && t(o);
32
- }, [a, t, r])
29
+ }), l && l(o);
30
+ }, [a, l, r])
33
31
  };
34
32
  }, M = (e) => {
35
33
  const {
36
- cols: n,
34
+ cols: i,
37
35
  label: r,
38
36
  bordered: m,
39
37
  labelContainerStyle: s,
40
38
  skipLabel: a,
41
- name: t,
42
- component: l,
39
+ name: l,
40
+ component: t,
43
41
  handleValidationErrorsOnTab: o,
44
42
  ...c
45
43
  } = e;
@@ -49,18 +47,18 @@ const g = (e) => {
49
47
  fieldErrors: e.fieldErrors
50
48
  });
51
49
  return o && o({
52
- name: t,
50
+ name: l,
53
51
  tabId: e.tabId,
54
52
  hasErrors: !!h.length
55
- }), l && (!a && r ? d = /* @__PURE__ */ i(y, { title: r, customClass: `arraycontainer ${m && "-bordered"}`, style: s, titleCustomClass: "label", children: /* @__PURE__ */ i(l, { ...c, ...g(e), label: r, name: t, errorMessages: f({
53
+ }), t && (!a && r ? d = /* @__PURE__ */ n(y, { title: r, customClass: `arraycontainer ${m && "-bordered"}`, style: s, titleCustomClass: "label", children: /* @__PURE__ */ n(t, { ...c, ...g(e), label: r, name: l, errorMessages: f({
56
54
  ...e,
57
55
  fieldErrors: e.fieldErrors
58
- }) }) }) : d = /* @__PURE__ */ i(b, { children: /* @__PURE__ */ i(l, { ...c, ...g(e), label: r, name: t, errorMessages: f({
56
+ }) }) }) : d = /* @__PURE__ */ n(b, { children: /* @__PURE__ */ n(t, { ...c, ...g(e), label: r, name: l, errorMessages: f({
59
57
  ...e,
60
58
  fieldErrors: e.fieldErrors
61
- }) }) })), n ? /* @__PURE__ */ i(F, { cols: n, children: d }) : d;
62
- }, N = C(M);
59
+ }) }) })), i ? /* @__PURE__ */ n(F, { cols: i, children: d }) : d;
60
+ }, B = C(M);
63
61
  export {
64
- N as default
62
+ B as default
65
63
  };
66
64
  //# sourceMappingURL=FieldArray.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldArray.js","sources":["../../src/lib/form/FieldArray.tsx"],"sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport { ChangeEvent, Fragment, JSX, useCallback } from 'react';\nimport _ from 'lodash';\nimport withFieldHOC from './withFieldHOC';\nimport GridCols from '../gridlayout';\nimport FieldSet from '../fieldset';\nimport { getErrorMessages } from './helpers';\nimport { IFieldArrayProps } from './types';\n\nconst getDefaultProps = (\n props: IFieldArrayProps,\n): object => {\n const {\n valuePropName = 'value', changePropName = 'onSelect', data, name, handlerFieldChange, handlerSelecionados,\n onBlur,\n } = props;\n return {\n onBlur: useCallback((e: ChangeEvent<HTMLInputElement>) => {\n if (onBlur) onBlur(e);\n }, [onBlur]),\n [valuePropName]: _.get(data, name),\n [changePropName]: useCallback((ids: string[]) => {\n if (handlerFieldChange) handlerFieldChange({ target: { value: ids, name } });\n if (handlerSelecionados) handlerSelecionados(ids);\n }, [handlerFieldChange, handlerSelecionados, changePropName]),\n };\n};\n\nconst FieldArray = (props: IFieldArrayProps) => {\n const {\n cols, label, bordered, labelContainerStyle, skipLabel, name, component: Component, \n handleValidationErrorsOnTab,\n ...rest\n } = props;\n\n let content: JSX.Element | null = null;\n\n const hasErrorsMessagesOnField = getErrorMessages({\n ...props, fieldErrors: props.fieldErrors,\n });\n\n if (handleValidationErrorsOnTab) handleValidationErrorsOnTab({\n name: name,\n tabId: props.tabId,\n hasErrors: !!hasErrorsMessagesOnField.length,\n });\n\n if (Component) {\n if (!skipLabel && label) {\n content = (\n <FieldSet\n title={label}\n customClass={`arraycontainer ${bordered && '-bordered'}`}\n style={labelContainerStyle}\n titleCustomClass=\"label\">\n <Component\n {...rest}\n {...getDefaultProps(props)}\n label={label}\n name={name}\n errorMessages={getErrorMessages({\n ...props, fieldErrors: props.fieldErrors,\n })} />\n </FieldSet>\n );\n } else {\n content = (\n <Fragment>\n <Component\n {...rest}\n {...getDefaultProps(props)}\n label={label}\n name={name}\n errorMessages={getErrorMessages({\n ...props, fieldErrors: props.fieldErrors,\n })} />\n </Fragment>\n );\n }\n }\n\n if (cols) return <GridCols cols={cols}>{content}</GridCols>;\n return (\n content\n );\n};\n\nexport default withFieldHOC(FieldArray);\n"],"names":["getDefaultProps","props","valuePropName","changePropName","data","name","handlerFieldChange","handlerSelecionados","onBlur","useCallback","e","_","get","ids","target","value","FieldArray","cols","label","bordered","labelContainerStyle","skipLabel","component","Component","handleValidationErrorsOnTab","rest","content","hasErrorsMessagesOnField","getErrorMessages","fieldErrors","tabId","hasErrors","length","jsx","FieldSet","Fragment","GridCols","FieldArray$1","withFieldHOC"],"mappings":";;;;;;;;;AASA,MAAMA,IAAkBA,CACtBC,MACW;AACX,QAAM;AAAA,IACJC,eAAAA,IAAgB;AAAA,IAASC,gBAAAA,IAAiB;AAAA,IAAYC,MAAAA;AAAAA,IAAMC,MAAAA;AAAAA,IAAMC,oBAAAA;AAAAA,IAAoBC,qBAAAA;AAAAA,IACtFC,QAAAA;AAAAA,EAAAA,IACEP;AACJ,SAAO;AAAA,IACLO,QAAQC,EAAY,CAACC,MAAqC;AACxD,MAAIF,OAAeE,CAAC;AAAA,IACtB,GAAG,CAACF,CAAM,CAAC;AAAA,IACX,CAACN,CAAa,GAAGS,EAAEC,IAAIR,GAAMC,CAAI;AAAA,IACjC,CAACF,CAAc,GAAGM,EAAY,CAACI,MAAkB;AAC/C,MAAIP,KAAoBA,EAAmB;AAAA,QAAEQ,QAAQ;AAAA,UAAEC,OAAOF;AAAAA,UAAKR,MAAAA;AAAAA,QAAAA;AAAAA,MAAK,CAAG,GACvEE,OAAyCM,CAAG;AAAA,IAClD,GAAG,CAACP,GAAoBC,GAAqBJ,CAAc,CAAC;AAAA,EAAA;AAEhE,GAEMa,IAAaA,CAACf,MAA4B;AAC9C,QAAM;AAAA,IACJgB,MAAAA;AAAAA,IAAMC,OAAAA;AAAAA,IAAOC,UAAAA;AAAAA,IAAUC,qBAAAA;AAAAA,IAAqBC,WAAAA;AAAAA,IAAWhB,MAAAA;AAAAA,IAAMiB,WAAWC;AAAAA,IACxEC,6BAAAA;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDxB;AAEJ,MAAIyB,IAA8B;AAElC,QAAMC,IAA2BC,EAAiB;AAAA,IAChD,GAAG3B;AAAAA,IAAO4B,aAAa5B,EAAM4B;AAAAA,EAAAA,CAC9B;AA0CD,SAxCIL,KAA6BA,EAA4B;AAAA,IAC3DnB,MAAAA;AAAAA,IACAyB,OAAO7B,EAAM6B;AAAAA,IACbC,WAAW,CAAC,CAACJ,EAAyBK;AAAAA,EAAAA,CACvC,GAEGT,MACE,CAACF,KAAaH,IAChBQ,IACE,gBAAAO,EAACC,GAAA,EACC,OAAOhB,GACP,aAAa,kBAAkBC,KAAY,WAAW,IACtD,OAAOC,GACP,kBAAiB,SACjB,UAAA,gBAAAa,EAACV,GAAA,EACC,GAAIE,GACJ,GAAIzB,EAAgBC,CAAK,GACzB,OAAAiB,GACA,MAAAb,GACA,eAAeuB,EAAiB;AAAA,IAC9B,GAAG3B;AAAAA,IAAO4B,aAAa5B,EAAM4B;AAAAA,EAAAA,CAC9B,GAAE,EAAA,CACP,IAGFH,IACE,gBAAAO,EAACE,GAAA,EACC,UAAA,gBAAAF,EAACV,GAAA,EACC,GAAIE,GACJ,GAAIzB,EAAgBC,CAAK,GACzB,OAAAiB,GACA,MAAAb,GACA,eAAeuB,EAAiB;AAAA,IAC9B,GAAG3B;AAAAA,IAAO4B,aAAa5B,EAAM4B;AAAAA,EAAAA,CAC9B,GAAE,EAAA,CACP,IAKFZ,IAAa,gBAAAgB,EAACG,GAAA,EAAS,MAAAnB,GAAaS,UAAAA,GAAQ,IAE9CA;AAEJ,GAEAW,IAAeC,EAAatB,CAAU;"}
1
+ {"version":3,"file":"FieldArray.js","sources":["../../src/lib/form/FieldArray.tsx"],"sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\nimport { ChangeEvent, Fragment, JSX, useCallback } from 'react';\nimport _ from 'lodash';\nimport withFieldHOC from './withFieldHOC';\nimport GridCols from '../gridlayout';\nimport FieldSet from '../fieldset';\nimport { getErrorMessages } from './helpers';\nimport { IFieldArrayProps } from './types';\n\nconst getDefaultProps = (\n props: IFieldArrayProps,\n): object => {\n const {\n valuePropName = 'value', changePropName = 'onSelect', data, name, handlerFieldChange, handlerSelecionados,\n onBlur,\n } = props;\n return {\n onBlur: useCallback((e: ChangeEvent<HTMLInputElement>) => {\n if (onBlur) onBlur(e);\n }, [onBlur]),\n [valuePropName]: _.get(data, name),\n [changePropName]: useCallback((ids: string[]) => {\n if (handlerFieldChange) handlerFieldChange({ target: { value: ids, name } });\n if (handlerSelecionados) handlerSelecionados(ids);\n }, [handlerFieldChange, handlerSelecionados, changePropName]),\n };\n};\n\nconst FieldArray = (props: IFieldArrayProps) => {\n const {\n cols, label, bordered, labelContainerStyle, skipLabel, name, component: Component, \n handleValidationErrorsOnTab,\n ...rest\n } = props;\n\n let content: JSX.Element | null = null;\n\n const hasErrorsMessagesOnField = getErrorMessages({\n ...props, fieldErrors: props.fieldErrors,\n });\n\n if (handleValidationErrorsOnTab) handleValidationErrorsOnTab({\n name: name,\n tabId: props.tabId,\n hasErrors: !!hasErrorsMessagesOnField.length,\n });\n\n if (Component) {\n if (!skipLabel && label) {\n content = (\n <FieldSet\n title={label}\n customClass={`arraycontainer ${bordered && '-bordered'}`}\n style={labelContainerStyle}\n titleCustomClass=\"label\">\n <Component\n {...rest}\n {...getDefaultProps(props)}\n label={label}\n name={name}\n errorMessages={getErrorMessages({\n ...props, fieldErrors: props.fieldErrors,\n })} />\n </FieldSet>\n );\n } else {\n content = (\n <Fragment>\n <Component\n {...rest}\n {...getDefaultProps(props)}\n label={label}\n name={name}\n errorMessages={getErrorMessages({\n ...props, fieldErrors: props.fieldErrors,\n })} />\n </Fragment>\n );\n }\n }\n\n if (cols) return <GridCols cols={cols}>{content}</GridCols>;\n return (\n content\n );\n};\n\nexport default withFieldHOC(FieldArray);\n"],"names":["getDefaultProps","props","valuePropName","changePropName","data","name","handlerFieldChange","handlerSelecionados","onBlur","useCallback","e","_","get","ids","target","value","FieldArray","cols","label","bordered","labelContainerStyle","skipLabel","component","Component","handleValidationErrorsOnTab","rest","content","hasErrorsMessagesOnField","getErrorMessages","fieldErrors","tabId","hasErrors","length","jsx","FieldSet","Fragment","GridCols","FieldArray$1","withFieldHOC"],"mappings":";;;;;;;AASA,MAAMA,IAAkBA,CACtBC,MACW;AACX,QAAM;AAAA,IACJC,eAAAA,IAAgB;AAAA,IAASC,gBAAAA,IAAiB;AAAA,IAAYC,MAAAA;AAAAA,IAAMC,MAAAA;AAAAA,IAAMC,oBAAAA;AAAAA,IAAoBC,qBAAAA;AAAAA,IACtFC,QAAAA;AAAAA,EAAAA,IACEP;AACJ,SAAO;AAAA,IACLO,QAAQC,EAAY,CAACC,MAAqC;AACxD,MAAIF,OAAeE,CAAC;AAAA,IACtB,GAAG,CAACF,CAAM,CAAC;AAAA,IACX,CAACN,CAAa,GAAGS,EAAEC,IAAIR,GAAMC,CAAI;AAAA,IACjC,CAACF,CAAc,GAAGM,EAAY,CAACI,MAAkB;AAC/C,MAAIP,KAAoBA,EAAmB;AAAA,QAAEQ,QAAQ;AAAA,UAAEC,OAAOF;AAAAA,UAAKR,MAAAA;AAAAA,QAAAA;AAAAA,MAAK,CAAG,GACvEE,OAAyCM,CAAG;AAAA,IAClD,GAAG,CAACP,GAAoBC,GAAqBJ,CAAc,CAAC;AAAA,EAAA;AAEhE,GAEMa,IAAaA,CAACf,MAA4B;AAC9C,QAAM;AAAA,IACJgB,MAAAA;AAAAA,IAAMC,OAAAA;AAAAA,IAAOC,UAAAA;AAAAA,IAAUC,qBAAAA;AAAAA,IAAqBC,WAAAA;AAAAA,IAAWhB,MAAAA;AAAAA,IAAMiB,WAAWC;AAAAA,IACxEC,6BAAAA;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDxB;AAEJ,MAAIyB,IAA8B;AAElC,QAAMC,IAA2BC,EAAiB;AAAA,IAChD,GAAG3B;AAAAA,IAAO4B,aAAa5B,EAAM4B;AAAAA,EAAAA,CAC9B;AA0CD,SAxCIL,KAA6BA,EAA4B;AAAA,IAC3DnB,MAAAA;AAAAA,IACAyB,OAAO7B,EAAM6B;AAAAA,IACbC,WAAW,CAAC,CAACJ,EAAyBK;AAAAA,EAAAA,CACvC,GAEGT,MACE,CAACF,KAAaH,IAChBQ,IACE,gBAAAO,EAACC,GAAA,EACC,OAAOhB,GACP,aAAa,kBAAkBC,KAAY,WAAW,IACtD,OAAOC,GACP,kBAAiB,SACjB,UAAA,gBAAAa,EAACV,GAAA,EACC,GAAIE,GACJ,GAAIzB,EAAgBC,CAAK,GACzB,OAAAiB,GACA,MAAAb,GACA,eAAeuB,EAAiB;AAAA,IAC9B,GAAG3B;AAAAA,IAAO4B,aAAa5B,EAAM4B;AAAAA,EAAAA,CAC9B,GAAE,EAAA,CACP,IAGFH,IACE,gBAAAO,EAACE,GAAA,EACC,UAAA,gBAAAF,EAACV,GAAA,EACC,GAAIE,GACJ,GAAIzB,EAAgBC,CAAK,GACzB,OAAAiB,GACA,MAAAb,GACA,eAAeuB,EAAiB;AAAA,IAC9B,GAAG3B;AAAAA,IAAO4B,aAAa5B,EAAM4B;AAAAA,EAAAA,CAC9B,GAAE,EAAA,CACP,IAKFZ,IAAa,gBAAAgB,EAACG,GAAA,EAAS,MAAAnB,GAAaS,UAAAA,GAAQ,IAE9CA;AAEJ,GAEAW,IAAeC,EAAatB,CAAU;"}
@@ -1,29 +1,28 @@
1
- import t from "../_virtual/lodash.js";
2
- import { createContext as u } from "react";
3
- const h = "securityBeforeUnload", B = u({}), J = u({}), N = (c, e) => {
1
+ import A from "../_virtual/lodash.js";
2
+ import { createContext as t } from "react";
3
+ const h = t({}), J = t({}), N = (c, f) => {
4
4
  const {
5
- name: f,
6
- value: y
7
- } = e;
8
- return t.set(JSON.parse(JSON.stringify(c)), f, y);
5
+ name: y,
6
+ value: s
7
+ } = f;
8
+ return A.set(JSON.parse(JSON.stringify(c)), y, s);
9
9
  }, O = ({
10
10
  name: c,
11
- fieldErrors: e,
12
- externalFieldErrors: f,
13
- externalMessagesErrors: y
11
+ fieldErrors: f,
12
+ externalFieldErrors: y,
13
+ externalMessagesErrors: s
14
14
  }) => {
15
- let s = y ? [...y] : [];
16
- return e && e[c] && (s = [...s, ...e[c]]), f && f[c] && (s = [...s, ...f[c]]), s;
17
- }, S = (c, e) => {
18
- let f = [];
19
- return c && e ? (f = t.isArray(c) ? c : [c], f = t.isArray(e) ? [...f, ...e] : [...f, e]) : e ? f = t.isArray(e) ? e : [e] : c && (f = c instanceof Array ? c : [c]), f;
15
+ let e = s ? [...s] : [];
16
+ return f && f[c] && (e = [...e, ...f[c]]), y && y[c] && (e = [...e, ...y[c]]), e;
17
+ }, S = (c, f) => {
18
+ let y = [];
19
+ return c && f ? (y = A.isArray(c) ? c : [c], y = A.isArray(f) ? [...y, ...f] : [...y, f]) : f ? y = A.isArray(f) ? f : [f] : c && (y = c instanceof Array ? c : [c]), y;
20
20
  };
21
21
  export {
22
- B as FormContext,
22
+ h as FormContext,
23
23
  N as changeValue,
24
24
  O as getErrorMessages,
25
25
  S as getValidatorsArray,
26
- h as securityBeforeUnload,
27
26
  J as withFieldContext
28
27
  };
29
28
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../src/lib/form/helpers.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { createContext } from 'react';\nimport { FormContextProps, IGetErrorMessagesParams, IWithFieldContext, Validator } from './types';\n\nexport const securityBeforeUnload = 'securityBeforeUnload';\n\nexport const FormContext = createContext({} as FormContextProps);\n\nexport const withFieldContext = createContext({} as IWithFieldContext);\n\nexport const changeValue = (data: object, target: HTMLInputElement) => {\n const { name, value } = target;\n return _.set(JSON.parse(JSON.stringify(data)), name, value);\n};\n\nexport const getErrorMessages = ({\n name,\n fieldErrors,\n externalFieldErrors,\n externalMessagesErrors,\n}: IGetErrorMessagesParams) => {\n let errors = externalMessagesErrors ? [...externalMessagesErrors] : [];\n if (fieldErrors && fieldErrors[name]) {\n errors = [...errors, ...fieldErrors[name]];\n }\n if (externalFieldErrors && externalFieldErrors[name]) {\n errors = [...errors, ...externalFieldErrors[name]];\n }\n return errors;\n};\n\nexport const getValidatorsArray = (\n validators?: Validator | Validator[],\n validatorFromComponent?: Validator | Validator[],\n) => {\n let validatorsArray: Validator[] = [];\n\n if (validators && validatorFromComponent) {\n validatorsArray = !_.isArray(validators) ? [validators] : validators;\n validatorsArray = !_.isArray(validatorFromComponent)\n ? [...validatorsArray, validatorFromComponent]\n : [...validatorsArray, ...validatorFromComponent];\n } else if (validatorFromComponent) {\n validatorsArray = !_.isArray(validatorFromComponent)\n ? [validatorFromComponent]\n : validatorFromComponent;\n } else if (validators) {\n validatorsArray = (!(validators instanceof Array)) ? [validators] : validators;\n }\n\n return validatorsArray;\n};\n"],"names":["securityBeforeUnload","FormContext","createContext","withFieldContext","changeValue","data","target","name","value","_","set","JSON","parse","stringify","getErrorMessages","fieldErrors","externalFieldErrors","externalMessagesErrors","errors","getValidatorsArray","validators","validatorFromComponent","validatorsArray","isArray","Array"],"mappings":";;AAIO,MAAMA,IAAuB,wBAEvBC,IAAcC,EAAc,CAAA,CAAsB,GAElDC,IAAmBD,EAAc,CAAA,CAAuB,GAExDE,IAAcA,CAACC,GAAcC,MAA6B;AACrE,QAAM;AAAA,IAAEC,MAAAA;AAAAA,IAAMC,OAAAA;AAAAA,EAAAA,IAAUF;AACxB,SAAOG,EAAEC,IAAIC,KAAKC,MAAMD,KAAKE,UAAUR,CAAI,CAAC,GAAGE,GAAMC,CAAK;AAC5D,GAEaM,IAAmBA,CAAC;AAAA,EAC/BP,MAAAA;AAAAA,EACAQ,aAAAA;AAAAA,EACAC,qBAAAA;AAAAA,EACAC,wBAAAA;AACuB,MAAM;AAC7B,MAAIC,IAASD,IAAyB,CAAC,GAAGA,CAAsB,IAAI,CAAA;AACpE,SAAIF,KAAeA,EAAYR,CAAI,MACjCW,IAAS,CAAC,GAAGA,GAAQ,GAAGH,EAAYR,CAAI,CAAC,IAEvCS,KAAuBA,EAAoBT,CAAI,MACjDW,IAAS,CAAC,GAAGA,GAAQ,GAAGF,EAAoBT,CAAI,CAAC,IAE5CW;AACT,GAEaC,IAAqBA,CAChCC,GACAC,MACG;AACH,MAAIC,IAA+B,CAAA;AAEnC,SAAIF,KAAcC,KAChBC,IAAmBb,EAAEc,QAAQH,CAAU,IAAmBA,IAAf,CAACA,CAAU,GACtDE,IAAmBb,EAAEc,QAAQF,CAAsB,IAE/C,CAAC,GAAGC,GAAiB,GAAGD,CAAsB,IAD9C,CAAC,GAAGC,GAAiBD,CAAsB,KAEtCA,IACTC,IAAmBb,EAAEc,QAAQF,CAAsB,IAE/CA,IADA,CAACA,CAAsB,IAElBD,MACTE,IAAqBF,aAAsBI,QAAyBJ,IAAf,CAACA,CAAU,IAG3DE;AACT;"}
1
+ {"version":3,"file":"helpers.js","sources":["../../src/lib/form/helpers.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { createContext } from 'react';\nimport { FormContextProps, IGetErrorMessagesParams, IWithFieldContext, Validator } from './types';\n\nexport const securityBeforeUnload = 'securityBeforeUnload';\n\nexport const FormContext = createContext({} as FormContextProps);\n\nexport const withFieldContext = createContext({} as IWithFieldContext);\n\nexport const changeValue = (data: object, target: HTMLInputElement) => {\n const { name, value } = target;\n return _.set(JSON.parse(JSON.stringify(data)), name, value);\n};\n\nexport const getErrorMessages = ({\n name,\n fieldErrors,\n externalFieldErrors,\n externalMessagesErrors,\n}: IGetErrorMessagesParams) => {\n let errors = externalMessagesErrors ? [...externalMessagesErrors] : [];\n if (fieldErrors && fieldErrors[name]) {\n errors = [...errors, ...fieldErrors[name]];\n }\n if (externalFieldErrors && externalFieldErrors[name]) {\n errors = [...errors, ...externalFieldErrors[name]];\n }\n return errors;\n};\n\nexport const getValidatorsArray = (\n validators?: Validator | Validator[],\n validatorFromComponent?: Validator | Validator[],\n) => {\n let validatorsArray: Validator[] = [];\n\n if (validators && validatorFromComponent) {\n validatorsArray = !_.isArray(validators) ? [validators] : validators;\n validatorsArray = !_.isArray(validatorFromComponent)\n ? [...validatorsArray, validatorFromComponent]\n : [...validatorsArray, ...validatorFromComponent];\n } else if (validatorFromComponent) {\n validatorsArray = !_.isArray(validatorFromComponent)\n ? [validatorFromComponent]\n : validatorFromComponent;\n } else if (validators) {\n validatorsArray = (!(validators instanceof Array)) ? [validators] : validators;\n }\n\n return validatorsArray;\n};\n"],"names":["FormContext","createContext","withFieldContext","changeValue","data","target","name","value","_","set","JSON","parse","stringify","getErrorMessages","fieldErrors","externalFieldErrors","externalMessagesErrors","errors","getValidatorsArray","validators","validatorFromComponent","validatorsArray","isArray","Array"],"mappings":";;AAMO,MAAMA,IAAcC,EAAc,CAAA,CAAsB,GAElDC,IAAmBD,EAAc,CAAA,CAAuB,GAExDE,IAAcA,CAACC,GAAcC,MAA6B;AACrE,QAAM;AAAA,IAAEC,MAAAA;AAAAA,IAAMC,OAAAA;AAAAA,EAAAA,IAAUF;AACxB,SAAOG,EAAEC,IAAIC,KAAKC,MAAMD,KAAKE,UAAUR,CAAI,CAAC,GAAGE,GAAMC,CAAK;AAC5D,GAEaM,IAAmBA,CAAC;AAAA,EAC/BP,MAAAA;AAAAA,EACAQ,aAAAA;AAAAA,EACAC,qBAAAA;AAAAA,EACAC,wBAAAA;AACuB,MAAM;AAC7B,MAAIC,IAASD,IAAyB,CAAC,GAAGA,CAAsB,IAAI,CAAA;AACpE,SAAIF,KAAeA,EAAYR,CAAI,MACjCW,IAAS,CAAC,GAAGA,GAAQ,GAAGH,EAAYR,CAAI,CAAC,IAEvCS,KAAuBA,EAAoBT,CAAI,MACjDW,IAAS,CAAC,GAAGA,GAAQ,GAAGF,EAAoBT,CAAI,CAAC,IAE5CW;AACT,GAEaC,IAAqBA,CAChCC,GACAC,MACG;AACH,MAAIC,IAA+B,CAAA;AAEnC,SAAIF,KAAcC,KAChBC,IAAmBb,EAAEc,QAAQH,CAAU,IAAmBA,IAAf,CAACA,CAAU,GACtDE,IAAmBb,EAAEc,QAAQF,CAAsB,IAE/C,CAAC,GAAGC,GAAiB,GAAGD,CAAsB,IAD9C,CAAC,GAAGC,GAAiBD,CAAsB,KAEtCA,IACTC,IAAmBb,EAAEc,QAAQF,CAAsB,IAE/CA,IADA,CAACA,CAAsB,IAElBD,MACTE,IAAqBF,aAAsBI,QAAyBJ,IAAf,CAACA,CAAU,IAG3DE;AACT;"}