@bigbinary/neetoui 6.5.10 → 6.5.11-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordion.js +152 -0
- package/dist/Accordion.js.map +1 -0
- package/dist/ActionDropdown.js +75 -0
- package/dist/ActionDropdown.js.map +1 -0
- package/dist/Alert.js +112 -0
- package/dist/Alert.js.map +1 -0
- package/dist/Avatar.js +97 -0
- package/dist/Avatar.js.map +1 -0
- package/dist/Button.js +219 -0
- package/dist/Button.js.map +1 -0
- package/dist/Callout.js +39 -0
- package/dist/Callout.js.map +1 -0
- package/dist/Checkbox.js +65 -0
- package/dist/Checkbox.js.map +1 -0
- package/dist/ColorPicker.js +1408 -0
- package/dist/ColorPicker.js.map +1 -0
- package/dist/DatePicker.js +290 -0
- package/dist/DatePicker.js.map +1 -0
- package/dist/DateTimePicker.js +163 -0
- package/dist/DateTimePicker.js.map +1 -0
- package/dist/Dropdown.js +303 -0
- package/dist/Dropdown.js.map +1 -0
- package/dist/Input.js +158 -0
- package/dist/Input.js.map +1 -0
- package/dist/Kbd.js +24 -0
- package/dist/Kbd.js.map +1 -0
- package/dist/Label.js +46 -0
- package/dist/Label.js.map +1 -0
- package/dist/Modal.js +166 -0
- package/dist/Modal.js.map +1 -0
- package/dist/MultiEmailInput.js +307 -0
- package/dist/MultiEmailInput.js.map +1 -0
- package/dist/NoData.js +81 -0
- package/dist/NoData.js.map +1 -0
- package/dist/Pagination.js +178 -0
- package/dist/Pagination.js.map +1 -0
- package/dist/Pane.js +160 -0
- package/dist/Pane.js.map +1 -0
- package/dist/Popover.js +44 -0
- package/dist/Popover.js.map +1 -0
- package/dist/Radio.js +100 -0
- package/dist/Radio.js.map +1 -0
- package/dist/Select.js +281 -0
- package/dist/Select.js.map +1 -0
- package/dist/Sidebar.js +378 -0
- package/dist/Sidebar.js.map +1 -0
- package/dist/Slider.js +110 -0
- package/dist/Slider.js.map +1 -0
- package/dist/Spinner.js +36 -0
- package/dist/Spinner.js.map +1 -0
- package/dist/Stepper.js +35 -0
- package/dist/Stepper.js.map +1 -0
- package/dist/Switch.js +84 -0
- package/dist/Switch.js.map +1 -0
- package/dist/Tab.js +74 -0
- package/dist/Tab.js.map +1 -0
- package/dist/Table.js +887 -0
- package/dist/Table.js.map +1 -0
- package/dist/Tag.js +89 -0
- package/dist/Tag.js.map +1 -0
- package/dist/Textarea.js +143 -0
- package/dist/Textarea.js.map +1 -0
- package/dist/TimePicker.js +174 -0
- package/dist/TimePicker.js.map +1 -0
- package/dist/TimePickerInput.js +25 -0
- package/dist/TimePickerInput.js.map +1 -0
- package/dist/Toastr.js +393 -0
- package/dist/Toastr.js.map +1 -0
- package/dist/Tooltip.js +8 -0
- package/dist/Tooltip.js.map +1 -0
- package/dist/Tree.js +48 -0
- package/dist/Tree.js.map +1 -0
- package/dist/TreeSelect.js +108 -0
- package/dist/TreeSelect.js.map +1 -0
- package/dist/Typography.js +142 -0
- package/dist/Typography.js.map +1 -0
- package/dist/cjs/Accordion.js +158 -0
- package/dist/cjs/Accordion.js.map +1 -0
- package/dist/cjs/ActionDropdown.js +81 -0
- package/dist/cjs/ActionDropdown.js.map +1 -0
- package/dist/cjs/Alert.js +118 -0
- package/dist/cjs/Alert.js.map +1 -0
- package/dist/cjs/Avatar.js +104 -0
- package/dist/cjs/Avatar.js.map +1 -0
- package/dist/cjs/Button.js +225 -0
- package/dist/cjs/Button.js.map +1 -0
- package/dist/cjs/Callout.js +45 -0
- package/dist/cjs/Callout.js.map +1 -0
- package/dist/cjs/Checkbox.js +71 -0
- package/dist/cjs/Checkbox.js.map +1 -0
- package/dist/cjs/ColorPicker.js +1414 -0
- package/dist/cjs/ColorPicker.js.map +1 -0
- package/dist/cjs/DatePicker.js +298 -0
- package/dist/cjs/DatePicker.js.map +1 -0
- package/dist/cjs/DateTimePicker.js +169 -0
- package/dist/cjs/DateTimePicker.js.map +1 -0
- package/dist/cjs/Dropdown.js +309 -0
- package/dist/cjs/Dropdown.js.map +1 -0
- package/dist/cjs/Input.js +164 -0
- package/dist/cjs/Input.js.map +1 -0
- package/dist/cjs/Kbd.js +30 -0
- package/dist/cjs/Kbd.js.map +1 -0
- package/dist/cjs/Label.js +52 -0
- package/dist/cjs/Label.js.map +1 -0
- package/dist/cjs/Modal.js +172 -0
- package/dist/cjs/Modal.js.map +1 -0
- package/dist/cjs/MultiEmailInput.js +314 -0
- package/dist/cjs/MultiEmailInput.js.map +1 -0
- package/dist/cjs/NoData.js +87 -0
- package/dist/cjs/NoData.js.map +1 -0
- package/dist/cjs/Pagination.js +184 -0
- package/dist/cjs/Pagination.js.map +1 -0
- package/dist/cjs/Pane.js +166 -0
- package/dist/cjs/Pane.js.map +1 -0
- package/dist/cjs/Popover.js +50 -0
- package/dist/cjs/Popover.js.map +1 -0
- package/dist/cjs/Radio.js +106 -0
- package/dist/cjs/Radio.js.map +1 -0
- package/dist/cjs/Select.js +291 -0
- package/dist/cjs/Select.js.map +1 -0
- package/dist/cjs/Sidebar.js +384 -0
- package/dist/cjs/Sidebar.js.map +1 -0
- package/dist/cjs/Slider.js +118 -0
- package/dist/cjs/Slider.js.map +1 -0
- package/dist/cjs/Spinner.js +42 -0
- package/dist/cjs/Spinner.js.map +1 -0
- package/dist/cjs/Stepper.js +41 -0
- package/dist/cjs/Stepper.js.map +1 -0
- package/dist/cjs/Switch.js +90 -0
- package/dist/cjs/Switch.js.map +1 -0
- package/dist/cjs/Tab.js +80 -0
- package/dist/cjs/Tab.js.map +1 -0
- package/dist/cjs/Table.js +896 -0
- package/dist/cjs/Table.js.map +1 -0
- package/dist/cjs/Tag.js +95 -0
- package/dist/cjs/Tag.js.map +1 -0
- package/dist/cjs/Textarea.js +149 -0
- package/dist/cjs/Textarea.js.map +1 -0
- package/dist/cjs/TimePicker.js +182 -0
- package/dist/cjs/TimePicker.js.map +1 -0
- package/dist/cjs/TimePickerInput.js +31 -0
- package/dist/cjs/TimePickerInput.js.map +1 -0
- package/dist/cjs/Toastr.js +417 -0
- package/dist/cjs/Toastr.js.map +1 -0
- package/dist/cjs/Tooltip.js +14 -0
- package/dist/cjs/Tooltip.js.map +1 -0
- package/dist/cjs/Tree.js +56 -0
- package/dist/cjs/Tree.js.map +1 -0
- package/dist/cjs/TreeSelect.js +116 -0
- package/dist/cjs/TreeSelect.js.map +1 -0
- package/dist/cjs/Typography.js +148 -0
- package/dist/cjs/Typography.js.map +1 -0
- package/dist/cjs/createClass-80e17c6a.js +31 -0
- package/dist/cjs/createClass-80e17c6a.js.map +1 -0
- package/dist/cjs/defineProperty-ee86604b.js +21 -0
- package/dist/cjs/defineProperty-ee86604b.js.map +1 -0
- package/dist/cjs/extends-1b35a664.js +19 -0
- package/dist/cjs/extends-1b35a664.js.map +1 -0
- package/dist/cjs/formik/ActionBlock.js +58 -0
- package/dist/cjs/formik/ActionBlock.js.map +1 -0
- package/dist/cjs/formik/BlockNavigation.js +127 -0
- package/dist/cjs/formik/BlockNavigation.js.map +1 -0
- package/dist/cjs/formik/Button.js +44 -0
- package/dist/cjs/formik/Button.js.map +1 -0
- package/dist/cjs/formik/Checkbox.js +61 -0
- package/dist/cjs/formik/Checkbox.js.map +1 -0
- package/dist/cjs/formik/Form.js +197 -0
- package/dist/cjs/formik/Form.js.map +1 -0
- package/dist/cjs/formik/Input.js +59 -0
- package/dist/cjs/formik/Input.js.map +1 -0
- package/dist/cjs/formik/MultiEmailInput.js +58 -0
- package/dist/cjs/formik/MultiEmailInput.js.map +1 -0
- package/dist/cjs/formik/Radio.js +61 -0
- package/dist/cjs/formik/Radio.js.map +1 -0
- package/dist/cjs/formik/Select.js +106 -0
- package/dist/cjs/formik/Select.js.map +1 -0
- package/dist/cjs/formik/Slider.js +64 -0
- package/dist/cjs/formik/Slider.js.map +1 -0
- package/dist/cjs/formik/Switch.js +52 -0
- package/dist/cjs/formik/Switch.js.map +1 -0
- package/dist/cjs/formik/Textarea.js +60 -0
- package/dist/cjs/formik/Textarea.js.map +1 -0
- package/dist/cjs/formik/TreeSelect.js +56 -0
- package/dist/cjs/formik/TreeSelect.js.map +1 -0
- package/dist/cjs/formik/index.js +84 -0
- package/dist/cjs/formik/index.js.map +1 -0
- package/dist/cjs/index-302c3d37.js +58 -0
- package/dist/cjs/index-302c3d37.js.map +1 -0
- package/dist/cjs/index-5d74cfeb.js +375 -0
- package/dist/cjs/index-5d74cfeb.js.map +1 -0
- package/dist/cjs/index-63580e68.js +92 -0
- package/dist/cjs/index-63580e68.js.map +1 -0
- package/dist/cjs/index-6e09c7bc.js +2211 -0
- package/dist/cjs/index-6e09c7bc.js.map +1 -0
- package/dist/cjs/index-773961dd.js +453 -0
- package/dist/cjs/index-773961dd.js.map +1 -0
- package/dist/cjs/index-a8cc581e.js +2383 -0
- package/dist/cjs/index-a8cc581e.js.map +1 -0
- package/dist/cjs/index-b1ac86d6.js +258 -0
- package/dist/cjs/index-b1ac86d6.js.map +1 -0
- package/dist/cjs/index.js +99 -13808
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/layouts.js +19 -363
- package/dist/cjs/layouts.js.map +1 -1
- package/dist/cjs/managers.js +3 -2
- package/dist/cjs/managers.js.map +1 -1
- package/dist/cjs/objectWithoutProperties-2fed2d7d.js +33 -0
- package/dist/cjs/objectWithoutProperties-2fed2d7d.js.map +1 -0
- package/dist/cjs/{overlayManager-a0827ae7.js → overlayManager.js} +5 -2
- package/dist/cjs/overlayManager.js.map +1 -0
- package/dist/cjs/slicedToArray-732a2048.js +63 -0
- package/dist/cjs/slicedToArray-732a2048.js.map +1 -0
- package/dist/cjs/toConsumableArray-418424fc.js +23 -0
- package/dist/cjs/toConsumableArray-418424fc.js.map +1 -0
- package/dist/cjs/{createClass-ca103cfb.js → toPropertyKey-bfa2e465.js} +1 -27
- package/dist/cjs/toPropertyKey-bfa2e465.js.map +1 -0
- package/dist/cjs/useId-4e3deb5c.js +11 -0
- package/dist/cjs/useId-4e3deb5c.js.map +1 -0
- package/dist/cjs/useOverlayManager-359ed795.js +1602 -0
- package/dist/cjs/useOverlayManager-359ed795.js.map +1 -0
- package/dist/cjs/useQueryParams-14f054b3.js +18 -0
- package/dist/cjs/useQueryParams-14f054b3.js.map +1 -0
- package/dist/cjs/useSyncedRef-9c3dcd03.js +19 -0
- package/dist/cjs/useSyncedRef-9c3dcd03.js.map +1 -0
- package/dist/createClass-601a36b2.js +28 -0
- package/dist/createClass-601a36b2.js.map +1 -0
- package/dist/defineProperty-e5245270.js +19 -0
- package/dist/defineProperty-e5245270.js.map +1 -0
- package/dist/extends-093996c9.js +17 -0
- package/dist/extends-093996c9.js.map +1 -0
- package/dist/formik/ActionBlock.js +52 -0
- package/dist/formik/ActionBlock.js.map +1 -0
- package/dist/formik/BlockNavigation.js +121 -0
- package/dist/formik/BlockNavigation.js.map +1 -0
- package/dist/formik/Button.js +38 -0
- package/dist/formik/Button.js.map +1 -0
- package/dist/formik/Checkbox.js +55 -0
- package/dist/formik/Checkbox.js.map +1 -0
- package/dist/formik/Form.js +191 -0
- package/dist/formik/Form.js.map +1 -0
- package/dist/formik/Input.js +53 -0
- package/dist/formik/Input.js.map +1 -0
- package/dist/formik/MultiEmailInput.js +52 -0
- package/dist/formik/MultiEmailInput.js.map +1 -0
- package/dist/formik/Radio.js +55 -0
- package/dist/formik/Radio.js.map +1 -0
- package/dist/formik/Select.js +100 -0
- package/dist/formik/Select.js.map +1 -0
- package/dist/formik/Slider.js +58 -0
- package/dist/formik/Slider.js.map +1 -0
- package/dist/formik/Switch.js +46 -0
- package/dist/formik/Switch.js.map +1 -0
- package/dist/formik/Textarea.js +54 -0
- package/dist/formik/Textarea.js.map +1 -0
- package/dist/formik/TreeSelect.js +50 -0
- package/dist/formik/TreeSelect.js.map +1 -0
- package/dist/formik/index.js +64 -0
- package/dist/formik/index.js.map +1 -0
- package/dist/index-283bc6a6.js +90 -0
- package/dist/index-283bc6a6.js.map +1 -0
- package/dist/index-34956d66.js +372 -0
- package/dist/index-34956d66.js.map +1 -0
- package/dist/index-3659771d.js +56 -0
- package/dist/index-3659771d.js.map +1 -0
- package/dist/index-7fae3611.js +2381 -0
- package/dist/index-7fae3611.js.map +1 -0
- package/dist/index-b3a8dd29.js +249 -0
- package/dist/index-b3a8dd29.js.map +1 -0
- package/dist/index-c442518b.js +445 -0
- package/dist/index-c442518b.js.map +1 -0
- package/dist/index-c8d9113c.js +2193 -0
- package/dist/index-c8d9113c.js.map +1 -0
- package/dist/index.js +79 -13767
- package/dist/index.js.map +1 -1
- package/dist/layouts.js +19 -363
- package/dist/layouts.js.map +1 -1
- package/dist/managers.js +3 -2
- package/dist/managers.js.map +1 -1
- package/dist/objectWithoutProperties-a0edb288.js +31 -0
- package/dist/objectWithoutProperties-a0edb288.js.map +1 -0
- package/dist/{overlayManager-4d5be56b.js → overlayManager.js} +4 -3
- package/dist/overlayManager.js.map +1 -0
- package/dist/slicedToArray-45fa766e.js +57 -0
- package/dist/slicedToArray-45fa766e.js.map +1 -0
- package/dist/toConsumableArray-1186e144.js +20 -0
- package/dist/toConsumableArray-1186e144.js.map +1 -0
- package/dist/toPropertyKey-bdc24cb9.js +28 -0
- package/dist/toPropertyKey-bdc24cb9.js.map +1 -0
- package/dist/useId-c1d20bba.js +9 -0
- package/dist/useId-c1d20bba.js.map +1 -0
- package/dist/useOverlayManager-95a474d5.js +1591 -0
- package/dist/useOverlayManager-95a474d5.js.map +1 -0
- package/dist/useQueryParams-4e7ddcf8.js +16 -0
- package/dist/useQueryParams-4e7ddcf8.js.map +1 -0
- package/dist/useSyncedRef-226a3dbc.js +17 -0
- package/dist/useSyncedRef-226a3dbc.js.map +1 -0
- package/formik.d.ts +26 -51
- package/index.d.ts +75 -834
- package/package.json +26 -4
- package/types/Accordion.d.ts +26 -0
- package/types/ActionDropdown.d.ts +21 -0
- package/types/Alert.d.ts +23 -0
- package/types/Avatar.d.ts +17 -0
- package/types/Button.d.ts +32 -0
- package/types/Callout.d.ts +13 -0
- package/types/Checkbox.d.ts +18 -0
- package/types/ColorPicker.d.ts +21 -0
- package/types/DatePicker.d.ts +30 -0
- package/types/DateTimePicker.d.ts +26 -0
- package/types/Dropdown.d.ts +77 -0
- package/types/Input.d.ts +27 -0
- package/types/Kbd.d.ts +11 -0
- package/types/Label.d.ts +19 -0
- package/types/Modal.d.ts +10 -0
- package/types/MultiEmailInput.d.ts +25 -0
- package/types/NoData.d.ts +14 -0
- package/types/Pagination.d.ts +11 -0
- package/types/Pane.d.ts +11 -0
- package/types/Popover.d.ts +32 -0
- package/types/Popup.d.ts +17 -0
- package/types/Radio.d.ts +24 -0
- package/types/Select.d.ts +27 -0
- package/types/Slider.d.ts +12 -0
- package/types/Spinner.d.ts +9 -0
- package/types/Stepper.d.ts +10 -0
- package/types/Switch.d.ts +20 -0
- package/types/Tab.d.ts +24 -0
- package/types/Table.d.ts +41 -0
- package/types/Tag.d.ts +27 -0
- package/types/Textarea.d.ts +22 -0
- package/types/TimePicker.d.ts +28 -0
- package/types/TimePickerInput.d.ts +22 -0
- package/types/Toastr.d.ts +20 -0
- package/types/Tooltip.d.ts +31 -0
- package/types/Tree.d.ts +62 -0
- package/types/TreeSelect.d.ts +40 -0
- package/types/Typography.d.ts +64 -0
- package/types/formik/ActionBlock.d.ts +11 -0
- package/types/formik/BlockNavigation.d.ts +9 -0
- package/types/formik/Button.d.ts +1 -0
- package/types/formik/Checkbox.d.ts +1 -0
- package/types/formik/Form.d.ts +13 -0
- package/types/formik/Input.d.ts +1 -0
- package/types/formik/MultiEmailInput.d.ts +1 -0
- package/types/formik/Radio.d.ts +1 -0
- package/types/formik/Select.d.ts +1 -0
- package/types/formik/Slider.d.ts +1 -0
- package/types/formik/Switch.d.ts +1 -0
- package/types/formik/Textarea.d.ts +1 -0
- package/types/formik/TreeSelect.d.ts +1 -0
- package/dist/TreeSelect-54c59138.js +0 -22106
- package/dist/TreeSelect-54c59138.js.map +0 -1
- package/dist/Typography-6b2170d4.js +0 -6439
- package/dist/Typography-6b2170d4.js.map +0 -1
- package/dist/cjs/TreeSelect-40898804.js +0 -22161
- package/dist/cjs/TreeSelect-40898804.js.map +0 -1
- package/dist/cjs/Typography-3f90f925.js +0 -6472
- package/dist/cjs/Typography-3f90f925.js.map +0 -1
- package/dist/cjs/createClass-ca103cfb.js.map +0 -1
- package/dist/cjs/formik.js +0 -624
- package/dist/cjs/formik.js.map +0 -1
- package/dist/cjs/index-099304bb.js +0 -104
- package/dist/cjs/index-099304bb.js.map +0 -1
- package/dist/cjs/overlayManager-a0827ae7.js.map +0 -1
- package/dist/createClass-27bd48bc.js +0 -52
- package/dist/createClass-27bd48bc.js.map +0 -1
- package/dist/formik.js +0 -604
- package/dist/formik.js.map +0 -1
- package/dist/index-ed90c85d.js +0 -98
- package/dist/index-ed90c85d.js.map +0 -1
- package/dist/overlayManager-4d5be56b.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pagination.js","sources":["../src/components/Pagination/constants.js","../src/components/Pagination/hooks/usePaginationQueryParams.js","../src/components/Pagination/utils.js","../src/components/Pagination/index.jsx"],"sourcesContent":["export const DOTS = \"...\";\n","import { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useQueryParams } from \"hooks\";\nimport { buildUrl } from \"utils\";\n\nconst usePaginationQueryParams = () => {\n const queryParams = useQueryParams();\n const history = useHistory();\n\n const updatePageInQueryParam = page => {\n const params = { page };\n\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, mergeLeft(params, queryParams)));\n };\n\n return { updatePageInQueryParam };\n};\n\nexport default usePaginationQueryParams;\n","import { useMemo } from \"react\";\n\nimport { DOTS } from \"./constants\";\n\nconst range = (start, end) => {\n const length = end - start + 1;\n\n return Array.from({ length }, (_, index) => index + start);\n};\n\nexport const usePagination = ({\n count,\n pageSize,\n siblingCount = 1,\n pageNo,\n}) => {\n const paginationRange = useMemo(() => {\n const totalPageCount = Math.ceil(count / pageSize);\n\n // Pages count is determined as siblingCount + firstPage + lastPage + pageNo + 2*DOTS\n const totalPageNumbers = siblingCount + 5;\n\n // If the number of pages is less than the page numbers we want to show in our\n // paginationComponent, we return the range [1..totalPageCount]\n if (totalPageNumbers >= totalPageCount) {\n return range(1, totalPageCount);\n }\n\n // Calculate left and right sibling index and make sure they are within range 1 and totalPageCount\n const leftSiblingIndex = Math.max(pageNo - siblingCount, 1);\n const rightSiblingIndex = Math.min(pageNo + siblingCount, totalPageCount);\n\n // We do not show dots just when there is just one page number to be inserted between the extremes of sibling and the page limits i.e 1 and totalPageCount. Hence we are using leftSiblingIndex > 2 and rightSiblingIndex < totalPageCount - 2\n const shouldShowLeftDots = leftSiblingIndex > 2;\n const shouldShowRightDots = rightSiblingIndex < totalPageCount - 2;\n\n const firstPageIndex = 1;\n const lastPageIndex = totalPageCount;\n\n // Case 2: No left dots to show, but rights dots to be shown\n if (!shouldShowLeftDots && shouldShowRightDots) {\n const leftItemCount = 3 + 2 * siblingCount;\n const leftRange = range(1, leftItemCount);\n\n return [...leftRange, DOTS, totalPageCount];\n }\n\n // Case 3: No right dots to show, but left dots to be shown\n if (shouldShowLeftDots && !shouldShowRightDots) {\n const rightItemCount = 3 + 2 * siblingCount;\n const rightRange = range(\n totalPageCount - rightItemCount + 1,\n totalPageCount\n );\n\n return [firstPageIndex, DOTS, ...rightRange];\n }\n\n // Case 4: Both left and right dots to be shown\n if (shouldShowLeftDots && shouldShowRightDots) {\n const middleRange = range(leftSiblingIndex, rightSiblingIndex);\n\n return [firstPageIndex, DOTS, ...middleRange, DOTS, lastPageIndex];\n }\n\n return undefined;\n }, [count, pageSize, siblingCount, pageNo]);\n\n return paginationRange;\n};\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Left, Right } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\n\nimport { DOTS } from \"./constants\";\nimport usePaginationQueryParams from \"./hooks/usePaginationQueryParams\";\nimport { usePagination } from \"./utils\";\n\nconst Pagination = ({\n count = 0,\n pageNo,\n navigate,\n pageSize,\n siblingCount = 1,\n className = \"\",\n}) => {\n const paginationRange = usePagination({\n pageNo,\n count,\n siblingCount,\n pageSize,\n });\n const { updatePageInQueryParam } = usePaginationQueryParams();\n\n if (!navigate) navigate = updatePageInQueryParam;\n\n if (pageNo === 0 || paginationRange.length < 2) {\n return null;\n }\n\n const onNext = () => {\n if (!isLastPage) navigate(pageNo + 1);\n };\n\n const onPrevious = () => {\n if (!isFirstPage) navigate(pageNo - 1);\n };\n\n const lastPage = paginationRange[paginationRange.length - 1];\n const isFirstPage = pageNo === 1;\n const isLastPage = pageNo === lastPage;\n\n return (\n <nav aria-label=\"Pagination Navigation\" role=\"navigation\">\n <ul className={classnames([\"neeto-ui-pagination__wrapper\", className])}>\n <li\n data-testid=\"left-navigate-button\"\n tabIndex={0}\n className={classnames({\n \"neeto-ui-pagination__item\": true,\n \"neeto-ui-pagination__item--navigate\": true,\n disabled: isFirstPage,\n })}\n onClick={onPrevious}\n >\n <a>\n <Left size={20} />\n </a>\n </li>\n {paginationRange.map((pageNumber, index) => {\n const isActive = pageNumber === pageNo;\n\n if (pageNumber === DOTS) {\n return (\n <li\n className=\"neeto-ui-pagination__item neeto-ui-pagination__item--dots\"\n data-testid=\"dots\"\n key={index}\n >\n …\n </li>\n );\n }\n\n return (\n <li\n aria-current={isActive && true}\n key={index}\n tabIndex={0}\n aria-label={\n isActive\n ? `Current Page, Page ${pageNumber}`\n : `Goto Page ${pageNumber}`\n }\n className={classnames(\"neeto-ui-pagination__item\", {\n active: isActive,\n })}\n onClick={() => navigate(pageNumber)}\n >\n <a>{pageNumber}</a>\n </li>\n );\n })}\n <li\n data-testid=\"right-navigate-button\"\n tabIndex={0}\n className={classnames({\n \"neeto-ui-pagination__item\": true,\n \"neeto-ui-pagination__item--navigate\": true,\n disabled: isLastPage,\n })}\n onClick={onNext}\n >\n <a>\n <Right size={20} />\n </a>\n </li>\n </ul>\n </nav>\n );\n};\n\nPagination.propTypes = {\n /**\n * To specify the total number of items.\n */\n count: PropTypes.number.isRequired,\n /**\n * To specify the current page number.\n */\n pageNo: PropTypes.number,\n /**\n * To specify the callback which will be invoked when the navigate buttons are clicked. If not provided, the component will update pagination information in the URL query parameters.\n */\n navigate: PropTypes.func,\n /**\n * To specify the size of a single page.\n */\n pageSize: PropTypes.number.isRequired,\n /**\n * To specify the number of siblings to be shown before and after the current page number.\n */\n siblingCount: PropTypes.number,\n /**\n * To provide external className to the Pagination component.\n */\n className: PropTypes.string,\n};\n\nexport default Pagination;\n"],"names":["DOTS","usePaginationQueryParams","queryParams","useQueryParams","history","useHistory","updatePageInQueryParam","page","params","pathname","window","location","push","buildUrl","mergeLeft","range","start","end","length","Array","from","_","index","usePagination","_ref","count","pageSize","_ref$siblingCount","siblingCount","pageNo","paginationRange","useMemo","totalPageCount","Math","ceil","totalPageNumbers","leftSiblingIndex","max","rightSiblingIndex","min","shouldShowLeftDots","shouldShowRightDots","firstPageIndex","lastPageIndex","leftItemCount","leftRange","concat","_toConsumableArray","rightItemCount","rightRange","middleRange","undefined","Pagination","_ref$count","navigate","_ref$className","className","_usePaginationQueryPa","onNext","isLastPage","onPrevious","isFirstPage","lastPage","React","createElement","role","classnames","tabIndex","disabled","onClick","Left","size","map","pageNumber","isActive","key","active","Right"],"mappings":"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"}
|
package/dist/Pane.js
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { _ as _extends } from './extends-093996c9.js';
|
|
2
|
+
import { _ as _defineProperty } from './defineProperty-e5245270.js';
|
|
3
|
+
import { _ as _slicedToArray } from './slicedToArray-45fa766e.js';
|
|
4
|
+
import { _ as _objectWithoutProperties } from './objectWithoutProperties-a0edb288.js';
|
|
5
|
+
import React__default, { useState, useRef, useEffect } from 'react';
|
|
6
|
+
import { c as classnames } from './index-3659771d.js';
|
|
7
|
+
import { Close } from '@bigbinary/neeto-icons';
|
|
8
|
+
import { u as useOverlayManager, a as useOverlay, P as Portal, C as CSSTransition, B as Backdrop } from './useOverlayManager-95a474d5.js';
|
|
9
|
+
import Button from './Button.js';
|
|
10
|
+
import 'react-router-dom';
|
|
11
|
+
import './index-c8d9113c.js';
|
|
12
|
+
import './toPropertyKey-bdc24cb9.js';
|
|
13
|
+
import './index-283bc6a6.js';
|
|
14
|
+
import 'react-dom';
|
|
15
|
+
import 'ramda';
|
|
16
|
+
import './index-7fae3611.js';
|
|
17
|
+
import './overlayManager.js';
|
|
18
|
+
import './createClass-601a36b2.js';
|
|
19
|
+
import 'framer-motion';
|
|
20
|
+
import './index-c442518b.js';
|
|
21
|
+
import 'tippy.js';
|
|
22
|
+
import '@bigbinary/neeto-cist';
|
|
23
|
+
import 'util';
|
|
24
|
+
|
|
25
|
+
var Body = function Body(_ref) {
|
|
26
|
+
var children = _ref.children,
|
|
27
|
+
className = _ref.className,
|
|
28
|
+
_ref$hasFooter = _ref.hasFooter,
|
|
29
|
+
hasFooter = _ref$hasFooter === void 0 ? true : _ref$hasFooter;
|
|
30
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
31
|
+
"data-cy": "pane-body",
|
|
32
|
+
className: classnames("neeto-ui-pane__body neeto-ui-flex neeto-ui-flex-col neeto-ui-items-start neeto-ui-justify-start", _defineProperty({
|
|
33
|
+
"neeto-ui-pane__body--has-footer": hasFooter
|
|
34
|
+
}, className, className))
|
|
35
|
+
}, children);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
var DEFAULT_PANE_HEADER_HEIGHT = 78;
|
|
39
|
+
|
|
40
|
+
var Footer = function Footer(_ref) {
|
|
41
|
+
var children = _ref.children,
|
|
42
|
+
className = _ref.className;
|
|
43
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
44
|
+
className: classnames("neeto-ui-pane__footer neeto-ui-flex neeto-ui-items-center", className)
|
|
45
|
+
}, children);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
var Header = function Header(_ref) {
|
|
49
|
+
var children = _ref.children,
|
|
50
|
+
className = _ref.className;
|
|
51
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
52
|
+
className: classnames("neeto-ui-pane__header", className),
|
|
53
|
+
"data-cy": "pane-header"
|
|
54
|
+
}, children);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
var getHeaderHeight = function getHeaderHeight(paneWrapper) {
|
|
58
|
+
var header = paneWrapper.current.querySelector(".neeto-ui-pane__header");
|
|
59
|
+
return header ? header.offsetHeight : DEFAULT_PANE_HEADER_HEIGHT;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
var _excluded = ["size", "isOpen", "onClose", "children", "className", "closeOnEsc", "closeButton", "backdropClassName", "closeOnOutsideClick", "initialFocusRef", "finalFocusRef"];
|
|
63
|
+
var SIZES = {
|
|
64
|
+
small: "small",
|
|
65
|
+
large: "large"
|
|
66
|
+
};
|
|
67
|
+
var Pane = function Pane(_ref) {
|
|
68
|
+
var _ref$size = _ref.size,
|
|
69
|
+
size = _ref$size === void 0 ? SIZES.small : _ref$size,
|
|
70
|
+
_ref$isOpen = _ref.isOpen,
|
|
71
|
+
isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
|
|
72
|
+
_ref$onClose = _ref.onClose,
|
|
73
|
+
onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose,
|
|
74
|
+
children = _ref.children,
|
|
75
|
+
_ref$className = _ref.className,
|
|
76
|
+
className = _ref$className === void 0 ? "" : _ref$className,
|
|
77
|
+
_ref$closeOnEsc = _ref.closeOnEsc,
|
|
78
|
+
closeOnEsc = _ref$closeOnEsc === void 0 ? true : _ref$closeOnEsc,
|
|
79
|
+
_ref$closeButton = _ref.closeButton,
|
|
80
|
+
closeButton = _ref$closeButton === void 0 ? true : _ref$closeButton,
|
|
81
|
+
_ref$backdropClassNam = _ref.backdropClassName,
|
|
82
|
+
backdropClassName = _ref$backdropClassNam === void 0 ? "" : _ref$backdropClassNam,
|
|
83
|
+
_ref$closeOnOutsideCl = _ref.closeOnOutsideClick,
|
|
84
|
+
closeOnOutsideClick = _ref$closeOnOutsideCl === void 0 ? true : _ref$closeOnOutsideCl,
|
|
85
|
+
initialFocusRef = _ref.initialFocusRef,
|
|
86
|
+
finalFocusRef = _ref.finalFocusRef,
|
|
87
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
88
|
+
var _useState = useState(false),
|
|
89
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
90
|
+
hasTransitionCompleted = _useState2[0],
|
|
91
|
+
setHasTransitionCompleted = _useState2[1];
|
|
92
|
+
var paneWrapper = useRef(null);
|
|
93
|
+
var backdropRef = useRef(null);
|
|
94
|
+
useOverlayManager(paneWrapper, isOpen);
|
|
95
|
+
var _useOverlay = useOverlay({
|
|
96
|
+
overlayWrapper: paneWrapper,
|
|
97
|
+
backdropRef: backdropRef,
|
|
98
|
+
closeOnOutsideClick: closeOnOutsideClick,
|
|
99
|
+
closeOnEsc: closeOnEsc,
|
|
100
|
+
onClose: onClose,
|
|
101
|
+
isOpen: isOpen,
|
|
102
|
+
initialFocusRef: initialFocusRef,
|
|
103
|
+
finalFocusRef: finalFocusRef,
|
|
104
|
+
hasTransitionCompleted: hasTransitionCompleted
|
|
105
|
+
}),
|
|
106
|
+
handleOverlayClose = _useOverlay.handleOverlayClose,
|
|
107
|
+
setFocusField = _useOverlay.setFocusField;
|
|
108
|
+
useEffect(function () {
|
|
109
|
+
if (!hasTransitionCompleted) return;
|
|
110
|
+
var headerHeight = getHeaderHeight(paneWrapper);
|
|
111
|
+
if (headerHeight > DEFAULT_PANE_HEADER_HEIGHT) {
|
|
112
|
+
paneWrapper.current.style.setProperty("--neeto-ui-pane-header-height", "".concat(headerHeight, "px"));
|
|
113
|
+
}
|
|
114
|
+
}, [hasTransitionCompleted]);
|
|
115
|
+
return /*#__PURE__*/React__default.createElement(Portal, {
|
|
116
|
+
rootId: "neeto-ui-portal"
|
|
117
|
+
}, /*#__PURE__*/React__default.createElement(CSSTransition, {
|
|
118
|
+
unmountOnExit: true,
|
|
119
|
+
appear: isOpen,
|
|
120
|
+
classNames: "neeto-ui-pane",
|
|
121
|
+
"in": isOpen,
|
|
122
|
+
timeout: 230,
|
|
123
|
+
onEntered: function onEntered() {
|
|
124
|
+
return setHasTransitionCompleted(true);
|
|
125
|
+
},
|
|
126
|
+
onExited: function onExited() {
|
|
127
|
+
return setHasTransitionCompleted(false);
|
|
128
|
+
}
|
|
129
|
+
}, /*#__PURE__*/React__default.createElement(Backdrop, {
|
|
130
|
+
"data-testid": "backdrop",
|
|
131
|
+
key: "pane-backdrop",
|
|
132
|
+
ref: backdropRef,
|
|
133
|
+
className: classnames("neeto-ui-pane__backdrop neeto-ui-flex neeto-ui-justify-end", backdropClassName)
|
|
134
|
+
}, /*#__PURE__*/React__default.createElement("div", _extends({
|
|
135
|
+
"data-cy": "pane-wrapper",
|
|
136
|
+
key: "pane-wrapper",
|
|
137
|
+
ref: paneWrapper,
|
|
138
|
+
className: classnames("neeto-ui-pane__wrapper", _defineProperty({
|
|
139
|
+
"neeto-ui-pane__wrapper--small": size === SIZES.small,
|
|
140
|
+
"neeto-ui-pane__wrapper--large": size === SIZES.large
|
|
141
|
+
}, className, className))
|
|
142
|
+
}, otherProps), closeButton && /*#__PURE__*/React__default.createElement(Button, {
|
|
143
|
+
"aria-label": "Close",
|
|
144
|
+
className: "neeto-ui-pane__close",
|
|
145
|
+
"data-cy": "pane-close-button",
|
|
146
|
+
"data-testid": "close-button",
|
|
147
|
+
icon: Close,
|
|
148
|
+
size: "small",
|
|
149
|
+
style: "text",
|
|
150
|
+
onClick: handleOverlayClose
|
|
151
|
+
}), hasTransitionCompleted && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, typeof children === "function" ? children({
|
|
152
|
+
setFocusField: setFocusField
|
|
153
|
+
}) : children)))));
|
|
154
|
+
};
|
|
155
|
+
Pane.Header = Header;
|
|
156
|
+
Pane.Body = Body;
|
|
157
|
+
Pane.Footer = Footer;
|
|
158
|
+
|
|
159
|
+
export { Pane as default };
|
|
160
|
+
//# sourceMappingURL=Pane.js.map
|
package/dist/Pane.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pane.js","sources":["../src/components/Pane/Body.jsx","../src/components/Pane/constants.js","../src/components/Pane/Footer.jsx","../src/components/Pane/Header.jsx","../src/components/Pane/utils.js","../src/components/Pane/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Body = ({ children, className, hasFooter = true }) => (\n <div\n data-cy=\"pane-body\"\n className={classnames(\n \"neeto-ui-pane__body neeto-ui-flex neeto-ui-flex-col neeto-ui-items-start neeto-ui-justify-start\",\n {\n \"neeto-ui-pane__body--has-footer\": hasFooter,\n [className]: className,\n }\n )}\n >\n {children}\n </div>\n);\n\nBody.propTypes = {\n /**\n * To specify if the Pane has a footer.\n * @default true\n */\n hasFooter: PropTypes.bool,\n /**\n * To specify className to be applied to the Pane Body container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Pane Body.\n */\n children: PropTypes.node,\n};\n\nexport default Body;\n","export const DEFAULT_PANE_HEADER_HEIGHT = 78;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Footer = ({ children, className }) => (\n <div\n className={classnames(\n \"neeto-ui-pane__footer neeto-ui-flex neeto-ui-items-center\",\n className\n )}\n >\n {children}\n </div>\n);\n\nFooter.propTypes = {\n /**\n * To specify className to be applied to the Pane Footer container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Pane Footer.\n */\n children: PropTypes.node,\n};\n\nexport default Footer;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Header = ({ children, className }) => (\n <div\n className={classnames(\"neeto-ui-pane__header\", className)}\n data-cy=\"pane-header\"\n >\n {children}\n </div>\n);\n\nHeader.propTypes = {\n /**\n * To specify className to be applied to the Pane Header container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Pane Header.\n */\n children: PropTypes.node,\n};\n\nexport default Header;\n","import { DEFAULT_PANE_HEADER_HEIGHT } from \"./constants\";\n\nexport const getHeaderHeight = paneWrapper => {\n const header = paneWrapper.current.querySelector(\".neeto-ui-pane__header\");\n\n return header ? header.offsetHeight : DEFAULT_PANE_HEADER_HEIGHT;\n};\n","import React, { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Close } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { CSSTransition } from \"react-transition-group\";\n\nimport Backdrop from \"atoms/Backdrop\";\nimport Portal from \"atoms/Portal\";\nimport Button from \"components/Button\";\nimport { useOverlay, useOverlayManager } from \"hooks\";\n\nimport Body from \"./Body\";\nimport { DEFAULT_PANE_HEADER_HEIGHT } from \"./constants\";\nimport Footer from \"./Footer\";\nimport Header from \"./Header\";\nimport { getHeaderHeight } from \"./utils\";\n\nconst SIZES = { small: \"small\", large: \"large\" };\n\nconst Pane = ({\n size = SIZES.small,\n isOpen = false,\n onClose = () => {},\n children,\n className = \"\",\n closeOnEsc = true,\n closeButton = true,\n backdropClassName = \"\",\n closeOnOutsideClick = true,\n initialFocusRef,\n finalFocusRef,\n ...otherProps\n}) => {\n const [hasTransitionCompleted, setHasTransitionCompleted] = useState(false);\n\n const paneWrapper = useRef(null);\n const backdropRef = useRef(null);\n\n useOverlayManager(paneWrapper, isOpen);\n\n const { handleOverlayClose, setFocusField } = useOverlay({\n overlayWrapper: paneWrapper,\n backdropRef,\n closeOnOutsideClick,\n closeOnEsc,\n onClose,\n isOpen,\n initialFocusRef,\n finalFocusRef,\n hasTransitionCompleted,\n });\n\n useEffect(() => {\n if (!hasTransitionCompleted) return;\n const headerHeight = getHeaderHeight(paneWrapper);\n if (headerHeight > DEFAULT_PANE_HEADER_HEIGHT) {\n paneWrapper.current.style.setProperty(\n \"--neeto-ui-pane-header-height\",\n `${headerHeight}px`\n );\n }\n }, [hasTransitionCompleted]);\n\n return (\n <Portal rootId=\"neeto-ui-portal\">\n <CSSTransition\n unmountOnExit\n appear={isOpen}\n classNames=\"neeto-ui-pane\"\n in={isOpen}\n timeout={230}\n onEntered={() => setHasTransitionCompleted(true)}\n onExited={() => setHasTransitionCompleted(false)}\n >\n <Backdrop\n data-testid=\"backdrop\"\n key=\"pane-backdrop\"\n ref={backdropRef}\n className={classnames(\n \"neeto-ui-pane__backdrop neeto-ui-flex neeto-ui-justify-end\",\n backdropClassName\n )}\n >\n <div\n data-cy=\"pane-wrapper\"\n key=\"pane-wrapper\"\n ref={paneWrapper}\n className={classnames(\"neeto-ui-pane__wrapper\", {\n \"neeto-ui-pane__wrapper--small\": size === SIZES.small,\n \"neeto-ui-pane__wrapper--large\": size === SIZES.large,\n [className]: className,\n })}\n {...otherProps}\n >\n {closeButton && (\n <Button\n aria-label=\"Close\"\n className=\"neeto-ui-pane__close\"\n data-cy=\"pane-close-button\"\n data-testid=\"close-button\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n onClick={handleOverlayClose}\n />\n )}\n {hasTransitionCompleted && (\n <>\n {typeof children === \"function\"\n ? children({ setFocusField })\n : children}\n </>\n )}\n </div>\n </Backdrop>\n </CSSTransition>\n </Portal>\n );\n};\n\nPane.propTypes = {\n /**\n * To specify the size of the Pane.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify whether the Pane component is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the callback which will be invoked when the close button of Pane is clicked.\n */\n onClose: PropTypes.func,\n /**\n * To specify the content to be rendered inside the Pane component.\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * To provide external classname to the Pane component.\n */\n className: PropTypes.string,\n /**\n * To specify whether the Pane component should close on esc key press.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the Pane component should render close button.\n */\n closeButton: PropTypes.bool,\n /**\n * To specify the classname to be applied to the backdrop element.\n */\n backdropClassName: PropTypes.string,\n /**\n * To specify whether the Pane component should close on outside click.\n */\n closeOnOutsideClick: PropTypes.bool,\n\n /**\n * To specify the ref of the element which should be focused when the Pane component is opened.\n * If not specified, the first focusable element inside the Pane component will be focused.\n * If there are no focusable elements, the Pane component itself will be focused.\n */\n initialFocusRef: PropTypes.object,\n\n /**\n * To specify the ref of the element which should be focused when the Pane component is closed.\n * If not specified, the element which was focused when the Pane component was opened will be focused.\n */\n finalFocusRef: PropTypes.object,\n};\n\nPane.Header = Header;\nPane.Body = Body;\nPane.Footer = Footer;\n\nexport default Pane;\n"],"names":["Body","_ref","children","className","_ref$hasFooter","hasFooter","React","createElement","classnames","_defineProperty","DEFAULT_PANE_HEADER_HEIGHT","Footer","Header","getHeaderHeight","paneWrapper","header","current","querySelector","offsetHeight","SIZES","small","large","Pane","_ref$size","size","_ref$isOpen","isOpen","_ref$onClose","onClose","_ref$className","_ref$closeOnEsc","closeOnEsc","_ref$closeButton","closeButton","_ref$backdropClassNam","backdropClassName","_ref$closeOnOutsideCl","closeOnOutsideClick","initialFocusRef","finalFocusRef","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","hasTransitionCompleted","setHasTransitionCompleted","useRef","backdropRef","useOverlayManager","_useOverlay","useOverlay","overlayWrapper","handleOverlayClose","setFocusField","useEffect","headerHeight","style","setProperty","concat","Portal","rootId","CSSTransition","unmountOnExit","appear","classNames","timeout","onEntered","onExited","Backdrop","key","ref","_extends","Button","icon","Close","onClick","Fragment"],"mappings":"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"}
|
package/dist/Popover.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { _ as _extends } from './extends-093996c9.js';
|
|
2
|
+
import { _ as _objectWithoutProperties } from './objectWithoutProperties-a0edb288.js';
|
|
3
|
+
import React__default from 'react';
|
|
4
|
+
import { c as classnames } from './index-3659771d.js';
|
|
5
|
+
import Typography from './Typography.js';
|
|
6
|
+
import { T as Tooltip } from './index-c442518b.js';
|
|
7
|
+
import './defineProperty-e5245270.js';
|
|
8
|
+
import './toPropertyKey-bdc24cb9.js';
|
|
9
|
+
import './slicedToArray-45fa766e.js';
|
|
10
|
+
import 'tippy.js';
|
|
11
|
+
import 'react-dom';
|
|
12
|
+
|
|
13
|
+
var Title = function Title(_ref) {
|
|
14
|
+
var className = _ref.className,
|
|
15
|
+
children = _ref.children;
|
|
16
|
+
return /*#__PURE__*/React__default.createElement(Typography, {
|
|
17
|
+
className: classnames("neeto-ui-mb-1", className),
|
|
18
|
+
"data-testid": "popover-title",
|
|
19
|
+
lineHeight: "snug",
|
|
20
|
+
style: "h5",
|
|
21
|
+
weight: "semibold"
|
|
22
|
+
}, children);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
var _excluded = ["children", "className", "theme"];
|
|
26
|
+
var Popover = function Popover(_ref) {
|
|
27
|
+
var children = _ref.children,
|
|
28
|
+
_ref$className = _ref.className,
|
|
29
|
+
className = _ref$className === void 0 ? "" : _ref$className,
|
|
30
|
+
_ref$theme = _ref.theme,
|
|
31
|
+
theme = _ref$theme === void 0 ? "light" : _ref$theme,
|
|
32
|
+
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
33
|
+
return /*#__PURE__*/React__default.createElement(Tooltip, _extends({
|
|
34
|
+
theme: theme,
|
|
35
|
+
arrow: true,
|
|
36
|
+
interactive: true,
|
|
37
|
+
className: classnames("neeto-ui-popover", className),
|
|
38
|
+
content: children
|
|
39
|
+
}, otherProps));
|
|
40
|
+
};
|
|
41
|
+
Popover.Title = Title;
|
|
42
|
+
|
|
43
|
+
export { Popover as default };
|
|
44
|
+
//# sourceMappingURL=Popover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popover.js","sources":["../src/components/Popover/Title.jsx","../src/components/Popover/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport Typography from \"../Typography\";\n\nconst Title = ({ className, children }) => (\n <Typography\n className={classnames(\"neeto-ui-mb-1\", className)}\n data-testid=\"popover-title\"\n lineHeight=\"snug\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {children}\n </Typography>\n);\n\nTitle.propTypes = {\n /**\n * To specify className to be applied to the Popover Title.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Popover Title.\n */\n children: PropTypes.node,\n};\n\nexport default Title;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport Title from \"./Title\";\n\nimport Tooltip from \"../Tooltip\";\n\nconst Popover = ({\n children,\n className = \"\",\n theme = \"light\",\n ...otherProps\n}) => (\n <Tooltip\n {...{ theme }}\n arrow\n interactive\n className={classnames(\"neeto-ui-popover\", className)}\n content={children}\n {...otherProps}\n />\n);\n\nPopover.propTypes = {\n /**\n * The content to be rendered inside the popup.\n */\n children: PropTypes.node,\n /**\n * The popover will be positioned next to the specified element.\n */\n reference: PropTypes.oneOfType([\n // Either a function\n PropTypes.func,\n // Or the instance of a DOM native element (see the note about SSR)\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]),\n /**\n * To display Popover in dark or light theme. By default the theme is dark.\n */\n theme: PropTypes.oneOf([\"dark\", \"light\"]),\n /**\n * To specify whether the Popover is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify the position of the Popover.\n */\n position: PropTypes.string,\n /**\n * To auto-hide the Popover after n-milliseconds.\n * Negative values to this prop disables this feature.\n * By default it's disabled.\n */\n hideAfter: PropTypes.number,\n /**\n * To auto-hide the Popover on when target leaves the screen.\n * By default it's disabled.\n */\n hideOnTargetExit: PropTypes.bool,\n};\n\nPopover.Title = Title;\n\nexport default Popover;\n"],"names":["Title","_ref","className","children","React","createElement","Typography","classnames","lineHeight","style","weight","Popover","_ref$className","_ref$theme","theme","otherProps","_objectWithoutProperties","_excluded","Tooltip","_extends","arrow","interactive","content"],"mappings":";;;;;;;;;;;;AAOA,IAAMA,KAAK,GAAG,SAARA,KAAKA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,SAAS,GAAAD,IAAA,CAATC,SAAS;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ,CAAA;AAAA,EAAA,oBAClCC,cAAA,CAAAC,aAAA,CAACC,UAAU,EAAA;AACTJ,IAAAA,SAAS,EAAEK,UAAU,CAAC,eAAe,EAAEL,SAAS,CAAE;AAClD,IAAA,aAAA,EAAY,eAAe;AAC3BM,IAAAA,UAAU,EAAC,MAAM;AACjBC,IAAAA,KAAK,EAAC,IAAI;AACVC,IAAAA,MAAM,EAAC,UAAA;AAAU,GAAA,EAEhBP,QAAQ,CACE,CAAA;AAAA,CACd;;;ACRD,IAAMQ,OAAO,GAAG,SAAVA,OAAOA,CAAAV,IAAA,EAAA;AAAA,EAAA,IACXE,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAAS,cAAA,GAAAX,IAAA,CACRC,SAAS;AAATA,IAAAA,SAAS,GAAAU,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IAAAC,UAAA,GAAAZ,IAAA,CACda,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,UAAA;AACZE,IAAAA,UAAU,GAAAC,wBAAA,CAAAf,IAAA,EAAAgB,SAAA,CAAA,CAAA;AAAA,EAAA,oBAEbb,cAAA,CAAAC,aAAA,CAACa,OAAO,EAAAC,QAAA,CAAA;AACAL,IAAAA,KAAK,EAALA,KAAK;IACXM,KAAK,EAAA,IAAA;IACLC,WAAW,EAAA,IAAA;AACXnB,IAAAA,SAAS,EAAEK,UAAU,CAAC,kBAAkB,EAAEL,SAAS,CAAE;AACrDoB,IAAAA,OAAO,EAAEnB,QAAAA;AAAS,GAAA,EACdY,UAAU,CACd,CAAA,CAAA;AAAA,EACH;AAyCDJ,OAAO,CAACX,KAAK,GAAGA,KAAK;;;;"}
|
package/dist/Radio.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { _ as _defineProperty } from './defineProperty-e5245270.js';
|
|
2
|
+
import { _ as _extends } from './extends-093996c9.js';
|
|
3
|
+
import { _ as _slicedToArray } from './slicedToArray-45fa766e.js';
|
|
4
|
+
import { _ as _objectWithoutProperties } from './objectWithoutProperties-a0edb288.js';
|
|
5
|
+
import React__default, { useState, Children, cloneElement } from 'react';
|
|
6
|
+
import { c as classnames } from './index-3659771d.js';
|
|
7
|
+
import Label from './Label.js';
|
|
8
|
+
import { u as useId } from './useId-c1d20bba.js';
|
|
9
|
+
import 'react-router-dom';
|
|
10
|
+
import './index-7fae3611.js';
|
|
11
|
+
import './overlayManager.js';
|
|
12
|
+
import { h as hyphenize } from './index-c8d9113c.js';
|
|
13
|
+
import './toPropertyKey-bdc24cb9.js';
|
|
14
|
+
import '@bigbinary/neeto-icons';
|
|
15
|
+
import './index-c442518b.js';
|
|
16
|
+
import 'tippy.js';
|
|
17
|
+
import 'react-dom';
|
|
18
|
+
import 'ramda';
|
|
19
|
+
import './createClass-601a36b2.js';
|
|
20
|
+
import '@bigbinary/neeto-cist';
|
|
21
|
+
import 'util';
|
|
22
|
+
|
|
23
|
+
var _excluded$1 = ["name", "label", "className", "labelProps"];
|
|
24
|
+
var Item = function Item(_ref) {
|
|
25
|
+
var _ref$name = _ref.name,
|
|
26
|
+
name = _ref$name === void 0 ? "" : _ref$name,
|
|
27
|
+
_ref$label = _ref.label,
|
|
28
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
29
|
+
_ref$className = _ref.className,
|
|
30
|
+
className = _ref$className === void 0 ? "" : _ref$className,
|
|
31
|
+
labelProps = _ref.labelProps,
|
|
32
|
+
otherProps = _objectWithoutProperties(_ref, _excluded$1);
|
|
33
|
+
var id = useId(otherProps.id);
|
|
34
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
35
|
+
className: classnames(["neeto-ui-radio__item", className])
|
|
36
|
+
}, /*#__PURE__*/React__default.createElement("input", _extends({
|
|
37
|
+
id: id,
|
|
38
|
+
name: name,
|
|
39
|
+
className: "neeto-ui-radio",
|
|
40
|
+
type: "radio"
|
|
41
|
+
}, otherProps)), label && /*#__PURE__*/React__default.createElement(Label, _extends({
|
|
42
|
+
"data-cy": "".concat(hyphenize(label), "-radio-label"),
|
|
43
|
+
htmlFor: id
|
|
44
|
+
}, labelProps), label));
|
|
45
|
+
};
|
|
46
|
+
Item.displayName = "Radio.Item";
|
|
47
|
+
|
|
48
|
+
var _excluded = ["label", "children", "stacked", "className", "containerClassName", "error", "onChange", "labelProps"];
|
|
49
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
50
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
51
|
+
var Radio = function Radio(_ref) {
|
|
52
|
+
var _ref$label = _ref.label,
|
|
53
|
+
label = _ref$label === void 0 ? "" : _ref$label,
|
|
54
|
+
children = _ref.children,
|
|
55
|
+
_ref$stacked = _ref.stacked,
|
|
56
|
+
stacked = _ref$stacked === void 0 ? false : _ref$stacked,
|
|
57
|
+
_ref$className = _ref.className,
|
|
58
|
+
className = _ref$className === void 0 ? "" : _ref$className,
|
|
59
|
+
_ref$containerClassNa = _ref.containerClassName,
|
|
60
|
+
containerClassName = _ref$containerClassNa === void 0 ? "" : _ref$containerClassNa,
|
|
61
|
+
_ref$error = _ref.error,
|
|
62
|
+
error = _ref$error === void 0 ? "" : _ref$error,
|
|
63
|
+
onChange = _ref.onChange,
|
|
64
|
+
labelProps = _ref.labelProps,
|
|
65
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
66
|
+
var _useState = useState(""),
|
|
67
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
68
|
+
internalValue = _useState2[0],
|
|
69
|
+
setInternalValue = _useState2[1];
|
|
70
|
+
var id = useId(props.id);
|
|
71
|
+
var errorId = "error_".concat(id);
|
|
72
|
+
var internalOnChange = function internalOnChange(e) {
|
|
73
|
+
return setInternalValue(e.target.value);
|
|
74
|
+
};
|
|
75
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
76
|
+
className: classnames(["neeto-ui-radio__wrapper", className])
|
|
77
|
+
}, label && /*#__PURE__*/React__default.createElement(Label, _extends({
|
|
78
|
+
className: "neeto-ui-radio__label"
|
|
79
|
+
}, labelProps), label), /*#__PURE__*/React__default.createElement("div", {
|
|
80
|
+
className: classnames(["neeto-ui-radio__container"], _defineProperty({
|
|
81
|
+
"neeto-ui-radio__container--stacked": stacked,
|
|
82
|
+
"neeto-ui-radio__container--error": error
|
|
83
|
+
}, containerClassName, containerClassName))
|
|
84
|
+
}, Children.map(children, function (child) {
|
|
85
|
+
var _child$props$checked, _ref2, _child$props$onChange;
|
|
86
|
+
return /*#__PURE__*/cloneElement(child, _objectSpread(_objectSpread(_objectSpread({}, child.props), props), {}, {
|
|
87
|
+
value: child.props.value,
|
|
88
|
+
checked: (_child$props$checked = child.props.checked) !== null && _child$props$checked !== void 0 ? _child$props$checked : [internalValue, props.value].includes(child.props.value),
|
|
89
|
+
onChange: (_ref2 = (_child$props$onChange = child.props.onChange) !== null && _child$props$onChange !== void 0 ? _child$props$onChange : onChange) !== null && _ref2 !== void 0 ? _ref2 : internalOnChange
|
|
90
|
+
}));
|
|
91
|
+
})), !!error && /*#__PURE__*/React__default.createElement("p", {
|
|
92
|
+
className: "neeto-ui-radio-input__error",
|
|
93
|
+
"data-cy": "".concat(hyphenize(label), "-radio-input-error"),
|
|
94
|
+
id: errorId
|
|
95
|
+
}, error));
|
|
96
|
+
};
|
|
97
|
+
Radio.Item = Item;
|
|
98
|
+
|
|
99
|
+
export { Radio as default };
|
|
100
|
+
//# sourceMappingURL=Radio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Radio.js","sources":["../src/components/Radio/Item.jsx","../src/components/Radio/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport Label from \"components/Label\";\nimport { useId } from \"hooks\";\nimport { hyphenize } from \"utils\";\n\nconst Item = ({\n name = \"\",\n label = \"\",\n className = \"\",\n labelProps,\n ...otherProps\n}) => {\n const id = useId(otherProps.id);\n\n return (\n <div className={classnames([\"neeto-ui-radio__item\", className])}>\n <input\n {...{ id, name }}\n className=\"neeto-ui-radio\"\n type=\"radio\"\n {...otherProps}\n />\n {label && (\n <Label\n data-cy={`${hyphenize(label)}-radio-label`}\n htmlFor={id}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n </div>\n );\n};\n\nItem.displayName = \"Radio.Item\";\n\nItem.propTypes = {\n /**\n * To specify the name of the radio group.\n */\n name: PropTypes.string,\n /**\n * To specify the label to be displayed for radio item.\n */\n label: PropTypes.node,\n /**\n * To specify external classnames as overrides to the radio item.\n */\n className: PropTypes.string,\n};\n\nexport default Item;\n","import React, { useState, Children, cloneElement } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport Label from \"components/Label\";\nimport { useId } from \"hooks\";\nimport { hyphenize } from \"utils\";\n\nimport Item from \"./Item\";\n\nconst Radio = ({\n label = \"\",\n children,\n stacked = false,\n className = \"\",\n containerClassName = \"\",\n error = \"\",\n onChange,\n labelProps,\n ...props\n}) => {\n const [internalValue, setInternalValue] = useState(\"\");\n\n const id = useId(props.id);\n const errorId = `error_${id}`;\n\n const internalOnChange = e => setInternalValue(e.target.value);\n\n return (\n <div className={classnames([\"neeto-ui-radio__wrapper\", className])}>\n {label && (\n <Label className=\"neeto-ui-radio__label\" {...labelProps}>\n {label}\n </Label>\n )}\n <div\n className={classnames([\"neeto-ui-radio__container\"], {\n \"neeto-ui-radio__container--stacked\": stacked,\n \"neeto-ui-radio__container--error\": error,\n [containerClassName]: containerClassName,\n })}\n >\n {Children.map(children, child =>\n cloneElement(child, {\n ...child.props,\n ...props,\n value: child.props.value,\n checked:\n child.props.checked ??\n [internalValue, props.value].includes(child.props.value),\n onChange: child.props.onChange ?? onChange ?? internalOnChange,\n })\n )}\n </div>\n {!!error && (\n <p\n className=\"neeto-ui-radio-input__error\"\n data-cy={`${hyphenize(label)}-radio-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n </div>\n );\n};\n\nRadio.propTypes = {\n /**\n * To specify the label to be displayed for Radio component.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To specify the content to be rendered inside the Radio component.\n */\n children: PropTypes.node,\n /**\n * To specify whether the Radio items should be stacked vertically or not.\n */\n stacked: PropTypes.bool,\n /**\n * To specify external classnames as overrides to the Radio component.\n */\n className: PropTypes.string,\n /**\n * To specify external classnames for the container of Radio component.\n */\n containerClassName: PropTypes.string,\n /**\n * To specify the error message to be displayed when the Radio input is invalid.\n */\n error: PropTypes.string,\n};\n\nRadio.Item = Item;\n\nexport default Radio;\n"],"names":["Item","_ref","_ref$name","name","_ref$label","label","_ref$className","className","labelProps","otherProps","_objectWithoutProperties","_excluded","id","useId","React","createElement","classnames","_extends","type","Label","concat","hyphenize","htmlFor","displayName","Radio","children","_ref$stacked","stacked","_ref$containerClassNa","containerClassName","_ref$error","error","onChange","props","_useState","useState","_useState2","_slicedToArray","internalValue","setInternalValue","errorId","internalOnChange","e","target","value","_defineProperty","Children","map","child","_child$props$checked","_ref2","_child$props$onChange","cloneElement","_objectSpread","checked","includes"],"mappings":"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"}
|