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/inputs/date/index.tsx"],"sourcesContent":["import '../../assets/styles/datepicker.scss';\n\nimport { FocusEvent as ReactFocusEvent, useEffect, useRef, useState } from 'react';\nimport moment, { Moment } from 'moment';\nimport Grid from '../../gridlayout';\nimport Button from '../../buttons';\nimport Calendar from '../../calendar';\nimport { ColorStyles } from '../../@types/ColorStyles';\nimport BaseMask from '../mask/BaseMask';\nimport { CustomInputEvent } from '../base/types';\nimport Dialog from './Dialog';\nimport Dropdown from './Dropdown';\nimport { IDatePickerProps } from './types';\nimport {\n getMomentValue, PT_BR_FORMAT, EN_US_FORMAT, PT_BR_FORMAT_DATETIME,\n EN_US_FORMAT_DATETIME, blocksDateTimeFormat,\n} from './helpers';\n\nconst DatePicker = (props: IDatePickerProps) => {\n const {\n showButtonOpen = true, openOnFocus = true, shouldCloseOnSelect = true, setFocusOnSelect = true,\n showCalendarInDialog = false, required = false, value = '', name = '', inputRef: inputRefProp,\n dialogSize = { width: '384px', height: '384px' }, gridLayout, shouldCloseOnEsc = true,\n isDateTimeField = false,\n } = props;\n\n const maskFormat = !isDateTimeField ? '00/00/0000' : Date;\n const patternFormat = !isDateTimeField ? undefined : 'DD/MM/YYYY HH:mm';\n const brFormatter = !isDateTimeField ? PT_BR_FORMAT : PT_BR_FORMAT_DATETIME;\n const usFormatter = !isDateTimeField ? EN_US_FORMAT : EN_US_FORMAT_DATETIME;\n\n const [valueState, setValueState] =\n useState<Moment | undefined>(value ? getMomentValue(value) : undefined);\n const [showCalendar, setShowCalendar] = useState(false);\n const [valueFromProps, setValueFromProps] = useState(moment(value, patternFormat).format());\n const [inputDimensions, setInputDimensions] = useState<DOMRect>();\n const [calendarOnDialog, setCalendarOnDialog] = useState(false);\n const [onDenied, setOnDenied] = useState({\n disabled: false,\n readOnly: false,\n unvisible: false,\n hideContent: false,\n });\n const inputDateRef = useRef<HTMLInputElement | HTMLTextAreaElement | null>(null);\n const buttonOpenRef = useRef<HTMLButtonElement>(null);\n const dropdownContainer = useRef<HTMLDivElement>(null);\n const currentDateButtonRef = useRef<HTMLButtonElement>(null);\n const calendarContainerRef = useRef<HTMLDivElement | null>(null);\n const datePickerContainerRef = useRef<HTMLDivElement>(null);\n\n const onScreenResize = () => {\n setInputDimensions(inputDateRef?.current?.getBoundingClientRect());\n };\n\n const onCloseDateDialog = () => {\n setShowCalendar(false);\n if (showCalendarInDialog) {\n setTimeout(() => {\n setCalendarOnDialog(false);\n inputDateRef.current?.focus();\n }, 100);\n }\n };\n\n const onCloseWithoutBlur = (event: ReactFocusEvent<HTMLDivElement>) => {\n const focusOnAnotherField = !datePickerContainerRef.current?.contains(event.relatedTarget);\n if (!showCalendarInDialog && showCalendar && focusOnAnotherField) { setShowCalendar(false); }\n };\n\n const onKeyDownPress = (event: KeyboardEvent) => {\n if (shouldCloseOnEsc && showCalendar && event && event.key && event.key === 'Escape') {\n event.preventDefault();\n setShowCalendar(false);\n inputDateRef.current?.focus();\n }\n if (showCalendar && showCalendarInDialog && event && event.key && event.key === 'Tab') {\n const buttonForNavigateCalendar = calendarContainerRef.current?.getElementsByClassName('navbutton') as HTMLCollectionOf<HTMLButtonElement>;\n const datePicked = calendarContainerRef.current?.getElementsByClassName('-selectedday') as HTMLCollectionOf<HTMLButtonElement>;\n const buttonDatePicked = datePicked[0].firstChild as HTMLButtonElement;\n const buttonsForFocus = Array.from([...buttonForNavigateCalendar, buttonDatePicked]);\n const firstElement = buttonsForFocus[0];\n const lastElement = buttonsForFocus[buttonsForFocus.length - 1];\n\n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n } else if (!event.shiftKey && document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n }\n event.stopPropagation();\n };\n\n const keepPositionCalendarByScroll = () => {\n const inputDateDimensions = inputDateRef.current?.getBoundingClientRect();\n const positionTop = inputDateDimensions && inputDateDimensions.bottom;\n if (dropdownContainer && dropdownContainer.current && inputDateDimensions) {\n dropdownContainer.current.style.top = String(positionTop).concat('px');\n }\n };\n\n const openCalendar = () => {\n setShowCalendar(true);\n if (inputDateRef.current) {\n inputDateRef.current.focus();\n setInputDimensions(inputDateRef.current?.getBoundingClientRect());\n }\n if (showCalendarInDialog) {\n setTimeout(() => { currentDateButtonRef.current?.focus(); }, 100);\n }\n };\n\n const onInputFocus = (e: CustomInputEvent) => {\n if (props.onFocus) props.onFocus(e);\n if (openOnFocus && !showCalendar && !calendarOnDialog) { openCalendar(); }\n };\n\n const onInputBlur = (e: CustomInputEvent) => {\n if (props.onBlur) props.onBlur(e);\n };\n\n const isValidDate = (date: Date | string | { initial?: string, final?: string }) => {\n if (typeof date === 'object' && !(date instanceof Date)) {\n const initialValid = moment(date.initial, brFormatter, true).isValid();\n const finalValid = moment(date.final, brFormatter, true).isValid();\n\n return initialValid && finalValid;\n }\n\n return moment(date, brFormatter, true).isValid();\n };\n\n const onInputChange = (\n event: CustomInputEvent,\n valueInput: string | {\n initial: string;\n final: string;\n } = '',\n ) => {\n if (typeof valueInput === 'string') {\n const date = event.target.value ?? '';\n if (props.onChange) {\n if (isValidDate(date)) {\n const newValue = moment(date, brFormatter).format(usFormatter);\n const obj = { target: { value: newValue, name: event.target.name } };\n props.onChange(obj, date);\n } else if (event.target.value === '') {\n const obj = { target: { value: '', name: event.target.name } };\n props.onChange(obj, date);\n setShowCalendar(false);\n setValueState(undefined);\n }\n }\n }\n };\n\n const setValue = (valueParam?: string, e?: CustomInputEvent) => {\n if (showCalendar && setFocusOnSelect) inputDateRef.current?.focus();\n if (props.onComplete) props.onComplete(e, valueParam);\n if (props.onChange) onInputChange({ target: { value: valueParam ?? '', name } }, valueParam);\n if (shouldCloseOnSelect) setShowCalendar(false);\n setValueState(moment(valueParam, brFormatter));\n };\n\n const shouldDisable = () =>\n props.disabled || (onDenied && (onDenied.disabled || onDenied.hideContent));\n\n const getButtonOpen = () => {\n if (!showButtonOpen) return undefined;\n return (\n <Button\n key=\"button-open-date-picker\"\n disabled={shouldDisable()}\n tabIndex={-1}\n customClass=\"calendar-button\"\n iconName='calendar'\n title={showCalendar ? 'Fechar Calendário' : 'Abrir Calendário'}\n onClick={() => { if (showCalendar) { setShowCalendar(false); } else openCalendar(); }}\n targetRef={(ref: HTMLButtonElement) => { buttonOpenRef.current = ref; }} />\n );\n };\n\n const getCalendar = (valueCalendar?: Moment, calendarColorStyle?: ColorStyles) => (\n <Calendar\n colorStyle={calendarColorStyle}\n currentDate={valueCalendar !== undefined ? valueCalendar : moment()}\n onDateChange={(date) => {\n setValue(date.format(brFormatter), undefined);\n if (showCalendarInDialog) setCalendarOnDialog(false);\n }}\n currentDateButton={buttonElement => currentDateButtonRef.current = buttonElement}\n calendarContainer={(calendarContainer) => { \n calendarContainerRef.current = calendarContainer; \n }} />\n );\n\n const getCalendarComponent = () => {\n if (onDenied && onDenied.readOnly) return null;\n if (showCalendarInDialog) {\n return (\n <Dialog\n dialogSize={dialogSize}\n handlerClose={onCloseDateDialog}>\n {getCalendar(valueState, props?.calendarColorStyle)}\n </Dialog>\n );\n }\n\n return (\n <Dropdown\n showButtonOpen={showButtonOpen}\n inputDimensions={inputDimensions}\n containerRef={datePickerContainerRef as any}\n dropdownRef={(el: HTMLDivElement) => { dropdownContainer.current = el; }}>\n {getCalendar(valueState, props?.calendarColorStyle)}\n </Dropdown>\n );\n };\n\n useEffect(() => {\n if (value && moment(value, usFormatter).format() !== 'Invalid date' &&\n moment(valueFromProps, usFormatter).format() !== moment(value, usFormatter).format()) {\n setValueState(moment(value, usFormatter));\n setValueFromProps(value);\n } else if (!value && value !== valueFromProps) {\n setValueState(undefined);\n setValueFromProps(value);\n }\n }, [value]);\n\n useEffect(() => {\n window.addEventListener('resize', onScreenResize);\n document.addEventListener('keydown', onKeyDownPress);\n if (inputDateRef.current) onScreenResize();\n if (showCalendar && showCalendarInDialog) setCalendarOnDialog(true);\n\n return () => {\n window.removeEventListener('resize', onScreenResize);\n document.removeEventListener('keydown', onKeyDownPress);\n };\n }, [inputDateRef.current, showCalendar]);\n\n useEffect(() => {\n document.addEventListener('scroll', keepPositionCalendarByScroll);\n document.getElementById('modal-dialog-content')?.addEventListener('scroll', keepPositionCalendarByScroll);\n\n return () => {\n document.removeEventListener('scroll', keepPositionCalendarByScroll);\n document.getElementById('modal-dialog-content')?.removeEventListener('scroll', keepPositionCalendarByScroll);\n };\n }, []);\n\n if (onDenied && onDenied.unvisible) return null;\n\n const component = () => (\n <div ref={datePickerContainerRef} onBlur={onCloseWithoutBlur} className=\"datepicker-container\">\n <BaseMask\n {...props}\n gridLayout={undefined}\n isDateTimeField={isDateTimeField}\n value={!valueState ? ' ' : valueState.format(brFormatter)}\n mask={maskFormat}\n pattern={patternFormat}\n blocks={!isDateTimeField ? {} : blocksDateTimeFormat}\n onComplete={(e) => { if (e) { setValue(e.target?.maskedValue, e); } }}\n onBlur={onInputBlur}\n onFocus={(e: CustomInputEvent) => { onInputFocus(e); }}\n onChange={(e, date) => { onInputChange(e, date); }}\n inputRef={(el: HTMLInputElement | HTMLTextAreaElement | null) => {\n inputDateRef.current = el;\n if (inputRefProp) inputRefProp.current = el;\n }}\n rightElements={getButtonOpen()}\n required={required}\n handlerSetOnDenied={() => setOnDenied(onDenied)} />\n {showCalendar && getCalendarComponent()}\n </div>\n );\n\n return (!gridLayout ? component() : <Grid customClass=\"-withinput\" cols={gridLayout}>{component()}</Grid>);\n};\n\nexport default DatePicker;\n"],"names":["DatePicker","props","showButtonOpen","openOnFocus","shouldCloseOnSelect","setFocusOnSelect","showCalendarInDialog","required","value","name","inputRef","inputRefProp","dialogSize","width","height","gridLayout","shouldCloseOnEsc","isDateTimeField","maskFormat","Date","patternFormat","undefined","brFormatter","PT_BR_FORMAT_DATETIME","PT_BR_FORMAT","usFormatter","EN_US_FORMAT_DATETIME","EN_US_FORMAT","valueState","setValueState","useState","getMomentValue","showCalendar","setShowCalendar","valueFromProps","setValueFromProps","moment","format","inputDimensions","setInputDimensions","calendarOnDialog","setCalendarOnDialog","onDenied","setOnDenied","disabled","readOnly","unvisible","hideContent","inputDateRef","useRef","buttonOpenRef","dropdownContainer","currentDateButtonRef","calendarContainerRef","datePickerContainerRef","onScreenResize","current","getBoundingClientRect","onCloseDateDialog","setTimeout","focus","onCloseWithoutBlur","event","focusOnAnotherField","contains","relatedTarget","onKeyDownPress","key","preventDefault","buttonForNavigateCalendar","getElementsByClassName","buttonDatePicked","firstChild","buttonsForFocus","Array","from","firstElement","lastElement","length","shiftKey","document","activeElement","stopPropagation","keepPositionCalendarByScroll","inputDateDimensions","positionTop","bottom","style","top","String","concat","openCalendar","onInputFocus","e","onFocus","onInputBlur","onBlur","isValidDate","date","initialValid","initial","isValid","finalValid","final","onInputChange","valueInput","target","onChange","obj","setValue","valueParam","onComplete","shouldDisable","getButtonOpen","Button","ref","getCalendar","valueCalendar","calendarColorStyle","Calendar","buttonElement","calendarContainer","getCalendarComponent","jsx","Dialog","Dropdown","el","useEffect","window","addEventListener","removeEventListener","getElementById","component","jsxs","BaseMask","blocksDateTimeFormat","maskedValue","Grid"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/inputs/date/index.tsx"],"sourcesContent":["import '../../assets/styles/datepicker.scss';\n\nimport { FocusEvent as ReactFocusEvent, useEffect, useRef, useState } from 'react';\nimport moment, { Moment } from 'moment';\nimport Grid from '../../gridlayout';\nimport Button from '../../buttons';\nimport Calendar from '../../calendar';\nimport { ColorStyles } from '../../@types/ColorStyles';\nimport BaseMask from '../mask/BaseMask';\nimport { CustomInputEvent } from '../base/types';\nimport Dialog from './Dialog';\nimport Dropdown from './Dropdown';\nimport { IDatePickerProps } from './types';\nimport {\n getMomentValue, PT_BR_FORMAT, EN_US_FORMAT, PT_BR_FORMAT_DATETIME,\n EN_US_FORMAT_DATETIME, blocksDateTimeFormat,\n} from './helpers';\n\nconst DatePicker = (props: IDatePickerProps) => {\n const {\n showButtonOpen = true, openOnFocus = true, shouldCloseOnSelect = true, setFocusOnSelect = true,\n showCalendarInDialog = false, required = false, value = '', name = '', inputRef: inputRefProp,\n dialogSize = { width: '384px', height: '384px' }, gridLayout, shouldCloseOnEsc = true,\n isDateTimeField = false,\n } = props;\n\n const maskFormat = !isDateTimeField ? '00/00/0000' : Date;\n const patternFormat = !isDateTimeField ? undefined : 'DD/MM/YYYY HH:mm';\n const brFormatter = !isDateTimeField ? PT_BR_FORMAT : PT_BR_FORMAT_DATETIME;\n const usFormatter = !isDateTimeField ? EN_US_FORMAT : EN_US_FORMAT_DATETIME;\n\n const [valueState, setValueState] =\n useState<Moment | undefined>(value ? getMomentValue(value) : undefined);\n const [showCalendar, setShowCalendar] = useState(false);\n const [valueFromProps, setValueFromProps] = useState(moment(value, patternFormat).format());\n const [inputDimensions, setInputDimensions] = useState<DOMRect>();\n const [calendarOnDialog, setCalendarOnDialog] = useState(false);\n const [onDenied, setOnDenied] = useState({\n disabled: false,\n readOnly: false,\n unvisible: false,\n hideContent: false,\n });\n const inputDateRef = useRef<HTMLInputElement | HTMLTextAreaElement | null>(null);\n const buttonOpenRef = useRef<HTMLButtonElement>(null);\n const dropdownContainer = useRef<HTMLDivElement>(null);\n const currentDateButtonRef = useRef<HTMLButtonElement>(null);\n const calendarContainerRef = useRef<HTMLDivElement | null>(null);\n const datePickerContainerRef = useRef<HTMLDivElement>(null);\n\n const onScreenResize = () => {\n setInputDimensions(inputDateRef?.current?.getBoundingClientRect());\n };\n\n const onCloseDateDialog = () => {\n setShowCalendar(false);\n if (showCalendarInDialog) {\n setTimeout(() => {\n setCalendarOnDialog(false);\n inputDateRef.current?.focus();\n }, 100);\n }\n };\n\n const onCloseWithoutBlur = (event: ReactFocusEvent<HTMLDivElement>) => {\n const focusOnAnotherField = !datePickerContainerRef.current?.contains(event.relatedTarget);\n if (!showCalendarInDialog && showCalendar && focusOnAnotherField) { setShowCalendar(false); }\n };\n\n const onKeyDownPress = (event: KeyboardEvent) => {\n if (shouldCloseOnEsc && showCalendar && event && event.key && event.key === 'Escape') {\n event.preventDefault();\n setShowCalendar(false);\n inputDateRef.current?.focus();\n }\n if (showCalendar && showCalendarInDialog && event && event.key && event.key === 'Tab') {\n const buttonForNavigateCalendar = calendarContainerRef.current?.getElementsByClassName('navbutton') as HTMLCollectionOf<HTMLButtonElement>;\n const datePicked = calendarContainerRef.current?.getElementsByClassName('-selectedday') as HTMLCollectionOf<HTMLButtonElement>;\n const buttonDatePicked = datePicked[0].firstChild as HTMLButtonElement;\n const buttonsForFocus = Array.from([...buttonForNavigateCalendar, buttonDatePicked]);\n const firstElement = buttonsForFocus[0];\n const lastElement = buttonsForFocus[buttonsForFocus.length - 1];\n\n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n } else if (!event.shiftKey && document.activeElement === lastElement) {\n event.preventDefault();\n firstElement.focus();\n }\n }\n event.stopPropagation();\n };\n\n const keepPositionCalendarByScroll = () => {\n const inputDateDimensions = inputDateRef.current?.getBoundingClientRect();\n const positionTop = inputDateDimensions && inputDateDimensions.bottom;\n if (dropdownContainer && dropdownContainer.current && inputDateDimensions) {\n dropdownContainer.current.style.top = String(positionTop).concat('px');\n }\n };\n\n const openCalendar = () => {\n setShowCalendar(true);\n if (inputDateRef.current) {\n inputDateRef.current.focus();\n setInputDimensions(inputDateRef.current?.getBoundingClientRect());\n }\n if (showCalendarInDialog) {\n setTimeout(() => { currentDateButtonRef.current?.focus(); }, 100);\n }\n };\n\n const onInputFocus = (e: CustomInputEvent) => {\n if (props.onFocus) props.onFocus(e);\n if (openOnFocus && !showCalendar && !calendarOnDialog) { openCalendar(); }\n };\n\n const onInputBlur = (e: CustomInputEvent) => {\n if (props.onBlur) props.onBlur(e);\n };\n\n const isValidDate = (date: Date | string | { initial?: string, final?: string }) => {\n if (typeof date === 'object' && !(date instanceof Date)) {\n const initialValid = moment(date.initial, brFormatter, true).isValid();\n const finalValid = moment(date.final, brFormatter, true).isValid();\n\n return initialValid && finalValid;\n }\n\n return moment(date, brFormatter, true).isValid();\n };\n\n const onInputChange = (\n event: CustomInputEvent,\n valueInput: string | {\n initial: string;\n final: string;\n } = '',\n ) => {\n if (typeof valueInput === 'string') {\n const date = event.target.value ?? '';\n if (props.onChange) {\n if (isValidDate(date)) {\n const newValue = moment(date, brFormatter).format(usFormatter);\n const obj = { target: { value: newValue, name: event.target.name } };\n props.onChange(obj, date);\n } else if (event.target.value === '') {\n const obj = { target: { value: '', name: event.target.name } };\n props.onChange(obj, date);\n setShowCalendar(false);\n setValueState(undefined);\n }\n }\n }\n };\n\n const setValue = (valueParam?: string, e?: CustomInputEvent) => {\n if (showCalendar && setFocusOnSelect) inputDateRef.current?.focus();\n if (props.onComplete) props.onComplete(e, valueParam);\n if (props.onChange) onInputChange({ target: { value: valueParam ?? '', name } }, valueParam);\n if (shouldCloseOnSelect) setShowCalendar(false);\n setValueState(moment(valueParam, brFormatter));\n };\n\n const shouldDisable = () =>\n props.disabled || (onDenied && (onDenied.disabled || onDenied.hideContent));\n\n const getButtonOpen = () => {\n if (!showButtonOpen) return undefined;\n return (\n <Button\n key=\"button-open-date-picker\"\n disabled={shouldDisable()}\n tabIndex={-1}\n customClass=\"calendar-button\"\n iconName='calendar'\n title={showCalendar ? 'Fechar Calendário' : 'Abrir Calendário'}\n onClick={() => { if (showCalendar) { setShowCalendar(false); } else openCalendar(); }}\n targetRef={(ref: HTMLButtonElement) => { buttonOpenRef.current = ref; }} />\n );\n };\n\n const getCalendar = (valueCalendar?: Moment, calendarColorStyle?: ColorStyles) => (\n <Calendar\n colorStyle={calendarColorStyle}\n currentDate={valueCalendar !== undefined ? valueCalendar : moment()}\n onDateChange={(date) => {\n setValue(date.format(brFormatter), undefined);\n if (showCalendarInDialog) setCalendarOnDialog(false);\n }}\n currentDateButton={buttonElement => currentDateButtonRef.current = buttonElement}\n calendarContainer={(calendarContainer) => { \n calendarContainerRef.current = calendarContainer; \n }} />\n );\n\n const getCalendarComponent = () => {\n if (onDenied && onDenied.readOnly) return null;\n if (showCalendarInDialog) {\n return (\n <Dialog\n dialogSize={dialogSize}\n handlerClose={onCloseDateDialog}>\n {getCalendar(valueState, props?.calendarColorStyle)}\n </Dialog>\n );\n }\n\n return (\n <Dropdown\n showButtonOpen={showButtonOpen}\n inputDimensions={inputDimensions}\n containerRef={datePickerContainerRef as any}\n dropdownRef={(el: HTMLDivElement) => { dropdownContainer.current = el; }}>\n {getCalendar(valueState, props?.calendarColorStyle)}\n </Dropdown>\n );\n };\n\n useEffect(() => {\n if (value && moment(value, usFormatter).format() !== 'Invalid date' &&\n moment(valueFromProps, usFormatter).format() !== moment(value, usFormatter).format()) {\n setValueState(moment(value, usFormatter));\n setValueFromProps(value);\n } else if (!value && value !== valueFromProps) {\n setValueState(undefined);\n setValueFromProps(value);\n }\n }, [value]);\n\n useEffect(() => {\n window.addEventListener('resize', onScreenResize);\n document.addEventListener('keydown', onKeyDownPress);\n if (inputDateRef.current) onScreenResize();\n if (showCalendar && showCalendarInDialog) setCalendarOnDialog(true);\n\n return () => {\n window.removeEventListener('resize', onScreenResize);\n document.removeEventListener('keydown', onKeyDownPress);\n };\n }, [inputDateRef.current, showCalendar]);\n\n useEffect(() => {\n document.addEventListener('scroll', keepPositionCalendarByScroll);\n document.getElementById('modal-dialog-content')?.addEventListener('scroll', keepPositionCalendarByScroll);\n\n return () => {\n document.removeEventListener('scroll', keepPositionCalendarByScroll);\n document.getElementById('modal-dialog-content')?.removeEventListener('scroll', keepPositionCalendarByScroll);\n };\n }, []);\n\n if (onDenied && onDenied.unvisible) return null;\n\n const component = () => (\n <div ref={datePickerContainerRef} onBlur={onCloseWithoutBlur} className=\"datepicker-container\">\n <BaseMask\n {...props}\n gridLayout={undefined}\n isDateTimeField={isDateTimeField}\n value={!valueState ? ' ' : valueState.format(brFormatter)}\n mask={maskFormat}\n pattern={patternFormat}\n blocks={!isDateTimeField ? {} : blocksDateTimeFormat}\n onComplete={(e) => { if (e) { setValue(e.target?.maskedValue, e); } }}\n onBlur={onInputBlur}\n onFocus={(e: CustomInputEvent) => { onInputFocus(e); }}\n onChange={(e, date) => { onInputChange(e, date); }}\n inputRef={(el: HTMLInputElement | HTMLTextAreaElement | null) => {\n inputDateRef.current = el;\n if (inputRefProp) inputRefProp.current = el;\n }}\n rightElements={getButtonOpen()}\n required={required}\n handlerSetOnDenied={() => setOnDenied(onDenied)} />\n {showCalendar && getCalendarComponent()}\n </div>\n );\n\n return (!gridLayout ? component() : <Grid customClass=\"-withinput\" cols={gridLayout}>{component()}</Grid>);\n};\n\nexport default DatePicker;\n"],"names":["DatePicker","props","showButtonOpen","openOnFocus","shouldCloseOnSelect","setFocusOnSelect","showCalendarInDialog","required","value","name","inputRef","inputRefProp","dialogSize","width","height","gridLayout","shouldCloseOnEsc","isDateTimeField","maskFormat","Date","patternFormat","undefined","brFormatter","PT_BR_FORMAT_DATETIME","PT_BR_FORMAT","usFormatter","EN_US_FORMAT_DATETIME","EN_US_FORMAT","valueState","setValueState","useState","getMomentValue","showCalendar","setShowCalendar","valueFromProps","setValueFromProps","moment","format","inputDimensions","setInputDimensions","calendarOnDialog","setCalendarOnDialog","onDenied","setOnDenied","disabled","readOnly","unvisible","hideContent","inputDateRef","useRef","buttonOpenRef","dropdownContainer","currentDateButtonRef","calendarContainerRef","datePickerContainerRef","onScreenResize","current","getBoundingClientRect","onCloseDateDialog","setTimeout","focus","onCloseWithoutBlur","event","focusOnAnotherField","contains","relatedTarget","onKeyDownPress","key","preventDefault","buttonForNavigateCalendar","getElementsByClassName","buttonDatePicked","firstChild","buttonsForFocus","Array","from","firstElement","lastElement","length","shiftKey","document","activeElement","stopPropagation","keepPositionCalendarByScroll","inputDateDimensions","positionTop","bottom","style","top","String","concat","openCalendar","onInputFocus","e","onFocus","onInputBlur","onBlur","isValidDate","date","initialValid","initial","isValid","finalValid","final","onInputChange","valueInput","target","onChange","obj","setValue","valueParam","onComplete","shouldDisable","getButtonOpen","Button","ref","getCalendar","valueCalendar","calendarColorStyle","Calendar","buttonElement","calendarContainer","getCalendarComponent","jsx","Dialog","Dropdown","el","useEffect","window","addEventListener","removeEventListener","getElementById","component","jsxs","BaseMask","blocksDateTimeFormat","maskedValue","Grid"],"mappings":"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"}
@@ -6,8 +6,8 @@ import L from "../base/InputTextBase.js";
6
6
  import j from "./FileButtonSettings.js";
7
7
  import '../../assets/styles/button.css';import '../../assets/styles/file.css';/* empty css */
8
8
  import w from "../../buttons/Button.js";
9
- import P from "../../icons/index.js";
10
9
  /* empty css */
10
+ import P from "../../icons/index.js";
11
11
  import T from "../../popover/index.js";
12
12
  import V from "../../popover/PopoverText.js";
13
13
  const ie = (t) => {
@@ -2,15 +2,14 @@ import { jsxs as l, jsx as t } from "react/jsx-runtime";
2
2
  import { useState as y, Fragment as S } from "react";
3
3
  import te from "../../_virtual/lodash.js";
4
4
  import "../../_virtual/compiler-runtime.js";
5
- import "../../buttons/DefaultButton.js";
6
- import A from "../../icons/index.js";
7
5
  import $ from "../../buttons/PrimaryButton.js";
8
6
  import q from "../../buttons/DangerButton.js";
9
7
  import '../../assets/styles/button.css';/* empty css */
8
+ import A from "../../icons/index.js";
10
9
  import se from "../base/InputTextBase.js";
11
10
  import ae from "../../hint/index.js";
12
11
  import { ErrorMessage as re } from "../errorMessage/index.js";
13
- const z = (n) => n?.length ? te.map(n, (i) => i) : [], f = (n) => n.split(",").map((i) => i.includes(".") ? i.split(".")[1] : i.split("/")[1]).join(", "), ne = (n) => n.split(", "), De = (n) => {
12
+ const z = (n) => n?.length ? te.map(n, (i) => i) : [], f = (n) => n.split(",").map((i) => i.includes(".") ? i.split(".")[1] : i.split("/")[1]).join(", "), ne = (n) => n.split(", "), ve = (n) => {
14
13
  const {
15
14
  id: i = Math.random().toString(36).substring(2, 7),
16
15
  accept: o = "image/png, image/jpeg",
@@ -131,6 +130,6 @@ const z = (n) => n?.length ? te.map(n, (i) => i) : [], f = (n) => n.split(",").m
131
130
  ] });
132
131
  };
133
132
  export {
134
- De as default
133
+ ve as default
135
134
  };
136
135
  //# sourceMappingURL=DragDropFile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DragDropFile.js","sources":["../../../src/lib/inputs/file/DragDropFile.tsx"],"sourcesContent":["import { useState, DragEvent, Fragment } from 'react';\nimport _ from 'lodash';\nimport { DangerButton, PrimaryButton } from '../../buttons';\nimport Icon from '../../icons';\nimport InputTextBase from '../base/InputTextBase';\nimport { CustomInputEvent } from '../base/types';\nimport { IDragDropFileProps } from './types';\nimport Hint from '../../hint';\nimport { ErrorMessage } from '../errorMessage';\n\nconst getFilesList = (files: FileList | null | undefined): File[] => (\n !files?.length ? [] : _.map(files, file => file)\n);\n\nconst getAcceptFilesLabel = (valueAccept: string) =>\n valueAccept.split(',').map(value => (value.includes('.') ? value.split('.')[1] : value.split('/')[1])).join(', ');\n\nconst getAcceptFilesWithoutRemoveText = (value: string) => value.split(', ');\n\nconst DragDropFile = (props: IDragDropFileProps) => {\n const {\n id = Math.random().toString(36).substring(2, 7),\n accept = 'image/png, image/jpeg',\n labelButton = 'Selecionar',\n subtitleDragDrop = 'Selecione arquivos do tipo ',\n titleDragDrop = 'Arquivo para importação',\n onBtnClickInsert,\n inputRef,\n onChange,\n onDragEnter,\n onDragOver,\n onDragLeave,\n onDrop,\n showSubtitle = true,\n multiple = false,\n hint = [],\n hintPosition = 'below',\n errorMessages = [],\n skeletonize = false,\n } = props;\n\n const [dragActive, setDragActive] = useState(false);\n const [fileList, setFileList] = useState<File[]>([]);\n const [typeNotAccept, setTypeNotAccept] = useState(false);\n const [message, setMessage] = useState({\n class: '',\n text: titleDragDrop,\n subtitle: subtitleDragDrop + getAcceptFilesLabel(accept),\n error: false,\n });\n\n const handleDrag = (e: DragEvent) => {\n e.preventDefault?.();\n e.stopPropagation?.();\n };\n\n const checkTypeNotAccept = (types: string[], getTypesArray: string[], e: DragEvent) => {\n setTypeNotAccept(false);\n\n getTypesArray.forEach((element) => {\n if (!typeNotAccept && types.indexOf(element) === -1) {\n setTypeNotAccept(true);\n }\n return typeNotAccept;\n });\n\n if (!multiple && (e.dataTransfer.items.length > 1 || fileList.length > 0)) {\n setMessage({\n class: 'disapprovedFile',\n text: 'Não é permitido anexar mais de um arquivo.',\n subtitle: '',\n error: true,\n });\n } else if (typeNotAccept) {\n setMessage({\n class: 'disapprovedFile',\n text: 'Por favor, verifique a extensão do(s) arquivo(s) inserido(s).',\n subtitle: `Apenas as extensões ${getAcceptFilesLabel(accept)} são permitidas.`,\n error: true,\n });\n } else {\n setMessage({\n class: 'approvedFile',\n text: titleDragDrop,\n subtitle: subtitleDragDrop + getAcceptFilesLabel(accept),\n error: false,\n });\n }\n };\n const getTypesFiles = (e: DragEvent) => {\n let typesFilesDrag: string[] = [];\n if (e.dataTransfer.items) {\n Array.from(e.dataTransfer.items).map((item) => {\n if (typesFilesDrag.indexOf(item.type) === -1) {\n typesFilesDrag = [...typesFilesDrag, item.type];\n }\n return typesFilesDrag;\n });\n }\n return typesFilesDrag;\n };\n\n const handleDragEnter = (e: DragEvent) => {\n const arrayTypes = getAcceptFilesWithoutRemoveText(accept);\n const getTypesArray = getTypesFiles(e);\n checkTypeNotAccept(arrayTypes, getTypesArray, e);\n handleDrag(e);\n setDragActive(true);\n onDragEnter?.(e);\n };\n\n const handleDragLeave = (e: DragEvent) => {\n setMessage({\n class: '',\n text: titleDragDrop,\n subtitle: subtitleDragDrop + getAcceptFilesLabel(accept),\n error: false,\n });\n handleDrag(e);\n setDragActive(false);\n onDragLeave?.(e);\n };\n\n const handleDragOver = (\n e: DragEvent<HTMLInputElement | HTMLTextAreaElement | HTMLDivElement>,\n ) => {\n handleDrag(e);\n onDragOver?.(e);\n };\n\n const handleDrop = (e: DragEvent) => {\n handleDrag(e);\n setDragActive(false);\n const input = e.dataTransfer;\n if (input && !message.error) {\n const files = getFilesList(input.files);\n if (files.length > 0) {\n const fileNoRepeat = fileList.concat(files);\n const ids = fileNoRepeat.map(o => o.name);\n const filtered = fileNoRepeat.filter(({ name }, index) => !ids.includes(name, index + 1));\n setFileList(filtered);\n onChange?.(files, e);\n onDrop?.(e);\n }\n }\n setMessage({\n class: '',\n text: titleDragDrop,\n subtitle: subtitleDragDrop + getAcceptFilesLabel(accept),\n error: false,\n });\n };\n\n const handleChange = (e: CustomInputEvent) => {\n e.preventDefault?.();\n const files = getFilesList(e.target.files);\n if (files.length > 0 && !typeNotAccept) {\n const fileNoRepeat = fileList.concat(files);\n const ids = fileNoRepeat.map(o => o.name);\n const filesFiltered =\n fileNoRepeat.filter(({ name }, index) => !ids.includes(name, index + 1));\n setFileList(filesFiltered);\n onChange?.(files, e);\n }\n };\n\n const onButtonClickRemoveAll = () => setFileList([]);\n\n const handleRemoveFile = (fileName: string) => {\n setFileList(prevState => prevState.filter(file => file.name !== fileName));\n };\n\n const generateListArray = () => {\n if (fileList?.length === 1) {\n return (\n <Fragment>\n {fileList[0].type === 'image/jpeg' || fileList[0].type === 'image/png' ?\n <img alt={fileList[0].name} src={URL.createObjectURL(fileList[0])} /> :\n <Icon size={64} name=\"file_excel\" />\n }\n <div className=\"image-preview-solo\">\n <div className=\"description-file\">\n <span className=\"subtitle\">{fileList[0].name}</span>\n </div>\n </div>\n </Fragment>\n );\n }\n return (\n <ul className=\"file-list\">\n {fileList.length > 0 && fileList.map(file => (\n <li\n key={`${file.name}${file.size}`}\n className=\"file-card\">\n <DangerButton\n transparent\n boxShadow={false}\n className=\"delete-button\"\n onClick={() => handleRemoveFile(file.name)}\n icon={<Icon customClass=\"color-icon-upload\" name=\"close\" />} />\n <div className=\"image-content\">\n {(file.type === 'image/jpeg' || file.type === 'image/png') && (\n <img\n alt={file.name}\n className=\"image-preview\"\n src={URL.createObjectURL(file)} />\n )}\n </div>\n <div className=\"description-file\">\n <span className=\"subtitle\">{file.name}</span>\n </div>\n </li>\n ))}\n </ul>\n );\n };\n\n return (\n <div className=\"input-dragdrop-container\" onDragEnter={handleDragEnter} onSubmit={e => e.preventDefault()}>\n <div className={`drag-content ${skeletonize ? '-skeletonized' : ''}`}>\n <div className={`${message.class} ${!skeletonize ? 'content' : ''}`}>\n {message.error || fileList.length === 0\n ? (\n <label htmlFor={id}>\n <h1 className=\"title\" style={{ paddingBottom: '20px' }}>{message.text}</h1>\n {showSubtitle && <p className=\"subtitle\">{message.subtitle}</p>}\n {!skeletonize &&\n <PrimaryButton onClick={onBtnClickInsert} label={labelButton} />}\n </label>\n )\n : (\n <Fragment>\n {generateListArray()}\n <footer className=\"footer-button-action\">\n {((!multiple && fileList.length < 1) || multiple) && (\n <PrimaryButton\n className=\"selectButton\"\n onClick={onBtnClickInsert}\n label={labelButton} />\n )}\n <DangerButton\n className=\"cancelButton\"\n onClick={onButtonClickRemoveAll}\n icon={<Icon name=\"close\" color=\"white\" />}\n label=\"Limpar\" />\n </footer>\n </Fragment>\n )}\n </div>\n <InputTextBase\n {...props}\n inputRef={inputRef}\n style={{ display: 'none' }}\n type=\"file\"\n id={id}\n accept={accept}\n multiple={multiple}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n onDragLeave={handleDragLeave}\n onChange={handleChange} />\n {dragActive && (\n <div\n className=\"drag-position-element\"\n id=\"dragFileElement\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop} />\n )}\n </div>\n <ErrorMessage messages={errorMessages} />\n <Hint visible={!!hint && hintPosition === 'below'} customClass=\"hint\" description={hint} />\n </div>\n );\n};\n\nexport default DragDropFile;\n"],"names":["getFilesList","files","length","_","map","file","getAcceptFilesLabel","valueAccept","split","value","includes","join","getAcceptFilesWithoutRemoveText","DragDropFile","props","id","Math","random","toString","substring","accept","labelButton","subtitleDragDrop","titleDragDrop","onBtnClickInsert","inputRef","onChange","onDragEnter","onDragOver","onDragLeave","onDrop","showSubtitle","multiple","hint","hintPosition","errorMessages","skeletonize","dragActive","setDragActive","useState","fileList","setFileList","typeNotAccept","setTypeNotAccept","message","setMessage","class","text","subtitle","error","handleDrag","e","preventDefault","stopPropagation","checkTypeNotAccept","types","getTypesArray","forEach","element","indexOf","dataTransfer","items","getTypesFiles","typesFilesDrag","Array","from","item","type","handleDragEnter","arrayTypes","handleDragLeave","handleDragOver","handleDrop","input","fileNoRepeat","concat","ids","o","name","filtered","filter","index","handleChange","target","filesFiltered","onButtonClickRemoveAll","handleRemoveFile","fileName","prevState","generateListArray","Fragment","jsx","URL","createObjectURL","Icon","jsxs","DangerButton","size","paddingBottom","PrimaryButton","InputTextBase","display","ErrorMessage","Hint"],"mappings":"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"}
1
+ {"version":3,"file":"DragDropFile.js","sources":["../../../src/lib/inputs/file/DragDropFile.tsx"],"sourcesContent":["import { useState, DragEvent, Fragment } from 'react';\nimport _ from 'lodash';\nimport { DangerButton, PrimaryButton } from '../../buttons';\nimport Icon from '../../icons';\nimport InputTextBase from '../base/InputTextBase';\nimport { CustomInputEvent } from '../base/types';\nimport { IDragDropFileProps } from './types';\nimport Hint from '../../hint';\nimport { ErrorMessage } from '../errorMessage';\n\nconst getFilesList = (files: FileList | null | undefined): File[] => (\n !files?.length ? [] : _.map(files, file => file)\n);\n\nconst getAcceptFilesLabel = (valueAccept: string) =>\n valueAccept.split(',').map(value => (value.includes('.') ? value.split('.')[1] : value.split('/')[1])).join(', ');\n\nconst getAcceptFilesWithoutRemoveText = (value: string) => value.split(', ');\n\nconst DragDropFile = (props: IDragDropFileProps) => {\n const {\n id = Math.random().toString(36).substring(2, 7),\n accept = 'image/png, image/jpeg',\n labelButton = 'Selecionar',\n subtitleDragDrop = 'Selecione arquivos do tipo ',\n titleDragDrop = 'Arquivo para importação',\n onBtnClickInsert,\n inputRef,\n onChange,\n onDragEnter,\n onDragOver,\n onDragLeave,\n onDrop,\n showSubtitle = true,\n multiple = false,\n hint = [],\n hintPosition = 'below',\n errorMessages = [],\n skeletonize = false,\n } = props;\n\n const [dragActive, setDragActive] = useState(false);\n const [fileList, setFileList] = useState<File[]>([]);\n const [typeNotAccept, setTypeNotAccept] = useState(false);\n const [message, setMessage] = useState({\n class: '',\n text: titleDragDrop,\n subtitle: subtitleDragDrop + getAcceptFilesLabel(accept),\n error: false,\n });\n\n const handleDrag = (e: DragEvent) => {\n e.preventDefault?.();\n e.stopPropagation?.();\n };\n\n const checkTypeNotAccept = (types: string[], getTypesArray: string[], e: DragEvent) => {\n setTypeNotAccept(false);\n\n getTypesArray.forEach((element) => {\n if (!typeNotAccept && types.indexOf(element) === -1) {\n setTypeNotAccept(true);\n }\n return typeNotAccept;\n });\n\n if (!multiple && (e.dataTransfer.items.length > 1 || fileList.length > 0)) {\n setMessage({\n class: 'disapprovedFile',\n text: 'Não é permitido anexar mais de um arquivo.',\n subtitle: '',\n error: true,\n });\n } else if (typeNotAccept) {\n setMessage({\n class: 'disapprovedFile',\n text: 'Por favor, verifique a extensão do(s) arquivo(s) inserido(s).',\n subtitle: `Apenas as extensões ${getAcceptFilesLabel(accept)} são permitidas.`,\n error: true,\n });\n } else {\n setMessage({\n class: 'approvedFile',\n text: titleDragDrop,\n subtitle: subtitleDragDrop + getAcceptFilesLabel(accept),\n error: false,\n });\n }\n };\n const getTypesFiles = (e: DragEvent) => {\n let typesFilesDrag: string[] = [];\n if (e.dataTransfer.items) {\n Array.from(e.dataTransfer.items).map((item) => {\n if (typesFilesDrag.indexOf(item.type) === -1) {\n typesFilesDrag = [...typesFilesDrag, item.type];\n }\n return typesFilesDrag;\n });\n }\n return typesFilesDrag;\n };\n\n const handleDragEnter = (e: DragEvent) => {\n const arrayTypes = getAcceptFilesWithoutRemoveText(accept);\n const getTypesArray = getTypesFiles(e);\n checkTypeNotAccept(arrayTypes, getTypesArray, e);\n handleDrag(e);\n setDragActive(true);\n onDragEnter?.(e);\n };\n\n const handleDragLeave = (e: DragEvent) => {\n setMessage({\n class: '',\n text: titleDragDrop,\n subtitle: subtitleDragDrop + getAcceptFilesLabel(accept),\n error: false,\n });\n handleDrag(e);\n setDragActive(false);\n onDragLeave?.(e);\n };\n\n const handleDragOver = (\n e: DragEvent<HTMLInputElement | HTMLTextAreaElement | HTMLDivElement>,\n ) => {\n handleDrag(e);\n onDragOver?.(e);\n };\n\n const handleDrop = (e: DragEvent) => {\n handleDrag(e);\n setDragActive(false);\n const input = e.dataTransfer;\n if (input && !message.error) {\n const files = getFilesList(input.files);\n if (files.length > 0) {\n const fileNoRepeat = fileList.concat(files);\n const ids = fileNoRepeat.map(o => o.name);\n const filtered = fileNoRepeat.filter(({ name }, index) => !ids.includes(name, index + 1));\n setFileList(filtered);\n onChange?.(files, e);\n onDrop?.(e);\n }\n }\n setMessage({\n class: '',\n text: titleDragDrop,\n subtitle: subtitleDragDrop + getAcceptFilesLabel(accept),\n error: false,\n });\n };\n\n const handleChange = (e: CustomInputEvent) => {\n e.preventDefault?.();\n const files = getFilesList(e.target.files);\n if (files.length > 0 && !typeNotAccept) {\n const fileNoRepeat = fileList.concat(files);\n const ids = fileNoRepeat.map(o => o.name);\n const filesFiltered =\n fileNoRepeat.filter(({ name }, index) => !ids.includes(name, index + 1));\n setFileList(filesFiltered);\n onChange?.(files, e);\n }\n };\n\n const onButtonClickRemoveAll = () => setFileList([]);\n\n const handleRemoveFile = (fileName: string) => {\n setFileList(prevState => prevState.filter(file => file.name !== fileName));\n };\n\n const generateListArray = () => {\n if (fileList?.length === 1) {\n return (\n <Fragment>\n {fileList[0].type === 'image/jpeg' || fileList[0].type === 'image/png' ?\n <img alt={fileList[0].name} src={URL.createObjectURL(fileList[0])} /> :\n <Icon size={64} name=\"file_excel\" />\n }\n <div className=\"image-preview-solo\">\n <div className=\"description-file\">\n <span className=\"subtitle\">{fileList[0].name}</span>\n </div>\n </div>\n </Fragment>\n );\n }\n return (\n <ul className=\"file-list\">\n {fileList.length > 0 && fileList.map(file => (\n <li\n key={`${file.name}${file.size}`}\n className=\"file-card\">\n <DangerButton\n transparent\n boxShadow={false}\n className=\"delete-button\"\n onClick={() => handleRemoveFile(file.name)}\n icon={<Icon customClass=\"color-icon-upload\" name=\"close\" />} />\n <div className=\"image-content\">\n {(file.type === 'image/jpeg' || file.type === 'image/png') && (\n <img\n alt={file.name}\n className=\"image-preview\"\n src={URL.createObjectURL(file)} />\n )}\n </div>\n <div className=\"description-file\">\n <span className=\"subtitle\">{file.name}</span>\n </div>\n </li>\n ))}\n </ul>\n );\n };\n\n return (\n <div className=\"input-dragdrop-container\" onDragEnter={handleDragEnter} onSubmit={e => e.preventDefault()}>\n <div className={`drag-content ${skeletonize ? '-skeletonized' : ''}`}>\n <div className={`${message.class} ${!skeletonize ? 'content' : ''}`}>\n {message.error || fileList.length === 0\n ? (\n <label htmlFor={id}>\n <h1 className=\"title\" style={{ paddingBottom: '20px' }}>{message.text}</h1>\n {showSubtitle && <p className=\"subtitle\">{message.subtitle}</p>}\n {!skeletonize &&\n <PrimaryButton onClick={onBtnClickInsert} label={labelButton} />}\n </label>\n )\n : (\n <Fragment>\n {generateListArray()}\n <footer className=\"footer-button-action\">\n {((!multiple && fileList.length < 1) || multiple) && (\n <PrimaryButton\n className=\"selectButton\"\n onClick={onBtnClickInsert}\n label={labelButton} />\n )}\n <DangerButton\n className=\"cancelButton\"\n onClick={onButtonClickRemoveAll}\n icon={<Icon name=\"close\" color=\"white\" />}\n label=\"Limpar\" />\n </footer>\n </Fragment>\n )}\n </div>\n <InputTextBase\n {...props}\n inputRef={inputRef}\n style={{ display: 'none' }}\n type=\"file\"\n id={id}\n accept={accept}\n multiple={multiple}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n onDragLeave={handleDragLeave}\n onChange={handleChange} />\n {dragActive && (\n <div\n className=\"drag-position-element\"\n id=\"dragFileElement\"\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop} />\n )}\n </div>\n <ErrorMessage messages={errorMessages} />\n <Hint visible={!!hint && hintPosition === 'below'} customClass=\"hint\" description={hint} />\n </div>\n );\n};\n\nexport default DragDropFile;\n"],"names":["getFilesList","files","length","_","map","file","getAcceptFilesLabel","valueAccept","split","value","includes","join","getAcceptFilesWithoutRemoveText","DragDropFile","props","id","Math","random","toString","substring","accept","labelButton","subtitleDragDrop","titleDragDrop","onBtnClickInsert","inputRef","onChange","onDragEnter","onDragOver","onDragLeave","onDrop","showSubtitle","multiple","hint","hintPosition","errorMessages","skeletonize","dragActive","setDragActive","useState","fileList","setFileList","typeNotAccept","setTypeNotAccept","message","setMessage","class","text","subtitle","error","handleDrag","e","preventDefault","stopPropagation","checkTypeNotAccept","types","getTypesArray","forEach","element","indexOf","dataTransfer","items","getTypesFiles","typesFilesDrag","Array","from","item","type","handleDragEnter","arrayTypes","handleDragLeave","handleDragOver","handleDrop","input","fileNoRepeat","concat","ids","o","name","filtered","filter","index","handleChange","target","filesFiltered","onButtonClickRemoveAll","handleRemoveFile","fileName","prevState","generateListArray","Fragment","jsx","URL","createObjectURL","Icon","jsxs","DangerButton","size","paddingBottom","PrimaryButton","InputTextBase","display","ErrorMessage","Hint"],"mappings":"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"}
@@ -1,32 +1,30 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
- import { useRef as l, useEffect as u } from "react";
2
+ import { useRef as m, useEffect as u } from "react";
3
3
  import p from "./DefaultFile.js";
4
4
  import C from "./DragDropFile.js";
5
- import "../../_virtual/compiler-runtime.js";
6
- import '../../assets/styles/gridlayout.css';/* empty css */
7
5
  import a from "../../gridlayout/GridCol.js";
8
6
  import { transformFilesToFileList as h } from "./helpers.js";
9
- const g = ({
7
+ const v = ({
10
8
  applyDragDrop: s = !1,
11
9
  defaultFiles: r,
12
- gridLayout: o,
10
+ gridLayout: e,
13
11
  onBtnClickRemove: n,
14
- ...e
12
+ ...o
15
13
  }) => {
16
- const t = l(null), c = () => {
14
+ const t = m(null), c = () => {
17
15
  t.current?.click();
18
- }, m = () => {
16
+ }, l = () => {
19
17
  t.current && (t.current.value = "", n && n()), n && n();
20
18
  };
21
19
  u(() => {
22
20
  t?.current && r && (t.current.files = h(r));
23
21
  }, [t?.current]);
24
- const f = s ? /* @__PURE__ */ i(C, { ...e, defaultFiles: r, inputRef: t, onBtnClickInsert: () => c() }) : /* @__PURE__ */ i(p, { ...e, inputRef: t, defaultFiles: r, onBtnClickRemove: () => m(), onBtnClickInsert: () => c() });
25
- return o !== void 0 ? /* @__PURE__ */ i(a, { customClass: "-withinput", cols: o, style: {
22
+ const f = s ? /* @__PURE__ */ i(C, { ...o, defaultFiles: r, inputRef: t, onBtnClickInsert: () => c() }) : /* @__PURE__ */ i(p, { ...o, inputRef: t, defaultFiles: r, onBtnClickRemove: () => l(), onBtnClickInsert: () => c() });
23
+ return e !== void 0 ? /* @__PURE__ */ i(a, { customClass: "-withinput", cols: e, style: {
26
24
  height: "100%"
27
25
  }, children: f }) : f;
28
26
  };
29
27
  export {
30
- g as default
28
+ v as default
31
29
  };
32
30
  //# sourceMappingURL=File.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"File.js","sources":["../../../src/lib/inputs/file/File.tsx"],"sourcesContent":["import { useRef, useEffect } from 'react';\nimport DefaultFile from './DefaultFile';\nimport DragDropFile from './DragDropFile';\nimport Grid from '../../gridlayout';\nimport { IFileProps } from './types';\nimport { transformFilesToFileList } from './helpers';\n\nconst File = ({\n applyDragDrop = false, defaultFiles, gridLayout, onBtnClickRemove: onBtnClickRemoveProp, ...rest\n}: Omit<IFileProps, 'onBtnClickInsert'>) => {\n const inputFileRef = useRef<HTMLInputElement>(null);\n\n const onBtnClickInsert = () => {\n inputFileRef.current?.click();\n };\n\n const onBtnClickRemove = () => {\n if (inputFileRef.current) {\n inputFileRef.current.value = '';\n if (onBtnClickRemoveProp) onBtnClickRemoveProp();\n }\n if (onBtnClickRemoveProp) onBtnClickRemoveProp();\n };\n\n useEffect(() => {\n if (inputFileRef?.current && defaultFiles) {\n inputFileRef.current.files = transformFilesToFileList(defaultFiles);\n }\n }, [inputFileRef?.current]);\n\n const component = applyDragDrop ?\n (<DragDropFile\n {...rest}\n defaultFiles={defaultFiles}\n inputRef={inputFileRef as any}\n onBtnClickInsert={() => onBtnClickInsert()} />\n ) :\n (<DefaultFile\n {...rest}\n inputRef={inputFileRef as any}\n defaultFiles={defaultFiles}\n onBtnClickRemove={() => onBtnClickRemove()}\n onBtnClickInsert={() => onBtnClickInsert()} />\n );\n\n if (gridLayout !== undefined) {\n return (\n <Grid customClass=\"-withinput\" cols={gridLayout} style={{ height: '100%' }} >\n {component}\n </Grid>\n );\n }\n\n return component;\n};\n\nexport default File;\n"],"names":["File","applyDragDrop","defaultFiles","gridLayout","onBtnClickRemove","onBtnClickRemoveProp","rest","inputFileRef","useRef","onBtnClickInsert","current","click","value","useEffect","files","transformFilesToFileList","component","jsx","DragDropFile","DefaultFile","undefined","Grid","height"],"mappings":";;;;;;;;AAOA,MAAMA,IAAOA,CAAC;AAAA,EACZC,eAAAA,IAAgB;AAAA,EAAOC,cAAAA;AAAAA,EAAcC,YAAAA;AAAAA,EAAYC,kBAAkBC;AAAAA,EAAuB,GAAGC;AACzD,MAAM;AAC1C,QAAMC,IAAeC,EAAyB,IAAI,GAE5CC,IAAmBA,MAAM;AAC7BF,IAAAA,EAAaG,SAASC,MAAAA;AAAAA,EACxB,GAEMP,IAAmBA,MAAM;AAC7B,IAAIG,EAAaG,YACfH,EAAaG,QAAQE,QAAQ,IACzBP,KAAsBA,EAAAA,IAExBA,KAAsBA,EAAAA;AAAAA,EAC5B;AAEAQ,EAAAA,EAAU,MAAM;AACd,IAAIN,GAAcG,WAAWR,MAC3BK,EAAaG,QAAQI,QAAQC,EAAyBb,CAAY;AAAA,EAEtE,GAAG,CAACK,GAAcG,OAAO,CAAC;AAE1B,QAAMM,IAAYf,IACb,gBAAAgB,EAACC,GAAA,EACA,GAAIZ,GACJ,cAAAJ,GACA,UAAUK,GACV,kBAAkB,MAAME,EAAAA,EAAiB,KAE1C,gBAAAQ,EAACE,GAAA,EACA,GAAIb,GACJ,UAAUC,GACV,cAAAL,GACA,kBAAkB,MAAME,EAAAA,GACxB,kBAAkB,MAAMK,EAAAA,EAAiB,CAAE;AAGjD,SAAIN,MAAeiB,2BAEdC,GAAA,EAAK,aAAY,cAAa,MAAMlB,GAAY,OAAO;AAAA,IAAEmB,QAAQ;AAAA,EAAA,GAC/DN,UAAAA,GACH,IAIGA;AACT;"}
1
+ {"version":3,"file":"File.js","sources":["../../../src/lib/inputs/file/File.tsx"],"sourcesContent":["import { useRef, useEffect } from 'react';\nimport DefaultFile from './DefaultFile';\nimport DragDropFile from './DragDropFile';\nimport Grid from '../../gridlayout';\nimport { IFileProps } from './types';\nimport { transformFilesToFileList } from './helpers';\n\nconst File = ({\n applyDragDrop = false, defaultFiles, gridLayout, onBtnClickRemove: onBtnClickRemoveProp, ...rest\n}: Omit<IFileProps, 'onBtnClickInsert'>) => {\n const inputFileRef = useRef<HTMLInputElement>(null);\n\n const onBtnClickInsert = () => {\n inputFileRef.current?.click();\n };\n\n const onBtnClickRemove = () => {\n if (inputFileRef.current) {\n inputFileRef.current.value = '';\n if (onBtnClickRemoveProp) onBtnClickRemoveProp();\n }\n if (onBtnClickRemoveProp) onBtnClickRemoveProp();\n };\n\n useEffect(() => {\n if (inputFileRef?.current && defaultFiles) {\n inputFileRef.current.files = transformFilesToFileList(defaultFiles);\n }\n }, [inputFileRef?.current]);\n\n const component = applyDragDrop ?\n (<DragDropFile\n {...rest}\n defaultFiles={defaultFiles}\n inputRef={inputFileRef as any}\n onBtnClickInsert={() => onBtnClickInsert()} />\n ) :\n (<DefaultFile\n {...rest}\n inputRef={inputFileRef as any}\n defaultFiles={defaultFiles}\n onBtnClickRemove={() => onBtnClickRemove()}\n onBtnClickInsert={() => onBtnClickInsert()} />\n );\n\n if (gridLayout !== undefined) {\n return (\n <Grid customClass=\"-withinput\" cols={gridLayout} style={{ height: '100%' }} >\n {component}\n </Grid>\n );\n }\n\n return component;\n};\n\nexport default File;\n"],"names":["File","applyDragDrop","defaultFiles","gridLayout","onBtnClickRemove","onBtnClickRemoveProp","rest","inputFileRef","useRef","onBtnClickInsert","current","click","value","useEffect","files","transformFilesToFileList","component","jsx","DragDropFile","DefaultFile","undefined","Grid","height"],"mappings":";;;;;;AAOA,MAAMA,IAAOA,CAAC;AAAA,EACZC,eAAAA,IAAgB;AAAA,EAAOC,cAAAA;AAAAA,EAAcC,YAAAA;AAAAA,EAAYC,kBAAkBC;AAAAA,EAAuB,GAAGC;AACzD,MAAM;AAC1C,QAAMC,IAAeC,EAAyB,IAAI,GAE5CC,IAAmBA,MAAM;AAC7BF,IAAAA,EAAaG,SAASC,MAAAA;AAAAA,EACxB,GAEMP,IAAmBA,MAAM;AAC7B,IAAIG,EAAaG,YACfH,EAAaG,QAAQE,QAAQ,IACzBP,KAAsBA,EAAAA,IAExBA,KAAsBA,EAAAA;AAAAA,EAC5B;AAEAQ,EAAAA,EAAU,MAAM;AACd,IAAIN,GAAcG,WAAWR,MAC3BK,EAAaG,QAAQI,QAAQC,EAAyBb,CAAY;AAAA,EAEtE,GAAG,CAACK,GAAcG,OAAO,CAAC;AAE1B,QAAMM,IAAYf,IACb,gBAAAgB,EAACC,GAAA,EACA,GAAIZ,GACJ,cAAAJ,GACA,UAAUK,GACV,kBAAkB,MAAME,EAAAA,EAAiB,KAE1C,gBAAAQ,EAACE,GAAA,EACA,GAAIb,GACJ,UAAUC,GACV,cAAAL,GACA,kBAAkB,MAAME,EAAAA,GACxB,kBAAkB,MAAMK,EAAAA,EAAiB,CAAE;AAGjD,SAAIN,MAAeiB,2BAEdC,GAAA,EAAK,aAAY,cAAa,MAAMlB,GAAY,OAAO;AAAA,IAAEmB,QAAQ;AAAA,EAAA,GAC/DN,UAAAA,GACH,IAIGA;AACT;"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as m } from "react/jsx-runtime";
2
2
  import { c as p } from "../../_virtual/compiler-runtime.js";
3
3
  import u from "../../buttons/Button.js";
4
- import b from "../../icons/index.js";
5
4
  import '../../assets/styles/button.css';/* empty css */
5
+ import b from "../../icons/index.js";
6
6
  const g = (f) => {
7
7
  const t = p.c(9), {
8
8
  size: c,
@@ -0,0 +1,14 @@
1
+ import { default as TextField } from './text';
2
+ import { default as FileField } from './file';
3
+ import { default as SelectField } from './select';
4
+ import { default as SearchField } from './search';
5
+ import { default as MaskField, CnpjField, CpfField, PhoneField, ZipCodeField } from './mask';
6
+ import { default as MultiSelectField } from './multiSelect';
7
+ import { default as DateField } from './date';
8
+ import { default as TextareaField } from './textarea';
9
+ import { default as PeriodField } from './period';
10
+ import { default as ColorField } from './color';
11
+ import { default as NumberField, CurrencyField, DecimalField } from './number';
12
+ import { default as ErrorMessage } from './errorMessage';
13
+ export default TextField;
14
+ export { TextField, FileField, SelectField, SearchField, MaskField, CnpjField, CpfField, PhoneField, ZipCodeField, MultiSelectField, DateField, NumberField, CurrencyField, DecimalField, ColorField, TextareaField, PeriodField, ErrorMessage, };
@@ -0,0 +1,40 @@
1
+ import r from "./text/index.js";
2
+ import { default as a } from "./file/File.js";
3
+ import { default as d } from "./select/index.js";
4
+ import { default as i } from "./search/index.js";
5
+ import { default as m } from "./mask/BaseMask.js";
6
+ import { default as u } from "./mask/Cpf.js";
7
+ import { default as F } from "./mask/Cnpj.js";
8
+ import { default as C } from "./mask/Phone.js";
9
+ import { default as M } from "./mask/ZipCode.js";
10
+ import { default as h } from "./multiSelect/index.js";
11
+ import { default as P } from "./date/index.js";
12
+ import { default as b } from "./textarea/index.js";
13
+ import { default as j } from "./period/index.js";
14
+ import { default as y } from "./color/index.js";
15
+ import { default as N } from "./number/index.js";
16
+ import { ErrorMessage as q } from "./errorMessage/index.js";
17
+ import { default as w } from "./number/Currency.js";
18
+ import { default as A } from "./number/Decimal.js";
19
+ export {
20
+ F as CnpjField,
21
+ y as ColorField,
22
+ u as CpfField,
23
+ w as CurrencyField,
24
+ P as DateField,
25
+ A as DecimalField,
26
+ q as ErrorMessage,
27
+ a as FileField,
28
+ m as MaskField,
29
+ h as MultiSelectField,
30
+ N as NumberField,
31
+ j as PeriodField,
32
+ C as PhoneField,
33
+ i as SearchField,
34
+ d as SelectField,
35
+ r as TextField,
36
+ b as TextareaField,
37
+ M as ZipCodeField,
38
+ r as default
39
+ };
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,6 @@
1
1
  import { jsx as f } from "react/jsx-runtime";
2
2
  import { c as _ } from "../_virtual/compiler-runtime.js";
3
3
  import { useState as C } from "react";
4
- import '../assets/styles/gridlayout.css';/* empty css */
5
4
  import x from "../gridlayout/GridCol.js";
6
5
  const R = (d) => (e) => {
7
6
  const t = _.c(14), {
@@ -1 +1 @@
1
- {"version":3,"file":"inputHOC.js","sources":["../../src/lib/inputs/inputHOC.tsx"],"sourcesContent":["import { ComponentType, useState } from 'react';\nimport Grid from '../gridlayout';\nimport { IInputHOCProps } from './types';\n\nconst InputHOC = <ComponentProps extends IInputHOCProps>(\n WrappedComponent: ComponentType<ComponentProps>,\n) => {\n const EnhancedComponent = (props: ComponentProps) => {\n const {\n visible = true,\n gridLayout = undefined,\n } = props;\n const [inputHasFocus, setInputHasFocus] = useState(false);\n const [requiredError] = useState(false);\n\n const onInputReceiveFocus = () => {\n setInputHasFocus(true);\n };\n\n const onInputLostFocus = () => {\n setInputHasFocus(false);\n };\n\n const newProps = {\n inputHasFocus,\n requiredError,\n onInputReceiveFocus,\n onInputLostFocus,\n };\n\n let result = <WrappedComponent {...props} {...newProps} />;\n if (gridLayout !== undefined && visible) {\n result = <Grid customClass=\"-withinput\" cols={gridLayout}><WrappedComponent {...props} {...newProps} /></Grid>;\n }\n\n return result;\n };\n return EnhancedComponent;\n};\n\nexport default InputHOC;\n"],"names":["InputHOC","WrappedComponent","props","$","_c","visible","t0","gridLayout","t1","undefined","inputHasFocus","setInputHasFocus","useState","requiredError","t2","Symbol","for","onInputReceiveFocus","t3","onInputLostFocus","t4","newProps","t5","result","t6","t7","Grid"],"mappings":";;;;;AAIA,MAAMA,IAAW,CACfC,MAE0BC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA,GACxB;AAAA,IAAAC,SAAAC;AAAAA,IAAAC,YAAAC;AAAAA,EAAAA,IAGIN,GAFFG,IAAAC,MAAAG,SAAA,KAAAH,GACAC,IAAAC,MAAAC,SAAAA,SAAAD,GAEF,CAAAE,GAAAC,CAAA,IAA0CC,EAAS,EAAK,GACxD,CAAAC,CAAA,IAAwBD,EAAS,EAAK;AAAE,MAAAE;AAAA,EAAAX,EAAA,CAAA,MAAAY,OAAAC,IAAA,2BAAA,KAEZF,IAAAA,MAAA;AAC1BH,IAAAA,EAAiB,EAAI;AAAA,EAAC,GACvBR,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAFD,QAAAc,IAA4BH;AAE1B,MAAAI;AAAA,EAAAf,EAAA,CAAA,MAAAY,OAAAC,IAAA,2BAAA,KAEuBE,IAAAA,MAAA;AACvBP,IAAAA,EAAiB,EAAK;AAAA,EAAC,GACxBR,OAAAe,KAAAA,IAAAf,EAAA,CAAA;AAFD,QAAAgB,IAAyBD;AAEvB,MAAAE;AAAA,EAAAjB,EAAA,CAAA,MAAAO,KAAAP,SAAAU,KAEeO,IAAA;AAAA,IAAAV,eAAAA;AAAAA,IAAAG,eAAAA;AAAAA,IAAAI,qBAAAA;AAAAA,IAAAE,kBAAAA;AAAAA,EAAAA,GAKhBhB,OAAAO,GAAAP,OAAAU,GAAAV,OAAAiB,KAAAA,IAAAjB,EAAA,CAAA;AALD,QAAAkB,IAAiBD;AAKf,MAAAE;AAAA,EAAAnB,EAAA,CAAA,MAAAkB,KAAAlB,SAAAD,KAEWoB,sBAACrB,GAAA,EAAgB,GAAKC,GAAK,GAAMmB,GAAQ,GAAIlB,OAAAkB,GAAAlB,OAAAD,GAAAC,OAAAmB,KAAAA,IAAAnB,EAAA,CAAA;AAA1D,MAAAoB,IAAaD;AACb,MAAIf,MAAeE,UAAfJ,GAAmC;AAAA,QAAAmB;AAAA,IAAArB,EAAA,CAAA,MAAAkB,KAAAlB,SAAAD,KACqBsB,sBAACvB,GAAA,EAAgB,GAAKC,GAAK,GAAMmB,GAAQ,GAAIlB,OAAAkB,GAAAlB,OAAAD,GAAAC,QAAAqB,KAAAA,IAAArB,EAAA,EAAA;AAAA,QAAAsB;AAAA,IAAAtB,EAAA,EAAA,MAAAI,KAAAJ,UAAAqB,KAA9FC,sBAACC,GAAA,EAAiB,aAAA,cAAmBnB,MAAAA,GAAYiB,UAAAA,GAA6C,GAAOrB,QAAAI,GAAAJ,QAAAqB,GAAArB,QAAAsB,KAAAA,IAAAtB,EAAA,EAAA,GAA9GoB,IAASA;AAAAA,EAAH;AACP,SAEMA;AAAM;"}
1
+ {"version":3,"file":"inputHOC.js","sources":["../../src/lib/inputs/inputHOC.tsx"],"sourcesContent":["import { ComponentType, useState } from 'react';\nimport Grid from '../gridlayout';\nimport { IInputHOCProps } from './types';\n\nconst InputHOC = <ComponentProps extends IInputHOCProps>(\n WrappedComponent: ComponentType<ComponentProps>,\n) => {\n const EnhancedComponent = (props: ComponentProps) => {\n const {\n visible = true,\n gridLayout = undefined,\n } = props;\n const [inputHasFocus, setInputHasFocus] = useState(false);\n const [requiredError] = useState(false);\n\n const onInputReceiveFocus = () => {\n setInputHasFocus(true);\n };\n\n const onInputLostFocus = () => {\n setInputHasFocus(false);\n };\n\n const newProps = {\n inputHasFocus,\n requiredError,\n onInputReceiveFocus,\n onInputLostFocus,\n };\n\n let result = <WrappedComponent {...props} {...newProps} />;\n if (gridLayout !== undefined && visible) {\n result = <Grid customClass=\"-withinput\" cols={gridLayout}><WrappedComponent {...props} {...newProps} /></Grid>;\n }\n\n return result;\n };\n return EnhancedComponent;\n};\n\nexport default InputHOC;\n"],"names":["InputHOC","WrappedComponent","props","$","_c","visible","t0","gridLayout","t1","undefined","inputHasFocus","setInputHasFocus","useState","requiredError","t2","Symbol","for","onInputReceiveFocus","t3","onInputLostFocus","t4","newProps","t5","result","t6","t7","Grid"],"mappings":";;;;AAIA,MAAMA,IAAW,CACfC,MAE0BC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA,GACxB;AAAA,IAAAC,SAAAC;AAAAA,IAAAC,YAAAC;AAAAA,EAAAA,IAGIN,GAFFG,IAAAC,MAAAG,SAAA,KAAAH,GACAC,IAAAC,MAAAC,SAAAA,SAAAD,GAEF,CAAAE,GAAAC,CAAA,IAA0CC,EAAS,EAAK,GACxD,CAAAC,CAAA,IAAwBD,EAAS,EAAK;AAAE,MAAAE;AAAA,EAAAX,EAAA,CAAA,MAAAY,OAAAC,IAAA,2BAAA,KAEZF,IAAAA,MAAA;AAC1BH,IAAAA,EAAiB,EAAI;AAAA,EAAC,GACvBR,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAFD,QAAAc,IAA4BH;AAE1B,MAAAI;AAAA,EAAAf,EAAA,CAAA,MAAAY,OAAAC,IAAA,2BAAA,KAEuBE,IAAAA,MAAA;AACvBP,IAAAA,EAAiB,EAAK;AAAA,EAAC,GACxBR,OAAAe,KAAAA,IAAAf,EAAA,CAAA;AAFD,QAAAgB,IAAyBD;AAEvB,MAAAE;AAAA,EAAAjB,EAAA,CAAA,MAAAO,KAAAP,SAAAU,KAEeO,IAAA;AAAA,IAAAV,eAAAA;AAAAA,IAAAG,eAAAA;AAAAA,IAAAI,qBAAAA;AAAAA,IAAAE,kBAAAA;AAAAA,EAAAA,GAKhBhB,OAAAO,GAAAP,OAAAU,GAAAV,OAAAiB,KAAAA,IAAAjB,EAAA,CAAA;AALD,QAAAkB,IAAiBD;AAKf,MAAAE;AAAA,EAAAnB,EAAA,CAAA,MAAAkB,KAAAlB,SAAAD,KAEWoB,sBAACrB,GAAA,EAAgB,GAAKC,GAAK,GAAMmB,GAAQ,GAAIlB,OAAAkB,GAAAlB,OAAAD,GAAAC,OAAAmB,KAAAA,IAAAnB,EAAA,CAAA;AAA1D,MAAAoB,IAAaD;AACb,MAAIf,MAAeE,UAAfJ,GAAmC;AAAA,QAAAmB;AAAA,IAAArB,EAAA,CAAA,MAAAkB,KAAAlB,SAAAD,KACqBsB,sBAACvB,GAAA,EAAgB,GAAKC,GAAK,GAAMmB,GAAQ,GAAIlB,OAAAkB,GAAAlB,OAAAD,GAAAC,QAAAqB,KAAAA,IAAArB,EAAA,EAAA;AAAA,QAAAsB;AAAA,IAAAtB,EAAA,EAAA,MAAAI,KAAAJ,UAAAqB,KAA9FC,sBAACC,GAAA,EAAiB,aAAA,cAAmBnB,MAAAA,GAAYiB,UAAAA,GAA6C,GAAOrB,QAAAI,GAAAJ,QAAAqB,GAAArB,QAAAsB,KAAAA,IAAAtB,EAAA,EAAA,GAA9GoB,IAASA;AAAAA,EAAH;AACP,SAEMA;AAAM;"}
@@ -2,41 +2,38 @@ import { jsx as d, jsxs as h } from "react/jsx-runtime";
2
2
  import { c as A } from "../../_virtual/compiler-runtime.js";
3
3
  import { Fragment as I } from "react";
4
4
  import w from "../../buttons/Button.js";
5
- import '../../assets/styles/button.css';import '../../assets/styles/tooltip.css';import '../../assets/styles/icon.css';/* empty css */
6
- import "react-dom";
7
- /* empty css */
8
- /* empty css */
5
+ import '../../assets/styles/button.css';/* empty css */
9
6
  import k from "../../list/index.js";
10
7
  import x from "../../list/Item.js";
11
- const E = (b) => {
8
+ const T = (b) => {
12
9
  const t = A.c(18), {
13
10
  disabled: o,
14
11
  dropdownOpened: C,
15
12
  handleOpenClose: a,
16
- handleCheckAll: m,
17
- handleUncheckAll: c,
13
+ handleCheckAll: c,
14
+ handleUncheckAll: m,
18
15
  dropdownAlignButton: u
19
16
  } = b, p = u === void 0 ? "left" : u, f = C ? "up" : "down";
20
17
  let e;
21
18
  t[0] !== o || t[1] !== a || t[2] !== f ? (e = /* @__PURE__ */ d(w, { transparent: !0, tabIndex: -1, disabled: o, boxShadow: !1, size: "small", onClick: a, customClass: "actionbutton", iconName: f }), t[0] = o, t[1] = a, t[2] = f, t[3] = e) : e = t[3];
22
19
  let n;
23
- t[4] !== m ? (n = /* @__PURE__ */ d(x, { itemId: "1", text: "Marcar Todos", onClick: m }), t[4] = m, t[5] = n) : n = t[5];
24
- let r;
25
- t[6] !== c ? (r = /* @__PURE__ */ d(x, { itemId: "2", text: "Desmarcar Todos", onClick: c }), t[6] = c, t[7] = r) : r = t[7];
20
+ t[4] !== c ? (n = /* @__PURE__ */ d(x, { itemId: "1", text: "Marcar Todos", onClick: c }), t[4] = c, t[5] = n) : n = t[5];
26
21
  let l;
27
- t[8] !== n || t[9] !== r ? (l = /* @__PURE__ */ h(k, { children: [
22
+ t[6] !== m ? (l = /* @__PURE__ */ d(x, { itemId: "2", text: "Desmarcar Todos", onClick: m }), t[6] = m, t[7] = l) : l = t[7];
23
+ let r;
24
+ t[8] !== n || t[9] !== l ? (r = /* @__PURE__ */ h(k, { children: [
28
25
  n,
29
- r
30
- ] }), t[8] = n, t[9] = r, t[10] = l) : l = t[10];
31
- let i;
32
- t[11] !== o || t[12] !== p || t[13] !== l ? (i = /* @__PURE__ */ d(w, { dropdown: !0, transparent: !0, disabled: o, tabIndex: -1, boxShadow: !1, showIconDropdown: !1, iconName: "more1", customClass: "actionbutton", dropdownAlign: p, children: l }), t[11] = o, t[12] = p, t[13] = l, t[14] = i) : i = t[14];
26
+ l
27
+ ] }), t[8] = n, t[9] = l, t[10] = r) : r = t[10];
33
28
  let s;
34
- return t[15] !== e || t[16] !== i ? (s = /* @__PURE__ */ h(I, { children: [
29
+ t[11] !== o || t[12] !== p || t[13] !== r ? (s = /* @__PURE__ */ d(w, { dropdown: !0, transparent: !0, disabled: o, tabIndex: -1, boxShadow: !1, showIconDropdown: !1, iconName: "more1", customClass: "actionbutton", dropdownAlign: p, children: r }), t[11] = o, t[12] = p, t[13] = r, t[14] = s) : s = t[14];
30
+ let i;
31
+ return t[15] !== e || t[16] !== s ? (i = /* @__PURE__ */ h(I, { children: [
35
32
  e,
36
- i
37
- ] }), t[15] = e, t[16] = i, t[17] = s) : s = t[17], s;
33
+ s
34
+ ] }), t[15] = e, t[16] = s, t[17] = i) : i = t[17], i;
38
35
  };
39
36
  export {
40
- E as default
37
+ T as default
41
38
  };
42
39
  //# sourceMappingURL=ActionButtons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionButtons.js","sources":["../../../src/lib/inputs/multiSelect/ActionButtons.tsx"],"sourcesContent":["import { Fragment } from 'react';\nimport Button from '../../buttons';\nimport List, { ListItem } from '../../list';\nimport { IActionButtonsProps } from './types';\n\nconst ActionButtons = ({\n disabled, dropdownOpened, handleOpenClose, handleCheckAll, handleUncheckAll, dropdownAlignButton = 'left',\n}: IActionButtonsProps) => (\n <Fragment>\n <Button\n transparent\n tabIndex={-1}\n disabled={disabled}\n boxShadow={false}\n size=\"small\"\n onClick={handleOpenClose}\n customClass=\"actionbutton\"\n iconName={dropdownOpened ? 'up' : 'down'} />\n <Button\n dropdown\n transparent\n disabled={disabled}\n tabIndex={-1}\n boxShadow={false}\n showIconDropdown={false}\n iconName=\"more1\"\n customClass=\"actionbutton\"\n dropdownAlign={dropdownAlignButton}>\n <List>\n <ListItem itemId=\"1\" text=\"Marcar Todos\" onClick={handleCheckAll} />\n <ListItem itemId=\"2\" text=\"Desmarcar Todos\" onClick={handleUncheckAll} />\n </List>\n </Button>\n </Fragment>\n);\n\nexport default ActionButtons;\n"],"names":["ActionButtons","t0","$","_c","disabled","dropdownOpened","handleOpenClose","handleCheckAll","handleUncheckAll","dropdownAlignButton","t1","undefined","t2","t3","Button","t4","ListItem","t5","t6","List","t7","t8","Fragment"],"mappings":";;;;;;;;;;AAKA,MAAMA,IAAgBC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA,GAAC;AAAA,IAAAC,UAAAA;AAAAA,IAAAC,gBAAAA;AAAAA,IAAAC,iBAAAA;AAAAA,IAAAC,gBAAAA;AAAAA,IAAAC,kBAAAA;AAAAA,IAAAC,qBAAAC;AAAAA,EAAAA,IAAAT,GACwDQ,IAAAC,MAAAC,SAAA,SAAAD,GAW/DE,IAAAP,IAAA,OAAA;AAA8B,MAAAQ;AAAA,EAAAX,EAAA,CAAA,MAAAE,KAAAF,SAAAI,KAAAJ,EAAA,CAAA,MAAAU,KAR1CC,sBAACC,GAAA,EACC,aAAA,IACU,UAAA,IACAV,UAAAA,GACC,WAAA,IACN,MAAA,SACIE,SAAAA,GACG,aAAA,gBACF,UAAAM,GAA8B,GAAIV,OAAAE,GAAAF,OAAAI,GAAAJ,OAAAU,GAAAV,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAAA,MAAAa;AAAA,EAAAb,SAAAK,KAY1CQ,sBAACC,GAAA,EAAgB,QAAA,KAAS,MAAA,gBAAwBT,SAAAA,GAAc,GAAIL,OAAAK,GAAAL,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAAA,MAAAe;AAAA,EAAAf,SAAAM,KACpES,sBAACD,GAAA,EAAgB,QAAA,KAAS,MAAA,mBAA2BR,SAAAA,GAAgB,GAAIN,OAAAM,GAAAN,OAAAe,KAAAA,IAAAf,EAAA,CAAA;AAAA,MAAAgB;AAAA,EAAAhB,EAAA,CAAA,MAAAa,KAAAb,SAAAe,KAF3EC,sBAACC,GAAA,EACCJ,UAAAA;AAAAA,IAAAA;AAAAA,IACAE;AAAAA,EAAAA,GACF,GAAOf,OAAAa,GAAAb,OAAAe,GAAAf,QAAAgB,KAAAA,IAAAhB,EAAA,EAAA;AAAA,MAAAkB;AAAA,EAAAlB,EAAA,EAAA,MAAAE,KAAAF,UAAAO,KAAAP,EAAA,EAAA,MAAAgB,KAbTE,sBAACN,GAAA,EACC,UAAA,IACA,aAAA,IACUV,UAAAA,GACA,UAAA,IACC,eACO,kBAAA,IACT,UAAA,SACG,aAAA,gBACGK,eAAAA,GACfS,UAAAA,EAAAA,CAIF,GAAShB,QAAAE,GAAAF,QAAAO,GAAAP,QAAAgB,GAAAhB,QAAAkB,KAAAA,IAAAlB,EAAA,EAAA;AAAA,MAAAmB;AAAA,SAAAnB,EAAA,EAAA,MAAAW,KAAAX,UAAAkB,KAxBXC,sBAACC,GAAA,EACCT,UAAAA;AAAAA,IAAAA;AAAAA,IASAO;AAAAA,EAAAA,GAeF,GAAWlB,QAAAW,GAAAX,QAAAkB,GAAAlB,QAAAmB,KAAAA,IAAAnB,EAAA,EAAA,GAzBXmB;AAyBW;"}
1
+ {"version":3,"file":"ActionButtons.js","sources":["../../../src/lib/inputs/multiSelect/ActionButtons.tsx"],"sourcesContent":["import { Fragment } from 'react';\nimport Button from '../../buttons';\nimport List, { ListItem } from '../../list';\nimport { IActionButtonsProps } from './types';\n\nconst ActionButtons = ({\n disabled, dropdownOpened, handleOpenClose, handleCheckAll, handleUncheckAll, dropdownAlignButton = 'left',\n}: IActionButtonsProps) => (\n <Fragment>\n <Button\n transparent\n tabIndex={-1}\n disabled={disabled}\n boxShadow={false}\n size=\"small\"\n onClick={handleOpenClose}\n customClass=\"actionbutton\"\n iconName={dropdownOpened ? 'up' : 'down'} />\n <Button\n dropdown\n transparent\n disabled={disabled}\n tabIndex={-1}\n boxShadow={false}\n showIconDropdown={false}\n iconName=\"more1\"\n customClass=\"actionbutton\"\n dropdownAlign={dropdownAlignButton}>\n <List>\n <ListItem itemId=\"1\" text=\"Marcar Todos\" onClick={handleCheckAll} />\n <ListItem itemId=\"2\" text=\"Desmarcar Todos\" onClick={handleUncheckAll} />\n </List>\n </Button>\n </Fragment>\n);\n\nexport default ActionButtons;\n"],"names":["ActionButtons","t0","$","_c","disabled","dropdownOpened","handleOpenClose","handleCheckAll","handleUncheckAll","dropdownAlignButton","t1","undefined","t2","t3","Button","t4","ListItem","t5","t6","List","t7","t8","Fragment"],"mappings":";;;;;;;AAKA,MAAMA,IAAgBC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA,GAAC;AAAA,IAAAC,UAAAA;AAAAA,IAAAC,gBAAAA;AAAAA,IAAAC,iBAAAA;AAAAA,IAAAC,gBAAAA;AAAAA,IAAAC,kBAAAA;AAAAA,IAAAC,qBAAAC;AAAAA,EAAAA,IAAAT,GACwDQ,IAAAC,MAAAC,SAAA,SAAAD,GAW/DE,IAAAP,IAAA,OAAA;AAA8B,MAAAQ;AAAA,EAAAX,EAAA,CAAA,MAAAE,KAAAF,SAAAI,KAAAJ,EAAA,CAAA,MAAAU,KAR1CC,sBAACC,GAAA,EACC,aAAA,IACU,UAAA,IACAV,UAAAA,GACC,WAAA,IACN,MAAA,SACIE,SAAAA,GACG,aAAA,gBACF,UAAAM,GAA8B,GAAIV,OAAAE,GAAAF,OAAAI,GAAAJ,OAAAU,GAAAV,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAAA,MAAAa;AAAA,EAAAb,SAAAK,KAY1CQ,sBAACC,GAAA,EAAgB,QAAA,KAAS,MAAA,gBAAwBT,SAAAA,GAAc,GAAIL,OAAAK,GAAAL,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAAA,MAAAe;AAAA,EAAAf,SAAAM,KACpES,sBAACD,GAAA,EAAgB,QAAA,KAAS,MAAA,mBAA2BR,SAAAA,GAAgB,GAAIN,OAAAM,GAAAN,OAAAe,KAAAA,IAAAf,EAAA,CAAA;AAAA,MAAAgB;AAAA,EAAAhB,EAAA,CAAA,MAAAa,KAAAb,SAAAe,KAF3EC,sBAACC,GAAA,EACCJ,UAAAA;AAAAA,IAAAA;AAAAA,IACAE;AAAAA,EAAAA,GACF,GAAOf,OAAAa,GAAAb,OAAAe,GAAAf,QAAAgB,KAAAA,IAAAhB,EAAA,EAAA;AAAA,MAAAkB;AAAA,EAAAlB,EAAA,EAAA,MAAAE,KAAAF,UAAAO,KAAAP,EAAA,EAAA,MAAAgB,KAbTE,sBAACN,GAAA,EACC,UAAA,IACA,aAAA,IACUV,UAAAA,GACA,UAAA,IACC,eACO,kBAAA,IACT,UAAA,SACG,aAAA,gBACGK,eAAAA,GACfS,UAAAA,EAAAA,CAIF,GAAShB,QAAAE,GAAAF,QAAAO,GAAAP,QAAAgB,GAAAhB,QAAAkB,KAAAA,IAAAlB,EAAA,EAAA;AAAA,MAAAmB;AAAA,SAAAnB,EAAA,EAAA,MAAAW,KAAAX,UAAAkB,KAxBXC,sBAACC,GAAA,EACCT,UAAAA;AAAAA,IAAAA;AAAAA,IASAO;AAAAA,EAAAA,GAeF,GAAWlB,QAAAW,GAAAX,QAAAkB,GAAAlB,QAAAmB,KAAAA,IAAAnB,EAAA,EAAA,GAzBXmB;AAyBW;"}
@@ -1,10 +1,9 @@
1
- const r = /\b\d{1,3}(?:\.\d{3})*,\d+\b/, o = (t) => t !== void 0 && typeof t == "number" ? t.toLocaleString("pt-BR") : t, s = (t) => {
2
- let e;
3
- return r.test(t) ? (e = t.replaceAll(".", "").replaceAll(",", "."), Number(e)) : Number(t);
4
- }, c = (t) => t.replace(/[._\-/()\s+]/g, "");
1
+ const r = /\b\d{1,3}(?:\.\d{3})*,\d+\b/, n = (e) => {
2
+ let t;
3
+ return r.test(e) ? (t = e.replaceAll(".", "").replaceAll(",", "."), Number(t)) : Number(e);
4
+ }, o = (e) => e.replace(/[._\-/()\s+]/g, "");
5
5
  export {
6
- c as formatOnlyNumbers,
7
- s as numberToEnUS,
8
- o as numberToPtBR
6
+ o as formatOnlyNumbers,
7
+ n as numberToEnUS
9
8
  };
10
9
  //# sourceMappingURL=format_number.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"format_number.js","sources":["../../../src/lib/inputs/number/format_number.tsx"],"sourcesContent":["const ptBRRegex = /\\b\\d{1,3}(?:\\.\\d{3})*,\\d+\\b/;\n\nexport const numberToPtBR = (value?: string | number): string | undefined => {\n if (value !== undefined && typeof value === 'number') {\n return value.toLocaleString('pt-BR');\n }\n return value;\n};\n\nexport const numberToEnUS = (value: string) => {\n let formattedNumber;\n const isPTBR = ptBRRegex.test(value);\n if (isPTBR) {\n formattedNumber = value.replaceAll('.', '').replaceAll(',', '.');\n return Number(formattedNumber);\n }\n return Number(value);\n};\n\nexport const formatOnlyNumbers = (value: string): string => {\n const teste = value.replace(/[._\\-/()\\s+]/g, '');\n return teste;\n};\n"],"names":["ptBRRegex","numberToPtBR","value","undefined","toLocaleString","numberToEnUS","formattedNumber","test","replaceAll","Number","formatOnlyNumbers","replace"],"mappings":"AAAA,MAAMA,IAAY,+BAELC,IAAeA,CAACC,MACvBA,MAAUC,UAAa,OAAOD,KAAU,WACnCA,EAAME,eAAe,OAAO,IAE9BF,GAGIG,IAAeA,CAACH,MAAkB;AAC7C,MAAII;AAEJ,SADeN,EAAUO,KAAKL,CAAK,KAEjCI,IAAkBJ,EAAMM,WAAW,KAAK,EAAE,EAAEA,WAAW,KAAK,GAAG,GACxDC,OAAOH,CAAe,KAExBG,OAAOP,CAAK;AACrB,GAEaQ,IAAoBA,CAACR,MAClBA,EAAMS,QAAQ,iBAAiB,EAAE;"}
1
+ {"version":3,"file":"format_number.js","sources":["../../../src/lib/inputs/number/format_number.tsx"],"sourcesContent":["const ptBRRegex = /\\b\\d{1,3}(?:\\.\\d{3})*,\\d+\\b/;\n\nexport const numberToPtBR = (value?: string | number): string | undefined => {\n if (value !== undefined && typeof value === 'number') {\n return value.toLocaleString('pt-BR');\n }\n return value;\n};\n\nexport const numberToEnUS = (value: string) => {\n let formattedNumber;\n const isPTBR = ptBRRegex.test(value);\n if (isPTBR) {\n formattedNumber = value.replaceAll('.', '').replaceAll(',', '.');\n return Number(formattedNumber);\n }\n return Number(value);\n};\n\nexport const formatOnlyNumbers = (value: string): string => {\n const teste = value.replace(/[._\\-/()\\s+]/g, '');\n return teste;\n};\n"],"names":["ptBRRegex","numberToEnUS","value","formattedNumber","test","replaceAll","Number","formatOnlyNumbers","replace"],"mappings":"AAAA,MAAMA,IAAY,+BASLC,IAAeA,CAACC,MAAkB;AAC7C,MAAIC;AAEJ,SADeH,EAAUI,KAAKF,CAAK,KAEjCC,IAAkBD,EAAMG,WAAW,KAAK,EAAE,EAAEA,WAAW,KAAK,GAAG,GACxDC,OAAOH,CAAe,KAExBG,OAAOJ,CAAK;AACrB,GAEaK,IAAoBA,CAACL,MAClBA,EAAMM,QAAQ,iBAAiB,EAAE;"}
@@ -1,40 +1,32 @@
1
- import r from "../../node_modules/moment/dist/moment.js";
2
- const l = ({
3
- topPosition: n,
4
- leftPosition: t,
5
- width: o
6
- }) => `top: ${n}px;
7
- left: ${t}px;
8
- width:${o}px`, d = (n = !1, t = !1, o = !1) => {
9
- let e = "item";
10
- return e += n && !t ? " -selected " : "", e += t ? " -disabled" : "", e += !n && !t && o ? " -striped " : "", e;
11
- }, m = (n) => {
12
- const t = r();
1
+ import a from "../../node_modules/moment/dist/moment.js";
2
+ const l = (s = !1, e = !1, r = !1) => {
3
+ let t = "item";
4
+ return t += s && !e ? " -selected " : "", t += e ? " -disabled" : "", t += !s && !e && r ? " -striped " : "", t;
5
+ }, m = (s) => {
6
+ const e = a();
13
7
  return {
14
- today: () => [t, t],
8
+ today: () => [e, e],
15
9
  week: () => {
16
- const e = t.clone().startOf("week"), s = t.clone().endOf("week");
17
- return [e, s];
10
+ const t = e.clone().startOf("week"), n = e.clone().endOf("week");
11
+ return [t, n];
18
12
  },
19
13
  lastweek: () => {
20
- const e = t.subtract(1, "weeks"), s = e.clone().startOf("week"), a = e.clone().endOf("week");
21
- return [s, a];
14
+ const t = e.subtract(1, "weeks"), n = t.clone().startOf("week"), o = t.clone().endOf("week");
15
+ return [n, o];
22
16
  },
23
- last15: () => [r(t).subtract(15, "days"), t],
17
+ last15: () => [a(e).subtract(15, "days"), e],
24
18
  month: () => {
25
- const e = t.clone().startOf("month"), s = t.clone().endOf("month");
26
- return [e, s];
19
+ const t = e.clone().startOf("month"), n = e.clone().endOf("month");
20
+ return [t, n];
27
21
  },
28
22
  lastmonth: () => {
29
- const e = t.subtract(1, "months"), s = e.clone().startOf("month"), a = e.clone().endOf("month");
30
- return [s, a];
23
+ const t = e.subtract(1, "months"), n = t.clone().startOf("month"), o = t.clone().endOf("month");
24
+ return [n, o];
31
25
  }
32
- }[n]();
33
- }, f = (n) => n && r(n).isValid();
26
+ }[s]();
27
+ };
34
28
  export {
35
29
  m as CalcDatesByPeriod,
36
- l as default,
37
- d as getDropdownItemCssClass,
38
- f as isDateValid
30
+ l as getDropdownItemCssClass
39
31
  };
40
32
  //# sourceMappingURL=helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sources":["../../../src/lib/inputs/period/helper.ts"],"sourcesContent":["import moment, { Moment } from 'moment';\nimport { DateTypes } from './types';\n\nconst getCalendarDropdownStyle = ({ topPosition, leftPosition, width }:\n{ topPosition: number | string, leftPosition: number | string, width: number | string }) => (\n `top: ${topPosition}px;\n left: ${leftPosition}px;\n width:${width}px`\n);\nexport default getCalendarDropdownStyle;\n\nexport const getDropdownItemCssClass = (selected = false, disabled = false, striped = false) => {\n let className = 'item';\n className += (selected && !disabled ? ' -selected ' : '');\n className += disabled ? ' -disabled' : '';\n className += (!selected && !disabled && striped ? ' -striped ' : '');\n return className;\n};\n\nexport const CalcDatesByPeriod = (dateType: DateTypes): Moment[] => {\n const currentDate = moment();\n const dateTypes = {\n today: () => [currentDate, currentDate],\n week: () => {\n const weekStart = currentDate.clone().startOf('week');\n const weekEnd = currentDate.clone().endOf('week');\n return [weekStart, weekEnd];\n },\n lastweek: () => {\n const lastWeek = currentDate.subtract(1, 'weeks');\n const weekStart = lastWeek.clone().startOf('week');\n const weekEnd = lastWeek.clone().endOf('week');\n return [weekStart, weekEnd];\n },\n last15: () => {\n const last15Day = moment(currentDate);\n return [last15Day.subtract(15, 'days'), currentDate];\n },\n month: () => {\n const monthStart = currentDate.clone().startOf('month');\n const monthEnd = currentDate.clone().endOf('month');\n return [monthStart, monthEnd];\n },\n lastmonth: () => {\n const lastMonth = currentDate.subtract(1, 'months');\n const monthStart = lastMonth.clone().startOf('month');\n const monthEnd = lastMonth.clone().endOf('month');\n return [monthStart, monthEnd];\n },\n };\n return dateTypes[dateType]();\n};\n\nexport const isDateValid = (date: Moment) => date && moment(date).isValid();\n"],"names":["getCalendarDropdownStyle","topPosition","leftPosition","width","getDropdownItemCssClass","selected","disabled","striped","className","CalcDatesByPeriod","dateType","currentDate","moment","today","week","weekStart","clone","startOf","weekEnd","endOf","lastweek","lastWeek","subtract","last15","month","monthStart","monthEnd","lastmonth","lastMonth","isDateValid","date","isValid"],"mappings":";AAGA,MAAMA,IAA2BA,CAAC;AAAA,EAAEC,aAAAA;AAAAA,EAAaC,cAAAA;AAAAA,EAAcC,OAAAA;AACuB,MACpF,QAAQF,CAAW;AAAA,UACXC,CAAY;AAAA,UACZC,CAAK,MAIFC,IAA0BA,CAACC,IAAW,IAAOC,IAAW,IAAOC,IAAU,OAAU;AAC9F,MAAIC,IAAY;AAChBA,SAAAA,KAAcH,KAAY,CAACC,IAAW,gBAAgB,IACtDE,KAAaF,IAAW,eAAe,IACvCE,KAAc,CAACH,KAAY,CAACC,KAAYC,IAAU,eAAe,IAC1DC;AACT,GAEaC,IAAoBA,CAACC,MAAkC;AAClE,QAAMC,IAAcC,EAAAA;AA8BpB,SA7BkB;AAAA,IAChBC,OAAOA,MAAM,CAACF,GAAaA,CAAW;AAAA,IACtCG,MAAMA,MAAM;AACV,YAAMC,IAAYJ,EAAYK,MAAAA,EAAQC,QAAQ,MAAM,GAC9CC,IAAUP,EAAYK,MAAAA,EAAQG,MAAM,MAAM;AAChD,aAAO,CAACJ,GAAWG,CAAO;AAAA,IAC5B;AAAA,IACAE,UAAUA,MAAM;AACd,YAAMC,IAAWV,EAAYW,SAAS,GAAG,OAAO,GAC1CP,IAAYM,EAASL,MAAAA,EAAQC,QAAQ,MAAM,GAC3CC,IAAUG,EAASL,MAAAA,EAAQG,MAAM,MAAM;AAC7C,aAAO,CAACJ,GAAWG,CAAO;AAAA,IAC5B;AAAA,IACAK,QAAQA,MAEC,CADWX,EAAOD,CAAW,EAClBW,SAAS,IAAI,MAAM,GAAGX,CAAW;AAAA,IAErDa,OAAOA,MAAM;AACX,YAAMC,IAAad,EAAYK,MAAAA,EAAQC,QAAQ,OAAO,GAChDS,IAAWf,EAAYK,MAAAA,EAAQG,MAAM,OAAO;AAClD,aAAO,CAACM,GAAYC,CAAQ;AAAA,IAC9B;AAAA,IACAC,WAAWA,MAAM;AACf,YAAMC,IAAYjB,EAAYW,SAAS,GAAG,QAAQ,GAC5CG,IAAaG,EAAUZ,MAAAA,EAAQC,QAAQ,OAAO,GAC9CS,IAAWE,EAAUZ,MAAAA,EAAQG,MAAM,OAAO;AAChD,aAAO,CAACM,GAAYC,CAAQ;AAAA,IAC9B;AAAA,EAAA,EAEehB,CAAQ,EAAA;AAC3B,GAEamB,IAAcA,CAACC,MAAiBA,KAAQlB,EAAOkB,CAAI,EAAEC,QAAAA;"}
1
+ {"version":3,"file":"helper.js","sources":["../../../src/lib/inputs/period/helper.ts"],"sourcesContent":["import moment, { Moment } from 'moment';\nimport { DateTypes } from './types';\n\nconst getCalendarDropdownStyle = ({ topPosition, leftPosition, width }:\n{ topPosition: number | string, leftPosition: number | string, width: number | string }) => (\n `top: ${topPosition}px;\n left: ${leftPosition}px;\n width:${width}px`\n);\nexport default getCalendarDropdownStyle;\n\nexport const getDropdownItemCssClass = (selected = false, disabled = false, striped = false) => {\n let className = 'item';\n className += (selected && !disabled ? ' -selected ' : '');\n className += disabled ? ' -disabled' : '';\n className += (!selected && !disabled && striped ? ' -striped ' : '');\n return className;\n};\n\nexport const CalcDatesByPeriod = (dateType: DateTypes): Moment[] => {\n const currentDate = moment();\n const dateTypes = {\n today: () => [currentDate, currentDate],\n week: () => {\n const weekStart = currentDate.clone().startOf('week');\n const weekEnd = currentDate.clone().endOf('week');\n return [weekStart, weekEnd];\n },\n lastweek: () => {\n const lastWeek = currentDate.subtract(1, 'weeks');\n const weekStart = lastWeek.clone().startOf('week');\n const weekEnd = lastWeek.clone().endOf('week');\n return [weekStart, weekEnd];\n },\n last15: () => {\n const last15Day = moment(currentDate);\n return [last15Day.subtract(15, 'days'), currentDate];\n },\n month: () => {\n const monthStart = currentDate.clone().startOf('month');\n const monthEnd = currentDate.clone().endOf('month');\n return [monthStart, monthEnd];\n },\n lastmonth: () => {\n const lastMonth = currentDate.subtract(1, 'months');\n const monthStart = lastMonth.clone().startOf('month');\n const monthEnd = lastMonth.clone().endOf('month');\n return [monthStart, monthEnd];\n },\n };\n return dateTypes[dateType]();\n};\n\nexport const isDateValid = (date: Moment) => date && moment(date).isValid();\n"],"names":["getDropdownItemCssClass","selected","disabled","striped","className","CalcDatesByPeriod","dateType","currentDate","moment","today","week","weekStart","clone","startOf","weekEnd","endOf","lastweek","lastWeek","subtract","last15","month","monthStart","monthEnd","lastmonth","lastMonth"],"mappings":";AAWO,MAAMA,IAA0BA,CAACC,IAAW,IAAOC,IAAW,IAAOC,IAAU,OAAU;AAC9F,MAAIC,IAAY;AAChBA,SAAAA,KAAcH,KAAY,CAACC,IAAW,gBAAgB,IACtDE,KAAaF,IAAW,eAAe,IACvCE,KAAc,CAACH,KAAY,CAACC,KAAYC,IAAU,eAAe,IAC1DC;AACT,GAEaC,IAAoBA,CAACC,MAAkC;AAClE,QAAMC,IAAcC,EAAAA;AA8BpB,SA7BkB;AAAA,IAChBC,OAAOA,MAAM,CAACF,GAAaA,CAAW;AAAA,IACtCG,MAAMA,MAAM;AACV,YAAMC,IAAYJ,EAAYK,MAAAA,EAAQC,QAAQ,MAAM,GAC9CC,IAAUP,EAAYK,MAAAA,EAAQG,MAAM,MAAM;AAChD,aAAO,CAACJ,GAAWG,CAAO;AAAA,IAC5B;AAAA,IACAE,UAAUA,MAAM;AACd,YAAMC,IAAWV,EAAYW,SAAS,GAAG,OAAO,GAC1CP,IAAYM,EAASL,MAAAA,EAAQC,QAAQ,MAAM,GAC3CC,IAAUG,EAASL,MAAAA,EAAQG,MAAM,MAAM;AAC7C,aAAO,CAACJ,GAAWG,CAAO;AAAA,IAC5B;AAAA,IACAK,QAAQA,MAEC,CADWX,EAAOD,CAAW,EAClBW,SAAS,IAAI,MAAM,GAAGX,CAAW;AAAA,IAErDa,OAAOA,MAAM;AACX,YAAMC,IAAad,EAAYK,MAAAA,EAAQC,QAAQ,OAAO,GAChDS,IAAWf,EAAYK,MAAAA,EAAQG,MAAM,OAAO;AAClD,aAAO,CAACM,GAAYC,CAAQ;AAAA,IAC9B;AAAA,IACAC,WAAWA,MAAM;AACf,YAAMC,IAAYjB,EAAYW,SAAS,GAAG,QAAQ,GAC5CG,IAAaG,EAAUZ,MAAAA,EAAQC,QAAQ,OAAO,GAC9CS,IAAWE,EAAUZ,MAAAA,EAAQG,MAAM,OAAO;AAChD,aAAO,CAACM,GAAYC,CAAQ;AAAA,IAC9B;AAAA,EAAA,EAEehB,CAAQ,EAAA;AAC3B;"}