@tecsinapse/react-web-kit 1.22.6 → 1.22.8

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 (221) hide show
  1. package/dist/cjs/components/atoms/Accordion/Accordion.js +20 -47
  2. package/dist/cjs/components/atoms/Accordion/Accordion.js.map +1 -1
  3. package/dist/cjs/components/atoms/Badge/Badge.js +9 -43
  4. package/dist/cjs/components/atoms/Badge/Badge.js.map +1 -1
  5. package/dist/cjs/components/atoms/Button/Button.js +15 -55
  6. package/dist/cjs/components/atoms/Button/Button.js.map +1 -1
  7. package/dist/cjs/components/atoms/Button/hooks/useMouseHover.js +2 -2
  8. package/dist/cjs/components/atoms/Button/hooks/useMouseHover.js.map +1 -1
  9. package/dist/cjs/components/atoms/Button/hooks/useMousePressed.js +2 -2
  10. package/dist/cjs/components/atoms/Button/hooks/useMousePressed.js.map +1 -1
  11. package/dist/cjs/components/atoms/Button/styled.js +2 -2
  12. package/dist/cjs/components/atoms/Button/styled.js.map +1 -1
  13. package/dist/cjs/components/atoms/Dropdown/index.js +1 -17
  14. package/dist/cjs/components/atoms/Dropdown/index.js.map +1 -1
  15. package/dist/cjs/components/atoms/Input/Input.js +27 -79
  16. package/dist/cjs/components/atoms/Input/Input.js.map +1 -1
  17. package/dist/cjs/components/atoms/InputMask/InputMask.js +27 -79
  18. package/dist/cjs/components/atoms/InputMask/InputMask.js.map +1 -1
  19. package/dist/cjs/components/atoms/Modal/Modal.js +15 -43
  20. package/dist/cjs/components/atoms/Modal/Modal.js.map +1 -1
  21. package/dist/cjs/components/atoms/Overlay/Overlay.js +4 -17
  22. package/dist/cjs/components/atoms/Overlay/Overlay.js.map +1 -1
  23. package/dist/cjs/components/atoms/Skeleton/Skeleton.js +13 -47
  24. package/dist/cjs/components/atoms/Skeleton/Skeleton.js.map +1 -1
  25. package/dist/cjs/components/atoms/Skeleton/styled.js +2 -8
  26. package/dist/cjs/components/atoms/Skeleton/styled.js.map +1 -1
  27. package/dist/cjs/components/atoms/Switch/Switch.js +21 -53
  28. package/dist/cjs/components/atoms/Switch/Switch.js.map +1 -1
  29. package/dist/cjs/components/atoms/Table/Body/TBody.js +7 -35
  30. package/dist/cjs/components/atoms/Table/Body/TBody.js.map +1 -1
  31. package/dist/cjs/components/atoms/Table/Cell/Td.js +7 -35
  32. package/dist/cjs/components/atoms/Table/Cell/Td.js.map +1 -1
  33. package/dist/cjs/components/atoms/Table/Container/TableContainer.js +7 -35
  34. package/dist/cjs/components/atoms/Table/Container/TableContainer.js.map +1 -1
  35. package/dist/cjs/components/atoms/Table/Footer/TFoot.js +7 -35
  36. package/dist/cjs/components/atoms/Table/Footer/TFoot.js.map +1 -1
  37. package/dist/cjs/components/atoms/Table/Header/THead.js +7 -35
  38. package/dist/cjs/components/atoms/Table/Header/THead.js.map +1 -1
  39. package/dist/cjs/components/atoms/Table/Header/Th.js +7 -35
  40. package/dist/cjs/components/atoms/Table/Header/Th.js.map +1 -1
  41. package/dist/cjs/components/atoms/Table/Row/Tr.js +7 -35
  42. package/dist/cjs/components/atoms/Table/Row/Tr.js.map +1 -1
  43. package/dist/cjs/components/atoms/Table/Table.js +7 -35
  44. package/dist/cjs/components/atoms/Table/Table.js.map +1 -1
  45. package/dist/cjs/components/atoms/Table/Toolbar/TableToolbar.js +9 -39
  46. package/dist/cjs/components/atoms/Table/Toolbar/TableToolbar.js.map +1 -1
  47. package/dist/cjs/components/atoms/Tag/Tag.js +9 -39
  48. package/dist/cjs/components/atoms/Tag/Tag.js.map +1 -1
  49. package/dist/cjs/components/atoms/Tooltip/Tooltip.js +2 -3
  50. package/dist/cjs/components/atoms/Tooltip/Tooltip.js.map +1 -1
  51. package/dist/cjs/components/molecules/Breadcrumbs/BreadcrumbItem/BreadcrumbItem.js +3 -21
  52. package/dist/cjs/components/molecules/Breadcrumbs/BreadcrumbItem/BreadcrumbItem.js.map +1 -1
  53. package/dist/cjs/components/molecules/Breadcrumbs/Breadcrumbs.js +4 -31
  54. package/dist/cjs/components/molecules/Breadcrumbs/Breadcrumbs.js.map +1 -1
  55. package/dist/cjs/components/molecules/DatePicker/DatePicker.js +22 -57
  56. package/dist/cjs/components/molecules/DatePicker/DatePicker.js.map +1 -1
  57. package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js +4 -35
  58. package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  59. package/dist/cjs/components/molecules/Drawer/Drawer.js +21 -48
  60. package/dist/cjs/components/molecules/Drawer/Drawer.js.map +1 -1
  61. package/dist/cjs/components/molecules/Grid/Grid.js +24 -57
  62. package/dist/cjs/components/molecules/Grid/Grid.js.map +1 -1
  63. package/dist/cjs/components/molecules/Grid/Item/Item.js +30 -76
  64. package/dist/cjs/components/molecules/Grid/Item/Item.js.map +1 -1
  65. package/dist/cjs/components/molecules/Grid/Item/functions.js +2 -3
  66. package/dist/cjs/components/molecules/Grid/Item/functions.js.map +1 -1
  67. package/dist/cjs/components/molecules/IconTextButton/IconTextButton.js +13 -47
  68. package/dist/cjs/components/molecules/IconTextButton/IconTextButton.js.map +1 -1
  69. package/dist/cjs/components/molecules/IconTextButton/TextComponent.js +6 -22
  70. package/dist/cjs/components/molecules/IconTextButton/TextComponent.js.map +1 -1
  71. package/dist/cjs/components/molecules/IconTextButton/styled.js +2 -2
  72. package/dist/cjs/components/molecules/IconTextButton/styled.js.map +1 -1
  73. package/dist/cjs/components/molecules/InputPassword/InputPassword.js +4 -35
  74. package/dist/cjs/components/molecules/InputPassword/InputPassword.js.map +1 -1
  75. package/dist/cjs/components/molecules/LabeledSwitch/LabelComponent.js +15 -47
  76. package/dist/cjs/components/molecules/LabeledSwitch/LabelComponent.js.map +1 -1
  77. package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.js +14 -49
  78. package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -1
  79. package/dist/cjs/components/molecules/LabeledSwitch/styled.js +2 -2
  80. package/dist/cjs/components/molecules/LabeledSwitch/styled.js.map +1 -1
  81. package/dist/cjs/components/molecules/Menubar/MenuBlock/MenuItem/MenuItem.js +5 -23
  82. package/dist/cjs/components/molecules/Menubar/MenuBlock/MenuItem/MenuItem.js.map +1 -1
  83. package/dist/cjs/components/molecules/Menubar/MenuBlock/MenuItem/SubMenuBlock/SubMenuBlock.js +3 -21
  84. package/dist/cjs/components/molecules/Menubar/MenuBlock/MenuItem/SubMenuBlock/SubMenuBlock.js.map +1 -1
  85. package/dist/cjs/components/molecules/Menubar/Menubar.js +15 -51
  86. package/dist/cjs/components/molecules/Menubar/Menubar.js.map +1 -1
  87. package/dist/cjs/components/molecules/Menubar/MostUsed/MostUsed.js +3 -21
  88. package/dist/cjs/components/molecules/Menubar/MostUsed/MostUsed.js.map +1 -1
  89. package/dist/cjs/components/molecules/Menubar/SearchResultItem/SearchResultItem.js +3 -21
  90. package/dist/cjs/components/molecules/Menubar/SearchResultItem/SearchResultItem.js.map +1 -1
  91. package/dist/cjs/components/molecules/Menubar/SearchResultItem/utils.js +4 -19
  92. package/dist/cjs/components/molecules/Menubar/SearchResultItem/utils.js.map +1 -1
  93. package/dist/cjs/components/molecules/Menubar/animations.js +8 -18
  94. package/dist/cjs/components/molecules/Menubar/animations.js.map +1 -1
  95. package/dist/cjs/components/molecules/Menubar/utils.js +1 -2
  96. package/dist/cjs/components/molecules/Menubar/utils.js.map +1 -1
  97. package/dist/cjs/components/molecules/Select/Dropdown/Dropdown.js +2 -2
  98. package/dist/cjs/components/molecules/Select/Dropdown/Dropdown.js.map +1 -1
  99. package/dist/cjs/components/molecules/Select/Select.js +28 -73
  100. package/dist/cjs/components/molecules/Select/Select.js.map +1 -1
  101. package/dist/cjs/components/molecules/Snackbar/Snackbar.js +10 -41
  102. package/dist/cjs/components/molecules/Snackbar/Snackbar.js.map +1 -1
  103. package/dist/cjs/components/molecules/TextArea/TextArea.js +29 -83
  104. package/dist/cjs/components/molecules/TextArea/TextArea.js.map +1 -1
  105. package/dist/cjs/components/organisms/DataGrid/DataGrid.js +36 -86
  106. package/dist/cjs/components/organisms/DataGrid/DataGrid.js.map +1 -1
  107. package/dist/cjs/components/organisms/DataGrid/Footer/Footer.js +5 -5
  108. package/dist/cjs/components/organisms/DataGrid/Footer/Footer.js.map +1 -1
  109. package/dist/cjs/components/organisms/DataGrid/Header/Header.js +5 -5
  110. package/dist/cjs/components/organisms/DataGrid/Header/Header.js.map +1 -1
  111. package/dist/esm/components/atoms/Accordion/Accordion.js +21 -48
  112. package/dist/esm/components/atoms/Accordion/Accordion.js.map +1 -1
  113. package/dist/esm/components/atoms/Badge/Badge.js +9 -43
  114. package/dist/esm/components/atoms/Badge/Badge.js.map +1 -1
  115. package/dist/esm/components/atoms/Button/Button.js +15 -55
  116. package/dist/esm/components/atoms/Button/Button.js.map +1 -1
  117. package/dist/esm/components/atoms/Button/hooks/useMouseHover.js +2 -2
  118. package/dist/esm/components/atoms/Button/hooks/useMouseHover.js.map +1 -1
  119. package/dist/esm/components/atoms/Button/hooks/useMousePressed.js +2 -2
  120. package/dist/esm/components/atoms/Button/hooks/useMousePressed.js.map +1 -1
  121. package/dist/esm/components/atoms/Button/styled.js +2 -2
  122. package/dist/esm/components/atoms/Button/styled.js.map +1 -1
  123. package/dist/esm/components/atoms/Dropdown/index.js +1 -17
  124. package/dist/esm/components/atoms/Dropdown/index.js.map +1 -1
  125. package/dist/esm/components/atoms/Input/Input.js +27 -79
  126. package/dist/esm/components/atoms/Input/Input.js.map +1 -1
  127. package/dist/esm/components/atoms/InputMask/InputMask.js +27 -79
  128. package/dist/esm/components/atoms/InputMask/InputMask.js.map +1 -1
  129. package/dist/esm/components/atoms/Modal/Modal.js +15 -43
  130. package/dist/esm/components/atoms/Modal/Modal.js.map +1 -1
  131. package/dist/esm/components/atoms/Overlay/Overlay.js +4 -17
  132. package/dist/esm/components/atoms/Overlay/Overlay.js.map +1 -1
  133. package/dist/esm/components/atoms/Skeleton/Skeleton.js +13 -47
  134. package/dist/esm/components/atoms/Skeleton/Skeleton.js.map +1 -1
  135. package/dist/esm/components/atoms/Skeleton/styled.js +2 -8
  136. package/dist/esm/components/atoms/Skeleton/styled.js.map +1 -1
  137. package/dist/esm/components/atoms/Switch/Switch.js +21 -53
  138. package/dist/esm/components/atoms/Switch/Switch.js.map +1 -1
  139. package/dist/esm/components/atoms/Table/Body/TBody.js +7 -35
  140. package/dist/esm/components/atoms/Table/Body/TBody.js.map +1 -1
  141. package/dist/esm/components/atoms/Table/Cell/Td.js +7 -35
  142. package/dist/esm/components/atoms/Table/Cell/Td.js.map +1 -1
  143. package/dist/esm/components/atoms/Table/Container/TableContainer.js +7 -35
  144. package/dist/esm/components/atoms/Table/Container/TableContainer.js.map +1 -1
  145. package/dist/esm/components/atoms/Table/Footer/TFoot.js +7 -35
  146. package/dist/esm/components/atoms/Table/Footer/TFoot.js.map +1 -1
  147. package/dist/esm/components/atoms/Table/Header/THead.js +7 -35
  148. package/dist/esm/components/atoms/Table/Header/THead.js.map +1 -1
  149. package/dist/esm/components/atoms/Table/Header/Th.js +7 -35
  150. package/dist/esm/components/atoms/Table/Header/Th.js.map +1 -1
  151. package/dist/esm/components/atoms/Table/Row/Tr.js +7 -35
  152. package/dist/esm/components/atoms/Table/Row/Tr.js.map +1 -1
  153. package/dist/esm/components/atoms/Table/Table.js +7 -35
  154. package/dist/esm/components/atoms/Table/Table.js.map +1 -1
  155. package/dist/esm/components/atoms/Table/Toolbar/TableToolbar.js +9 -39
  156. package/dist/esm/components/atoms/Table/Toolbar/TableToolbar.js.map +1 -1
  157. package/dist/esm/components/atoms/Tag/Tag.js +9 -39
  158. package/dist/esm/components/atoms/Tag/Tag.js.map +1 -1
  159. package/dist/esm/components/atoms/Tooltip/Tooltip.js +2 -3
  160. package/dist/esm/components/atoms/Tooltip/Tooltip.js.map +1 -1
  161. package/dist/esm/components/molecules/Breadcrumbs/BreadcrumbItem/BreadcrumbItem.js +3 -21
  162. package/dist/esm/components/molecules/Breadcrumbs/BreadcrumbItem/BreadcrumbItem.js.map +1 -1
  163. package/dist/esm/components/molecules/Breadcrumbs/Breadcrumbs.js +4 -31
  164. package/dist/esm/components/molecules/Breadcrumbs/Breadcrumbs.js.map +1 -1
  165. package/dist/esm/components/molecules/DatePicker/DatePicker.js +22 -57
  166. package/dist/esm/components/molecules/DatePicker/DatePicker.js.map +1 -1
  167. package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js +4 -35
  168. package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  169. package/dist/esm/components/molecules/Drawer/Drawer.js +21 -48
  170. package/dist/esm/components/molecules/Drawer/Drawer.js.map +1 -1
  171. package/dist/esm/components/molecules/Grid/Grid.js +24 -57
  172. package/dist/esm/components/molecules/Grid/Grid.js.map +1 -1
  173. package/dist/esm/components/molecules/Grid/Item/Item.js +30 -76
  174. package/dist/esm/components/molecules/Grid/Item/Item.js.map +1 -1
  175. package/dist/esm/components/molecules/Grid/Item/functions.js +2 -3
  176. package/dist/esm/components/molecules/Grid/Item/functions.js.map +1 -1
  177. package/dist/esm/components/molecules/IconTextButton/IconTextButton.js +13 -47
  178. package/dist/esm/components/molecules/IconTextButton/IconTextButton.js.map +1 -1
  179. package/dist/esm/components/molecules/IconTextButton/TextComponent.js +6 -22
  180. package/dist/esm/components/molecules/IconTextButton/TextComponent.js.map +1 -1
  181. package/dist/esm/components/molecules/IconTextButton/styled.js +2 -2
  182. package/dist/esm/components/molecules/IconTextButton/styled.js.map +1 -1
  183. package/dist/esm/components/molecules/InputPassword/InputPassword.js +4 -35
  184. package/dist/esm/components/molecules/InputPassword/InputPassword.js.map +1 -1
  185. package/dist/esm/components/molecules/LabeledSwitch/LabelComponent.js +15 -47
  186. package/dist/esm/components/molecules/LabeledSwitch/LabelComponent.js.map +1 -1
  187. package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.js +14 -49
  188. package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -1
  189. package/dist/esm/components/molecules/LabeledSwitch/styled.js +2 -2
  190. package/dist/esm/components/molecules/LabeledSwitch/styled.js.map +1 -1
  191. package/dist/esm/components/molecules/Menubar/MenuBlock/MenuItem/MenuItem.js +5 -23
  192. package/dist/esm/components/molecules/Menubar/MenuBlock/MenuItem/MenuItem.js.map +1 -1
  193. package/dist/esm/components/molecules/Menubar/MenuBlock/MenuItem/SubMenuBlock/SubMenuBlock.js +3 -21
  194. package/dist/esm/components/molecules/Menubar/MenuBlock/MenuItem/SubMenuBlock/SubMenuBlock.js.map +1 -1
  195. package/dist/esm/components/molecules/Menubar/Menubar.js +15 -51
  196. package/dist/esm/components/molecules/Menubar/Menubar.js.map +1 -1
  197. package/dist/esm/components/molecules/Menubar/MostUsed/MostUsed.js +3 -21
  198. package/dist/esm/components/molecules/Menubar/MostUsed/MostUsed.js.map +1 -1
  199. package/dist/esm/components/molecules/Menubar/SearchResultItem/SearchResultItem.js +3 -21
  200. package/dist/esm/components/molecules/Menubar/SearchResultItem/SearchResultItem.js.map +1 -1
  201. package/dist/esm/components/molecules/Menubar/SearchResultItem/utils.js +4 -19
  202. package/dist/esm/components/molecules/Menubar/SearchResultItem/utils.js.map +1 -1
  203. package/dist/esm/components/molecules/Menubar/animations.js +8 -18
  204. package/dist/esm/components/molecules/Menubar/animations.js.map +1 -1
  205. package/dist/esm/components/molecules/Menubar/utils.js +1 -2
  206. package/dist/esm/components/molecules/Menubar/utils.js.map +1 -1
  207. package/dist/esm/components/molecules/Select/Dropdown/Dropdown.js +2 -2
  208. package/dist/esm/components/molecules/Select/Dropdown/Dropdown.js.map +1 -1
  209. package/dist/esm/components/molecules/Select/Select.js +29 -74
  210. package/dist/esm/components/molecules/Select/Select.js.map +1 -1
  211. package/dist/esm/components/molecules/Snackbar/Snackbar.js +10 -41
  212. package/dist/esm/components/molecules/Snackbar/Snackbar.js.map +1 -1
  213. package/dist/esm/components/molecules/TextArea/TextArea.js +29 -83
  214. package/dist/esm/components/molecules/TextArea/TextArea.js.map +1 -1
  215. package/dist/esm/components/organisms/DataGrid/DataGrid.js +36 -86
  216. package/dist/esm/components/organisms/DataGrid/DataGrid.js.map +1 -1
  217. package/dist/esm/components/organisms/DataGrid/Footer/Footer.js +5 -5
  218. package/dist/esm/components/organisms/DataGrid/Footer/Footer.js.map +1 -1
  219. package/dist/esm/components/organisms/DataGrid/Header/Header.js +5 -5
  220. package/dist/esm/components/organisms/DataGrid/Header/Header.js.map +1 -1
  221. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../../../src/components/molecules/Select/Select.tsx"],"sourcesContent":["import {\n PressableInputContainer,\n Text,\n TextProps,\n} from '@tecsinapse/react-core';\nimport React, { useEffect, useState } from 'react';\nimport { Transition } from 'react-transition-group';\nimport { useClickAwayListener } from '../../../hooks';\nimport { defaultStyles, transition } from './animations';\nimport { Dropdown } from './Dropdown';\nimport { getDisplayValue } from './functions';\nimport {\n RightComponent,\n StyledContainer,\n StyledInputContainer,\n} from './styled';\n\nexport interface SelectProps<Data, Type extends 'single' | 'multi'>\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {\n options: ((searchInput?: string) => Promise<Data[]>) | Data[];\n onSelect: (\n option: Type extends 'single' ? Data | undefined : Data[]\n ) => never | void;\n value: Type extends 'single' ? Data | undefined : Data[];\n type: Type;\n keyExtractor: (t: Data, index?: number) => string;\n labelExtractor: (t: Data) => string;\n placeholder?: string;\n onSearch?:\n | ((searchArg: string) => void)\n | ((searchInput?: string) => Promise<Data[]>)\n | never;\n searchBarPlaceholder?: string;\n hideSearchBar?: boolean;\n selectAllLabel?: string;\n disabled?: boolean;\n label?: string;\n anchor?: 'top' | 'bottom';\n displayTextProps?: TextProps;\n}\n\n/** NOTE: For better performance, you should memoize options and handlers */\nconst Select = <Data, Type extends 'single' | 'multi'>({\n value,\n options,\n keyExtractor,\n onSelect,\n type,\n labelExtractor,\n placeholder,\n onSearch,\n searchBarPlaceholder = 'Busque a opção desejada',\n hideSearchBar = true,\n label,\n disabled = false,\n anchor = 'bottom',\n displayTextProps,\n selectAllLabel = 'Selecionar todos',\n ...rest\n}: SelectProps<Data, Type>): JSX.Element => {\n const [dropDownVisible, setDropDownVisible] = React.useState<boolean>(false);\n const [selectOptions, setSelectOptions] = useState<Data[]>([]);\n const refDropDown = React.useRef(null);\n useClickAwayListener(refDropDown, setDropDownVisible);\n\n useEffect(() => {\n if (typeof options !== 'function') {\n setSelectOptions(options);\n }\n }, [options]);\n\n // TODO: Add Skeleton to modal height when loading is true\n\n const onlyLabel = label && !placeholder;\n const hasValue =\n type === 'single' ? !!value : ((value || []) as []).length > 0;\n const _placeholder = onlyLabel ? label : placeholder;\n const _label = hasValue ? label : undefined;\n\n const displayValue = getDisplayValue<Data>(\n type,\n value,\n selectOptions,\n _placeholder,\n keyExtractor,\n labelExtractor\n );\n\n const handleLazyFocus = React.useCallback(async () => {\n if (!dropDownVisible && typeof options === 'function') {\n try {\n const result = await options();\n if (result) {\n setSelectOptions(result ?? []);\n }\n } catch (e) {\n // TODO: Catch error\n }\n }\n }, [options, setSelectOptions, dropDownVisible]);\n\n const handleOnSearch = React.useCallback(\n async (searchInput: string | undefined) => {\n if (searchInput !== undefined && onSearch && dropDownVisible) {\n try {\n //TODO: Remove code duplicated below (Select in react-native-kit)\n const result = await onSearch(searchInput);\n if (result) {\n if (type === 'single') {\n if (\n value &&\n !result.find(\n v => keyExtractor(value as Data) === keyExtractor(v)\n )\n ) {\n setSelectOptions([value as Data, ...result]);\n } else setSelectOptions(result);\n } else {\n if ((value as Data[]).length > 0) {\n const selectedValues =\n (value as Data[]).filter(\n v =>\n !result.find(\n current =>\n keyExtractor(v as Data) === keyExtractor(current)\n )\n ) || [];\n setSelectOptions([...selectedValues, ...result]);\n } else {\n setSelectOptions(result);\n }\n }\n }\n } catch (e) {\n // TODO: Catch error\n }\n }\n },\n [onSearch, value, keyExtractor, dropDownVisible, setSelectOptions]\n );\n\n const handlePressInput = async () => {\n await handleLazyFocus();\n };\n\n const onPress = React.useCallback(\n () => setDropDownVisible(prev => !prev),\n [setDropDownVisible]\n );\n\n return (\n <StyledContainer ref={refDropDown} {...rest}>\n <StyledInputContainer onFocus={handlePressInput}>\n <PressableInputContainer\n label={_label}\n onPress={onPress}\n disabled={disabled}\n rightComponent={RightComponent}\n >\n <Text\n {...displayTextProps}\n ellipsizeMode=\"tail\"\n numberOfLines={1}\n fontWeight={'bold'}\n >\n {displayValue}\n </Text>\n </PressableInputContainer>\n </StyledInputContainer>\n <Transition in={dropDownVisible} timeout={300}>\n {state => (\n <Dropdown\n options={selectOptions ?? []}\n onSelect={onSelect}\n value={value}\n type={type}\n keyExtractor={keyExtractor}\n labelExtractor={labelExtractor}\n hideSearchBar={hideSearchBar}\n searchBarPlaceholder={searchBarPlaceholder}\n onSearch={handleOnSearch}\n style={{ ...defaultStyles, ...transition[anchor][state] }}\n setDropDownVisible={setDropDownVisible}\n anchor={anchor}\n selectAllLabel={selectAllLabel}\n />\n )}\n </Transition>\n </StyledContainer>\n );\n};\n\nexport default Select;\n"],"names":["React","useState","useClickAwayListener","useEffect","getDisplayValue","StyledContainer","StyledInputContainer","PressableInputContainer","RightComponent","Text","Transition","defaultStyles","transition"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sources":["../../../../../src/components/molecules/Select/Select.tsx"],"sourcesContent":["import {\n PressableInputContainer,\n Text,\n TextProps,\n} from '@tecsinapse/react-core';\nimport React, { useEffect, useState } from 'react';\nimport { Transition } from 'react-transition-group';\nimport { useClickAwayListener } from '../../../hooks';\nimport { defaultStyles, transition } from './animations';\nimport { Dropdown } from './Dropdown';\nimport { getDisplayValue } from './functions';\nimport {\n RightComponent,\n StyledContainer,\n StyledInputContainer,\n} from './styled';\n\nexport interface SelectProps<Data, Type extends 'single' | 'multi'>\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {\n options: ((searchInput?: string) => Promise<Data[]>) | Data[];\n onSelect: (\n option: Type extends 'single' ? Data | undefined : Data[]\n ) => never | void;\n value: Type extends 'single' ? Data | undefined : Data[];\n type: Type;\n keyExtractor: (t: Data, index?: number) => string;\n labelExtractor: (t: Data) => string;\n placeholder?: string;\n onSearch?:\n | ((searchArg: string) => void)\n | ((searchInput?: string) => Promise<Data[]>)\n | never;\n searchBarPlaceholder?: string;\n hideSearchBar?: boolean;\n selectAllLabel?: string;\n disabled?: boolean;\n label?: string;\n anchor?: 'top' | 'bottom';\n displayTextProps?: TextProps;\n}\n\n/** NOTE: For better performance, you should memoize options and handlers */\nconst Select = <Data, Type extends 'single' | 'multi'>({\n value,\n options,\n keyExtractor,\n onSelect,\n type,\n labelExtractor,\n placeholder,\n onSearch,\n searchBarPlaceholder = 'Busque a opção desejada',\n hideSearchBar = true,\n label,\n disabled = false,\n anchor = 'bottom',\n displayTextProps,\n selectAllLabel = 'Selecionar todos',\n ...rest\n}: SelectProps<Data, Type>): JSX.Element => {\n const [dropDownVisible, setDropDownVisible] = React.useState<boolean>(false);\n const [selectOptions, setSelectOptions] = useState<Data[]>([]);\n const refDropDown = React.useRef(null);\n useClickAwayListener(refDropDown, setDropDownVisible);\n\n useEffect(() => {\n if (typeof options !== 'function') {\n setSelectOptions(options);\n }\n }, [options]);\n\n // TODO: Add Skeleton to modal height when loading is true\n\n const onlyLabel = label && !placeholder;\n const hasValue =\n type === 'single' ? !!value : ((value || []) as []).length > 0;\n const _placeholder = onlyLabel ? label : placeholder;\n const _label = hasValue ? label : undefined;\n\n const displayValue = getDisplayValue<Data>(\n type,\n value,\n selectOptions,\n _placeholder,\n keyExtractor,\n labelExtractor\n );\n\n const handleLazyFocus = React.useCallback(async () => {\n if (!dropDownVisible && typeof options === 'function') {\n try {\n const result = await options();\n if (result) {\n setSelectOptions(result ?? []);\n }\n } catch (e) {\n // TODO: Catch error\n }\n }\n }, [options, setSelectOptions, dropDownVisible]);\n\n const handleOnSearch = React.useCallback(\n async (searchInput: string | undefined) => {\n if (searchInput !== undefined && onSearch && dropDownVisible) {\n try {\n //TODO: Remove code duplicated below (Select in react-native-kit)\n const result = await onSearch(searchInput);\n if (result) {\n if (type === 'single') {\n if (\n value &&\n !result.find(\n v => keyExtractor(value as Data) === keyExtractor(v)\n )\n ) {\n setSelectOptions([value as Data, ...result]);\n } else setSelectOptions(result);\n } else {\n if ((value as Data[]).length > 0) {\n const selectedValues =\n (value as Data[]).filter(\n v =>\n !result.find(\n current =>\n keyExtractor(v as Data) === keyExtractor(current)\n )\n ) || [];\n setSelectOptions([...selectedValues, ...result]);\n } else {\n setSelectOptions(result);\n }\n }\n }\n } catch (e) {\n // TODO: Catch error\n }\n }\n },\n [onSearch, value, keyExtractor, dropDownVisible, setSelectOptions]\n );\n\n const handlePressInput = async () => {\n await handleLazyFocus();\n };\n\n const onPress = React.useCallback(\n () => setDropDownVisible(prev => !prev),\n [setDropDownVisible]\n );\n\n return (\n <StyledContainer ref={refDropDown} {...rest}>\n <StyledInputContainer onFocus={handlePressInput}>\n <PressableInputContainer\n label={_label}\n onPress={onPress}\n disabled={disabled}\n rightComponent={RightComponent}\n >\n <Text\n {...displayTextProps}\n ellipsizeMode=\"tail\"\n numberOfLines={1}\n fontWeight={'bold'}\n >\n {displayValue}\n </Text>\n </PressableInputContainer>\n </StyledInputContainer>\n <Transition in={dropDownVisible} timeout={300}>\n {state => (\n <Dropdown\n options={selectOptions ?? []}\n onSelect={onSelect}\n value={value}\n type={type}\n keyExtractor={keyExtractor}\n labelExtractor={labelExtractor}\n hideSearchBar={hideSearchBar}\n searchBarPlaceholder={searchBarPlaceholder}\n onSearch={handleOnSearch}\n style={{ ...defaultStyles, ...transition[anchor][state] }}\n setDropDownVisible={setDropDownVisible}\n anchor={anchor}\n selectAllLabel={selectAllLabel}\n />\n )}\n </Transition>\n </StyledContainer>\n );\n};\n\nexport default Select;\n"],"names":["React","useState","useClickAwayListener","useEffect","getDisplayValue","StyledContainer","StyledInputContainer","PressableInputContainer","RightComponent","Text","Transition","defaultStyles","transition"],"mappings":"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"}
@@ -8,49 +8,18 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
8
8
 
9
9
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
10
 
11
- var __defProp = Object.defineProperty;
12
- var __defProps = Object.defineProperties;
13
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
14
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
15
- var __hasOwnProp = Object.prototype.hasOwnProperty;
16
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
17
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
18
- var __spreadValues = (a, b) => {
19
- for (var prop in b || (b = {}))
20
- if (__hasOwnProp.call(b, prop))
21
- __defNormalProp(a, prop, b[prop]);
22
- if (__getOwnPropSymbols)
23
- for (var prop of __getOwnPropSymbols(b)) {
24
- if (__propIsEnum.call(b, prop))
25
- __defNormalProp(a, prop, b[prop]);
26
- }
27
- return a;
28
- };
29
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
30
- var __objRest = (source, exclude) => {
31
- var target = {};
32
- for (var prop in source)
33
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
34
- target[prop] = source[prop];
35
- if (source != null && __getOwnPropSymbols)
36
- for (var prop of __getOwnPropSymbols(source)) {
37
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
38
- target[prop] = source[prop];
39
- }
40
- return target;
41
- };
42
- const Snackbar = (_a) => {
43
- var _b = _a, {
44
- value,
45
- textProps = { colorVariant: "primary", colorTone: "medium" }
46
- } = _b, rest = __objRest(_b, [
47
- "value",
48
- "textProps"
49
- ]);
50
- return /* @__PURE__ */ React__default["default"].createElement(styled.SnackbarStyled, __spreadValues({}, rest), /* @__PURE__ */ React__default["default"].createElement(reactCore.Text, __spreadProps(__spreadValues({}, textProps), {
11
+ const Snackbar = ({
12
+ value,
13
+ textProps = { colorVariant: "primary", colorTone: "medium" },
14
+ ...rest
15
+ }) => {
16
+ return /* @__PURE__ */ React__default["default"].createElement(styled.SnackbarStyled, {
17
+ ...rest
18
+ }, /* @__PURE__ */ React__default["default"].createElement(reactCore.Text, {
19
+ ...textProps,
51
20
  fontWeight: "bold",
52
21
  typography: "base"
53
- }), value));
22
+ }, value));
54
23
  };
55
24
 
56
25
  module.exports = Snackbar;
@@ -1 +1 @@
1
- {"version":3,"file":"Snackbar.js","sources":["../../../../../src/components/molecules/Snackbar/Snackbar.tsx"],"sourcesContent":["import React from 'react';\nimport {\n SnackbarProps as SnackPropsCore,\n Text,\n TextProps,\n} from '@tecsinapse/react-core';\nimport { SnackbarStyled } from './styled';\n\nexport interface SnackbarWebProps extends Omit<SnackPropsCore, 'children'> {\n value: string;\n textProps?: TextProps;\n}\n\nconst Snackbar: React.FC<SnackbarWebProps> = ({\n value,\n textProps = { colorVariant: 'primary', colorTone: 'medium' },\n ...rest\n}) => {\n return (\n <SnackbarStyled {...rest}>\n <Text {...textProps} fontWeight=\"bold\" typography=\"base\">\n {value}\n </Text>\n </SnackbarStyled>\n );\n};\n\nexport default Snackbar;\n"],"names":["React","SnackbarStyled","Text"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaM,MAAA,QAAA,GAAuC,CAAC,EAIxC,KAAA;AAJwC,EAC5C,IAAA,EAAA,GAAA,EAAA,EAAA;AAAA,IAAA,KAAA;AAAA,IACA,SAAY,GAAA,EAAE,YAAc,EAAA,SAAA,EAAW,WAAW,QAAS,EAAA;AAAA,GAf7D,GAa8C,EAGzC,EAAA,IAAA,GAAA,SAAA,CAHyC,EAGzC,EAAA;AAAA,IAFH,OAAA;AAAA,IACA,WAAA;AAAA,GAAA,CAAA,CAAA;AAGA,EAAA,uBACGA,yBAAA,CAAA,aAAA,CAAAC,qBAAA,EAAA,cAAA,CAAA,EAAA,EAAmB,IAClB,CAAA,kBAAAD,yBAAA,CAAA,aAAA,CAACE,iDAAS,SAAT,CAAA,EAAA;AAAA,IAAoB,UAAW,EAAA,MAAA;AAAA,IAAO,UAAW,EAAA,MAAA;AAAA,GAAA,CAAA,EAC/C,KACH,CACF,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Snackbar.js","sources":["../../../../../src/components/molecules/Snackbar/Snackbar.tsx"],"sourcesContent":["import React from 'react';\nimport {\n SnackbarProps as SnackPropsCore,\n Text,\n TextProps,\n} from '@tecsinapse/react-core';\nimport { SnackbarStyled } from './styled';\n\nexport interface SnackbarWebProps extends Omit<SnackPropsCore, 'children'> {\n value: string;\n textProps?: TextProps;\n}\n\nconst Snackbar: React.FC<SnackbarWebProps> = ({\n value,\n textProps = { colorVariant: 'primary', colorTone: 'medium' },\n ...rest\n}) => {\n return (\n <SnackbarStyled {...rest}>\n <Text {...textProps} fontWeight=\"bold\" typography=\"base\">\n {value}\n </Text>\n </SnackbarStyled>\n );\n};\n\nexport default Snackbar;\n"],"names":["React","SnackbarStyled","Text"],"mappings":";;;;;;;;;;AAaA,MAAM,WAAuC,CAAC;AAAA,EAC5C,KAAA;AAAA,EACA,SAAY,GAAA,EAAE,YAAc,EAAA,SAAA,EAAW,WAAW,QAAS,EAAA;AAAA,EACxD,GAAA,IAAA;AACL,CAAM,KAAA;AACJ,EAAA,uBACGA,yBAAA,CAAA,aAAA,CAAAC,qBAAA,EAAA;AAAA,IAAgB,GAAG,IAAA;AAAA,GAAA,kBACjBD,yBAAA,CAAA,aAAA,CAAAE,cAAA,EAAA;AAAA,IAAM,GAAG,SAAA;AAAA,IAAW,UAAW,EAAA,MAAA;AAAA,IAAO,UAAW,EAAA,MAAA;AAAA,GAAA,EAC/C,KACH,CACF,CAAA,CAAA;AAEJ;;;;"}
@@ -8,87 +8,32 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
8
8
 
9
9
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
10
 
11
- var __defProp = Object.defineProperty;
12
- var __defProps = Object.defineProperties;
13
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
14
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
15
- var __hasOwnProp = Object.prototype.hasOwnProperty;
16
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
17
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
18
- var __spreadValues = (a, b) => {
19
- for (var prop in b || (b = {}))
20
- if (__hasOwnProp.call(b, prop))
21
- __defNormalProp(a, prop, b[prop]);
22
- if (__getOwnPropSymbols)
23
- for (var prop of __getOwnPropSymbols(b)) {
24
- if (__propIsEnum.call(b, prop))
25
- __defNormalProp(a, prop, b[prop]);
26
- }
27
- return a;
28
- };
29
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
30
- var __objRest = (source, exclude) => {
31
- var target = {};
32
- for (var prop in source)
33
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
34
- target[prop] = source[prop];
35
- if (source != null && __getOwnPropSymbols)
36
- for (var prop of __getOwnPropSymbols(source)) {
37
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
38
- target[prop] = source[prop];
39
- }
40
- return target;
41
- };
42
- const TextArea = (_a) => {
43
- var _b = _a, {
44
- label,
45
- labelColor,
46
- labelColorVariant,
47
- labelColorTone,
48
- labelTypography,
49
- labelStack,
50
- labelWeight,
51
- leftComponent,
52
- rightComponent,
53
- disabled,
54
- style,
55
- borderColor,
56
- borderColorGradation,
57
- inputFontStack = "default",
58
- inputFontWeight = "bold",
59
- inputContainerStyle,
60
- variant = "default",
61
- hintComponent,
62
- hint,
63
- onFocus,
64
- onBlur,
65
- value,
66
- maxLength
67
- } = _b, rest = __objRest(_b, [
68
- "label",
69
- "labelColor",
70
- "labelColorVariant",
71
- "labelColorTone",
72
- "labelTypography",
73
- "labelStack",
74
- "labelWeight",
75
- "leftComponent",
76
- "rightComponent",
77
- "disabled",
78
- "style",
79
- "borderColor",
80
- "borderColorGradation",
81
- "inputFontStack",
82
- "inputFontWeight",
83
- "inputContainerStyle",
84
- "variant",
85
- "hintComponent",
86
- "hint",
87
- "onFocus",
88
- "onBlur",
89
- "value",
90
- "maxLength"
91
- ]);
11
+ const TextArea = ({
12
+ label,
13
+ labelColor,
14
+ labelColorVariant,
15
+ labelColorTone,
16
+ labelTypography,
17
+ labelStack,
18
+ labelWeight,
19
+ leftComponent,
20
+ rightComponent,
21
+ disabled,
22
+ style,
23
+ borderColor,
24
+ borderColorGradation,
25
+ inputFontStack = "default",
26
+ inputFontWeight = "bold",
27
+ inputContainerStyle,
28
+ variant = "default",
29
+ hintComponent,
30
+ hint,
31
+ onFocus,
32
+ onBlur,
33
+ value,
34
+ maxLength,
35
+ ...rest
36
+ }) => {
92
37
  const { focused, handleBlur, handleFocus } = reactCore.useInputFocus(
93
38
  onFocus,
94
39
  onBlur,
@@ -117,7 +62,8 @@ const TextArea = (_a) => {
117
62
  style,
118
63
  TextComponent: reactCore.Text,
119
64
  maxLength
120
- }, /* @__PURE__ */ React__default["default"].createElement(styled.StyledWebInput, __spreadProps(__spreadValues({}, rest), {
65
+ }, /* @__PURE__ */ React__default["default"].createElement(styled.StyledWebInput, {
66
+ ...rest,
121
67
  fontStack: inputFontStack,
122
68
  fontWeight: inputFontWeight,
123
69
  disabled,
@@ -127,7 +73,7 @@ const TextArea = (_a) => {
127
73
  multiline: true,
128
74
  value,
129
75
  maxLength
130
- })));
76
+ }));
131
77
  };
132
78
 
133
79
  module.exports = TextArea;
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.js","sources":["../../../../../src/components/molecules/TextArea/TextArea.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport {\n useInputFocus,\n TextAreaProps as ITACore,\n TextArea as TACore,\n Text,\n} from '@tecsinapse/react-core';\nimport { StyledWebInput } from './styled';\n\nexport type TextAreaProps = Omit<ITACore, 'TextComponent' | 'focused'>;\n\nconst TextArea: FC<TextAreaProps> = ({\n label,\n labelColor,\n labelColorVariant,\n labelColorTone,\n labelTypography,\n labelStack,\n labelWeight,\n leftComponent,\n rightComponent,\n disabled,\n style,\n borderColor,\n borderColorGradation,\n inputFontStack = 'default',\n inputFontWeight = 'bold',\n inputContainerStyle,\n variant = 'default',\n hintComponent,\n hint,\n onFocus,\n onBlur,\n value,\n maxLength,\n ...rest\n}) => {\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n return (\n <TACore\n label={label}\n labelColor={labelColor}\n labelColorVariant={labelColorVariant}\n labelColorTone={labelColorTone}\n labelTypography={labelTypography}\n labelStack={labelStack}\n labelWeight={labelWeight}\n LabelComponent={Text}\n leftComponent={leftComponent}\n rightComponent={rightComponent}\n borderColor={borderColor}\n borderColorGradation={borderColorGradation}\n inputContainerStyle={inputContainerStyle}\n focused={focused}\n disabled={disabled}\n variant={variant}\n value={value}\n hintComponent={hintComponent}\n hint={hint}\n style={style}\n TextComponent={Text}\n maxLength={maxLength}\n >\n <StyledWebInput\n {...rest}\n fontStack={inputFontStack}\n fontWeight={inputFontWeight}\n disabled={disabled}\n onFocus={handleFocus}\n onBlur={handleBlur}\n textAlignVertical={'top'}\n multiline\n value={value}\n maxLength={maxLength}\n />\n </TACore>\n );\n};\n\nexport default TextArea;\n"],"names":["useInputFocus","React","TACore","Text","StyledWebInput"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWM,MAAA,QAAA,GAA8B,CAAC,EAyB/B,KAAA;AAzB+B,EACnC,IAAA,EAAA,GAAA,EAAA,EAAA;AAAA,IAAA,KAAA;AAAA,IACA,UAAA;AAAA,IACA,iBAAA;AAAA,IACA,cAAA;AAAA,IACA,eAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA,cAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,oBAAA;AAAA,IACA,cAAiB,GAAA,SAAA;AAAA,IACjB,eAAkB,GAAA,MAAA;AAAA,IAClB,mBAAA;AAAA,IACA,OAAU,GAAA,SAAA;AAAA,IACV,aAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,GAlCF,GAWqC,EAwBhC,EAAA,IAAA,GAAA,SAAA,CAxBgC,EAwBhC,EAAA;AAAA,IAvBH,OAAA;AAAA,IACA,YAAA;AAAA,IACA,mBAAA;AAAA,IACA,gBAAA;AAAA,IACA,iBAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,IACA,eAAA;AAAA,IACA,gBAAA;AAAA,IACA,UAAA;AAAA,IACA,OAAA;AAAA,IACA,aAAA;AAAA,IACA,sBAAA;AAAA,IACA,gBAAA;AAAA,IACA,iBAAA;AAAA,IACA,qBAAA;AAAA,IACA,SAAA;AAAA,IACA,eAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,GAAA,CAAA,CAAA;AAGA,EAAA,MAAM,EAAE,OAAA,EAAS,UAAY,EAAA,WAAA,EAAgB,GAAAA,uBAAA;AAAA,IAC3C,OAAA;AAAA,IACA,MAAA;AAAA,IACA,CAAC,QAAA;AAAA,GACH,CAAA;AAEA,EAAA,uBACGC,yBAAA,CAAA,aAAA,CAAAC,kBAAA,EAAA;AAAA,IACC,KAAA;AAAA,IACA,UAAA;AAAA,IACA,iBAAA;AAAA,IACA,cAAA;AAAA,IACA,eAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAgB,EAAAC,cAAA;AAAA,IAChB,aAAA;AAAA,IACA,cAAA;AAAA,IACA,WAAA;AAAA,IACA,oBAAA;AAAA,IACA,mBAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,aAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,aAAe,EAAAA,cAAA;AAAA,IACf,SAAA;AAAA,GAEA,kBAAAF,yBAAA,CAAA,aAAA,CAACG,wDACK,IADL,CAAA,EAAA;AAAA,IAEC,SAAW,EAAA,cAAA;AAAA,IACX,UAAY,EAAA,eAAA;AAAA,IACZ,QAAA;AAAA,IACA,OAAS,EAAA,WAAA;AAAA,IACT,MAAQ,EAAA,UAAA;AAAA,IACR,iBAAmB,EAAA,KAAA;AAAA,IACnB,SAAS,EAAA,IAAA;AAAA,IACT,KAAA;AAAA,IACA,SAAA;AAAA,GAAA,CACF,CACF,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"TextArea.js","sources":["../../../../../src/components/molecules/TextArea/TextArea.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport {\n useInputFocus,\n TextAreaProps as ITACore,\n TextArea as TACore,\n Text,\n} from '@tecsinapse/react-core';\nimport { StyledWebInput } from './styled';\n\nexport type TextAreaProps = Omit<ITACore, 'TextComponent' | 'focused'>;\n\nconst TextArea: FC<TextAreaProps> = ({\n label,\n labelColor,\n labelColorVariant,\n labelColorTone,\n labelTypography,\n labelStack,\n labelWeight,\n leftComponent,\n rightComponent,\n disabled,\n style,\n borderColor,\n borderColorGradation,\n inputFontStack = 'default',\n inputFontWeight = 'bold',\n inputContainerStyle,\n variant = 'default',\n hintComponent,\n hint,\n onFocus,\n onBlur,\n value,\n maxLength,\n ...rest\n}) => {\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n return (\n <TACore\n label={label}\n labelColor={labelColor}\n labelColorVariant={labelColorVariant}\n labelColorTone={labelColorTone}\n labelTypography={labelTypography}\n labelStack={labelStack}\n labelWeight={labelWeight}\n LabelComponent={Text}\n leftComponent={leftComponent}\n rightComponent={rightComponent}\n borderColor={borderColor}\n borderColorGradation={borderColorGradation}\n inputContainerStyle={inputContainerStyle}\n focused={focused}\n disabled={disabled}\n variant={variant}\n value={value}\n hintComponent={hintComponent}\n hint={hint}\n style={style}\n TextComponent={Text}\n maxLength={maxLength}\n >\n <StyledWebInput\n {...rest}\n fontStack={inputFontStack}\n fontWeight={inputFontWeight}\n disabled={disabled}\n onFocus={handleFocus}\n onBlur={handleBlur}\n textAlignVertical={'top'}\n multiline\n value={value}\n maxLength={maxLength}\n />\n </TACore>\n );\n};\n\nexport default TextArea;\n"],"names":["useInputFocus","React","TACore","Text","StyledWebInput"],"mappings":";;;;;;;;;;AAWA,MAAM,WAA8B,CAAC;AAAA,EACnC,KAAA;AAAA,EACA,UAAA;AAAA,EACA,iBAAA;AAAA,EACA,cAAA;AAAA,EACA,eAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,oBAAA;AAAA,EACA,cAAiB,GAAA,SAAA;AAAA,EACjB,eAAkB,GAAA,MAAA;AAAA,EAClB,mBAAA;AAAA,EACA,OAAU,GAAA,SAAA;AAAA,EACV,aAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACG,GAAA,IAAA;AACL,CAAM,KAAA;AACJ,EAAA,MAAM,EAAE,OAAA,EAAS,UAAY,EAAA,WAAA,EAAgB,GAAAA,uBAAA;AAAA,IAC3C,OAAA;AAAA,IACA,MAAA;AAAA,IACA,CAAC,QAAA;AAAA,GACH,CAAA;AAEA,EAAA,uBACGC,yBAAA,CAAA,aAAA,CAAAC,kBAAA,EAAA;AAAA,IACC,KAAA;AAAA,IACA,UAAA;AAAA,IACA,iBAAA;AAAA,IACA,cAAA;AAAA,IACA,eAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAgB,EAAAC,cAAA;AAAA,IAChB,aAAA;AAAA,IACA,cAAA;AAAA,IACA,WAAA;AAAA,IACA,oBAAA;AAAA,IACA,mBAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,aAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,aAAe,EAAAA,cAAA;AAAA,IACf,SAAA;AAAA,GAAA,kBAECF,yBAAA,CAAA,aAAA,CAAAG,qBAAA,EAAA;AAAA,IACE,GAAG,IAAA;AAAA,IACJ,SAAW,EAAA,cAAA;AAAA,IACX,UAAY,EAAA,eAAA;AAAA,IACZ,QAAA;AAAA,IACA,OAAS,EAAA,WAAA;AAAA,IACT,MAAQ,EAAA,UAAA;AAAA,IACR,iBAAmB,EAAA,KAAA;AAAA,IACnB,SAAS,EAAA,IAAA;AAAA,IACT,KAAA;AAAA,IACA,SAAA;AAAA,GACF,CACF,CAAA,CAAA;AAEJ;;;;"}
@@ -19,84 +19,32 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
19
19
 
20
20
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
21
 
22
- var __defProp = Object.defineProperty;
23
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
24
- var __hasOwnProp = Object.prototype.hasOwnProperty;
25
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
26
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
27
- var __spreadValues = (a, b) => {
28
- for (var prop in b || (b = {}))
29
- if (__hasOwnProp.call(b, prop))
30
- __defNormalProp(a, prop, b[prop]);
31
- if (__getOwnPropSymbols)
32
- for (var prop of __getOwnPropSymbols(b)) {
33
- if (__propIsEnum.call(b, prop))
34
- __defNormalProp(a, prop, b[prop]);
35
- }
36
- return a;
37
- };
38
- var __objRest = (source, exclude) => {
39
- var target = {};
40
- for (var prop in source)
41
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
42
- target[prop] = source[prop];
43
- if (source != null && __getOwnPropSymbols)
44
- for (var prop of __getOwnPropSymbols(source)) {
45
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
46
- target[prop] = source[prop];
47
- }
48
- return target;
49
- };
50
- const DataGrid = (_a) => {
51
- var _b = _a, {
52
- headers,
53
- data,
54
- rowKeyExtractor,
55
- toolbarTitle,
56
- toolbarFooter,
57
- toolbarRightIcons,
58
- selectable = false,
59
- selectedRows = [],
60
- onSelectedRows,
61
- pagination = false,
62
- rowsPerPage = 10,
63
- onRowsPerPageChange,
64
- rowsPerPageOptions: _rowsPerPageOptions,
65
- rowsPerPageLabel: _rowsPerPageLabel,
66
- exportLabel = "Exportar",
67
- exportFunction,
68
- rowsCount,
69
- page = 0,
70
- onPageChange,
71
- loading = false,
72
- skeletonComponent,
73
- emptyPlaceholder,
74
- exportComponent
75
- } = _b, rest = __objRest(_b, [
76
- "headers",
77
- "data",
78
- "rowKeyExtractor",
79
- "toolbarTitle",
80
- "toolbarFooter",
81
- "toolbarRightIcons",
82
- "selectable",
83
- "selectedRows",
84
- "onSelectedRows",
85
- "pagination",
86
- "rowsPerPage",
87
- "onRowsPerPageChange",
88
- "rowsPerPageOptions",
89
- "rowsPerPageLabel",
90
- "exportLabel",
91
- "exportFunction",
92
- "rowsCount",
93
- "page",
94
- "onPageChange",
95
- "loading",
96
- "skeletonComponent",
97
- "emptyPlaceholder",
98
- "exportComponent"
99
- ]);
22
+ const DataGrid = ({
23
+ headers,
24
+ data,
25
+ rowKeyExtractor,
26
+ toolbarTitle,
27
+ toolbarFooter,
28
+ toolbarRightIcons,
29
+ selectable = false,
30
+ selectedRows = [],
31
+ onSelectedRows,
32
+ pagination = false,
33
+ rowsPerPage = 10,
34
+ onRowsPerPageChange,
35
+ rowsPerPageOptions: _rowsPerPageOptions,
36
+ rowsPerPageLabel: _rowsPerPageLabel,
37
+ exportLabel = "Exportar",
38
+ exportFunction,
39
+ rowsCount,
40
+ page = 0,
41
+ onPageChange,
42
+ loading = false,
43
+ skeletonComponent,
44
+ emptyPlaceholder,
45
+ exportComponent,
46
+ ...rest
47
+ }) => {
100
48
  if (selectable && (!selectedRows || !onSelectedRows)) {
101
49
  throw new Error(
102
50
  "[DataGrid] You should specify selection handlers (selectedRows, onSelectedRows)"
@@ -107,16 +55,16 @@ const DataGrid = (_a) => {
107
55
  [_rowsPerPageLabel]
108
56
  );
109
57
  const rowsPerPageOptions = React__default["default"].useMemo(
110
- () => _rowsPerPageOptions != null ? _rowsPerPageOptions : [10, 25, 50],
58
+ () => _rowsPerPageOptions ?? [10, 25, 50],
111
59
  [_rowsPerPageOptions]
112
60
  );
113
61
  const handleSelect = React__default["default"].useCallback(
114
62
  (current, checked) => {
115
63
  if (checked) {
116
- onSelectedRows == null ? void 0 : onSelectedRows((prevState) => [...prevState, current]);
64
+ onSelectedRows?.((prevState) => [...prevState, current]);
117
65
  return;
118
66
  }
119
- onSelectedRows == null ? void 0 : onSelectedRows((prevState) => {
67
+ onSelectedRows?.((prevState) => {
120
68
  const idx = prevState.findIndex(
121
69
  (el) => rowKeyExtractor(el) === rowKeyExtractor(current)
122
70
  );
@@ -125,7 +73,9 @@ const DataGrid = (_a) => {
125
73
  },
126
74
  [onSelectedRows, rowKeyExtractor]
127
75
  );
128
- return /* @__PURE__ */ React__default["default"].createElement(TableContainer, __spreadValues({}, rest), /* @__PURE__ */ React__default["default"].createElement(TableToolbar, {
76
+ return /* @__PURE__ */ React__default["default"].createElement(TableContainer, {
77
+ ...rest
78
+ }, /* @__PURE__ */ React__default["default"].createElement(TableToolbar, {
129
79
  title: toolbarTitle,
130
80
  rightIcons: toolbarRightIcons,
131
81
  footer: toolbarFooter
@@ -133,7 +83,7 @@ const DataGrid = (_a) => {
133
83
  selectable,
134
84
  headers,
135
85
  data,
136
- rowsCount: rowsCount != null ? rowsCount : data.length,
86
+ rowsCount: rowsCount ?? data.length,
137
87
  rowKeyExtractor,
138
88
  selectedRows,
139
89
  onSelected: onSelectedRows
@@ -145,7 +95,7 @@ const DataGrid = (_a) => {
145
95
  selectable,
146
96
  headers,
147
97
  data: item,
148
- checked: selectedRows == null ? void 0 : selectedRows.some(
98
+ checked: selectedRows?.some(
149
99
  (sel) => rowKeyExtractor(sel) === rowKeyExtractor(item)
150
100
  )
151
101
  })
@@ -156,7 +106,7 @@ const DataGrid = (_a) => {
156
106
  }, /* @__PURE__ */ React__default["default"].createElement(Td, {
157
107
  colSpan: 99,
158
108
  style: { padding: 0 }
159
- }, skeletonComponent != null ? skeletonComponent : /* @__PURE__ */ React__default["default"].createElement(Skeleton, {
109
+ }, skeletonComponent ?? /* @__PURE__ */ React__default["default"].createElement(Skeleton, {
160
110
  height: 55,
161
111
  radius: "mili",
162
112
  animation: "wave"
@@ -169,7 +119,7 @@ const DataGrid = (_a) => {
169
119
  rowsPerPage,
170
120
  onRowsPerPageChange,
171
121
  rowsPerPageOptions,
172
- rowsCount: rowsCount != null ? rowsCount : data.length,
122
+ rowsCount: rowsCount ?? data.length,
173
123
  page,
174
124
  onPageChange,
175
125
  pagination,
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.js","sources":["../../../../../src/components/organisms/DataGrid/DataGrid.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Table,\n TableToolbar,\n TableContainer,\n Tr,\n Td,\n TBody,\n} from '../../atoms/Table';\nimport { Header } from './Header';\nimport { Row } from './Row';\nimport { HeadersType } from './types';\nimport { Footer } from './Footer';\nimport { Skeleton } from '../../atoms/Skeleton';\nimport { getData, removeElement } from './utils';\n\nexport interface DataGridProps<Data>\n extends React.HTMLAttributes<HTMLDivElement> {\n headers: HeadersType<Data>[];\n data: Data[];\n /** Unique identifier for row data */\n rowKeyExtractor: (data: Data) => string;\n toolbarRightIcons?: React.ReactNode;\n toolbarFooter?: React.ReactNode;\n toolbarTitle: string;\n /** Enable rows selection */\n selectable?: boolean;\n /** Selected items */\n selectedRows?: Data[];\n /** Selection handler */\n onSelectedRows?: (data: Data[] | ((prevState: Data[]) => Data[])) => void;\n /** Shows pagination controls */\n pagination?: boolean;\n /** Results per page */\n rowsPerPage?: number;\n /** Results per page handler */\n onRowsPerPageChange?: (value: number) => void;\n rowsPerPageOptions?: number[];\n rowsPerPageLabel?: (value: number) => string;\n /** Export button label */\n exportLabel?: string;\n exportFunction?: () => void;\n /** Total data elements. Only specify this property if your data is server-side */\n rowsCount?: number;\n /** Current page. Always start in 0 */\n page?: number;\n /** Current page handler */\n onPageChange?: (page: number) => void;\n /** Loading state. The amount of skeleton rows is based on current rowsPerPage */\n loading?: boolean;\n /** Custom skeleton component for better visual */\n skeletonComponent?: React.ReactNode;\n /** Empty state placeholder */\n emptyPlaceholder?: React.ReactNode;\n /** Export component, use if default button with label is not ideal. This prop, not receive \"exportLabel\" and \"exportFunction\" */\n exportComponent?: React.ReactNode;\n}\n\n/** Note: Consider memoizing functions for a better performance */\nconst DataGrid = <Data,>({\n headers,\n data,\n rowKeyExtractor,\n toolbarTitle,\n toolbarFooter,\n toolbarRightIcons,\n selectable = false,\n selectedRows = [],\n onSelectedRows,\n pagination = false,\n rowsPerPage = 10,\n onRowsPerPageChange,\n rowsPerPageOptions: _rowsPerPageOptions,\n rowsPerPageLabel: _rowsPerPageLabel,\n exportLabel = 'Exportar',\n exportFunction,\n rowsCount,\n page = 0,\n onPageChange,\n loading = false,\n skeletonComponent,\n emptyPlaceholder,\n exportComponent,\n ...rest\n}: DataGridProps<Data>): JSX.Element => {\n if (selectable && (!selectedRows || !onSelectedRows)) {\n throw new Error(\n '[DataGrid] You should specify selection handlers (selectedRows, onSelectedRows)'\n );\n }\n\n const rowsPerPageLabel = React.useCallback(\n value =>\n _rowsPerPageLabel\n ? _rowsPerPageLabel(value)\n : `Exibir por página: ${value} itens`,\n [_rowsPerPageLabel]\n );\n const rowsPerPageOptions = React.useMemo(\n () => _rowsPerPageOptions ?? [10, 25, 50],\n [_rowsPerPageOptions]\n );\n\n const handleSelect = React.useCallback(\n (current, checked) => {\n if (checked) {\n onSelectedRows?.(prevState => [...prevState, current]);\n return;\n }\n\n onSelectedRows?.(prevState => {\n const idx = prevState.findIndex(\n el => rowKeyExtractor(el) === rowKeyExtractor(current)\n );\n return [...removeElement(prevState, idx)];\n });\n },\n [onSelectedRows, rowKeyExtractor]\n );\n\n return (\n <TableContainer {...rest}>\n <TableToolbar\n title={toolbarTitle}\n rightIcons={toolbarRightIcons}\n footer={toolbarFooter}\n />\n <Table>\n <Header\n selectable={selectable}\n headers={headers}\n data={data}\n rowsCount={rowsCount ?? data.length}\n rowKeyExtractor={rowKeyExtractor}\n selectedRows={selectedRows}\n onSelected={onSelectedRows}\n />\n\n {!loading ? (\n <TBody>\n {data.length > 0 ? (\n getData(data, rowsCount, page, rowsPerPage, pagination).map(\n item => (\n <Row\n key={rowKeyExtractor(item)}\n rowKeyExtractor={rowKeyExtractor}\n handleSelect={handleSelect}\n selectable={selectable}\n headers={headers}\n data={item}\n checked={selectedRows?.some(\n sel => rowKeyExtractor(sel) === rowKeyExtractor(item)\n )}\n />\n )\n )\n ) : (\n <tr>\n <td colSpan={99}>{emptyPlaceholder}</td>\n </tr>\n )}\n </TBody>\n ) : (\n <TBody>\n {[...Array(rowsPerPage).keys()].map(idx => (\n <Tr key={`skeleton-${idx}`}>\n <Td colSpan={99} style={{ padding: 0 }}>\n {skeletonComponent ?? (\n <Skeleton height={55} radius=\"mili\" animation=\"wave\">\n <div style={{ width: '100%' }} />\n </Skeleton>\n )}\n </Td>\n </Tr>\n ))}\n </TBody>\n )}\n\n {(Number(rowsCount) > 0 || data.length > 0) && (\n <Footer\n exportFunction={exportFunction}\n exportLabel={exportLabel}\n rowsPerPageLabel={rowsPerPageLabel}\n rowsPerPage={rowsPerPage}\n onRowsPerPageChange={onRowsPerPageChange}\n rowsPerPageOptions={rowsPerPageOptions}\n rowsCount={rowsCount ?? data.length}\n page={page}\n onPageChange={onPageChange}\n pagination={pagination}\n exportComponent={exportComponent}\n />\n )}\n </Table>\n </TableContainer>\n );\n};\n\nexport default DataGrid;\n"],"names":["React","removeElement","getData"],"mappings":"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"}
1
+ {"version":3,"file":"DataGrid.js","sources":["../../../../../src/components/organisms/DataGrid/DataGrid.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Table,\n TableToolbar,\n TableContainer,\n Tr,\n Td,\n TBody,\n} from '../../atoms/Table';\nimport { Header } from './Header';\nimport { Row } from './Row';\nimport { HeadersType } from './types';\nimport { Footer } from './Footer';\nimport { Skeleton } from '../../atoms/Skeleton';\nimport { getData, removeElement } from './utils';\n\nexport interface DataGridProps<Data>\n extends React.HTMLAttributes<HTMLDivElement> {\n headers: HeadersType<Data>[];\n data: Data[];\n /** Unique identifier for row data */\n rowKeyExtractor: (data: Data) => string;\n toolbarRightIcons?: React.ReactNode;\n toolbarFooter?: React.ReactNode;\n toolbarTitle: string;\n /** Enable rows selection */\n selectable?: boolean;\n /** Selected items */\n selectedRows?: Data[];\n /** Selection handler */\n onSelectedRows?: (data: Data[] | ((prevState: Data[]) => Data[])) => void;\n /** Shows pagination controls */\n pagination?: boolean;\n /** Results per page */\n rowsPerPage?: number;\n /** Results per page handler */\n onRowsPerPageChange?: (value: number) => void;\n rowsPerPageOptions?: number[];\n rowsPerPageLabel?: (value: number) => string;\n /** Export button label */\n exportLabel?: string;\n exportFunction?: () => void;\n /** Total data elements. Only specify this property if your data is server-side */\n rowsCount?: number;\n /** Current page. Always start in 0 */\n page?: number;\n /** Current page handler */\n onPageChange?: (page: number) => void;\n /** Loading state. The amount of skeleton rows is based on current rowsPerPage */\n loading?: boolean;\n /** Custom skeleton component for better visual */\n skeletonComponent?: React.ReactNode;\n /** Empty state placeholder */\n emptyPlaceholder?: React.ReactNode;\n /** Export component, use if default button with label is not ideal. This prop, not receive \"exportLabel\" and \"exportFunction\" */\n exportComponent?: React.ReactNode;\n}\n\n/** Note: Consider memoizing functions for a better performance */\nconst DataGrid = <Data,>({\n headers,\n data,\n rowKeyExtractor,\n toolbarTitle,\n toolbarFooter,\n toolbarRightIcons,\n selectable = false,\n selectedRows = [],\n onSelectedRows,\n pagination = false,\n rowsPerPage = 10,\n onRowsPerPageChange,\n rowsPerPageOptions: _rowsPerPageOptions,\n rowsPerPageLabel: _rowsPerPageLabel,\n exportLabel = 'Exportar',\n exportFunction,\n rowsCount,\n page = 0,\n onPageChange,\n loading = false,\n skeletonComponent,\n emptyPlaceholder,\n exportComponent,\n ...rest\n}: DataGridProps<Data>): JSX.Element => {\n if (selectable && (!selectedRows || !onSelectedRows)) {\n throw new Error(\n '[DataGrid] You should specify selection handlers (selectedRows, onSelectedRows)'\n );\n }\n\n const rowsPerPageLabel = React.useCallback(\n value =>\n _rowsPerPageLabel\n ? _rowsPerPageLabel(value)\n : `Exibir por página: ${value} itens`,\n [_rowsPerPageLabel]\n );\n const rowsPerPageOptions = React.useMemo(\n () => _rowsPerPageOptions ?? [10, 25, 50],\n [_rowsPerPageOptions]\n );\n\n const handleSelect = React.useCallback(\n (current, checked) => {\n if (checked) {\n onSelectedRows?.(prevState => [...prevState, current]);\n return;\n }\n\n onSelectedRows?.(prevState => {\n const idx = prevState.findIndex(\n el => rowKeyExtractor(el) === rowKeyExtractor(current)\n );\n return [...removeElement(prevState, idx)];\n });\n },\n [onSelectedRows, rowKeyExtractor]\n );\n\n return (\n <TableContainer {...rest}>\n <TableToolbar\n title={toolbarTitle}\n rightIcons={toolbarRightIcons}\n footer={toolbarFooter}\n />\n <Table>\n <Header\n selectable={selectable}\n headers={headers}\n data={data}\n rowsCount={rowsCount ?? data.length}\n rowKeyExtractor={rowKeyExtractor}\n selectedRows={selectedRows}\n onSelected={onSelectedRows}\n />\n\n {!loading ? (\n <TBody>\n {data.length > 0 ? (\n getData(data, rowsCount, page, rowsPerPage, pagination).map(\n item => (\n <Row\n key={rowKeyExtractor(item)}\n rowKeyExtractor={rowKeyExtractor}\n handleSelect={handleSelect}\n selectable={selectable}\n headers={headers}\n data={item}\n checked={selectedRows?.some(\n sel => rowKeyExtractor(sel) === rowKeyExtractor(item)\n )}\n />\n )\n )\n ) : (\n <tr>\n <td colSpan={99}>{emptyPlaceholder}</td>\n </tr>\n )}\n </TBody>\n ) : (\n <TBody>\n {[...Array(rowsPerPage).keys()].map(idx => (\n <Tr key={`skeleton-${idx}`}>\n <Td colSpan={99} style={{ padding: 0 }}>\n {skeletonComponent ?? (\n <Skeleton height={55} radius=\"mili\" animation=\"wave\">\n <div style={{ width: '100%' }} />\n </Skeleton>\n )}\n </Td>\n </Tr>\n ))}\n </TBody>\n )}\n\n {(Number(rowsCount) > 0 || data.length > 0) && (\n <Footer\n exportFunction={exportFunction}\n exportLabel={exportLabel}\n rowsPerPageLabel={rowsPerPageLabel}\n rowsPerPage={rowsPerPage}\n onRowsPerPageChange={onRowsPerPageChange}\n rowsPerPageOptions={rowsPerPageOptions}\n rowsCount={rowsCount ?? data.length}\n page={page}\n onPageChange={onPageChange}\n pagination={pagination}\n exportComponent={exportComponent}\n />\n )}\n </Table>\n </TableContainer>\n );\n};\n\nexport default DataGrid;\n"],"names":["React","removeElement","getData"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA2DA,MAAM,WAAW,CAAQ;AAAA,EACvB,OAAA;AAAA,EACA,IAAA;AAAA,EACA,eAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AAAA,EACA,iBAAA;AAAA,EACA,UAAa,GAAA,KAAA;AAAA,EACb,eAAe,EAAC;AAAA,EAChB,cAAA;AAAA,EACA,UAAa,GAAA,KAAA;AAAA,EACb,WAAc,GAAA,EAAA;AAAA,EACd,mBAAA;AAAA,EACA,kBAAoB,EAAA,mBAAA;AAAA,EACpB,gBAAkB,EAAA,iBAAA;AAAA,EAClB,WAAc,GAAA,UAAA;AAAA,EACd,cAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAO,GAAA,CAAA;AAAA,EACP,YAAA;AAAA,EACA,OAAU,GAAA,KAAA;AAAA,EACV,iBAAA;AAAA,EACA,gBAAA;AAAA,EACA,eAAA;AAAA,EACG,GAAA,IAAA;AACL,CAAwC,KAAA;AACtC,EAAA,IAAI,UAAe,KAAA,CAAC,YAAgB,IAAA,CAAC,cAAiB,CAAA,EAAA;AACpD,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,iFAAA;AAAA,KACF,CAAA;AAAA,GACF;AAEA,EAAA,MAAM,mBAAmBA,yBAAM,CAAA,WAAA;AAAA,IAC7B,CACE,KAAA,KAAA,iBAAA,GACI,iBAAkB,CAAA,KAAK,IACvB,CAAsB,sBAAA,EAAA,KAAA,CAAA,MAAA,CAAA;AAAA,IAC5B,CAAC,iBAAiB,CAAA;AAAA,GACpB,CAAA;AACA,EAAA,MAAM,qBAAqBA,yBAAM,CAAA,OAAA;AAAA,IAC/B,MAAM,mBAAA,IAAuB,CAAC,EAAA,EAAI,IAAI,EAAE,CAAA;AAAA,IACxC,CAAC,mBAAmB,CAAA;AAAA,GACtB,CAAA;AAEA,EAAA,MAAM,eAAeA,yBAAM,CAAA,WAAA;AAAA,IACzB,CAAC,SAAS,OAAY,KAAA;AACpB,MAAA,IAAI,OAAS,EAAA;AACX,QAAA,cAAA,GAAiB,CAAa,SAAA,KAAA,CAAC,GAAG,SAAA,EAAW,OAAO,CAAC,CAAA,CAAA;AACrD,QAAA,OAAA;AAAA,OACF;AAEA,MAAA,cAAA,GAAiB,CAAa,SAAA,KAAA;AAC5B,QAAA,MAAM,MAAM,SAAU,CAAA,SAAA;AAAA,UACpB,CAAM,EAAA,KAAA,eAAA,CAAgB,EAAE,CAAA,KAAM,gBAAgB,OAAO,CAAA;AAAA,SACvD,CAAA;AACA,QAAA,OAAO,CAAC,GAAGC,mBAAc,CAAA,SAAA,EAAW,GAAG,CAAC,CAAA,CAAA;AAAA,OACzC,CAAA,CAAA;AAAA,KACH;AAAA,IACA,CAAC,gBAAgB,eAAe,CAAA;AAAA,GAClC,CAAA;AAEA,EAAA,uBACGD,yBAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AAAA,IAAgB,GAAG,IAAA;AAAA,GAAA,kBACjBA,yBAAA,CAAA,aAAA,CAAA,YAAA,EAAA;AAAA,IACC,KAAO,EAAA,YAAA;AAAA,IACP,UAAY,EAAA,iBAAA;AAAA,IACZ,MAAQ,EAAA,aAAA;AAAA,GACV,CAAA,kBACCA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,IAAA,kBACEA,yBAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IACC,UAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,SAAA,EAAW,aAAa,IAAK,CAAA,MAAA;AAAA,IAC7B,eAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAY,EAAA,cAAA;AAAA,GACd,CAEC,EAAA,CAAC,OACA,mBAAAA,yBAAA,CAAA,aAAA,CAAC,aACE,IAAK,CAAA,MAAA,GAAS,CACb,GAAAE,aAAA,CAAQ,IAAM,EAAA,SAAA,EAAW,IAAM,EAAA,WAAA,EAAa,UAAU,CAAE,CAAA,GAAA;AAAA,IACtD,0BACGF,yBAAA,CAAA,aAAA,CAAA,GAAA,EAAA;AAAA,MACC,GAAA,EAAK,gBAAgB,IAAI,CAAA;AAAA,MACzB,eAAA;AAAA,MACA,YAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,IAAM,EAAA,IAAA;AAAA,MACN,SAAS,YAAc,EAAA,IAAA;AAAA,QACrB,CAAO,GAAA,KAAA,eAAA,CAAgB,GAAG,CAAA,KAAM,gBAAgB,IAAI,CAAA;AAAA,OACtD;AAAA,KACF,CAAA;AAAA,GAEJ,mBAECA,yBAAA,CAAA,aAAA,CAAA,IAAA,EAAA,IAAA,kBACEA,yBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAG,OAAS,EAAA,EAAA;AAAA,GAAA,EAAK,gBAAiB,CACrC,CAEJ,CAEA,mBAAAA,yBAAA,CAAA,aAAA,CAAC,aACE,CAAC,GAAG,KAAM,CAAA,WAAW,EAAE,IAAK,EAAC,CAAE,CAAA,GAAA,CAAI,yBACjCA,yBAAA,CAAA,aAAA,CAAA,EAAA,EAAA;AAAA,IAAG,KAAK,CAAY,SAAA,EAAA,GAAA,CAAA,CAAA;AAAA,GAAA,kBAClBA,yBAAA,CAAA,aAAA,CAAA,EAAA,EAAA;AAAA,IAAG,OAAS,EAAA,EAAA;AAAA,IAAI,KAAA,EAAO,EAAE,OAAA,EAAS,CAAE,EAAA;AAAA,GAAA,EAClC,qCACEA,yBAAA,CAAA,aAAA,CAAA,QAAA,EAAA;AAAA,IAAS,MAAQ,EAAA,EAAA;AAAA,IAAI,MAAO,EAAA,MAAA;AAAA,IAAO,SAAU,EAAA,MAAA;AAAA,GAAA,kBAC3CA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAI,KAAA,EAAO,EAAE,KAAA,EAAO,MAAO,EAAA;AAAA,GAAG,CACjC,CAEJ,CACF,CACD,CACH,CAAA,EAAA,CAGA,MAAO,CAAA,SAAS,CAAI,GAAA,CAAA,IAAK,IAAK,CAAA,MAAA,GAAS,sBACtCA,yBAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IACC,cAAA;AAAA,IACA,WAAA;AAAA,IACA,gBAAA;AAAA,IACA,WAAA;AAAA,IACA,mBAAA;AAAA,IACA,kBAAA;AAAA,IACA,SAAA,EAAW,aAAa,IAAK,CAAA,MAAA;AAAA,IAC7B,IAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA;AAAA,IACA,eAAA;AAAA,GACF,CAEJ,CACF,CAAA,CAAA;AAEJ;;;;"}
@@ -50,8 +50,8 @@ const Footer = ({
50
50
  };
51
51
  const handleRowsPerPage = React__default["default"].useCallback(
52
52
  (value) => {
53
- onRowsPerPageChange == null ? void 0 : onRowsPerPageChange(value);
54
- onPageChange == null ? void 0 : onPageChange(0);
53
+ onRowsPerPageChange?.(value);
54
+ onPageChange?.(0);
55
55
  },
56
56
  [onPageChange, onRowsPerPageChange]
57
57
  );
@@ -77,7 +77,7 @@ const Footer = ({
77
77
  fontWeight: "bold",
78
78
  fontColor: "medium"
79
79
  }, `Exibindo ${currentInitItem} a ${currentFinalItem} de ${rowsCount} registros`), /* @__PURE__ */ React__default["default"].createElement(styled.FooterContainerEnd, null, /* @__PURE__ */ React__default["default"].createElement(styled.NavigationButton, {
80
- onPress: () => onPageChange == null ? void 0 : onPageChange(page - 1),
80
+ onPress: () => onPageChange?.(page - 1),
81
81
  disabled: page === 0
82
82
  }, /* @__PURE__ */ React__default["default"].createElement(reactCore.Icon, {
83
83
  name: "chevron-left",
@@ -90,12 +90,12 @@ const Footer = ({
90
90
  key: `page-${value}`
91
91
  }, /* @__PURE__ */ React__default["default"].createElement(styled.PageButton, {
92
92
  variant: page === value ? "outlined" : "text",
93
- onPress: () => onPageChange == null ? void 0 : onPageChange(value)
93
+ onPress: () => onPageChange?.(value)
94
94
  }, /* @__PURE__ */ React__default["default"].createElement(reactCore.Text, {
95
95
  fontColor: "medium",
96
96
  fontWeight: "bold"
97
97
  }, value + 1))))), /* @__PURE__ */ React__default["default"].createElement(styled.NavigationButton, {
98
- onPress: () => onPageChange == null ? void 0 : onPageChange(page + 1),
98
+ onPress: () => onPageChange?.(page + 1),
99
99
  disabled: page === Math.ceil(rowsCount / rowsPerPage) - 1
100
100
  }, /* @__PURE__ */ React__default["default"].createElement(reactCore.Icon, {
101
101
  name: "chevron-right",
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","sources":["../../../../../../src/components/organisms/DataGrid/Footer/Footer.tsx"],"sourcesContent":["import React from 'react';\nimport { Button } from '../../../atoms/Button';\nimport { Icon, Text } from '@tecsinapse/react-core';\nimport { Select } from '../../../molecules/Select';\nimport { TFoot, Tr } from '../../../atoms/Table';\nimport {\n FooterContainer,\n FooterContainerEnd,\n FooterContainerStart,\n HoveredText,\n NavigationButton,\n PageButton,\n PagesContainer,\n SelectContainer,\n TdFooterStyled,\n TextPagination,\n} from './styled';\n\ninterface DataGridFooterProps {\n rowsPerPage: number;\n onRowsPerPageChange?: (value: number) => void;\n rowsPerPageOptions: number[];\n rowsPerPageLabel: (value: number) => string;\n exportLabel?: string;\n exportFunction?: () => void;\n /** Total data elements */\n rowsCount: number;\n page: number;\n onPageChange?: (page: number) => void;\n pagination: boolean;\n exportComponent?: React.ReactNode;\n}\n\nconst Footer: React.FC<DataGridFooterProps> = ({\n rowsPerPage,\n onRowsPerPageChange,\n rowsPerPageOptions,\n rowsPerPageLabel,\n exportFunction,\n exportLabel,\n rowsCount,\n page,\n onPageChange,\n pagination,\n exportComponent,\n}) => {\n if (pagination && (!onPageChange || !onRowsPerPageChange)) {\n throw new Error(\n '[DataGrid] You should specify pagination handlers (onPageChange, onRowsPerPageChange)'\n );\n }\n\n const getPaginationSlice = (): { start: number; end: number } => {\n const totalPages = Math.ceil(rowsCount / rowsPerPage);\n if (totalPages < 4) {\n return { start: 0, end: totalPages };\n }\n if (page === 0) {\n return { start: page, end: page + 3 };\n }\n if (page === totalPages - 1) {\n return { start: page - 2, end: page + 1 };\n }\n return { start: page - 1, end: page + 2 };\n };\n\n const handleRowsPerPage = React.useCallback(\n value => {\n onRowsPerPageChange?.(value as number);\n onPageChange?.(0);\n },\n [onPageChange, onRowsPerPageChange]\n );\n const currentInitItem = page * rowsPerPage + 1;\n const currentFinalItem =\n (page + 1) * rowsPerPage > rowsCount ? rowsCount : (page + 1) * rowsPerPage;\n\n return (\n <TFoot>\n <Tr>\n <TdFooterStyled colSpan={99}>\n <FooterContainer>\n <FooterContainerStart>\n {pagination && (\n <SelectContainer>\n <Select\n options={rowsPerPageOptions}\n onSelect={handleRowsPerPage}\n value={rowsPerPage}\n type={'single'}\n keyExtractor={value => String(value)}\n labelExtractor={rowsPerPageLabel}\n anchor=\"top\"\n />\n </SelectContainer>\n )}\n {exportComponent && !exportFunction && <>{exportComponent}</>}\n {exportFunction && (\n <HoveredText>\n <Button variant=\"outlined\" onPress={() => exportFunction()}>\n <Text fontColor=\"orange\" fontWeight=\"bold\">\n {exportLabel}\n </Text>\n </Button>\n </HoveredText>\n )}\n </FooterContainerStart>\n {pagination && (\n <>\n <TextPagination\n fontWeight={'bold'}\n fontColor={'medium'}\n >{`Exibindo ${currentInitItem} a ${currentFinalItem} de ${rowsCount} registros`}</TextPagination>\n <FooterContainerEnd>\n <NavigationButton\n onPress={() => onPageChange?.(page - 1)}\n disabled={page === 0}\n >\n <Icon\n name={'chevron-left'}\n type={'material-community'}\n fontColor={'light'}\n />\n </NavigationButton>\n <PagesContainer>\n {[...Array(Math.ceil(rowsCount / rowsPerPage)).keys()]\n .slice(\n getPaginationSlice().start,\n getPaginationSlice().end\n )\n .map(value => (\n <HoveredText key={`page-${value}`}>\n <PageButton\n variant={page === value ? 'outlined' : 'text'}\n onPress={() => onPageChange?.(value)}\n >\n <Text fontColor=\"medium\" fontWeight=\"bold\">\n {value + 1}\n </Text>\n </PageButton>\n </HoveredText>\n ))}\n </PagesContainer>\n <NavigationButton\n onPress={() => onPageChange?.(page + 1)}\n disabled={page === Math.ceil(rowsCount / rowsPerPage) - 1}\n >\n <Icon\n name={'chevron-right'}\n type={'material-community'}\n fontColor={'light'}\n />\n </NavigationButton>\n </FooterContainerEnd>\n </>\n )}\n </FooterContainer>\n </TdFooterStyled>\n </Tr>\n </TFoot>\n );\n};\n\nexport default React.memo(Footer);\n"],"names":["React","TdFooterStyled","FooterContainer","FooterContainerStart","SelectContainer","HoveredText","Text","TextPagination","FooterContainerEnd","NavigationButton","Icon","PagesContainer","PageButton"],"mappings":"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"}
1
+ {"version":3,"file":"Footer.js","sources":["../../../../../../src/components/organisms/DataGrid/Footer/Footer.tsx"],"sourcesContent":["import React from 'react';\nimport { Button } from '../../../atoms/Button';\nimport { Icon, Text } from '@tecsinapse/react-core';\nimport { Select } from '../../../molecules/Select';\nimport { TFoot, Tr } from '../../../atoms/Table';\nimport {\n FooterContainer,\n FooterContainerEnd,\n FooterContainerStart,\n HoveredText,\n NavigationButton,\n PageButton,\n PagesContainer,\n SelectContainer,\n TdFooterStyled,\n TextPagination,\n} from './styled';\n\ninterface DataGridFooterProps {\n rowsPerPage: number;\n onRowsPerPageChange?: (value: number) => void;\n rowsPerPageOptions: number[];\n rowsPerPageLabel: (value: number) => string;\n exportLabel?: string;\n exportFunction?: () => void;\n /** Total data elements */\n rowsCount: number;\n page: number;\n onPageChange?: (page: number) => void;\n pagination: boolean;\n exportComponent?: React.ReactNode;\n}\n\nconst Footer: React.FC<DataGridFooterProps> = ({\n rowsPerPage,\n onRowsPerPageChange,\n rowsPerPageOptions,\n rowsPerPageLabel,\n exportFunction,\n exportLabel,\n rowsCount,\n page,\n onPageChange,\n pagination,\n exportComponent,\n}) => {\n if (pagination && (!onPageChange || !onRowsPerPageChange)) {\n throw new Error(\n '[DataGrid] You should specify pagination handlers (onPageChange, onRowsPerPageChange)'\n );\n }\n\n const getPaginationSlice = (): { start: number; end: number } => {\n const totalPages = Math.ceil(rowsCount / rowsPerPage);\n if (totalPages < 4) {\n return { start: 0, end: totalPages };\n }\n if (page === 0) {\n return { start: page, end: page + 3 };\n }\n if (page === totalPages - 1) {\n return { start: page - 2, end: page + 1 };\n }\n return { start: page - 1, end: page + 2 };\n };\n\n const handleRowsPerPage = React.useCallback(\n value => {\n onRowsPerPageChange?.(value as number);\n onPageChange?.(0);\n },\n [onPageChange, onRowsPerPageChange]\n );\n const currentInitItem = page * rowsPerPage + 1;\n const currentFinalItem =\n (page + 1) * rowsPerPage > rowsCount ? rowsCount : (page + 1) * rowsPerPage;\n\n return (\n <TFoot>\n <Tr>\n <TdFooterStyled colSpan={99}>\n <FooterContainer>\n <FooterContainerStart>\n {pagination && (\n <SelectContainer>\n <Select\n options={rowsPerPageOptions}\n onSelect={handleRowsPerPage}\n value={rowsPerPage}\n type={'single'}\n keyExtractor={value => String(value)}\n labelExtractor={rowsPerPageLabel}\n anchor=\"top\"\n />\n </SelectContainer>\n )}\n {exportComponent && !exportFunction && <>{exportComponent}</>}\n {exportFunction && (\n <HoveredText>\n <Button variant=\"outlined\" onPress={() => exportFunction()}>\n <Text fontColor=\"orange\" fontWeight=\"bold\">\n {exportLabel}\n </Text>\n </Button>\n </HoveredText>\n )}\n </FooterContainerStart>\n {pagination && (\n <>\n <TextPagination\n fontWeight={'bold'}\n fontColor={'medium'}\n >{`Exibindo ${currentInitItem} a ${currentFinalItem} de ${rowsCount} registros`}</TextPagination>\n <FooterContainerEnd>\n <NavigationButton\n onPress={() => onPageChange?.(page - 1)}\n disabled={page === 0}\n >\n <Icon\n name={'chevron-left'}\n type={'material-community'}\n fontColor={'light'}\n />\n </NavigationButton>\n <PagesContainer>\n {[...Array(Math.ceil(rowsCount / rowsPerPage)).keys()]\n .slice(\n getPaginationSlice().start,\n getPaginationSlice().end\n )\n .map(value => (\n <HoveredText key={`page-${value}`}>\n <PageButton\n variant={page === value ? 'outlined' : 'text'}\n onPress={() => onPageChange?.(value)}\n >\n <Text fontColor=\"medium\" fontWeight=\"bold\">\n {value + 1}\n </Text>\n </PageButton>\n </HoveredText>\n ))}\n </PagesContainer>\n <NavigationButton\n onPress={() => onPageChange?.(page + 1)}\n disabled={page === Math.ceil(rowsCount / rowsPerPage) - 1}\n >\n <Icon\n name={'chevron-right'}\n type={'material-community'}\n fontColor={'light'}\n />\n </NavigationButton>\n </FooterContainerEnd>\n </>\n )}\n </FooterContainer>\n </TdFooterStyled>\n </Tr>\n </TFoot>\n );\n};\n\nexport default React.memo(Footer);\n"],"names":["React","TdFooterStyled","FooterContainer","FooterContainerStart","SelectContainer","HoveredText","Text","TextPagination","FooterContainerEnd","NavigationButton","Icon","PagesContainer","PageButton"],"mappings":";;;;;;;;;;;;;;;;;;;AAiCA,MAAM,SAAwC,CAAC;AAAA,EAC7C,WAAA;AAAA,EACA,mBAAA;AAAA,EACA,kBAAA;AAAA,EACA,gBAAA;AAAA,EACA,cAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA;AACF,CAAM,KAAA;AACJ,EAAA,IAAI,UAAe,KAAA,CAAC,YAAgB,IAAA,CAAC,mBAAsB,CAAA,EAAA;AACzD,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,uFAAA;AAAA,KACF,CAAA;AAAA,GACF;AAEA,EAAA,MAAM,qBAAqB,MAAsC;AAC/D,IAAA,MAAM,UAAa,GAAA,IAAA,CAAK,IAAK,CAAA,SAAA,GAAY,WAAW,CAAA,CAAA;AACpD,IAAA,IAAI,aAAa,CAAG,EAAA;AAClB,MAAA,OAAO,EAAE,KAAA,EAAO,CAAG,EAAA,GAAA,EAAK,UAAW,EAAA,CAAA;AAAA,KACrC;AACA,IAAA,IAAI,SAAS,CAAG,EAAA;AACd,MAAA,OAAO,EAAE,KAAA,EAAO,IAAM,EAAA,GAAA,EAAK,OAAO,CAAE,EAAA,CAAA;AAAA,KACtC;AACA,IAAI,IAAA,IAAA,KAAS,aAAa,CAAG,EAAA;AAC3B,MAAA,OAAO,EAAE,KAAO,EAAA,IAAA,GAAO,CAAG,EAAA,GAAA,EAAK,OAAO,CAAE,EAAA,CAAA;AAAA,KAC1C;AACA,IAAA,OAAO,EAAE,KAAO,EAAA,IAAA,GAAO,CAAG,EAAA,GAAA,EAAK,OAAO,CAAE,EAAA,CAAA;AAAA,GAC1C,CAAA;AAEA,EAAA,MAAM,oBAAoBA,yBAAM,CAAA,WAAA;AAAA,IAC9B,CAAS,KAAA,KAAA;AACP,MAAA,mBAAA,GAAsB,KAAe,CAAA,CAAA;AACrC,MAAA,YAAA,GAAe,CAAC,CAAA,CAAA;AAAA,KAClB;AAAA,IACA,CAAC,cAAc,mBAAmB,CAAA;AAAA,GACpC,CAAA;AACA,EAAM,MAAA,eAAA,GAAkB,OAAO,WAAc,GAAA,CAAA,CAAA;AAC7C,EAAA,MAAM,oBACH,IAAO,GAAA,CAAA,IAAK,cAAc,SAAY,GAAA,SAAA,GAAA,CAAa,OAAO,CAAK,IAAA,WAAA,CAAA;AAElE,EAAA,uBACGA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,IAAA,kBACEA,yBAAA,CAAA,aAAA,CAAA,EAAA,EAAA,IAAA,kBACEA,yBAAA,CAAA,aAAA,CAAAC,qBAAA,EAAA;AAAA,IAAe,OAAS,EAAA,EAAA;AAAA,GAAA,0DACtBC,sBACC,EAAA,IAAA,kBAAAF,yBAAA,CAAA,aAAA,CAACG,mCACE,UACC,oBAAAH,yBAAA,CAAA,aAAA,CAACI,8CACEJ,yBAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IACC,OAAS,EAAA,kBAAA;AAAA,IACT,QAAU,EAAA,iBAAA;AAAA,IACV,KAAO,EAAA,WAAA;AAAA,IACP,IAAM,EAAA,QAAA;AAAA,IACN,YAAA,EAAc,CAAS,KAAA,KAAA,MAAA,CAAO,KAAK,CAAA;AAAA,IACnC,cAAgB,EAAA,gBAAA;AAAA,IAChB,MAAO,EAAA,KAAA;AAAA,GACT,CACF,CAED,EAAA,eAAA,IAAmB,CAAC,cAAA,oBAAqBA,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,EAAA,eAAgB,CACzD,EAAA,cAAA,oBACEA,yBAAA,CAAA,aAAA,CAAAK,kBAAA,EAAA,IAAA,kBACEL,yBAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IAAO,OAAQ,EAAA,UAAA;AAAA,IAAW,OAAA,EAAS,MAAM,cAAe,EAAA;AAAA,GAAA,kBACtDA,yBAAA,CAAA,aAAA,CAAAM,cAAA,EAAA;AAAA,IAAK,SAAU,EAAA,QAAA;AAAA,IAAS,UAAW,EAAA,MAAA;AAAA,GAAA,EACjC,WACH,CACF,CACF,CAEJ,CACC,EAAA,UAAA,sHAEIN,yBAAA,CAAA,aAAA,CAAAO,qBAAA,EAAA;AAAA,IACC,UAAY,EAAA,MAAA;AAAA,IACZ,SAAW,EAAA,QAAA;AAAA,GAAA,EACX,YAAY,eAAqB,CAAA,GAAA,EAAA,gBAAA,CAAA,IAAA,EAAuB,qBAAsB,CAChF,kBAAAP,yBAAA,CAAA,aAAA,CAACQ,iDACER,yBAAA,CAAA,aAAA,CAAAS,uBAAA,EAAA;AAAA,IACC,OAAS,EAAA,MAAM,YAAe,GAAA,IAAA,GAAO,CAAC,CAAA;AAAA,IACtC,UAAU,IAAS,KAAA,CAAA;AAAA,GAAA,kBAElBT,yBAAA,CAAA,aAAA,CAAAU,cAAA,EAAA;AAAA,IACC,IAAM,EAAA,cAAA;AAAA,IACN,IAAM,EAAA,oBAAA;AAAA,IACN,SAAW,EAAA,OAAA;AAAA,GACb,CACF,CAAA,kBACCV,yBAAA,CAAA,aAAA,CAAAW,qBAAA,EAAA,IAAA,EACE,CAAC,GAAG,KAAA,CAAM,IAAK,CAAA,IAAA,CAAK,YAAY,WAAW,CAAC,CAAE,CAAA,IAAA,EAAM,CAClD,CAAA,KAAA;AAAA,IACC,oBAAqB,CAAA,KAAA;AAAA,IACrB,oBAAqB,CAAA,GAAA;AAAA,GACvB,CACC,GAAI,CAAA,CAAA,KAAA,qBACFX,yBAAA,CAAA,aAAA,CAAAK,kBAAA,EAAA;AAAA,IAAY,KAAK,CAAQ,KAAA,EAAA,KAAA,CAAA,CAAA;AAAA,GAAA,kBACvBL,yBAAA,CAAA,aAAA,CAAAY,iBAAA,EAAA;AAAA,IACC,OAAA,EAAS,IAAS,KAAA,KAAA,GAAQ,UAAa,GAAA,MAAA;AAAA,IACvC,OAAA,EAAS,MAAM,YAAA,GAAe,KAAK,CAAA;AAAA,GAAA,kBAElCZ,yBAAA,CAAA,aAAA,CAAAM,cAAA,EAAA;AAAA,IAAK,SAAU,EAAA,QAAA;AAAA,IAAS,UAAW,EAAA,MAAA;AAAA,GAAA,EACjC,QAAQ,CACX,CACF,CACF,CACD,CACL,mBACCN,yBAAA,CAAA,aAAA,CAAAS,uBAAA,EAAA;AAAA,IACC,OAAS,EAAA,MAAM,YAAe,GAAA,IAAA,GAAO,CAAC,CAAA;AAAA,IACtC,UAAU,IAAS,KAAA,IAAA,CAAK,IAAK,CAAA,SAAA,GAAY,WAAW,CAAI,GAAA,CAAA;AAAA,GAAA,kBAEvDT,yBAAA,CAAA,aAAA,CAAAU,cAAA,EAAA;AAAA,IACC,IAAM,EAAA,eAAA;AAAA,IACN,IAAM,EAAA,oBAAA;AAAA,IACN,SAAW,EAAA,OAAA;AAAA,GACb,CACF,CACF,CACF,CAEJ,CACF,CACF,CACF,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,eAAeV,yBAAA,CAAM,KAAK,MAAM,CAAA;;;;"}
@@ -35,7 +35,7 @@ const Header = ({
35
35
  };
36
36
  const handleSelectAll = (checked) => {
37
37
  if (!checked) {
38
- onSelected == null ? void 0 : onSelected([]);
38
+ onSelected?.([]);
39
39
  return;
40
40
  }
41
41
  const currentItemsOnData = utils.findCurrentItemsOnData(
@@ -49,17 +49,17 @@ const Header = ({
49
49
  rowKeyExtractor
50
50
  );
51
51
  if (checked && selectedRows.length < 1) {
52
- onSelected == null ? void 0 : onSelected(data);
52
+ onSelected?.(data);
53
53
  return;
54
54
  }
55
55
  if (checked && currentItemsOnData.length < 1) {
56
- onSelected == null ? void 0 : onSelected(unselectedItemsOnData.concat(selectedRows));
56
+ onSelected?.(unselectedItemsOnData.concat(selectedRows));
57
57
  return;
58
58
  }
59
- onSelected == null ? void 0 : onSelected(selectedRows.concat(unselectedItemsOnData));
59
+ onSelected?.(selectedRows.concat(unselectedItemsOnData));
60
60
  };
61
61
  return /* @__PURE__ */ React__default["default"].createElement(THead, null, /* @__PURE__ */ React__default["default"].createElement(Tr, null, selectable && /* @__PURE__ */ React__default["default"].createElement(styled.CheckboxHeader, null, /* @__PURE__ */ React__default["default"].createElement(reactCore.Checkbox, {
62
- checked: rowsCount === (selectedRows == null ? void 0 : selectedRows.length),
62
+ checked: rowsCount === selectedRows?.length,
63
63
  onChange: handleSelectAll
64
64
  })), headers.map(({ label, sort, justifyContent = "flex-start" }) => /* @__PURE__ */ React__default["default"].createElement(Th, {
65
65
  key: label