@fast-simon/dashboard-utilities 1.0.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/components/BackOfficeFiltersMenu/styles.module.css +10 -0
- package/dist/components/CheckboxFilter/Checkbox/styles.module.css +143 -0
- package/dist/components/CheckboxFilter/styles.module.css +5 -0
- package/dist/components/DragAndDrop/styles.module.css +21 -0
- package/dist/components/FacetItem/styles.module.css +55 -0
- package/dist/components/FromToFilter/From/styles.module.css +9 -0
- package/dist/components/FromToFilter/To/styles.module.css +9 -0
- package/dist/components/FromToFilter/styles.module.css +34 -0
- package/dist/components/InStoreFiltersMenu/styles.module.css +10 -0
- package/dist/components/Input/styles.module.css +3 -0
- package/dist/components/LastReceivedDateFilter/styles.module.css +41 -0
- package/dist/components/RadioFilter/Radio/styles.module.css +145 -0
- package/dist/components/RadioFilter/styles.module.css +23 -0
- package/dist/components/ReactDatePicker/styles.module.css +3 -0
- package/dist/components/SingleFilter/styles.module.css +23 -0
- package/dist/components/SliderFilter/styles.module.css +16 -0
- package/dist/components/Tooltip/styles.module.css +34 -0
- package/dist/components/productGrid/styles.module.css +23 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/ActionItem.d.ts +10 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/ActionItem.js +17 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/ActionItem.js.map +1 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/ActionsBar.d.ts +14 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/ActionsBar.js +14 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/ActionsBar.js.map +1 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/utils.d.ts +16 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/utils.js +61 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ActionsBar/utils.js.map +1 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/Positioning/Positioning.d.ts +6 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/Positioning/Positioning.js +52 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/Positioning/Positioning.js.map +1 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/Positioning/index.d.ts +1 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/Positioning/index.js +2 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/Positioning/index.js.map +1 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/ProductCard.d.ts +24 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/ProductCard.js +88 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/ProductCard.js.map +1 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/components/ProductLabel/ProductLabel.d.ts +11 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/components/ProductLabel/ProductLabel.js +11 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/components/ProductLabel/ProductLabel.js.map +1 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/components/ProductLabel/utils.d.ts +8 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/components/ProductLabel/utils.js +9 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/components/ProductLabel/utils.js.map +1 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/utils.d.ts +1 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/utils.js +2 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/ProductCard/utils.js.map +1 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/SelectCard/SelectCard.d.ts +5 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/SelectCard/SelectCard.js +8 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/components/SelectCard/SelectCard.js.map +1 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/context/visualEditorContext.d.ts +66 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/context/visualEditorContext.js +54 -0
- package/dist/dashboard/dashboard-client/src/pages/LandingPages/editor/context/visualEditorContext.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/@types/banner.d.ts +7 -0
- package/dist/frontends/dashboard-utilities/src/@types/banner.js +2 -0
- package/dist/frontends/dashboard-utilities/src/@types/banner.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/@types/categories.d.ts +16 -0
- package/dist/frontends/dashboard-utilities/src/@types/categories.js +2 -0
- package/dist/frontends/dashboard-utilities/src/@types/categories.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/@types/currency.d.ts +1 -0
- package/dist/frontends/dashboard-utilities/src/@types/currency.js +2 -0
- package/dist/frontends/dashboard-utilities/src/@types/currency.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/@types/editorProduct.d.ts +26 -0
- package/dist/frontends/dashboard-utilities/src/@types/editorProduct.js +6 -0
- package/dist/frontends/dashboard-utilities/src/@types/editorProduct.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/@types/facets.d.ts +45 -0
- package/dist/frontends/dashboard-utilities/src/@types/facets.js +19 -0
- package/dist/frontends/dashboard-utilities/src/@types/facets.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/@types/iconProps.d.ts +9 -0
- package/dist/frontends/dashboard-utilities/src/@types/iconProps.js +2 -0
- package/dist/frontends/dashboard-utilities/src/@types/iconProps.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/@types/narrow.d.ts +7 -0
- package/dist/frontends/dashboard-utilities/src/@types/narrow.js +2 -0
- package/dist/frontends/dashboard-utilities/src/@types/narrow.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/@types/product.d.ts +158 -0
- package/dist/frontends/dashboard-utilities/src/@types/product.js +8 -0
- package/dist/frontends/dashboard-utilities/src/@types/product.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/@types/productLabel.d.ts +1 -0
- package/dist/frontends/dashboard-utilities/src/@types/productLabel.js +2 -0
- package/dist/frontends/dashboard-utilities/src/@types/productLabel.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/@types/promoTile.d.ts +11 -0
- package/dist/frontends/dashboard-utilities/src/@types/promoTile.js +2 -0
- package/dist/frontends/dashboard-utilities/src/@types/promoTile.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/@types/results.d.ts +43 -0
- package/dist/frontends/dashboard-utilities/src/@types/results.js +2 -0
- package/dist/frontends/dashboard-utilities/src/@types/results.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/@types/sideMenu.d.ts +19 -0
- package/dist/frontends/dashboard-utilities/src/@types/sideMenu.js +2 -0
- package/dist/frontends/dashboard-utilities/src/@types/sideMenu.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/@types/sortBy.d.ts +3 -0
- package/dist/frontends/dashboard-utilities/src/@types/sortBy.js +2 -0
- package/dist/frontends/dashboard-utilities/src/@types/sortBy.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/App.d.ts +3 -0
- package/dist/frontends/dashboard-utilities/src/App.js +16 -0
- package/dist/frontends/dashboard-utilities/src/App.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.d.ts +9 -0
- package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.js +74 -0
- package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/BackOfficeFiltersMenu.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/index.d.ts +1 -0
- package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/index.js +2 -0
- package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/index.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/utils.d.ts +7 -0
- package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/utils.js +239 -0
- package/dist/frontends/dashboard-utilities/src/components/BackOfficeFiltersMenu/utils.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/CheckboxFilter/Checkbox/Checkbox.d.ts +10 -0
- package/dist/frontends/dashboard-utilities/src/components/CheckboxFilter/Checkbox/Checkbox.js +7 -0
- package/dist/frontends/dashboard-utilities/src/components/CheckboxFilter/Checkbox/Checkbox.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/CheckboxFilter/CheckboxFilter.d.ts +6 -0
- package/dist/frontends/dashboard-utilities/src/components/CheckboxFilter/CheckboxFilter.js +9 -0
- package/dist/frontends/dashboard-utilities/src/components/CheckboxFilter/CheckboxFilter.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/DndContextWrapper.d.ts +20 -0
- package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/DndContextWrapper.js +33 -0
- package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/DndContextWrapper.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/Droppable.d.ts +7 -0
- package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/Droppable.js +10 -0
- package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/Droppable.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/SortableItem.d.ts +13 -0
- package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/SortableItem.js +39 -0
- package/dist/frontends/dashboard-utilities/src/components/DragAndDrop/SortableItem.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/FacetItem/FacetItem.d.ts +13 -0
- package/dist/frontends/dashboard-utilities/src/components/FacetItem/FacetItem.js +40 -0
- package/dist/frontends/dashboard-utilities/src/components/FacetItem/FacetItem.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/FastSimonApi.d.ts +31 -0
- package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/FastSimonApi.js +398 -0
- package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/FastSimonApi.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/context.d.ts +50 -0
- package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/context.js +10 -0
- package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/context.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/index.d.ts +3 -0
- package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/index.js +3 -0
- package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/index.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/reducer.d.ts +172 -0
- package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/reducer.js +67 -0
- package/dist/frontends/dashboard-utilities/src/components/FastSimonApi/reducer.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/FromToFilter/From/From.d.ts +17 -0
- package/dist/frontends/dashboard-utilities/src/components/FromToFilter/From/From.js +22 -0
- package/dist/frontends/dashboard-utilities/src/components/FromToFilter/From/From.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/FromToFilter/FromToFilter.d.ts +14 -0
- package/dist/frontends/dashboard-utilities/src/components/FromToFilter/FromToFilter.js +58 -0
- package/dist/frontends/dashboard-utilities/src/components/FromToFilter/FromToFilter.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/FromToFilter/To/To.d.ts +18 -0
- package/dist/frontends/dashboard-utilities/src/components/FromToFilter/To/To.js +23 -0
- package/dist/frontends/dashboard-utilities/src/components/FromToFilter/To/To.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/FromToFilter/utils.d.ts +25 -0
- package/dist/frontends/dashboard-utilities/src/components/FromToFilter/utils.js +7 -0
- package/dist/frontends/dashboard-utilities/src/components/FromToFilter/utils.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/InStoreFiltersMenu/InStoreFiltersMenu.d.ts +10 -0
- package/dist/frontends/dashboard-utilities/src/components/InStoreFiltersMenu/InStoreFiltersMenu.js +34 -0
- package/dist/frontends/dashboard-utilities/src/components/InStoreFiltersMenu/InStoreFiltersMenu.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/InStoreFiltersMenu/index.d.ts +1 -0
- package/dist/frontends/dashboard-utilities/src/components/InStoreFiltersMenu/index.js +2 -0
- package/dist/frontends/dashboard-utilities/src/components/InStoreFiltersMenu/index.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/Input/Input.d.ts +22 -0
- package/dist/frontends/dashboard-utilities/src/components/Input/Input.js +49 -0
- package/dist/frontends/dashboard-utilities/src/components/Input/Input.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/Input/index.d.ts +1 -0
- package/dist/frontends/dashboard-utilities/src/components/Input/index.js +2 -0
- package/dist/frontends/dashboard-utilities/src/components/Input/index.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/LastReceivedDateFilter/LastReceivedDate.d.ts +9 -0
- package/dist/frontends/dashboard-utilities/src/components/LastReceivedDateFilter/LastReceivedDate.js +88 -0
- package/dist/frontends/dashboard-utilities/src/components/LastReceivedDateFilter/LastReceivedDate.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/LastReceivedDateFilter/utils.d.ts +3 -0
- package/dist/frontends/dashboard-utilities/src/components/LastReceivedDateFilter/utils.js +43 -0
- package/dist/frontends/dashboard-utilities/src/components/LastReceivedDateFilter/utils.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/RadioFilter/Radio/Radio.d.ts +10 -0
- package/dist/frontends/dashboard-utilities/src/components/RadioFilter/Radio/Radio.js +7 -0
- package/dist/frontends/dashboard-utilities/src/components/RadioFilter/Radio/Radio.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/RadioFilter/RadioFilter.d.ts +9 -0
- package/dist/frontends/dashboard-utilities/src/components/RadioFilter/RadioFilter.js +45 -0
- package/dist/frontends/dashboard-utilities/src/components/RadioFilter/RadioFilter.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/RadioFilter/utils.d.ts +1 -0
- package/dist/frontends/dashboard-utilities/src/components/RadioFilter/utils.js +8 -0
- package/dist/frontends/dashboard-utilities/src/components/RadioFilter/utils.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/ReactDatePicker/ReactDatePicker.d.ts +11 -0
- package/dist/frontends/dashboard-utilities/src/components/ReactDatePicker/ReactDatePicker.js +16 -0
- package/dist/frontends/dashboard-utilities/src/components/ReactDatePicker/ReactDatePicker.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/ReactDatePicker/index.d.ts +1 -0
- package/dist/frontends/dashboard-utilities/src/components/ReactDatePicker/index.js +2 -0
- package/dist/frontends/dashboard-utilities/src/components/ReactDatePicker/index.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/RenderIfVisible/RenderIfVisible.d.ts +12 -0
- package/dist/frontends/dashboard-utilities/src/components/RenderIfVisible/RenderIfVisible.js +59 -0
- package/dist/frontends/dashboard-utilities/src/components/RenderIfVisible/RenderIfVisible.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/RenderIfVisible/index.d.ts +1 -0
- package/dist/frontends/dashboard-utilities/src/components/RenderIfVisible/index.js +2 -0
- package/dist/frontends/dashboard-utilities/src/components/RenderIfVisible/index.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/SingleFilter/SingleFilter.d.ts +11 -0
- package/dist/frontends/dashboard-utilities/src/components/SingleFilter/SingleFilter.js +90 -0
- package/dist/frontends/dashboard-utilities/src/components/SingleFilter/SingleFilter.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/SingleFilter/utils.d.ts +3 -0
- package/dist/frontends/dashboard-utilities/src/components/SingleFilter/utils.js +42 -0
- package/dist/frontends/dashboard-utilities/src/components/SingleFilter/utils.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/SliderFilter/SliderFilter.d.ts +20 -0
- package/dist/frontends/dashboard-utilities/src/components/SliderFilter/SliderFilter.js +45 -0
- package/dist/frontends/dashboard-utilities/src/components/SliderFilter/SliderFilter.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/SliderFilter/index.d.ts +1 -0
- package/dist/frontends/dashboard-utilities/src/components/SliderFilter/index.js +2 -0
- package/dist/frontends/dashboard-utilities/src/components/SliderFilter/index.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/Tooltip/Tooltip.d.ts +8 -0
- package/dist/frontends/dashboard-utilities/src/components/Tooltip/Tooltip.js +9 -0
- package/dist/frontends/dashboard-utilities/src/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/common.d.ts +34 -0
- package/dist/frontends/dashboard-utilities/src/components/common.js +80 -0
- package/dist/frontends/dashboard-utilities/src/components/common.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/productGrid/ProductGrid.d.ts +6 -0
- package/dist/frontends/dashboard-utilities/src/components/productGrid/ProductGrid.js +11 -0
- package/dist/frontends/dashboard-utilities/src/components/productGrid/ProductGrid.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/components/productGrid/index.d.ts +1 -0
- package/dist/frontends/dashboard-utilities/src/components/productGrid/index.js +2 -0
- package/dist/frontends/dashboard-utilities/src/components/productGrid/index.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/icons/BackOfficeFiltersIcon.d.ts +2 -0
- package/dist/frontends/dashboard-utilities/src/icons/BackOfficeFiltersIcon.js +7 -0
- package/dist/frontends/dashboard-utilities/src/icons/BackOfficeFiltersIcon.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/icons/BannersIcon.d.ts +2 -0
- package/dist/frontends/dashboard-utilities/src/icons/BannersIcon.js +7 -0
- package/dist/frontends/dashboard-utilities/src/icons/BannersIcon.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/icons/BuriedIcon.d.ts +2 -0
- package/dist/frontends/dashboard-utilities/src/icons/BuriedIcon.js +7 -0
- package/dist/frontends/dashboard-utilities/src/icons/BuriedIcon.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/icons/CutIcon.d.ts +2 -0
- package/dist/frontends/dashboard-utilities/src/icons/CutIcon.js +7 -0
- package/dist/frontends/dashboard-utilities/src/icons/CutIcon.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/icons/HelpIcon.d.ts +7 -0
- package/dist/frontends/dashboard-utilities/src/icons/HelpIcon.js +5 -0
- package/dist/frontends/dashboard-utilities/src/icons/HelpIcon.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/icons/HiddenIcon.d.ts +2 -0
- package/dist/frontends/dashboard-utilities/src/icons/HiddenIcon.js +7 -0
- package/dist/frontends/dashboard-utilities/src/icons/HiddenIcon.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/icons/InStoreFiltersIcon.d.ts +2 -0
- package/dist/frontends/dashboard-utilities/src/icons/InStoreFiltersIcon.js +7 -0
- package/dist/frontends/dashboard-utilities/src/icons/InStoreFiltersIcon.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/icons/PinIcon.d.ts +2 -0
- package/dist/frontends/dashboard-utilities/src/icons/PinIcon.js +7 -0
- package/dist/frontends/dashboard-utilities/src/icons/PinIcon.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/icons/PositionIcon.d.ts +2 -0
- package/dist/frontends/dashboard-utilities/src/icons/PositionIcon.js +7 -0
- package/dist/frontends/dashboard-utilities/src/icons/PositionIcon.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/icons/PromoteIcon.d.ts +2 -0
- package/dist/frontends/dashboard-utilities/src/icons/PromoteIcon.js +7 -0
- package/dist/frontends/dashboard-utilities/src/icons/PromoteIcon.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/icons/RemoveIcon.d.ts +2 -0
- package/dist/frontends/dashboard-utilities/src/icons/RemoveIcon.js +7 -0
- package/dist/frontends/dashboard-utilities/src/icons/RemoveIcon.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/icons/RestoreIcon.d.ts +2 -0
- package/dist/frontends/dashboard-utilities/src/icons/RestoreIcon.js +7 -0
- package/dist/frontends/dashboard-utilities/src/icons/RestoreIcon.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/main.d.ts +1 -0
- package/dist/frontends/dashboard-utilities/src/main.js +6 -0
- package/dist/frontends/dashboard-utilities/src/main.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/services/API.d.ts +21 -0
- package/dist/frontends/dashboard-utilities/src/services/API.js +50 -0
- package/dist/frontends/dashboard-utilities/src/services/API.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/services/landingPage.d.ts +28 -0
- package/dist/frontends/dashboard-utilities/src/services/landingPage.js +153 -0
- package/dist/frontends/dashboard-utilities/src/services/landingPage.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/utils/customTagsFilters.d.ts +4 -0
- package/dist/frontends/dashboard-utilities/src/utils/customTagsFilters.js +10 -0
- package/dist/frontends/dashboard-utilities/src/utils/customTagsFilters.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/utils/fixPinnedPositions.d.ts +4 -0
- package/dist/frontends/dashboard-utilities/src/utils/fixPinnedPositions.js +27 -0
- package/dist/frontends/dashboard-utilities/src/utils/fixPinnedPositions.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/utils/narrow.d.ts +18 -0
- package/dist/frontends/dashboard-utilities/src/utils/narrow.js +101 -0
- package/dist/frontends/dashboard-utilities/src/utils/narrow.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/utils/products.d.ts +30 -0
- package/dist/frontends/dashboard-utilities/src/utils/products.js +39 -0
- package/dist/frontends/dashboard-utilities/src/utils/products.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/utils/shopifyMarkets.d.ts +3 -0
- package/dist/frontends/dashboard-utilities/src/utils/shopifyMarkets.js +7 -0
- package/dist/frontends/dashboard-utilities/src/utils/shopifyMarkets.js.map +1 -0
- package/dist/frontends/dashboard-utilities/src/utils/useDragToSelect.d.ts +13 -0
- package/dist/frontends/dashboard-utilities/src/utils/useDragToSelect.js +177 -0
- package/dist/frontends/dashboard-utilities/src/utils/useDragToSelect.js.map +1 -0
- package/dist/icons/styles.module.css +61 -0
- package/package.json +65 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from 'react';
|
|
3
|
+
import classes from './styles.module.css';
|
|
4
|
+
import clsx from "clsx";
|
|
5
|
+
const Input = ({ initialInput, onChange, onCompleted, debounceTime, customClasses, type = "text", placeholder = "", isInputValidForCommit, placeholderIcon = null, selectAllOnFocus = false, limit }) => {
|
|
6
|
+
const [input, setInput] = useState(initialInput);
|
|
7
|
+
const [timer, setTimer] = useState();
|
|
8
|
+
const inputRef = useRef(null);
|
|
9
|
+
const handleFocus = () => {
|
|
10
|
+
var _a, _b;
|
|
11
|
+
if (selectAllOnFocus) {
|
|
12
|
+
(_b = (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.select) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
setInput(initialInput);
|
|
17
|
+
}, []);
|
|
18
|
+
const isValidLimitation = (value) => {
|
|
19
|
+
if (limit) {
|
|
20
|
+
return value >= limit.min && value <= limit.max;
|
|
21
|
+
}
|
|
22
|
+
return true;
|
|
23
|
+
};
|
|
24
|
+
const onInputChanged = (event) => {
|
|
25
|
+
if (type === 'num' && (Number(event.target.value) !== Number(event.target.value) * 1)) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (type === 'number' && !isValidLimitation(Number(event.target.value))) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
clearTimeout(timer);
|
|
32
|
+
setInput(event.target.value);
|
|
33
|
+
onChange(event.target.value);
|
|
34
|
+
const isValid = !isInputValidForCommit || isInputValidForCommit(event.target.value);
|
|
35
|
+
if (!isValid) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const key = setTimeout(() => {
|
|
39
|
+
onCompleted(event.target.value);
|
|
40
|
+
}, debounceTime);
|
|
41
|
+
setTimer(key);
|
|
42
|
+
};
|
|
43
|
+
const onClick = (event) => {
|
|
44
|
+
event.stopPropagation();
|
|
45
|
+
};
|
|
46
|
+
return (_jsxs("div", Object.assign({ className: clsx(classes.inputContainer, customClasses === null || customClasses === void 0 ? void 0 : customClasses.container) }, { children: [!String(input).length && placeholderIcon ? placeholderIcon : null, _jsx("input", { ref: inputRef, type: type, value: input, onChange: onInputChanged, placeholder: placeholder, className: customClasses === null || customClasses === void 0 ? void 0 : customClasses.input, onMouseDown: onClick, onMouseUp: onClick, onClick: onClick, onFocus: handleFocus })] })));
|
|
47
|
+
};
|
|
48
|
+
export default Input;
|
|
49
|
+
//# sourceMappingURL=Input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../../../src/components/Input/Input.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useEffect, useRef, useState} from 'react';\r\nimport classes from './styles.module.css';\r\nimport clsx from \"clsx\";\r\nexport interface Props {\r\n initialInput: string | number;\r\n onChange: (input: string) => void;\r\n onCompleted: (input: string) => void;\r\n debounceTime: number;\r\n customClasses?: {\r\n container?: string;\r\n input?: string;\r\n }\r\n type?: string;\r\n placeholder?: string;\r\n\r\n isInputValidForCommit?: (userInput: string) => boolean;\r\n\r\n placeholderIcon?: JSX.Element;\r\n selectAllOnFocus?: boolean;\r\n limit?: {min: number, max: number}\r\n}\r\n\r\nconst Input: React.FC<Props> = ({initialInput, onChange, onCompleted, debounceTime, customClasses, type=\"text\", placeholder =\"\", isInputValidForCommit, placeholderIcon=null, selectAllOnFocus = false, limit}) => {\r\n\r\n const [input, setInput] = useState(initialInput);\r\n const [timer, setTimer] = useState<NodeJS.Timeout>();\r\n const inputRef = useRef(null);\r\n const handleFocus = () => {\r\n if (selectAllOnFocus) {\r\n (inputRef?.current as any)?.select?.();\r\n }\r\n };\r\n useEffect(() => {\r\n setInput(initialInput);\r\n }, []);\r\n\r\n const isValidLimitation = (value: number) => {\r\n if(limit) {\r\n return value >= limit.min && value <= limit.max\r\n }\r\n return true\r\n }\r\n\r\n const onInputChanged = (event: any) => {\r\n if(type === 'num' && (Number(event.target.value) !== Number(event.target.value) * 1)) {\r\n return;\r\n }\r\n if(type === 'number' && !isValidLimitation(Number(event.target.value))){\r\n return;\r\n }\r\n clearTimeout(timer);\r\n setInput(event.target.value);\r\n onChange(event.target.value);\r\n const isValid = !isInputValidForCommit || isInputValidForCommit(event.target.value);\r\n if(!isValid) {\r\n return;\r\n }\r\n const key = setTimeout(() => {\r\n onCompleted(event.target.value);\r\n }, debounceTime);\r\n setTimer(key);\r\n }\r\n\r\n const onClick = (event: any) => {\r\n event.stopPropagation();\r\n }\r\n\r\n return (\r\n <div className={clsx(classes.inputContainer, customClasses?.container)}>\r\n {!String(input).length && placeholderIcon ? placeholderIcon : null}\r\n <input ref={inputRef}\r\n type={type} value={input} onChange={onInputChanged} placeholder={placeholder}\r\n className={customClasses?.input} onMouseDown={onClick} onMouseUp={onClick} onClick={onClick}\r\n onFocus={handleFocus}/>\r\n </div>\r\n )\r\n};\r\n\r\nexport default Input;\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./Input";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/Input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC","sourcesContent":["export { default } from \"./Input\";\r\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Facet } from "@fast-simon/utilities";
|
|
2
|
+
interface Props {
|
|
3
|
+
facet: Facet;
|
|
4
|
+
onChange: (facetName: string, narrowName: string, updateSingleNarrow?: boolean, fromDate?: string, toDate?: string) => void;
|
|
5
|
+
narrow?: Set<string>;
|
|
6
|
+
disableSelect?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function LastReceivedDate({ facet, onChange, narrow, disableSelect }: Props): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
package/dist/frontends/dashboard-utilities/src/components/LastReceivedDateFilter/LastReceivedDate.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useEffect, useState } from 'react';
|
|
3
|
+
import { getDisplayName, formatDateToString } from "./utils";
|
|
4
|
+
import classes from './styles.module.css';
|
|
5
|
+
import classNames from "classnames";
|
|
6
|
+
import { getLastReceivedTimeRange } from "../BackOfficeFiltersMenu/utils";
|
|
7
|
+
import { Radio } from "../RadioFilter/Radio/Radio";
|
|
8
|
+
import ReactDatePicker from "../ReactDatePicker";
|
|
9
|
+
export function LastReceivedDate({ facet, onChange, narrow, disableSelect = false }) {
|
|
10
|
+
var _a, _b;
|
|
11
|
+
const [expanded, setExpanded] = useState(false);
|
|
12
|
+
const [itemsToShow, setItemsToShow] = useState([]);
|
|
13
|
+
let timer;
|
|
14
|
+
const [fromDate, setFromDate] = useState(getDefaultFromDate());
|
|
15
|
+
const [toDate, setToDate] = useState(getDefaultToDate());
|
|
16
|
+
const [pickerFromDate, setPickerFromDate] = useState(getDefaultFromDate());
|
|
17
|
+
const [pickerToDate, setPickerToDate] = useState(getDefaultToDate());
|
|
18
|
+
const [pickerChange, setPickerChange] = useState(false);
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
var _a;
|
|
21
|
+
setItemsToShow((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.slice(0, 5));
|
|
22
|
+
}, [facet]);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
var _a;
|
|
25
|
+
if (((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.length) <= (itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length)) {
|
|
26
|
+
setExpanded(true);
|
|
27
|
+
}
|
|
28
|
+
}, [itemsToShow]);
|
|
29
|
+
const handleShowMoreClick = () => {
|
|
30
|
+
setItemsToShow(facet === null || facet === void 0 ? void 0 : facet.values);
|
|
31
|
+
setExpanded(true);
|
|
32
|
+
};
|
|
33
|
+
const handleShowLessClick = () => {
|
|
34
|
+
var _a;
|
|
35
|
+
setItemsToShow((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.slice(0, 5));
|
|
36
|
+
setExpanded(true);
|
|
37
|
+
};
|
|
38
|
+
const onFacetClicked = (name) => {
|
|
39
|
+
clearTimeout(timer);
|
|
40
|
+
timer = setTimeout(() => {
|
|
41
|
+
onChange(facet.id, name, undefined, (name === null || name === void 0 ? void 0 : name.toLowerCase()) === 'custom' ? (fromDate ? formatDateToString(fromDate) : '') : undefined, (name === null || name === void 0 ? void 0 : name.toLowerCase()) === 'custom' ? (toDate ? formatDateToString(toDate) : '') : undefined);
|
|
42
|
+
}, 750);
|
|
43
|
+
};
|
|
44
|
+
function isChecked(name) {
|
|
45
|
+
var _a;
|
|
46
|
+
let narrowName = name;
|
|
47
|
+
if (facet.id === 'merch_lrt') {
|
|
48
|
+
let todayValue = (_a = getLastReceivedTimeRange('today', '', '')) !== null && _a !== void 0 ? _a : '';
|
|
49
|
+
if (narrow && name.toLowerCase() === 'today' && (narrow === null || narrow === void 0 ? void 0 : narrow.has(todayValue))) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
else if (name.toLowerCase() === 'custom' && !(narrow === null || narrow === void 0 ? void 0 : narrow.has(todayValue)) && (narrow === null || narrow === void 0 ? void 0 : narrow.size)) {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
else if (name.toLowerCase() === 'all' && !(narrow === null || narrow === void 0 ? void 0 : narrow.size)) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return !!(narrow === null || narrow === void 0 ? void 0 : narrow.has(narrowName));
|
|
60
|
+
}
|
|
61
|
+
function onFromDateValueChange(value) {
|
|
62
|
+
setPickerChange(true);
|
|
63
|
+
setFromDate(new Date(value));
|
|
64
|
+
}
|
|
65
|
+
function onToDateValueChange(value) {
|
|
66
|
+
setPickerChange(true);
|
|
67
|
+
setToDate(new Date(value));
|
|
68
|
+
}
|
|
69
|
+
useEffect(() => { if (pickerChange) {
|
|
70
|
+
onFacetClicked('custom');
|
|
71
|
+
setPickerChange(false);
|
|
72
|
+
} }, [fromDate, toDate]);
|
|
73
|
+
function getDefaultFromDate() {
|
|
74
|
+
const today = new Date();
|
|
75
|
+
const todayTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);
|
|
76
|
+
return todayTimestamp;
|
|
77
|
+
}
|
|
78
|
+
function getDefaultToDate() {
|
|
79
|
+
const today = new Date();
|
|
80
|
+
const tomorrowTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1);
|
|
81
|
+
return tomorrowTimestamp;
|
|
82
|
+
}
|
|
83
|
+
return (_jsxs("div", Object.assign({ className: classes.fsOptions, style: { opacity: disableSelect ? 0.5 : 1, pointerEvents: disableSelect ? 'none' : 'auto' } }, { children: [itemsToShow.map(value => {
|
|
84
|
+
var _a;
|
|
85
|
+
return (_jsxs(React.Fragment, { children: [_jsx("span", Object.assign({ onClick: () => onFacetClicked(value.name) }, { children: _jsx(Radio, Object.assign({ isChecked: !(narrow === null || narrow === void 0 ? void 0 : narrow.size) && value.name.toLowerCase() === 'all' ? true : isChecked(value.name), id: value.name, onChange: () => onFacetClicked(value.name), ariaLabel: getDisplayName(value.displayName) }, { children: _jsx("span", Object.assign({ className: "filters-option-text fs-serp-filter-text" }, { children: getDisplayName(value.displayName) })) })) }), 'fs-checkbox-' + value.name), ((_a = value === null || value === void 0 ? void 0 : value.name) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'custom' && isChecked(value.name) ? (_jsxs("span", Object.assign({ className: classes.fsFacetContainer }, { children: [_jsx("div", Object.assign({ className: classes.fsFacetOptions }, { children: _jsx(ReactDatePicker, { selected: pickerFromDate, onChange: onFromDateValueChange }, 'from-date-picker-' + value.name) })), _jsx("div", Object.assign({ className: classes.fsFacetOptions }, { children: _jsx(ReactDatePicker, { selected: pickerToDate, onChange: onToDateValueChange }, 'to-date-picker-' + value.name) }))] }), 'fs-facet-container-' + value.name)) : null] }, 'fs-item-' + value.name));
|
|
86
|
+
}), expanded && ((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.length) !== (itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length) ? (_jsx("span", Object.assign({ onClick: handleShowLessClick, className: classes.showMore }, { children: _jsxs("small", { children: ["Show Less\u00A0\u00A0\u00A0", _jsx("i", { className: classNames(classes.arrow, classes.down) })] }) }))) : ((_b = facet === null || facet === void 0 ? void 0 : facet.values) === null || _b === void 0 ? void 0 : _b.length) !== (itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length) ? (_jsx("span", Object.assign({ onClick: handleShowMoreClick, className: classes.showMore }, { children: _jsxs("small", { children: ["Show more\u00A0\u00A0\u00A0", _jsx("i", { className: classNames(classes.arrow, classes.down) })] }) }))) : null] })));
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=LastReceivedDate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LastReceivedDate.js","sourceRoot":"","sources":["../../../../../../src/components/LastReceivedDateFilter/LastReceivedDate.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\r\nimport {Facet} from \"@fast-simon/utilities\";\r\nimport {getDisplayName, formatDateToString} from \"./utils\";\r\nimport classes from './styles.module.css';\r\nimport classNames from \"classnames\";\r\nimport {getLastReceivedTimeRange} from \"../BackOfficeFiltersMenu/utils\";\r\nimport {Radio} from \"../RadioFilter/Radio/Radio\";\r\nimport ReactDatePicker from \"../ReactDatePicker\";\r\n\r\ninterface Props {\r\n facet: Facet;\r\n onChange: (facetName: string, narrowName: string, updateSingleNarrow?: boolean, fromDate?: string, toDate?: string) => void;\r\n narrow?: Set<string>;\r\n disableSelect?: boolean;\r\n}\r\n\r\nexport function LastReceivedDate({facet, onChange, narrow, disableSelect=false}: Props) {\r\n const [expanded, setExpanded] = useState(false);\r\n const [itemsToShow, setItemsToShow] = useState<any[]>([]);\r\n let timer: string | number | NodeJS.Timeout | undefined;\r\n const [fromDate, setFromDate] = useState<Date>(getDefaultFromDate());\r\n const [toDate, setToDate] = useState<Date>(getDefaultToDate());\r\n const [pickerFromDate, setPickerFromDate] = useState<Date>(getDefaultFromDate());\r\n const [pickerToDate, setPickerToDate] = useState<Date>(getDefaultToDate());\r\n const [pickerChange, setPickerChange] = useState<boolean>(false);\r\n useEffect(() => {\r\n setItemsToShow(facet?.values?.slice(0,5));\r\n }, [facet]);\r\n\r\n useEffect(() => {\r\n if (facet?.values?.length <= itemsToShow?.length) {\r\n setExpanded(true);\r\n }\r\n }, [itemsToShow]);\r\n\r\n const handleShowMoreClick = () => {\r\n setItemsToShow(facet?.values);\r\n setExpanded(true);\r\n }\r\n\r\n const handleShowLessClick = () => {\r\n setItemsToShow(facet?.values?.slice(0,5));\r\n setExpanded(true);\r\n }\r\n\r\n const onFacetClicked = (name: string) => {\r\n clearTimeout(timer);\r\n timer = setTimeout(() => {\r\n onChange(facet.id , name, undefined,name?.toLowerCase() === 'custom'? (fromDate?formatDateToString(fromDate):'') : undefined,name?.toLowerCase() === 'custom'? (toDate?formatDateToString(toDate):''): undefined);\r\n }, 750);\r\n }\r\n function isChecked(name: string) {\r\n let narrowName = name;\r\n if (facet.id === 'merch_lrt') {\r\n let todayValue = getLastReceivedTimeRange('today', '', '')??'';\r\n if(narrow && name.toLowerCase() === 'today' && narrow?.has(todayValue)) {\r\n return true;\r\n } else if(name.toLowerCase() === 'custom' && !narrow?.has(todayValue) && narrow?.size) {\r\n return true;\r\n }\r\n else if(name.toLowerCase() === 'all' && !narrow?.size) {\r\n return true;\r\n }\r\n }\r\n return !!narrow?.has(narrowName)\r\n }\r\n\r\n function onFromDateValueChange(value: number) {\r\n setPickerChange(true);\r\n setFromDate(new Date(value));\r\n }\r\n\r\n function onToDateValueChange(value: number) {\r\n setPickerChange(true);\r\n setToDate(new Date(value));\r\n }\r\nuseEffect(() =>{if(pickerChange) {onFacetClicked('custom');setPickerChange(false);}},[fromDate,toDate])\r\n\r\n function getDefaultFromDate() {\r\n const today = new Date();\r\n const todayTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate() -7);\r\n return todayTimestamp;\r\n }\r\n\r\n function getDefaultToDate() {\r\n const today = new Date();\r\n const tomorrowTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1);\r\n return tomorrowTimestamp;\r\n }\r\n\r\n return (\r\n <div className={classes.fsOptions} style={{ opacity: disableSelect ? 0.5 : 1, pointerEvents: disableSelect ? 'none' : 'auto' }}>\r\n {itemsToShow.map(value => (\r\n <React.Fragment key={'fs-item-' + value.name}>\r\n <span key={'fs-checkbox-' + value.name} onClick={() => onFacetClicked(value.name)}>\r\n <Radio\r\n isChecked={!(narrow?.size) && value.name.toLowerCase() === 'all' ? true : isChecked(value.name)}\r\n id={value.name}\r\n onChange={() => onFacetClicked(value.name)}\r\n ariaLabel={getDisplayName(value.displayName)}\r\n >\r\n <span className=\"filters-option-text fs-serp-filter-text\">{getDisplayName(value.displayName)}</span>\r\n </Radio>\r\n </span>\r\n {value?.name?.toLowerCase() === 'custom' && isChecked(value.name) ? (\r\n <span key={'fs-facet-container-' + value.name} className={classes.fsFacetContainer}>\r\n <div className={classes.fsFacetOptions}>\r\n <ReactDatePicker key={'from-date-picker-' + value.name} selected={pickerFromDate}\r\n onChange={onFromDateValueChange}/>\r\n </div>\r\n <div className={classes.fsFacetOptions}>\r\n <ReactDatePicker key={'to-date-picker-' + value.name} selected={pickerToDate}\r\n onChange={onToDateValueChange}/>\r\n </div>\r\n </span>\r\n ) : null}\r\n </React.Fragment>\r\n ))}\r\n {expanded && facet?.values?.length !== itemsToShow?.length ? (\r\n <span onClick={handleShowLessClick} className={classes.showMore}>\r\n <small>Show Less <i className={classNames(classes.arrow, classes.down)}/></small>\r\n </span>\r\n ) : facet?.values?.length !== itemsToShow?.length ? (\r\n <span onClick={handleShowMoreClick} className={classes.showMore}>\r\n <small>Show more <i className={classNames(classes.arrow, classes.down)}/></small>\r\n </span>\r\n ) : null}\r\n </div>\r\n )\r\n\r\n}\r\n\r\n"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export const getDisplayName = (displayName) => {
|
|
2
|
+
let splittedName = displayName === null || displayName === void 0 ? void 0 : displayName.split(':');
|
|
3
|
+
if (splittedName === null || splittedName === void 0 ? void 0 : splittedName[1]) {
|
|
4
|
+
return splittedName === null || splittedName === void 0 ? void 0 : splittedName[1];
|
|
5
|
+
}
|
|
6
|
+
return displayName;
|
|
7
|
+
};
|
|
8
|
+
export const formatDateToString = (date) => {
|
|
9
|
+
if (!(date === null || date === void 0 ? void 0 : date.getDate) && typeof date === 'number') {
|
|
10
|
+
console.log(date);
|
|
11
|
+
date = new Date(1688850000000);
|
|
12
|
+
}
|
|
13
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
14
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
15
|
+
const year = String(date.getFullYear());
|
|
16
|
+
return `${day}-${month}-${year}`;
|
|
17
|
+
};
|
|
18
|
+
export const getLastReceivedTimeRange = (selectedType, fromDate, toDate) => {
|
|
19
|
+
const today = new Date();
|
|
20
|
+
const todayTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate()).getTime() / 1000;
|
|
21
|
+
const tomorrowTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1).getTime() / 1000;
|
|
22
|
+
if (selectedType.toLowerCase() === 'all') {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
else if (selectedType.toLowerCase() === 'today') {
|
|
26
|
+
return `${todayTimestamp}-${tomorrowTimestamp}`;
|
|
27
|
+
}
|
|
28
|
+
if (fromDate || toDate) {
|
|
29
|
+
let fromDateTimestamp = 0;
|
|
30
|
+
let toDateTimestamp = tomorrowTimestamp;
|
|
31
|
+
if (fromDate) {
|
|
32
|
+
const fromDateArr = fromDate.split('-');
|
|
33
|
+
fromDateTimestamp = new Date(Number.parseInt(fromDateArr[2]), Number.parseInt(fromDateArr[1]) - 1, Number.parseInt(fromDateArr[0])).getTime() / 1000;
|
|
34
|
+
}
|
|
35
|
+
if (toDate) {
|
|
36
|
+
const toDateArr = toDate.split('-');
|
|
37
|
+
toDateTimestamp = new Date(Number.parseInt(toDateArr[2]), Number.parseInt(toDateArr[1]) - 1, Number.parseInt(toDateArr[0])).getTime() / 1000;
|
|
38
|
+
}
|
|
39
|
+
return `${fromDateTimestamp}-${toDateTimestamp}`;
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/components/LastReceivedDateFilter/utils.ts"],"names":[],"mappings":"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","sourcesContent":["\r\nexport const getDisplayName = (displayName: string) => {\r\n let splittedName = displayName?.split(':');\r\n if(splittedName?.[1]){\r\n return splittedName?.[1]\r\n }\r\n return displayName;\r\n};\r\nexport const formatDateToString = (date: Date): string => {\r\n if (!date?.getDate && typeof date === 'number') {\r\n console.log(date)\r\n date = new Date(1688850000000)\r\n }\r\n\r\n const day = String(date.getDate()).padStart(2, '0');\r\n const month = String(date.getMonth() + 1).padStart(2, '0');\r\n const year = String(date.getFullYear());\r\n\r\n return `${day}-${month}-${year}`;\r\n}\r\n\r\nexport const getLastReceivedTimeRange = (selectedType: string, fromDate: string, toDate: string): string | undefined => {\r\n\r\n const today = new Date();\r\n const todayTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate()).getTime() / 1000;\r\n const tomorrowTimestamp = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1).getTime() / 1000;\r\n\r\n if (selectedType.toLowerCase() === 'all') {\r\n return undefined;\r\n\r\n } else if (selectedType.toLowerCase() === 'today') {\r\n return `${todayTimestamp}-${tomorrowTimestamp}`;\r\n }\r\n\r\n if (fromDate || toDate) {\r\n let fromDateTimestamp = 0;\r\n let toDateTimestamp = tomorrowTimestamp;\r\n\r\n if (fromDate) {\r\n const fromDateArr = fromDate.split('-');\r\n fromDateTimestamp = new Date(Number.parseInt(fromDateArr[2]), Number.parseInt(fromDateArr[1]) - 1, Number.parseInt(fromDateArr[0])).getTime() / 1000;\r\n }\r\n\r\n if (toDate) {\r\n const toDateArr = toDate.split('-');\r\n toDateTimestamp = new Date( Number.parseInt(toDateArr[2]), Number.parseInt(toDateArr[1]) - 1,Number.parseInt(toDateArr[0])).getTime() / 1000;\r\n }\r\n\r\n return `${fromDateTimestamp}-${toDateTimestamp}`;\r\n }\r\n\r\n return undefined;\r\n}"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface Props {
|
|
3
|
+
isChecked: boolean;
|
|
4
|
+
ariaLabel?: string;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
7
|
+
id?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function Radio({ isChecked, ariaLabel, children, onChange, id }: Props): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import classes from './styles.module.css';
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
export function Radio({ isChecked, ariaLabel, children, onChange, id }) {
|
|
5
|
+
return (_jsx(_Fragment, { children: _jsxs("div", Object.assign({ className: classNames(classes.checkbox, classes.fsCheckbox, isChecked ? classes.fsSelectedCheckboxTrue : classes.fsSelectedCheckboxFalse) }, { children: [_jsx("input", { type: "radio", checked: isChecked, onChange: onChange, "aria-label": ariaLabel, id: id }), _jsx("span", { className: classNames(classes.checkmark, classes.fsSerpCheckmark) }), _jsxs("span", Object.assign({ className: classNames(classes.checkboxLabel, classes.fsCheckboxLabel) }, { children: [children, _jsx("slot", {})] }))] })) }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=Radio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../../../../../src/components/RadioFilter/Radio/Radio.tsx"],"names":[],"mappings":";AAEA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,UAAU,MAAM,YAAY,CAAC;AAUpC,MAAM,UAAU,KAAK,CAAC,EAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAQ;IACvE,OAAO,CACH,4BACI,6BAAK,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,CAAA,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAA,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,iBACxI,gBAAO,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,SAAS,EACnC,QAAQ,EAAE,QAAQ,gBACF,SAAS,EACxB,EAAE,EAAE,EAAE,GACR,EACE,eAAM,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,GAAU,EACjF,8BAAM,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,iBACtE,QAAQ,EACb,gBAAO,KACJ,KAEL,GACP,CACV,CAAA;AAED,CAAC","sourcesContent":["import React, {useEffect, useState} from 'react';\r\nimport {Facet} from \"@fast-simon/utilities\";\r\nimport classes from './styles.module.css';\r\nimport classNames from \"classnames\";\r\n\r\ninterface Props {\r\n isChecked: boolean;\r\n ariaLabel?: string;\r\n children: React.ReactNode,\r\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void,\r\n id?: string\r\n}\r\n\r\nexport function Radio({isChecked, ariaLabel, children, onChange, id}: Props) {\r\n return (\r\n <>\r\n <div className={classNames(classes.checkbox, classes.fsCheckbox, isChecked? classes.fsSelectedCheckboxTrue: classes.fsSelectedCheckboxFalse)}>\r\n <input type=\"radio\" checked={isChecked}\r\n onChange={onChange}\r\n aria-label={ariaLabel}\r\n id={id}\r\n />\r\n <span className={classNames(classes.checkmark, classes.fsSerpCheckmark)} ></span>\r\n <span className={classNames(classes.checkboxLabel, classes.fsCheckboxLabel)}>\r\n {children}\r\n <slot/>\r\n </span>\r\n\r\n </div>\r\n </>\r\n)\r\n\r\n}"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Facet } from "@fast-simon/utilities";
|
|
2
|
+
interface Props {
|
|
3
|
+
facet: Facet;
|
|
4
|
+
onChange: (facetName: string, narrowName: string) => void;
|
|
5
|
+
narrow?: Set<string>;
|
|
6
|
+
disableSelect?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function RadioFilter({ facet, onChange, narrow, disableSelect }: Props): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { getDisplayName } from "./utils";
|
|
4
|
+
import classes from './styles.module.css';
|
|
5
|
+
import classNames from "classnames";
|
|
6
|
+
import { Radio } from "./Radio/Radio";
|
|
7
|
+
export function RadioFilter({ facet, onChange, narrow, disableSelect = false }) {
|
|
8
|
+
var _a, _b;
|
|
9
|
+
const [expanded, setExpanded] = useState(false);
|
|
10
|
+
const [itemsToShow, setItemsToShow] = useState([]);
|
|
11
|
+
let timer;
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
var _a;
|
|
14
|
+
setItemsToShow((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.slice(0, 5));
|
|
15
|
+
}, [facet]);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
var _a;
|
|
18
|
+
if (((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.length) <= (itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length)) {
|
|
19
|
+
setExpanded(true);
|
|
20
|
+
}
|
|
21
|
+
}, [itemsToShow]);
|
|
22
|
+
const handleShowMoreClick = () => {
|
|
23
|
+
setItemsToShow(facet === null || facet === void 0 ? void 0 : facet.values);
|
|
24
|
+
setExpanded(true);
|
|
25
|
+
};
|
|
26
|
+
const handleShowLessClick = () => {
|
|
27
|
+
var _a;
|
|
28
|
+
setItemsToShow((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.slice(0, 5));
|
|
29
|
+
setExpanded(true);
|
|
30
|
+
};
|
|
31
|
+
const onFacetClicked = (name) => {
|
|
32
|
+
clearTimeout(timer);
|
|
33
|
+
timer = setTimeout(() => {
|
|
34
|
+
onChange(facet.id, name);
|
|
35
|
+
}, 750);
|
|
36
|
+
};
|
|
37
|
+
return (_jsxs("div", Object.assign({ className: classes.fsOptions, style: { opacity: disableSelect ? 0.5 : 1, pointerEvents: disableSelect ? 'none' : 'auto' } }, { children: [itemsToShow.map(value => {
|
|
38
|
+
return (_jsx("span", Object.assign({ onClick: () => onFacetClicked(value.name) }, { children: _jsx(Radio, Object.assign({ isChecked: !!(narrow === null || narrow === void 0 ? void 0 : narrow.has(value.name)), id: value.name, onChange: () => { onFacetClicked(value.name); }, ariaLabel: getDisplayName(value.displayName) }, { children: _jsx("span", Object.assign({ className: "filters-option-text fs-serp-filter-text" }, { children: getDisplayName(value.displayName) })) })) }), 'fs-checkbox-' + value.name));
|
|
39
|
+
}), expanded && ((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.length) !== (itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length) ?
|
|
40
|
+
_jsx("span", Object.assign({ onClick: handleShowLessClick, className: classes.showMore }, { children: _jsxs("small", { children: ["Show Less\u00A0\u00A0\u00A0", _jsx("i", { className: classNames(classes.arrow, classes.down) })] }) }))
|
|
41
|
+
:
|
|
42
|
+
((_b = facet === null || facet === void 0 ? void 0 : facet.values) === null || _b === void 0 ? void 0 : _b.length) !== (itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.length) ?
|
|
43
|
+
_jsx("span", Object.assign({ onClick: handleShowMoreClick, className: classes.showMore }, { children: _jsxs("small", { children: ["Show more\u00A0\u00A0\u00A0", _jsx("i", { className: classNames(classes.arrow, classes.down) })] }) })) : null] })));
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=RadioFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioFilter.js","sourceRoot":"","sources":["../../../../../../src/components/RadioFilter/RadioFilter.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\r\nimport {Facet} from \"@fast-simon/utilities\";\r\nimport {getDisplayName} from \"./utils\";\r\nimport classes from './styles.module.css';\r\nimport classNames from \"classnames\";\r\nimport {Radio} from \"./Radio/Radio\";\r\n\r\ninterface Props {\r\n facet: Facet;\r\n onChange: (facetName: string, narrowName: string) => void;\r\n narrow?: Set<string>;\r\n disableSelect?: boolean;\r\n}\r\n\r\nexport function RadioFilter({facet, onChange, narrow, disableSelect=false}: Props) {\r\n const [expanded, setExpanded] = useState(false);\r\n const [itemsToShow, setItemsToShow] = useState<any[]>([]);\r\n let timer: string | number | NodeJS.Timeout | undefined;\r\n\r\n useEffect(() => {\r\n setItemsToShow(facet?.values?.slice(0,5));\r\n }, [facet]);\r\n\r\n useEffect(() => {\r\n if (facet?.values?.length <= itemsToShow?.length) {\r\n setExpanded(true);\r\n }\r\n }, [itemsToShow]);\r\n\r\n const handleShowMoreClick = () => {\r\n setItemsToShow(facet?.values);\r\n setExpanded(true);\r\n }\r\n\r\n const handleShowLessClick = () => {\r\n setItemsToShow(facet?.values?.slice(0,5));\r\n setExpanded(true);\r\n }\r\n\r\n const onFacetClicked = (name: string) => {\r\n clearTimeout(timer);\r\n timer = setTimeout(() => {\r\n onChange(facet.id , name);\r\n }, 750);\r\n }\r\n\r\n return (\r\n <div className={classes.fsOptions} style={{ opacity: disableSelect ? 0.5 : 1, pointerEvents: disableSelect ? 'none' : 'auto' }}>\r\n {\r\n itemsToShow.map(value => {\r\n return (\r\n <span key={'fs-checkbox-'+ value.name} onClick={() => onFacetClicked(value.name)}>\r\n <Radio isChecked={!!narrow?.has(value.name)} id={value.name} onChange={() => {onFacetClicked(value.name)}} ariaLabel={getDisplayName(value.displayName)}>\r\n <span className=\"filters-option-text fs-serp-filter-text\">{getDisplayName(value.displayName)}</span>\r\n </Radio>\r\n </span>\r\n )\r\n })\r\n }\r\n {expanded && facet?.values?.length !== itemsToShow?.length ?\r\n <span onClick={handleShowLessClick} className={classes.showMore}><small>Show Less <i\r\n className={classNames(classes.arrow, classes.down)}/></small>\r\n </span>\r\n :\r\n facet?.values?.length !== itemsToShow?.length ?\r\n <span onClick={handleShowMoreClick} className={classes.showMore}><small>Show more <i\r\n className={classNames(classes.arrow, classes.down)}/></small>\r\n </span> : null\r\n }\r\n </div>\r\n\r\n )\r\n\r\n}\r\n\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getDisplayName: (displayName: string) => string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const getDisplayName = (displayName) => {
|
|
2
|
+
let splittedName = displayName === null || displayName === void 0 ? void 0 : displayName.split(':');
|
|
3
|
+
if (splittedName === null || splittedName === void 0 ? void 0 : splittedName[1]) {
|
|
4
|
+
return splittedName === null || splittedName === void 0 ? void 0 : splittedName[1];
|
|
5
|
+
}
|
|
6
|
+
return displayName;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/components/RadioFilter/utils.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAE,EAAE;IAClD,IAAI,YAAY,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,EAAC;QACjB,OAAO,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,CAAA;KAC3B;IACD,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC","sourcesContent":["\r\nexport const getDisplayName = (displayName: string) => {\r\n let splittedName = displayName?.split(':');\r\n if(splittedName?.[1]){\r\n return splittedName?.[1]\r\n }\r\n return displayName;\r\n};"]}
|
package/dist/frontends/dashboard-utilities/src/components/ReactDatePicker/ReactDatePicker.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "react-datepicker/dist/react-datepicker.css";
|
|
3
|
+
export interface Props {
|
|
4
|
+
startDate?: Date;
|
|
5
|
+
endDate?: Date;
|
|
6
|
+
selected?: Date;
|
|
7
|
+
onChange?: (date: any) => void;
|
|
8
|
+
placeholder?: string;
|
|
9
|
+
}
|
|
10
|
+
declare const ReactDatePicker: React.FC<Props>;
|
|
11
|
+
export default ReactDatePicker;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import DatePicker from "react-datepicker";
|
|
4
|
+
import classes from './styles.module.css';
|
|
5
|
+
import "react-datepicker/dist/react-datepicker.css";
|
|
6
|
+
// CSS Modules, react-datepicker-cssmodules.css
|
|
7
|
+
// import 'react-datepicker/dist/react-datepicker-cssmodules.css';
|
|
8
|
+
const ReactDatePicker = ({ startDate, endDate, selected, onChange, placeholder }) => {
|
|
9
|
+
const [selectedDate, setSelectedDate] = useState(selected ? selected : new Date());
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
setSelectedDate(selected);
|
|
12
|
+
}, [selected]);
|
|
13
|
+
return (_jsx(DatePicker, { className: classes.fullWidthInput, placeholderText: placeholder, selected: selectedDate, onChange: (date) => { setSelectedDate(date); onChange === null || onChange === void 0 ? void 0 : onChange(date === null || date === void 0 ? void 0 : date.getTime()); } }));
|
|
14
|
+
};
|
|
15
|
+
export default ReactDatePicker;
|
|
16
|
+
//# sourceMappingURL=ReactDatePicker.js.map
|
package/dist/frontends/dashboard-utilities/src/components/ReactDatePicker/ReactDatePicker.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReactDatePicker.js","sourceRoot":"","sources":["../../../../../../src/components/ReactDatePicker/ReactDatePicker.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACjD,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAE1C,OAAO,4CAA4C,CAAC;AASpD,+CAA+C;AAC/C,kEAAkE;AAElE,MAAM,eAAe,GAAoB,CAAC,EAAC,SAAS,EAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAC,EAAE,EAAE;IAChG,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAiB,QAAQ,CAAA,CAAC,CAAC,QAAQ,CAAA,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjG,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC,EAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IACb,OAAO,CACL,KAAC,UAAU,IAAC,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,IAAS,EAAE,EAAE,GAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAI,IAAa,aAAb,IAAI,uBAAJ,IAAI,CAAW,OAAO,EAAE,CAAC,CAAC,CAAA,CAAC,GAAI,CAClM,CAAC;AACJ,CAAC,CAAC;AACF,eAAgB,eAAe,CAAC","sourcesContent":["import React, {useEffect, useState} from \"react\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport classes from './styles.module.css';\r\n\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nexport interface Props {\r\n startDate?: Date,\r\n endDate?: Date,\r\n selected?: Date,\r\n onChange?: (date: any) => void;\r\n placeholder?: string;\r\n}\r\n\r\n// CSS Modules, react-datepicker-cssmodules.css\r\n// import 'react-datepicker/dist/react-datepicker-cssmodules.css';\r\n\r\nconst ReactDatePicker: React.FC<Props> = ({startDate,endDate, selected, onChange, placeholder}) => {\r\n const [selectedDate, setSelectedDate] = useState<Date|undefined>(selected? selected: new Date());\r\n useEffect(() => {\r\n setSelectedDate(selected);\r\n },[selected])\r\n return (\r\n <DatePicker className={classes.fullWidthInput} placeholderText={placeholder} selected={selectedDate} onChange={(date: any) => {setSelectedDate(date); onChange?.((date as Date)?.getTime());}} />\r\n );\r\n};\r\nexport default ReactDatePicker;\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./ReactDatePicker";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/ReactDatePicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["export { default } from \"./ReactDatePicker\";\r\n"]}
|
package/dist/frontends/dashboard-utilities/src/components/RenderIfVisible/RenderIfVisible.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React, { RefObject } from "react";
|
|
2
|
+
type Props = {
|
|
3
|
+
defaultHeight: number;
|
|
4
|
+
visibleOffset: number;
|
|
5
|
+
id: string;
|
|
6
|
+
rootElementClass?: string;
|
|
7
|
+
placeholderElementClass?: string;
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
rootRef?: RefObject<HTMLDivElement>;
|
|
10
|
+
};
|
|
11
|
+
declare const RenderIfVisible: React.FC<Props>;
|
|
12
|
+
export default RenderIfVisible;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useRef, useEffect, createRef } from "react";
|
|
3
|
+
const RenderIfVisible = ({ placeholderElementClass, rootElementClass, id, defaultHeight = 300, visibleOffset = 1000, children, rootRef, }) => {
|
|
4
|
+
const [isVisible, setIsVisible] = useState(false);
|
|
5
|
+
const placeholderHeight = useRef(defaultHeight);
|
|
6
|
+
const intersectionRef = createRef();
|
|
7
|
+
const [observerRef, setObserverRef] = useState();
|
|
8
|
+
const [isCalculated, setIsCalculated] = useState(false);
|
|
9
|
+
// Set visibility with intersection observer
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
if (intersectionRef.current && !isCalculated && (rootRef === null || rootRef === void 0 ? void 0 : rootRef.current)) {
|
|
12
|
+
setIsCalculated(true);
|
|
13
|
+
const observer = new IntersectionObserver((entries) => {
|
|
14
|
+
if (window.requestIdleCallback) {
|
|
15
|
+
window.requestIdleCallback(() => setIsVisible(entries[entries.length - 1].isIntersecting), { timeout: 600 });
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
setIsVisible(entries[entries.length - 1].isIntersecting);
|
|
19
|
+
}
|
|
20
|
+
}, {
|
|
21
|
+
rootMargin: `${visibleOffset}px 0px ${visibleOffset}px 0px`,
|
|
22
|
+
root: rootRef === null || rootRef === void 0 ? void 0 : rootRef.current
|
|
23
|
+
});
|
|
24
|
+
setObserverRef(observer);
|
|
25
|
+
observer.observe(intersectionRef.current);
|
|
26
|
+
return () => {
|
|
27
|
+
if (intersectionRef.current) {
|
|
28
|
+
observer.unobserve(intersectionRef.current);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}, [rootRef]);
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
return () => {
|
|
35
|
+
if (intersectionRef.current) {
|
|
36
|
+
observerRef === null || observerRef === void 0 ? void 0 : observerRef.unobserve(intersectionRef.current);
|
|
37
|
+
observerRef === null || observerRef === void 0 ? void 0 : observerRef.disconnect();
|
|
38
|
+
}
|
|
39
|
+
setObserverRef(undefined);
|
|
40
|
+
};
|
|
41
|
+
}, []);
|
|
42
|
+
// Set height after render
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
if (intersectionRef.current && isVisible) {
|
|
45
|
+
placeholderHeight.current =
|
|
46
|
+
intersectionRef.current.offsetHeight;
|
|
47
|
+
}
|
|
48
|
+
else if (intersectionRef.current && !isCalculated) {
|
|
49
|
+
setIsCalculated(true);
|
|
50
|
+
}
|
|
51
|
+
}, [isVisible, intersectionRef]);
|
|
52
|
+
return (_jsx("div", Object.assign({ style: {
|
|
53
|
+
width: "100%",
|
|
54
|
+
height: "100%",
|
|
55
|
+
minHeight: isVisible ? '100%' : placeholderHeight.current
|
|
56
|
+
}, ref: intersectionRef, id: id, className: placeholderElementClass }, { children: isVisible && children })));
|
|
57
|
+
};
|
|
58
|
+
export default RenderIfVisible;
|
|
59
|
+
//# sourceMappingURL=RenderIfVisible.js.map
|
package/dist/frontends/dashboard-utilities/src/components/RenderIfVisible/RenderIfVisible.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderIfVisible.js","sourceRoot":"","sources":["../../../../../../src/components/RenderIfVisible/RenderIfVisible.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {useState, useRef, useEffect, createRef, RefObject} from \"react\";\r\n\r\ntype Props = {\r\n defaultHeight: number;\r\n visibleOffset: number;\r\n id: string;\r\n rootElementClass?: string;\r\n placeholderElementClass?: string;\r\n children: React.ReactNode;\r\n rootRef?: RefObject<HTMLDivElement>;\r\n};\r\n\r\nconst RenderIfVisible: React.FC<Props> = (\r\n {\r\n placeholderElementClass,\r\n rootElementClass,\r\n id,\r\n defaultHeight = 300,\r\n visibleOffset = 1000,\r\n children,\r\n rootRef,\r\n }\r\n) => {\r\n const [isVisible, setIsVisible] = useState<boolean>(false);\r\n const placeholderHeight = useRef<number>(defaultHeight);\r\n const intersectionRef = createRef<HTMLDivElement>();\r\n const [observerRef, setObserverRef] = useState<IntersectionObserver>();\r\n const [isCalculated, setIsCalculated] = useState(false);\r\n\r\n // Set visibility with intersection observer\r\n useEffect(() => {\r\n if (intersectionRef.current && !isCalculated && rootRef?.current) {\r\n setIsCalculated(true);\r\n const observer = new IntersectionObserver(\r\n (entries) => {\r\n if (window.requestIdleCallback) {\r\n window.requestIdleCallback(() => setIsVisible(entries[entries.length - 1].isIntersecting), {timeout: 600});\r\n } else {\r\n setIsVisible(entries[entries.length - 1].isIntersecting);\r\n }\r\n },\r\n {\r\n rootMargin: `${visibleOffset}px 0px ${visibleOffset}px 0px`,\r\n root: rootRef?.current\r\n }\r\n );\r\n setObserverRef(observer);\r\n observer.observe(intersectionRef.current);\r\n return () => {\r\n if (intersectionRef.current) {\r\n observer.unobserve(intersectionRef.current);\r\n }\r\n };\r\n }\r\n }, [rootRef]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (intersectionRef.current) {\r\n observerRef?.unobserve(intersectionRef.current);\r\n observerRef?.disconnect();\r\n }\r\n setObserverRef(undefined);\r\n };\r\n }, []);\r\n\r\n // Set height after render\r\n useEffect(() => {\r\n if (intersectionRef.current && isVisible) {\r\n placeholderHeight.current =\r\n intersectionRef.current.offsetHeight;\r\n } else if (intersectionRef.current && !isCalculated) {\r\n setIsCalculated(true);\r\n }\r\n }, [isVisible, intersectionRef]);\r\n\r\n return (\r\n <div\r\n style={{\r\n width: \"100%\",\r\n height: \"100%\",\r\n minHeight: isVisible ? '100%' : placeholderHeight.current\r\n }}\r\n ref={intersectionRef}\r\n id={id}\r\n className={placeholderElementClass}\r\n >\r\n {isVisible && children}\r\n </div>\r\n );\r\n}\r\n\r\nexport default RenderIfVisible;\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./RenderIfVisible";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/components/RenderIfVisible/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["export { default } from \"./RenderIfVisible\";\r\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Facet } from "@fast-simon/utilities";
|
|
2
|
+
interface Props {
|
|
3
|
+
facet: Facet;
|
|
4
|
+
onChange: (facetName: string, narrowName: string, updateSingleNarrow?: boolean) => void;
|
|
5
|
+
narrow?: Set<string>;
|
|
6
|
+
disableSelect?: boolean;
|
|
7
|
+
onNarrowChange: (narrow: any) => void;
|
|
8
|
+
onPageChange: (page: number) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function SingleFilter({ facet, onChange, narrow, disableSelect, onNarrowChange, onPageChange }: Props): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|