@bigbinary/neetoui 6.5.7 → 6.5.9-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/TreeSelect-af6d4145.js +6171 -0
  2. package/dist/TreeSelect-af6d4145.js.map +1 -0
  3. package/dist/Typography-3bf740f3.js +2932 -0
  4. package/dist/Typography-3bf740f3.js.map +1 -0
  5. package/dist/cjs/TreeSelect-244fb236.js +6210 -0
  6. package/dist/cjs/TreeSelect-244fb236.js.map +1 -0
  7. package/dist/cjs/Typography-72ac982c.js +2964 -0
  8. package/dist/cjs/Typography-72ac982c.js.map +1 -0
  9. package/dist/cjs/createClass-ca103cfb.js +57 -0
  10. package/dist/cjs/createClass-ca103cfb.js.map +1 -0
  11. package/dist/cjs/formik.js +630 -0
  12. package/dist/cjs/formik.js.map +1 -0
  13. package/dist/cjs/index-a5047060.js +98 -0
  14. package/dist/cjs/index-a5047060.js.map +1 -0
  15. package/dist/cjs/index.js +4470 -0
  16. package/dist/cjs/index.js.map +1 -0
  17. package/dist/cjs/layouts.js +377 -0
  18. package/dist/cjs/layouts.js.map +1 -0
  19. package/dist/cjs/managers.js +11 -0
  20. package/dist/cjs/managers.js.map +1 -0
  21. package/{managers.cjs.js → dist/cjs/overlayManager-a0827ae7.js} +4 -54
  22. package/dist/cjs/overlayManager-a0827ae7.js.map +1 -0
  23. package/dist/createClass-27bd48bc.js +52 -0
  24. package/dist/createClass-27bd48bc.js.map +1 -0
  25. package/dist/formik.js +610 -0
  26. package/dist/formik.js.map +1 -0
  27. package/dist/index-f5a4691b.js +91 -0
  28. package/dist/index-f5a4691b.js.map +1 -0
  29. package/dist/index.css +4 -0
  30. package/dist/index.js +4403 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/layouts.js +369 -0
  33. package/dist/layouts.js.map +1 -0
  34. package/dist/managers.js +3 -0
  35. package/dist/managers.js.map +1 -0
  36. package/{managers.js → dist/overlayManager-4d5be56b.js} +3 -51
  37. package/dist/overlayManager-4d5be56b.js.map +1 -0
  38. package/index.d.ts +2 -0
  39. package/package.json +25 -18
  40. package/formik.cjs.js +0 -27745
  41. package/formik.cjs.js.map +0 -1
  42. package/formik.js +0 -27703
  43. package/formik.js.map +0 -1
  44. package/index.cjs.js +0 -42484
  45. package/index.cjs.js.map +0 -1
  46. package/index.js +0 -42414
  47. package/index.js.map +0 -1
  48. package/layouts.cjs.js +0 -5294
  49. package/layouts.cjs.js.map +0 -1
  50. package/layouts.js +0 -5286
  51. package/layouts.js.map +0 -1
  52. package/managers.cjs.js.map +0 -1
  53. package/managers.js.map +0 -1
  54. /package/{index.css → dist/cjs/index.css} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/components/Accordion/Collapse.jsx","../src/components/Accordion/Item.jsx","../src/components/Accordion/index.jsx","../src/components/Dropdown/Divider.jsx","../src/components/Dropdown/Menu.jsx","../src/components/Dropdown/MenuItem/MenuItem.jsx","../src/components/Dropdown/MenuItem/MenuItemButton.jsx","../src/components/Dropdown/MenuItem/index.js","../src/components/Dropdown/index.jsx","../src/components/ActionDropdown.jsx","../src/hooks/useQueryParams.js","../src/hooks/useTimeout.js","../src/components/Callout.jsx","../node_modules/tinycolor2/tinycolor.js","../node_modules/use-eye-dropper/lib/use-eye-dropper.module.js","../node_modules/use-eye-dropper/lib/index.module.js","../src/components/ColorPicker/Palette.jsx","../src/components/ColorPicker/index.jsx","../src/components/DatePicker.jsx","../node_modules/dayjs/plugin/customParseFormat.js","../src/components/TimePickerInput/HoverIcon.jsx","../src/components/TimePickerInput/useRefState.js","../src/components/TimePickerInput/utils.js","../src/components/TimePickerInput/index.jsx","../src/components/DateTimePicker/utils.js","../src/components/DateTimePicker/index.jsx","../src/components/Kbd.jsx","../src/components/NoData/utils.jsx","../src/components/NoData/index.jsx","../src/components/Pagination/constants.js","../src/components/Pagination/hooks/usePaginationQueryParams.js","../src/components/Pagination/utils.js","../src/components/Pagination/index.jsx","../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","../src/components/Popover/Title.jsx","../src/components/Popover/index.jsx","../src/components/Stepper/index.jsx","../src/components/Tab/Item.jsx","../src/components/Tab/index.jsx","../src/components/Table/components/SelectAllRowsCallout.jsx","../src/components/Table/constants.js","../src/components/Table/hooks/useReorderColumns.js","../src/components/Table/components/SortIcon.jsx","../src/components/Table/hooks/useResizableColumns.js","../src/components/Table/hooks/useColumns.js","../src/components/Table/hooks/useTableSort.js","../src/components/Table/components/HeaderCell/HeaderCellMenu.jsx","../src/components/Table/components/HeaderCell/CellContent.jsx","../src/components/Table/components/HeaderCell/HeaderCell.jsx","../src/components/Table/components/HeaderCell/ResizableHeaderCell.jsx","../src/components/Table/components/HeaderCell/index.jsx","../src/components/Table/utils.js","../src/components/Table/index.jsx","../src/components/TimePicker/constants.js","../src/components/TimePicker/index.jsx","../node_modules/linkify-react/dist/linkify-react.es.js","../src/components/Toastr/Toast.jsx","../src/components/Toastr/index.jsx","../src/components/Tree/SwitcherIcon.jsx","../src/components/Tree/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { AnimatePresence, motion } from \"framer-motion\";\n\nconst Collapse = ({\n open = false,\n children,\n className = \"\",\n ...otherProps\n}) => (\n <AnimatePresence>\n {open && (\n <motion.div\n animate={{ opacity: 1, height: \"auto\" }}\n exit={{ opacity: 0, height: 0 }}\n initial={{ opacity: 0, height: 0, overflow: \"hidden\" }}\n transition={{ duration: 0.3 }}\n {...otherProps}\n >\n <div className={className}>{children}</div>\n </motion.div>\n )}\n </AnimatePresence>\n);\n\nexport default Collapse;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { motion } from \"framer-motion\";\nimport { Right } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\n\nimport Collapse from \"./Collapse\";\n\nconst Item = ({\n id,\n title = \"\",\n isOpen = false,\n onClick = () => {},\n children,\n className = \"\",\n titleProps = {},\n iconProps = {},\n}) => {\n const onKeyDown = e => {\n switch (e.key) {\n case \" \":\n case \"Enter\":\n onClick();\n break;\n default:\n }\n };\n\n return (\n <div\n className={classnames(\"neeto-ui-accordion__wrapper\", {\n [className]: className,\n })}\n >\n <div\n {...{ onClick, onKeyDown }}\n aria-controls={`neeto-ui-accordion-section-${id}`}\n aria-disabled={isOpen}\n aria-expanded={isOpen}\n id={`neeto-ui-accordion-item-${id}`}\n role=\"button\"\n tabIndex={0}\n className={classnames(\n \"neeto-ui-accordion__item neeto-ui-flex neeto-ui-justify-between neeto-ui-items-center\",\n { \"neeto-ui-accordion__item--open\": isOpen }\n )}\n >\n <div\n {...titleProps}\n className=\"neeto-ui-accordion__item-handle neeto-ui-flex neeto-ui-flex-grow neeto-ui-items-center neeto-ui-break-words\"\n >\n {title}\n </div>\n <motion.div\n animate={isOpen ? \"open\" : \"collapsed\"}\n className=\"neeto-ui-accordion__item-toggle-icon neeto-ui-flex-grow-0\"\n transition={{ duration: 0.3 }}\n variants={{ open: { rotate: 90 }, collapsed: { rotate: 0 } }}\n >\n <Right size={16} {...iconProps} />\n </motion.div>\n </div>\n <Collapse\n aria-labelledby={`neeto-ui-accordion-item-${id}`}\n className=\"neeto-ui-accordion__drop\"\n id={`neeto-ui-accordion-section-${id}`}\n open={isOpen}\n role=\"region\"\n >\n {children}\n </Collapse>\n </div>\n );\n};\n\nItem.displayName = \"Accordion.Item\";\n\nItem.propTypes = {\n /**\n * To specify a unique ID to the AccordionItem.\n */\n id: PropTypes.number,\n /**\n * To add title to the AccordionItem.\n */\n title: PropTypes.string,\n /**\n * To specify whether the Accordion item is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the action to be triggered on click of the AccordionItem.\n */\n onClick: PropTypes.func,\n /**\n * To specify the content to be rendered inside the AccordionItem.\n */\n children: PropTypes.node,\n /**\n * To pass props to Accordion title.\n */\n titleProps: PropTypes.object,\n /**\n * To pass props to Accordion toggle icon.\n */\n iconProps: PropTypes.object,\n /**\n * To provide external classnames to Accordion item.\n */\n className: PropTypes.string,\n};\n\nexport default Item;\n","import React, { useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport Item from \"./Item\";\n\nconst ACCORDION_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n};\n\nconst Accordion = ({\n children,\n defaultActiveKey = null,\n padded = false,\n style = ACCORDION_STYLES.primary,\n className = \"\",\n}) => {\n const [openTab, setOpenTab] = useState(defaultActiveKey);\n\n useEffect(() => {\n setOpenTab(defaultActiveKey);\n }, [defaultActiveKey]);\n\n return (\n <div\n className={classnames(\"neeto-ui-accordions-outer-wrapper\", {\n \"neeto-ui-accordions-outer-wrapper--padded\": padded,\n \"neeto-ui-accordions-outer-wrapper--secondary\":\n style === ACCORDION_STYLES.secondary,\n [className]: className,\n })}\n >\n {React.Children.map(children, (child, index) => {\n const isSingleOrLastChild =\n isEmpty(children) || index === children.length - 1;\n\n return React.cloneElement(child, {\n id: index,\n key: index,\n isOpen: openTab === index,\n className: classnames(child.props.className, {\n \"neeto-ui-accordion__wrapper--last-item\": isSingleOrLastChild,\n }),\n onClick: () => {\n setOpenTab(openTab === index ? null : index);\n child.props.onClick && child.props.onClick();\n },\n });\n })}\n </div>\n );\n};\n\nAccordion.propTypes = {\n /**\n * To specify the content to be rendered inside the Accordion.\n */\n children: PropTypes.node,\n /**\n * To set the style of the Accordion.\n */\n style: PropTypes.oneOf(Object.values(ACCORDION_STYLES)),\n /**\n * To add padding to the Accordion container.\n */\n padded: PropTypes.bool,\n /**\n * Index of the Accordion item to be opened initially.\n */\n defaultActiveKey: PropTypes.number,\n /**\n * To provide external classnames to Accordion container.\n */\n className: PropTypes.string,\n};\n\nAccordion.Item = Item;\n\nexport default Accordion;\n","import React from \"react\";\n\nconst Divider = props => (\n <li className=\"neeto-ui-dropdown__popup-divider\" {...props} />\n);\n\nexport default Divider;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Menu = ({ children, className, ...otherProps }) => (\n <ul\n className={classnames(\"neeto-ui-dropdown__popup-menu\", className)}\n {...otherProps}\n >\n {children}\n </ul>\n);\n\nMenu.propTypes = {\n /**\n * To specify className to be applied to the Menu.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Menu.\n */\n children: PropTypes.node,\n};\n\nexport default Menu;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport Tooltip from \"components/Tooltip\";\n\nconst MenuItem = ({ children, className, tooltipProps, ...otherProps }) => {\n const renderMenuItem = () => (\n <li\n className={classnames(\"neeto-ui-dropdown__popup-menu-item\", className)}\n {...otherProps}\n >\n {children}\n </li>\n );\n\n if (isPresent(tooltipProps)) {\n return <Tooltip {...tooltipProps}>{renderMenuItem()}</Tooltip>;\n }\n\n return renderMenuItem();\n};\n\nMenuItem.propTypes = {\n /**\n * To specify className to be applied to the MenuItem.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the MenuItem.\n */\n children: PropTypes.node,\n /**\n * To specify the active state of the MenuItem.\n */\n isActive: PropTypes.bool,\n /**\n * To specify the props to be passed to the tooltip.\n */\n tooltipProps: PropTypes.object,\n};\n\nexport default MenuItem;\n","import React, { forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { Link } from \"react-router-dom\";\n\nimport MenuItem from \"./MenuItem\";\n\nconst ITEM_BTN_STYLES = { default: \"default\", danger: \"danger\" };\n\nconst BUTTON_TYPES = { button: \"button\", reset: \"reset\", submit: \"submit\" };\n\nconst MenuItemButton = forwardRef(\n (\n {\n children,\n className,\n isActive,\n isDisabled,\n style = ITEM_BTN_STYLES.default,\n prefix,\n suffix,\n type = BUTTON_TYPES.button,\n to = \"\",\n href = \"\",\n tooltipProps,\n ...otherProps\n },\n ref\n ) => {\n let Parent, elementSpecificProps;\n if (to) {\n Parent = Link;\n elementSpecificProps = { to };\n } else if (href) {\n Parent = \"a\";\n elementSpecificProps = { href };\n } else {\n Parent = \"button\";\n elementSpecificProps = { type };\n }\n\n return (\n <MenuItem {...{ tooltipProps }}>\n <Parent\n disabled={isDisabled}\n className={classnames(\n \"neeto-ui-dropdown__popup-menu-item-btn\",\n className,\n {\n \"neeto-ui-dropdown__popup-menu-item-btn--active\": isActive,\n \"neeto-ui-dropdown__popup-menu-item-btn--disabled\": isDisabled,\n \"neeto-ui-dropdown__popup-menu-item-btn--style-danger\":\n style === ITEM_BTN_STYLES.danger,\n }\n )}\n {...{ ref, ...otherProps, ...elementSpecificProps }}\n >\n {prefix && (\n <div className=\"neeto-ui-dropdown__popup-menu-item-btn__prefix\">\n {prefix}\n </div>\n )}\n {children}\n {suffix && (\n <div className=\"neeto-ui-dropdown__popup-menu-item-btn__suffix\">\n {suffix}\n </div>\n )}\n </Parent>\n </MenuItem>\n );\n }\n);\n\nMenuItemButton.displayName = \"MenuItemButton\";\n\nMenuItemButton.propTypes = {\n /**\n * To specify className to be applied to the MenuItem.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the MenuItem.\n */\n children: PropTypes.node,\n /**\n * To specify the active state of the MenuItem.\n */\n isActive: PropTypes.bool,\n /**\n * To specify whether the MenuItem is disabled.\n */\n isDisabled: PropTypes.bool,\n /**\n * To specify an internal route to which the button points to.\n */\n to: PropTypes.string,\n /**\n * To specify an external link to which the button points to.\n */\n href: PropTypes.string,\n /**\n * To specify the content to be added at the end of the input field.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the input field.\n */\n prefix: PropTypes.node,\n /**\n * To specify the type of button.\n */\n type: PropTypes.oneOf(Object.values(BUTTON_TYPES)),\n /**\n * To specify the style of button.\n */\n style: PropTypes.oneOf(Object.values(ITEM_BTN_STYLES)),\n /**\n * To specify the props to be passed to the tooltip.\n */\n tooltipProps: PropTypes.object,\n};\n\nexport default MenuItemButton;\n","import MenuItem from \"./MenuItem\";\nimport MenuItemButton from \"./MenuItemButton\";\n\nMenuItem.Button = MenuItemButton;\n\nexport default MenuItem;\n","import React, { useState } from \"react\";\n\nimport Tippy from \"@tippyjs/react\";\nimport classnames from \"classnames\";\nimport { Down } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { isNil } from \"ramda\";\n\nimport Button from \"components/Button\";\nimport { hyphenize, noop } from \"utils\";\n\nimport Divider from \"./Divider\";\nimport Menu from \"./Menu\";\nimport MenuItem from \"./MenuItem\";\n\nconst BTN_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n tertiary: \"tertiary\",\n danger: \"danger\",\n danger_text: \"danger-text\",\n text: \"text\",\n link: \"link\",\n};\n\nconst BTN_SIZES = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n};\n\nconst STRATEGY = { absolute: \"absolute\", fixed: \"fixed\" };\n\nconst PLACEMENT = {\n auto: \"auto\",\n autoStart: \"auto-start\",\n autoEnd: \"auto-end\",\n top: \"top\",\n topStart: \"top-start\",\n topEnd: \"top-end\",\n bottom: \"bottom\",\n bottomStart: \"bottom-start\",\n bottomEnd: \"bottom-end\",\n right: \"right\",\n rightStart: \"right-start\",\n rightEnd: \"right-end\",\n left: \"left\",\n leftStart: \"left-start\",\n leftEnd: \"left-end\",\n};\n\nconst TRIGGERS = {\n click: \"click\",\n hover: \"mouseenter focus\",\n all: \"mouseenter focus click\",\n manual: \"manual\",\n};\n\nconst hideOnEsc = {\n name: \"hideOnEsc\",\n defaultValue: true,\n fn({ hide, props: { hideOnEsc } }) {\n function onKeyDown(event) {\n if (event.key?.toLowerCase() === \"escape\" && hideOnEsc) hide();\n }\n\n return {\n onShow() {\n document.addEventListener(\"keydown\", onKeyDown);\n },\n onHide() {\n document.removeEventListener(\"keydown\", onKeyDown);\n },\n };\n },\n};\n\nconst plugins = [hideOnEsc];\n\nconst Dropdown = ({\n icon,\n label,\n isOpen,\n onClose = noop,\n dropdownProps = {},\n position = PLACEMENT.bottomEnd,\n children,\n className,\n buttonStyle = BTN_STYLES.primary,\n buttonSize = BTN_SIZES.medium,\n buttonProps: { style, size, ...buttonProps } = {},\n customTarget,\n disabled = false,\n closeOnEsc = true,\n closeOnSelect = true,\n closeOnOutsideClick = true,\n dropdownModifiers = [],\n trigger = TRIGGERS.click,\n strategy = STRATEGY.absolute,\n onClick,\n ...otherProps\n}) => {\n const [instance, setInstance] = useState(null);\n const [mounted, setMounted] = useState(false);\n\n const isControlled = !isNil(isOpen);\n\n const controlledProps = isControlled\n ? { visible: isOpen }\n : { onClickOutside: () => closeOnOutsideClick };\n\n const { classNames: dropdownClassname, ...otherDropdownProps } =\n dropdownProps;\n\n const close = () => instance.hide();\n\n return (\n <Tippy\n interactive\n animation={false}\n arrow={false}\n duration={0}\n // hideOnClick determines whether the dropdown should be hidden when the user clicks outside of the dropdown.\n // https://atomiks.github.io/tippyjs/v6/all-props/#hideonclick\n hideOnClick={isControlled ? undefined : closeOnOutsideClick || \"toggle\"}\n hideOnEsc={closeOnEsc}\n maxWidth=\"none\"\n offset={0}\n placement={position || PLACEMENT.bottomEnd}\n popperOptions={{ strategy, modifiers: dropdownModifiers }}\n role=\"dropdown\"\n theme=\"light\"\n trigger={isControlled ? undefined : TRIGGERS[trigger]}\n className={classnames(\"neeto-ui-dropdown\", {\n [className]: className,\n })}\n content={\n mounted ? (\n <div\n data-cy={`${hyphenize(label)}-dropdown-container`}\n className={classnames(\"neeto-ui-dropdown__popup\", {\n [dropdownClassname]: dropdownClassname,\n })}\n onClick={closeOnSelect ? close : noop}\n {...otherDropdownProps}\n >\n {children}\n </div>\n ) : null\n }\n onCreate={instance => instance && setInstance(instance)}\n onMount={() => setMounted(true)}\n onHidden={() => {\n onClose();\n setMounted(false);\n }}\n {...{ plugins, ...otherProps, ...controlledProps }}\n >\n {customTarget ? (\n <span {...{ onClick }}>\n {typeof customTarget === \"function\" ? customTarget() : customTarget}\n </span>\n ) : (\n <Button\n {...{ label, onClick }}\n data-cy={`${hyphenize(label)}-dropdown-icon`}\n disabled={disabled || buttonProps?.disabled}\n icon={icon || Down}\n iconPosition=\"right\"\n size={size ?? buttonSize}\n style={style ?? buttonStyle}\n {...buttonProps}\n />\n )}\n </Tippy>\n );\n};\n\nDropdown.Menu = Menu;\nDropdown.MenuItem = MenuItem;\nDropdown.Divider = Divider;\n\nDropdown.propTypes = {\n /**\n * To specify the icon to be rendered in the Dropdown target.\n */\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * To specify the label for Dropdown target button.\n */\n label: PropTypes.string,\n /**\n * To specify whether the Dropdown is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the action to be triggered on closing the Dropdown.\n */\n onClose: PropTypes.func,\n /**\n * To specify the triggering action for Dropdown.\n */\n trigger: PropTypes.oneOf(Object.keys(TRIGGERS)),\n /**\n * To specify the positioning strategy to use. By default, it is absolute, which in the simplest cases does not require repositioning of the Dropdown.\n *\n * If your reference element is in a fixed container, use the fixed strategy\n */\n strategy: PropTypes.oneOf(Object.values(STRATEGY)),\n /**\n * To specify the classes to be passed to the Dropdown menu.\n */\n dropdownProps: PropTypes.object,\n /**\n * To specify the position of the Dropdown menu.\n */\n position: PropTypes.oneOf(Object.values(PLACEMENT)),\n /**\n * To specify the content to be rendered inside the Dropdown.\n */\n children: PropTypes.node,\n /**\n * To specify whether the Dropdown menu width needs to be set to auto or not.\n */\n autoWidth: PropTypes.bool,\n /**\n * To provide external classnames to Dropdown target wrapper.\n */\n className: PropTypes.string,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the size of the button to be rendered as the Dropdown target.\n */\n buttonSize: PropTypes.oneOf(Object.values(BTN_SIZES)),\n /**\n * To specify the style of the button to be rendered as the Dropdown target.\n */\n buttonStyle: PropTypes.oneOf(Object.values(BTN_STYLES)),\n /**\n * To specify the props to be passed to the Dropdown target button.\n */\n buttonProps: PropTypes.object,\n /**\n * To provide a custom target to be rendered instead of the default button target.\n */\n customTarget: PropTypes.node,\n /**\n * To specify whether the Dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify whether the Dropdown should close on pressing esc key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the Dropdown should close on selecting an option.\n */\n closeOnSelect: PropTypes.bool,\n /**\n * To specify whether the Dropdown should close on clicking outside the Dropdown content. (will not have any effect if the component is controlled.)\n */\n closeOnOutsideClick: PropTypes.bool,\n /**\n * To provide custom modifiers to Dropdown component.\n */\n dropdownModifiers: PropTypes.array,\n /**\n * To specify whether the Dropdown should be multilevel.\n */\n isMultiLevel: PropTypes.bool,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-danger mb-2\">\n * Removed\n * </div>\n * _Use `dropdownProps` props instead._\n *\n */\n ulProps: PropTypes.object,\n /**\n * To specify the action that should be triggered when clicking outside of the controlled dropdown component.\n */\n onClickOutside: PropTypes.func,\n};\n\nexport default Dropdown;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport { noop } from \"utils\";\n\nimport Button from \"./Button\";\nimport Dropdown from \"./Dropdown\";\n\nconst BTN_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n};\n\nconst BTN_SIZES = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n};\n\nconst ActionDropdown = ({\n label = \"\",\n buttonStyle = BTN_STYLES.primary,\n buttonSize = BTN_SIZES.medium,\n disabled = false,\n onClick = noop,\n buttonProps: { style, size, ...buttonProps } = {},\n dropdownProps = {},\n className = \"\",\n children,\n}) => (\n <div className={classnames([\"neeto-ui-action-dropdown\", className])}>\n <Button\n data-testid=\"action-dropdown-btn\"\n disabled={disabled}\n label={label}\n size={size ?? buttonSize}\n style={style ?? buttonStyle}\n onClick={onClick}\n {...buttonProps}\n />\n <Dropdown\n buttonProps={{ size: size ?? buttonSize }}\n buttonStyle={style ?? buttonStyle}\n disabled={disabled}\n {...dropdownProps}\n >\n {children}\n </Dropdown>\n </div>\n);\n\nActionDropdown.Menu = Dropdown.Menu;\nActionDropdown.MenuItem = Dropdown.MenuItem;\nActionDropdown.Divider = Dropdown.Divider;\n\nActionDropdown.propTypes = {\n /**\n * To specify the text to be displayed inside the button.\n */\n label: PropTypes.string,\n /**\n * To specify the style of the button to be rendered as the ActionDropdown target.\n */\n buttonStyle: PropTypes.oneOf(Object.values(BTN_STYLES)),\n /**\n * To specify the size of the ActionDropdown.\n */\n buttonSize: PropTypes.oneOf(Object.values(BTN_SIZES)),\n /**\n * To specify whether the ActionDropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify the action to be triggered on click of the button.\n */\n onClick: PropTypes.func,\n /**\n * To specify the props to be passed to the action button and Dropdown target button.\n */\n buttonProps: PropTypes.object,\n /**\n * To specify the props to be passed to the Dropdown target.\n */\n dropdownProps: PropTypes.object,\n /**\n * To provide external classnames to ActionDropdown target wrapper.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Dropdown.\n */\n children: PropTypes.node,\n /**\n * * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-danger mb-2\">\n * Removed\n * </div>\n * _Use `buttonStyle` prop instead._\n */\n style: PropTypes.oneOf(Object.values(BTN_STYLES)),\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-danger mb-2\">\n * Removed\n * </div>\n * _Use `buttonSize` prop instead._\n */\n size: PropTypes.oneOf(Object.values(BTN_SIZES)),\n};\n\nexport default ActionDropdown;\n","import { parse } from \"qs\";\nimport { useLocation } from \"react-router-dom\";\n\nconst useQueryParams = (options = {}) => {\n const location = useLocation();\n\n return parse(location.search, { ignoreQueryPrefix: true, ...options });\n};\n\nexport default useQueryParams;\n","import { useEffect, useRef } from \"react\";\n\nconst useTimeout = (callback, delay) => {\n const savedCallback = useRef(callback);\n\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n if (delay === null) {\n return undefined;\n }\n\n const id = setTimeout(() => savedCallback.current(), delay);\n\n return () => clearTimeout(id);\n }, [delay]);\n};\n\nexport default useTimeout;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst STYLES = {\n info: \"info\",\n warning: \"warning\",\n danger: \"danger\",\n success: \"success\",\n};\n\nconst Callout = ({\n icon = null,\n style = STYLES.info,\n className = \"\",\n children,\n ...otherProps\n}) => {\n const Icon = icon;\n\n return (\n <div\n className={classnames(\"neeto-ui-callout\", {\n \"neeto-ui-callout--info\": style === STYLES.info,\n \"neeto-ui-callout--warning\": style === STYLES.warning,\n \"neeto-ui-callout--danger\": style === STYLES.danger,\n \"neeto-ui-callout--success\": style === STYLES.success,\n [className]: className,\n })}\n {...otherProps}\n >\n {icon && (\n <div className=\"neeto-ui-callout__icon\" data-testid=\"callout-icon\">\n <Icon />\n </div>\n )}\n {children}\n </div>\n );\n};\n\nCallout.propTypes = {\n /**\n * To specify the icon to be used in Callout component. By default, icons are based on the style of the Callout component. Passing false will hide the icon.\n */\n icon: PropTypes.elementType,\n /**\n * To specify the style of Callout component.\n */\n style: PropTypes.oneOf(Object.values(STYLES)),\n /**\n * To provide external classnames to Callout component.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Callout component.\n */\n children: PropTypes.node,\n};\n\nexport default Callout;\n","// TinyColor v1.4.2\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function(color1, color2) {\n var c1 = tinycolor(color1);\n var c2 = tinycolor(color2);\n return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n// tinycolor.isReadable(\"#000\", \"#111\") => false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// <http://www.w3.org/TR/css3-color/#svg-color>\nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // <http://www.w3.org/TR/css3-values/#integers>\n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // <http://www.w3.org/TR/css3-values/#number-value>\n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n","import{useMemo as r,useRef as o,useCallback as n,useEffect as t,useState as e}from\"react\";const s=()=>\"undefined\"!=typeof window&&\"EyeDropper\"in window,i=()=>Promise.reject(new Error(\"Unsupported browser.\")),c=()=>{const r=o(),[i,c]=e(!1);t(()=>(r.current=!0,c(s()),()=>{r.current=!1}),[]);const u=n(()=>i,[i]);return[r,u]},u=r=>{const o=(r=>s()&&new EyeDropper(r))(r);var n;return(n=o)?EyeDropper.prototype.open.bind(n):i},p=e=>{const s=r(()=>u(e),[e]),[i,p]=c(),a=o(),f=n(()=>{void 0!==a.current&&a.current.abort()},[a]),d=n(function(r){void 0===r&&(r={});try{f();const{signal:o,...n}=r,t=new AbortController;a.current=t;const e=void 0!==o?(r=>{const o=new AbortController,n=()=>{o.abort();for(const o of r)o.removeEventListener(\"abort\",n)};for(const o of r){if(o.aborted){n();break}o.addEventListener(\"abort\",n)}return o.signal})([o,t.signal]):t.signal;return Promise.resolve(function(r,o){try{var t=Promise.resolve(s({...n,signal:e}))}catch(r){return o(r)}return t&&t.then?t.then(void 0,o):t}(0,function(r){throw i.current||(r.canceled=!0),r}))}catch(r){return Promise.reject(r)}},[a,i,f,s]);return t(()=>f,[f]),{open:d,close:f,isSupported:p}};export{p as default};\n","import { default as DropperDev } from './use-eye-dropper.module.dev.js'\nimport { default as Dropper } from './use-eye-dropper.module.js'\n\nexport default process.env.NODE_ENV === 'production' ? Dropper : DropperDev\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Palette = ({ color, colorList = [], onChange }) => (\n <div className=\"neeto-ui-flex neeto-ui-flex-row neeto-ui-flex-wrap neeto-ui-items-start neeto-ui-justify-start neeto-ui-color-palette\">\n {colorList.map((item, index) => (\n <div\n data-testid=\"color-palette-item\"\n key={index}\n className={classnames(\"neeto-ui-color-palette__item\", {\n active: color && color.from === item.from && color.to === item.to,\n })}\n onClick={() => onChange(item.from, item.to)}\n >\n <div className={`bg-gradient-to-r from-${item.from} to-${item.to}`} />\n </div>\n ))}\n </div>\n);\n\nPalette.propTypes = {\n color: PropTypes.shape({\n from: PropTypes.string,\n to: PropTypes.string,\n }),\n colorList: PropTypes.arrayOf(\n PropTypes.shape({\n from: PropTypes.string,\n to: PropTypes.string,\n })\n ),\n onChange: PropTypes.func,\n};\n\nexport default Palette;\n","import React, { useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Down, Focus } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport {\n HexColorPicker,\n HexColorInput,\n HexAlphaColorPicker,\n} from \"react-colorful\";\nimport tinycolor from \"tinycolor2\";\nimport useEyeDropper from \"use-eye-dropper\";\n\nimport Button from \"components/Button\";\nimport Dropdown from \"components/Dropdown\";\nimport { noop } from \"utils\";\n\nimport Palette from \"./Palette\";\n\nconst TARGET_SIZES = {\n large: \"large\",\n medium: \"medium\",\n small: \"small\",\n};\n\nconst ColorPicker = ({\n color = \"\",\n size = TARGET_SIZES.large,\n onChange = noop,\n colorPaletteProps,\n dropdownProps,\n showEyeDropper = false,\n showHexValue = false,\n showTransparencyControl = false,\n showPicker = true,\n}) => {\n const [colorInternal, setColorInternal] = useState(color);\n const isInputChanged = useRef(false);\n const { open, isSupported } = useEyeDropper({ pickRadius: 3 });\n\n const PickerComponent = showTransparencyControl\n ? HexAlphaColorPicker\n : HexColorPicker;\n\n const colorValue = color ?? colorInternal ?? \"\";\n\n const onChangeInternal = onChange || setColorInternal;\n\n const getColor = colorValue => {\n const color = tinycolor(colorValue);\n\n return {\n hex: showTransparencyControl ? color.toHex8String() : color.toHexString(),\n rgb: color.toRgb(),\n };\n };\n\n const onColorInputChange = hex => {\n const color = tinycolor(hex);\n const rgb = color.toRgb();\n isInputChanged.current = true;\n\n onChangeInternal({ hex, rgb });\n };\n\n const onPickerChange = hex => onChangeInternal(getColor(hex));\n\n const onBlur = () => {\n // If input is not changed, don't call onChange on blur\n if (!isInputChanged.current) return;\n isInputChanged.current = false;\n onChangeInternal(getColor(colorValue));\n };\n\n const pickColor = async () => {\n try {\n const colorResponse = await open();\n const colorHex = tinycolor(colorResponse.sRGBHex).toHexString();\n onPickerChange(colorHex);\n } catch {\n // Ensures component is still mounted\n // before calling setState\n // if (!e.canceled) setError(e);\n }\n };\n\n const Target = ({ size }) => (\n <button\n data-cy=\"color-picker-target\"\n data-testid=\"neeto-color-picker\"\n type=\"button\"\n className={classnames(\"neeto-ui-colorpicker__target\", {\n \"neeto-ui-colorpicker__target-size--large\": size === TARGET_SIZES.large,\n \"neeto-ui-colorpicker__target-size--medium\":\n size === TARGET_SIZES.medium,\n \"neeto-ui-colorpicker__target-size--small\": size === TARGET_SIZES.small,\n })}\n >\n {showHexValue && (\n <span className=\"neeto-ui-colorpicker-target__code\">{color}</span>\n )}\n <span className=\"neeto-ui-colorpicker-target__color-wrapper\">\n <span\n className=\"neeto-ui-colorpicker-target__color neeto-ui-border-gray-400 border\"\n style={{ backgroundColor: colorValue }}\n />\n <span className=\"neeto-ui-colorpicker-target__icon\">\n <Down size={16} />\n </span>\n </span>\n </button>\n );\n\n return (\n <Dropdown\n className=\"neeto-ui-colorpicker__dropdown\"\n closeOnSelect={false}\n customTarget={<Target {...{ size }} />}\n label={colorValue}\n position=\"bottom-start\"\n {...dropdownProps}\n >\n <div className=\"neeto-ui-colorpicker__popover\">\n {showPicker && (\n <>\n <div\n className=\"neeto-ui-colorpicker__pointer\"\n data-testid=\"neeto-color-picker-section\"\n >\n <PickerComponent color={colorValue} onChange={onPickerChange} />\n </div>\n <div className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center neeto-ui-mt-2 neeto-ui-gap-2\">\n {showEyeDropper && isSupported() && (\n <Button\n className=\"neeto-ui-colorpicker__eyedropper-btn\"\n icon={Focus}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={pickColor}\n />\n )}\n <div className=\"neeto-ui-input__wrapper\">\n <div\n className=\"neeto-ui-colorpicker__input neeto-ui-input neeto-ui-input--small\"\n data-cy=\"colorpicker-editable-input\"\n >\n <HexColorInput\n {...{ onBlur }}\n alpha={!!showTransparencyControl}\n color={colorValue}\n onChange={onColorInputChange}\n />\n </div>\n </div>\n </div>\n </>\n )}\n {colorPaletteProps && (\n <div\n data-testid=\"color-palette\"\n className={classnames(\"neeto-ui-colorpicker__palette-wrapper\", {\n \"neeto-ui-colorpicker__palette-wrapper--hidden-picker\":\n !showPicker,\n })}\n >\n <Palette {...colorPaletteProps} />\n </div>\n )}\n </div>\n </Dropdown>\n );\n};\n\nColorPicker.propTypes = {\n /**\n * To specify the color value.\n */\n color: PropTypes.string,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To set the size of the target.\n */\n size: PropTypes.oneOf(Object.values(TARGET_SIZES)),\n /**\n * To specify the action to be triggered on changing the color.\n */\n onChange: PropTypes.func,\n /**\n * To specify the props to be passed to the Palette component.\n */\n colorPaletteProps: PropTypes.shape({\n color: PropTypes.shape({\n from: PropTypes.string,\n to: PropTypes.string,\n }),\n colorList: PropTypes.arrayOf(\n PropTypes.shape({\n from: PropTypes.string,\n to: PropTypes.string,\n })\n ),\n onChange: PropTypes.func,\n }),\n /**\n * Shows eye dropper to pick color.\n */\n showEyeDropper: PropTypes.bool,\n /**\n * To show hex value near to the color in the dropdown.\n * By default it will be hidden.\n */\n showHexValue: PropTypes.bool,\n /**\n * To show transparency control. By default it will be hidden.\n */\n showTransparencyControl: PropTypes.bool,\n /**\n * To show the color picker. Used to hide the picker in cases where only palette is required. By default it will be true.\n */\n showPicker: PropTypes.bool,\n};\n\nexport default ColorPicker;\n","import React, { forwardRef, useState } from \"react\";\n\nimport { DatePicker as AntDatePicker, ConfigProvider } from \"antd\";\nimport classnames from \"classnames\";\nimport { Left, Right, Calendar, Close } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\n\nimport { useSyncedRef, useId } from \"hooks\";\nimport {\n convertToDayjsObjects,\n noop,\n hyphenize,\n ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES,\n} from \"utils\";\n\nimport Label from \"./Label\";\n\nconst INPUT_SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst { RangePicker } = AntDatePicker;\n\nconst datePickerTypes = { range: RangePicker, date: AntDatePicker };\n\nconst IconOverride = ({ icon: Icon }) => (\n <span className=\"neeto-ui-btn neeto-ui-btn--style-text neeto-ui-btn--size-medium neeto-ui-btn--icon-only\">\n <Icon className=\"neeto-ui-btn__icon\" size={20} />\n </span>\n);\n\nconst Today = ({ onClick }) => (\n <div className=\"text-center\">\n <button\n {...{ onClick }}\n className=\"neeto-ui-rounded-md hover:neeto-ui-bg-gray-200 px-2 py-1 text-xs font-medium transition duration-300 ease-in-out\"\n data-cy=\"year-month-mode-today\"\n >\n Today\n </button>\n </div>\n);\n\nconst DatePicker = forwardRef(\n (\n {\n className = \"\",\n label = \"\",\n size = INPUT_SIZES.medium,\n dropdownClassName = \"\",\n popupClassName = \"\",\n dateFormat = \"DD/MM/YYYY\",\n timeFormat = \"HH:mm:ss\",\n onChange = noop,\n onOk = noop,\n picker = \"date\",\n mode: inputMode = \"date\",\n showTime = false,\n type = \"date\",\n nakedInput = false,\n error = \"\",\n defaultValue,\n value,\n labelProps,\n required = false,\n allowClear = true,\n ...otherProps\n },\n ref\n ) => {\n const [mode, setMode] = useState(inputMode);\n const [pickerValue, setPickerValue] = useState();\n const id = useId(otherProps.id);\n const datePickerRef = useSyncedRef(ref);\n\n const Component = datePickerTypes[type?.toLowerCase()];\n const format = showTime ? `${dateFormat} ${timeFormat}` : dateFormat;\n\n const errorId = `error_${id}`;\n\n const handleOnChange = (date, dateString) => {\n type === \"range\" && !date\n ? onChange([], dateString)\n : onChange(date, dateString);\n };\n\n const renderExtraFooter = () => {\n if (type === \"range\" || mode === \"date\") return null;\n\n return (\n <Today\n onClick={() => {\n setMode(\"date\");\n setTimeout(() => {\n document.querySelector(\".ant-picker-now-btn\").click();\n });\n }}\n />\n );\n };\n\n return (\n <ConfigProvider\n theme={{\n token: { ...ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES },\n components: {\n DatePicker: {\n activeBg: \"rgb(var(--neeto-ui-white))\",\n activeBorderColor: \"rgb(var(--neeto-ui-primary-500))\",\n addonBg: \"rgb(var(--neeto-ui-gray-100))\",\n cellActiveWithRangeBg: \"rgb(var(--neeto-ui-primary-100))\",\n cellBgDisabled: \"rgb(var(--neeto-ui-gray-100))\",\n cellHoverBg: \"rgb(var(--neeto-ui-gray-200))\",\n cellHoverWithRangeBg: \"rgb(var(--neeto-ui-primary-100))\",\n cellRangeBorderColor: \"rgb(var(--neeto-ui-primary-100))\",\n hoverBg: \"rgb(var(--neeto-ui-white))\",\n hoverBorderColor: \"rgb(var(--neeto-ui-primary-500))\",\n\n // Global overrides\n colorBgContainer: \"rgb(var(--neeto-ui-white))\",\n colorBgElevated: \"rgb(var(--neeto-ui-white))\",\n colorPrimary: \"rgb(var(--neeto-ui-primary-500))\",\n colorPrimaryBorder: \"rgb(var(--neeto-ui-primary-100))\",\n colorPrimaryHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorBorder: \"rgb(var(--neeto-ui-gray-300))\",\n colorError: \"rgb(var(--neeto-ui-error-500))\",\n colorErrorHover: \"rgb(var(--neeto-ui-error-600))\",\n colorErrorOutline: \"rgb(var(--neeto-ui-error-100))\",\n colorFillAlter: \"rgb(var(--neeto-ui-gray-100))\",\n colorIcon: \"rgb(var(--neeto-ui-gray-700))\",\n colorIconHover: \"rgb(var(--neeto-ui-gray-800))\",\n colorLink: \"rgb(var(--neeto-ui-primary-500))\",\n colorLinkHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorLinkActive: \"rgb(var(--neeto-ui-primary-800))\",\n colorSplit: \"rgb(var(--neeto-ui-gray-200))\",\n colorText: \"rgb(var(--neeto-ui-gray-800))\",\n colorTextDescription: \"rgb(var(--neeto-ui-gray-700))\",\n colorTextDisabled: \"rgb(var(--neeto-ui-gray-500))\",\n colorTextHeading: \"rgb(var(--neeto-ui-black))\",\n colorTextLightSolid: \"rgb(var(--neeto-ui-white))\",\n colorTextPlaceholder: \"rgb(var(--neeto-ui-gray-400))\",\n colorTextQuaternary: \"rgb(var(--neeto-ui-gray-400))\",\n colorWarning: \"rgb(var(--neeto-ui-warning-500))\",\n colorWarningHover: \"rgb(var(--neeto-ui-warning-600))\",\n colorWarningOutline: \"rgb(var(--neeto-ui-warning-100))\",\n controlItemBgActive: \"rgb(var(--neeto-ui-pastel-purple))\",\n controlItemBgHover: \"rgb(var(--neeto-ui-gray-100))\",\n controlOutline: \"rgb(var(--neeto-ui-gray-300))\",\n\n // Sizes\n cellHeight: 32,\n padding: 22,\n },\n },\n }}\n >\n <div className=\"neeto-ui-input__wrapper\">\n {label && <Label {...{ required, ...labelProps }}>{label}</Label>}\n <Component\n data-cy={label ? `${hyphenize(label)}-input` : \"picker-input\"}\n defaultValue={convertToDayjsObjects(defaultValue)}\n ref={datePickerRef}\n showTime={showTime && { format: timeFormat }}\n value={convertToDayjsObjects(value)}\n className={classnames(\"neeto-ui-date-input\", [className], {\n \"neeto-ui-date-input--small\": size === \"small\",\n \"neeto-ui-date-input--medium\": size === \"medium\",\n \"neeto-ui-date-input--large\": size === \"large\",\n \"neeto-ui-date-input--disabled\": otherProps.disabled,\n \"neeto-ui-date-input--naked\": nakedInput,\n \"neeto-ui-date-input--error\": !!error,\n })}\n popupClassName={classnames(\"neeto-ui-date-time-dropdown\", [\n dropdownClassName, // Will be removed in the next major version\n popupClassName,\n ])}\n onChange={handleOnChange}\n {...{\n format,\n onOk,\n picker,\n ...otherProps,\n ...(type === \"date\" && {\n mode,\n pickerValue,\n renderExtraFooter,\n onPanelChange: (pickerValue, mode) => {\n setPickerValue(pickerValue);\n setMode(mode);\n },\n }),\n }}\n nextIcon={<IconOverride icon={Right} />}\n prevIcon={<IconOverride icon={Left} />}\n suffixIcon={<Calendar size={16} />}\n superNextIcon={<IconOverride icon={Right} />}\n superPrevIcon={<IconOverride icon={Left} />}\n allowClear={\n allowClear && {\n clearIcon: <Close data-cy=\"date-time-clear-icon\" size={16} />,\n }\n }\n />\n {!!error && typeof error === \"string\" && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n </div>\n </ConfigProvider>\n );\n }\n);\n\nDatePicker.displayName = \"DatePicker\";\n\nDatePicker.propTypes = {\n /**\n * To provide external classnames to DatePicker component.\n */\n className: PropTypes.string,\n /**\n * To set the text to be displayed above the DatePicker.\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 set the size of the DatePicker.\n */\n size: PropTypes.oneOf(Object.values(INPUT_SIZES)),\n /**\n * To set the DatePicker as naked Input field.\n */\n nakedInput: PropTypes.bool,\n /**\n * To specify the error message to be shown in the DatePicker.\n */\n error: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n /**\n * To set DatePicker as disabled.\n */\n disabled: PropTypes.bool,\n /**\n * To specify custom classnames to be applied to the DatePicker dropdown.\n */\n dropdownClassName: PropTypes.string,\n /**\n * To specify the date format.\n */\n dateFormat: PropTypes.string,\n /**\n * To specify the time format.\n */\n timeFormat: PropTypes.string,\n /**\n * For `DateInput`,(date, dateString) => {} <br />\n * For `DateRange`, (date, [startDate, endDate]) => {}\n */\n onChange: PropTypes.func,\n /**\n * Callback function which will be invoked when ok button is clicked in DateInput\n */\n onOk: PropTypes.func,\n /**\n * To specify the type of the picker.\n */\n picker: PropTypes.oneOf([\"date\", \"week\", \"month\", \"quarter\", \"year\"]),\n /**\n * To show time picker\n */\n showTime: PropTypes.bool,\n /**\n * To specify the type of the DatePicker.\n */\n type: PropTypes.oneOf(Object.keys(datePickerTypes)),\n /**\n * To specify the values to be displayed inside the DatePicker.\n */\n value: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n /**\n * To specify the default values to be displayed inside the DatePicker.\n */\n defaultValue: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n /**\n * To specify whether the Date picker is required or not.\n */\n required: PropTypes.bool,\n /**\n * To specify whether the Date picker value can be cleared or not.\n */\n allowClear: PropTypes.bool,\n};\n\nexport default DatePicker;\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d\\d/,r=/\\d\\d?/,i=/\\d*[^-_:/,()\\s\\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)};var a=function(e){return function(t){this[e]=+t}},f=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],h=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},u=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},d={A:[i,function(e){this.afternoon=u(e,!1)}],a:[i,function(e){this.afternoon=u(e,!0)}],S:[/\\d/,function(e){this.milliseconds=100*+e}],SS:[n,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[r,a(\"seconds\")],ss:[r,a(\"seconds\")],m:[r,a(\"minutes\")],mm:[r,a(\"minutes\")],H:[r,a(\"hours\")],h:[r,a(\"hours\")],HH:[r,a(\"hours\")],hh:[r,a(\"hours\")],D:[r,a(\"day\")],DD:[n,a(\"day\")],Do:[i,function(e){var t=o.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],M:[r,a(\"month\")],MM:[n,a(\"month\")],MMM:[i,function(e){var t=h(\"months\"),n=(h(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[i,function(e){var t=h(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,a(\"year\")],YY:[n,function(e){this.year=s(e)}],YYYY:[/\\d{4}/,a(\"year\")],Z:f,ZZ:f};function c(n){var r,i;r=n,i=o&&o.formats;for(var s=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=s.length,f=0;f<a;f+=1){var h=s[f],u=d[h],c=u&&u[0],l=u&&u[1];s[f]=l?{regex:c,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=s[n];if(\"string\"==typeof i)r+=i.length;else{var o=i.regex,f=i.parser,h=e.slice(r),u=o.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(s=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,s=e.args;this.$u=r;var a=s[1];if(\"string\"==typeof a){var f=!0===s[2],h=!0===s[3],u=f||h,d=s[2];h&&(d=s[2]),o=this.$locale(),!f&&d&&(o=n.Ls[d]),this.$d=function(e,t,n){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var r=c(t)(e),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,h=r.seconds,u=r.milliseconds,d=r.zone,l=new Date,m=s||(i||o?1:l.getDate()),M=i||l.getFullYear(),Y=0;i&&!o||(Y=o>0?o-1:l.getMonth());var p=a||0,v=f||0,D=h||0,g=u||0;return d?new Date(Date.UTC(M,Y,m,p,v,D,g+60*d.offset*1e3)):n?new Date(Date.UTC(M,Y,m,p,v,D,g)):new Date(M,Y,m,p,v,D,g)}catch(e){return new Date(\"\")}}(t,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),o={}}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var M=n.apply(this,s);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===l&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","import React, { useState } from \"react\";\n\nimport { Clock, Close } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\n\nconst HoverIcon = ({ time = false }) => {\n const [hovered, setHovered] = useState(false);\n\n return (\n <div\n onMouseLeave={() => setHovered(false)}\n onMouseOver={() => setHovered(true)}\n >\n {hovered && time ? <Close size={16} /> : <Clock size={16} />}\n </div>\n );\n};\n\n/**\n * time prop is required to find the feild is filled or not\n */\nHoverIcon.propTypes = { time: PropTypes.bool.isRequired };\n\nexport default HoverIcon;\n","import { useState, useRef } from \"react\";\n\n// A wrapper hook around useState, that updates a ref as well, useful when dealing directly with dom event listeners.\nconst useRefState = val => {\n // eslint-disable-next-line react/hook-use-state\n const [value, _setValue] = useState(val);\n const valueRef = useRef(value);\n\n const setValue = val => {\n valueRef.current = val;\n _setValue(val);\n };\n\n return [value, valueRef, setValue];\n};\n\nexport default useRefState;\n","import dayjs from \"dayjs\";\nimport { isPresent } from \"neetocist\";\n\nconst FORMAT = \"HH:mm\";\n\nconst getFormattedTime = value => {\n if (dayjs.isDayjs(value)) {\n return value.toDate();\n } else if (value instanceof Date || dayjs(value, FORMAT).isValid()) {\n return value;\n }\n\n return null;\n};\n\nconst getFormattedRange = value => {\n if (!Array.isArray(value)) return null;\n\n return value.map(item => getFormattedTime(item));\n};\n\nconst toDayJs = value => {\n if (Array.isArray(value)) return value.map(item => dayjs(item, FORMAT));\n\n return dayjs(value, FORMAT);\n};\n\nconst isValidTime = (minTime, maxTime, value) => {\n if (isPresent(minTime) && toDayJs(value).isBefore(toDayJs(minTime))) {\n return false;\n }\n\n return !(isPresent(maxTime) && toDayJs(value).isAfter(toDayJs(maxTime)));\n};\n\nconst isValidRange = (minTime, maxTime, value) =>\n value.every(item => isValid(minTime, maxTime, item));\n\nconst isValid = (minTime, maxTime, value) =>\n (Array.isArray(value) ? isValidRange : isValidTime)(minTime, maxTime, value);\n\nconst getValidTime = (minTime, maxTime, value) => {\n if (isPresent(minTime) && toDayJs(value).isBefore(toDayJs(minTime))) {\n return minTime;\n }\n\n if (isPresent(maxTime) && toDayJs(value).isAfter(toDayJs(maxTime))) {\n return maxTime;\n }\n\n return value;\n};\n\nconst getValidRange = (minTime, maxTime, value) =>\n value.map(item => getValidTime(minTime, maxTime, item));\n\nconst getValid = (minTime, maxTime, value) =>\n (Array.isArray(value) ? getValidRange : getValidTime)(\n minTime,\n maxTime,\n value\n );\n\nexport {\n getValid,\n isValid,\n toDayJs,\n getFormattedRange,\n getFormattedTime,\n FORMAT,\n};\n","import React, { forwardRef, useRef, useEffect } from \"react\";\n\nimport TimeRangePicker from \"@wojtekmaj/react-timerange-picker\";\nimport classnames from \"classnames\";\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport { isNotPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport TimePicker from \"react-time-picker\";\n\nimport Label from \"components/Label\";\nimport { useId } from \"hooks\";\nimport { hyphenize, noop } from \"utils\";\n\nimport HoverIcon from \"./HoverIcon\";\nimport useRefState from \"./useRefState\";\nimport {\n getFormattedTime,\n getFormattedRange,\n toDayJs,\n isValid,\n getValid,\n} from \"./utils\";\n\ndayjs.extend(customParseFormat);\n\nconst INPUT_SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst timeComponents = { range: TimeRangePicker, time: TimePicker };\n\nconst TimePickerInput = forwardRef(\n (\n {\n type = \"time\",\n className = \"\",\n label,\n labelProps,\n size = INPUT_SIZES.medium,\n nakedInput = false,\n required = false,\n value: inputValue,\n defaultValue,\n onChange = noop,\n error = \"\",\n onBlur = noop,\n minTime,\n maxTime,\n ...otherProps\n },\n ref\n ) => {\n const [value, valueRef, setValue] = useRefState(null);\n const componentRef = useRef(null);\n const id = useId(otherProps.id);\n const errorId = `error_${id}`;\n\n useEffect(() => {\n if (isNotPresent(inputValue) && isNotPresent(defaultValue)) return;\n\n setValue(\n (type === \"range\" ? getFormattedRange : getFormattedTime)(\n inputValue || defaultValue\n )\n );\n }, [type, inputValue]);\n\n const handleChange = newValue => {\n setValue(newValue);\n if (isValid(minTime, maxTime, newValue)) {\n onChange(toDayJs(newValue), newValue);\n }\n };\n\n const onBlurHandle = () => {\n const value = valueRef.current;\n if (isValid(minTime, maxTime, value)) {\n onBlur(toDayJs(value), value);\n } else {\n const validValue = getValid(minTime, maxTime, value);\n setValue(validValue);\n onChange(toDayJs(validValue), validValue);\n onBlur(toDayJs(validValue), validValue);\n }\n\n return true;\n };\n\n // If you just make amPm select change, onBlurHandle is not triggering. A work around\n useEffect(() => {\n const amPmChange = () => setTimeout(onBlurHandle);\n const selectElements = document\n .getElementById(id)\n ?.querySelectorAll(\"[name='amPm']\");\n\n selectElements?.forEach(element =>\n element.addEventListener(\"change\", amPmChange)\n );\n\n return () => {\n selectElements?.forEach(element =>\n element.removeEventListener(\"change\", amPmChange)\n );\n };\n }, [value]);\n\n const handleKeyDown = ({ code }) => {\n if (code !== \"Enter\") return;\n onBlurHandle();\n };\n\n const Component = timeComponents[type];\n\n return (\n <div {...{ ref }} className=\"neeto-ui-input__wrapper\">\n {label && <Label {...{ required, ...labelProps }}>{label}</Label>}\n <Component\n {...{ id, value }}\n disableClock\n clearIcon={<HoverIcon time={!!value} />}\n format=\"hh:mm a\"\n hourPlaceholder=\"HH\"\n minutePlaceholder=\"mm\"\n ref={componentRef}\n secondAriaLabel=\"ss\"\n shouldCloseClock={onBlurHandle}\n className={classnames(\"neeto-ui-time-picker\", [className], {\n \"neeto-ui-time-picker--small\": size === \"small\",\n \"neeto-ui-time-picker--medium\": size === \"medium\",\n \"neeto-ui-time-picker--large\": size === \"large\",\n \"neeto-ui-time-picker--disabled\": otherProps.disabled,\n \"neeto-ui-time-picker--naked\": nakedInput,\n \"neeto-ui-time-picker--error\": !!error,\n })}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n {...otherProps}\n />\n {!!error && typeof error === \"string\" && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n </div>\n );\n }\n);\n\nTimePickerInput.displayName = \"TimePicker\";\n\nTimePickerInput.propTypes = {\n /**\n * To set the text to be displayed above the TimePicker.\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 set the size of the DatePicker.\n */\n size: PropTypes.oneOf(Object.values(INPUT_SIZES)),\n /**\n * To set the DatePicker as naked Input field.\n */\n nakedInput: PropTypes.bool,\n /**\n * To specify the values to be displayed inside the TimePicker.\n */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n /**\n * To specify the values to be displayed inside the TimePicker.\n */\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n /**\n * The callback function that will be triggered when value changes.\n */\n onChange: PropTypes.func,\n /**\n * To provide external classnames to TimePicker target wrapper.\n */\n className: PropTypes.string,\n /**\n * To set the clear icon to be shown in the input.\n */\n clearIcon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.element,\n ]),\n /**\n * To specify whether the TimePicker is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify the error message to be shown in the TimePicker.\n */\n error: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n /**\n * To specify whether the Date picker is required or not.\n */\n required: PropTypes.bool,\n /**\n * The callback function that will be triggered when time picker loses focus.\n */\n onBlur: PropTypes.func,\n /**\n * To specify the type of the TimePickerInput.\n */\n type: PropTypes.oneOf(Object.keys(timeComponents)),\n /**\n * To specify the minimum time of the TimePickerInput.\n */\n minTime: PropTypes.string,\n /**\n * To specify the maximum time of the TimePickerInput.\n */\n maxTime: PropTypes.string,\n};\n\nexport default TimePickerInput;\n","import dayjs from \"dayjs\";\nimport { isPresent } from \"neetocist\";\n\nconst DATE_FORMAT = \"YYYY-MM-DD\";\nconst TIME_FORMAT = \"HH:mm\";\n\nexport const getDateTime = (date, time) => {\n if (isPresent(date) && isPresent(time)) {\n return dayjs(`${date.format(DATE_FORMAT)} ${time.format(TIME_FORMAT)}`);\n }\n\n return null;\n};\n\nexport const getAllowedTime = (date, time, minDateTime, maxDateTime) => {\n const newTime = getDateTime(date, time || dayjs());\n if (\n isPresent(minDateTime) &&\n date?.isSame(minDateTime, \"day\") &&\n newTime?.isBefore(minDateTime)\n ) {\n return minDateTime;\n }\n\n if (\n isPresent(maxDateTime) &&\n date?.isSame(maxDateTime, \"day\") &&\n newTime?.isAfter(maxDateTime)\n ) {\n return maxDateTime;\n }\n\n return newTime;\n};\n\nexport const getTime = date => date?.format(TIME_FORMAT);\n","import React, { useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport { isPresent, isNotPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport DatePicker from \"components/DatePicker\";\nimport Label from \"components/Label\";\nimport TimePickerInput from \"components/TimePickerInput\";\nimport { useId } from \"hooks\";\nimport { hyphenize, noop } from \"utils\";\n\nimport { getDateTime, getAllowedTime, getTime } from \"./utils\";\n\nconst INPUT_SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\ndayjs.extend(customParseFormat);\n\nconst DateTimePicker = ({\n className = \"\",\n label = \"\",\n size,\n dropdownClassName,\n popupClassName,\n dateFormat,\n onChange = noop,\n nakedInput = false,\n error = \"\",\n defaultValue,\n value,\n labelProps,\n required = false,\n id,\n datePickerProps,\n timePickerProps,\n minDateTime,\n maxDateTime,\n onTimeInputBlur = noop,\n onBlur = noop,\n}) => {\n const [date, setDate] = useState();\n const [time, setTime] = useState();\n const [changedField, setChangedField] = useState();\n const timeRef = React.useRef(null);\n const defaultId = useId(id);\n const errorId = `error_${defaultId}`;\n\n useEffect(() => {\n const inputValue = value || defaultValue;\n if (isPresent(inputValue) && dayjs(inputValue).isValid()) {\n const dateTime = dayjs.isDayjs(inputValue)\n ? inputValue\n : dayjs(inputValue);\n setDate(dateTime);\n setTime(dateTime);\n }\n }, [value, defaultValue]);\n\n useEffect(() => {\n if (isNotPresent(changedField)) return;\n onChange(getDateTime(date, time), changedField);\n setChangedField(); // reset to avoid unnecessary trigger on rerender\n }, [date, time, changedField]);\n\n const handleDateChange = newDate => {\n timeRef.current\n ?.querySelector(\".react-time-picker__inputGroup__hour\")\n ?.focus();\n\n setDate(newDate);\n setTime(getAllowedTime(newDate, time, minDateTime, maxDateTime));\n setChangedField(\"date\");\n };\n\n const handleTimeChange = newTime => {\n setTime(newTime.isValid() ? newTime : null);\n if (newTime.isValid() && !date) setDate(newTime);\n setChangedField(\"time\");\n };\n\n const handleTimeBlur = () => {\n const dateTime = getDateTime(date, time);\n onTimeInputBlur(dateTime);\n onBlur(dateTime);\n };\n\n return (\n <div className=\"neeto-ui-input__wrapper\">\n {label && <Label {...{ required, ...labelProps }}>{label}</Label>}\n <div className={classnames(\"neeto-ui-date-time-input\", className)}>\n <DatePicker\n {...{\n dateFormat,\n dropdownClassName,\n nakedInput,\n popupClassName,\n size,\n }}\n error={!!error}\n maxDate={maxDateTime}\n minDate={minDateTime}\n picker=\"date\"\n showTime={false}\n type=\"date\"\n value={date}\n onChange={handleDateChange}\n {...datePickerProps}\n />\n <TimePickerInput\n {...{ error, nakedInput, size }}\n error={!!error}\n maxTime={date?.isSame(maxDateTime, \"day\") && getTime(maxDateTime)}\n minTime={date?.isSame(minDateTime, \"day\") && getTime(minDateTime)}\n ref={timeRef}\n value={time}\n onBlur={handleTimeBlur}\n onChange={handleTimeChange}\n {...timePickerProps}\n />\n </div>\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n </div>\n );\n};\n\nDateTimePicker.displayName = \"DateTimePicker\";\n\nDateTimePicker.propTypes = {\n /**\n * To set the text to be displayed above the DateTimePicker.\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 * The callback function that will be triggered when value changes.\n */\n onChange: PropTypes.func,\n /**\n * To specify the error message to be shown in the DateTimePicker.\n */\n error: PropTypes.string,\n /**\n * To specify whether the Date Time Input is required or not.\n */\n required: PropTypes.bool,\n /**\n * To provide external classnames to DateTimePicker component.\n */\n className: PropTypes.string,\n /**\n * To set the text to be displayed above the DateTimePicker.\n */\n size: PropTypes.oneOf(Object.values(INPUT_SIZES)),\n /**\n * To set the DateTimePicker as naked Input field.\n */\n nakedInput: PropTypes.bool,\n /**\n * To specify custom classnames to be applied to the DatePicker dropdown.\n */\n dropdownClassName: PropTypes.string,\n /**\n * To specify the date format.\n */\n dateFormat: PropTypes.string,\n /**\n * To specify the values to be displayed inside the DatePicker.\n */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n /**\n * To specify the default values to be displayed inside the DatePicker.\n */\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n /**\n * @deprecated The callback function that will be triggered when time picker loses focus (onBlur event).\n */\n onTimeInputBlur: PropTypes.func,\n /**\n * The callback function that will be triggered when time picker loses focus (onBlur event).\n */\n onBlur: PropTypes.func,\n /**\n * To specify minimum allowed date time\n */\n minDateTime: PropTypes.object,\n /**\n * To specify maximum allowed date time\n */\n maxDateTime: PropTypes.object,\n};\n\nexport default React.memo(DateTimePicker);\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport Tooltip from \"./Tooltip\";\n\nconst Kbd = ({ keyName, className, tooltipProps, ...otherProps }) => (\n <Tooltip disabled={!tooltipProps} {...tooltipProps}>\n <span className={classnames([\"neeto-ui-kbd\", className])} {...otherProps}>\n {keyName}\n </span>\n </Tooltip>\n);\n\nKbd.propTypes = {\n /**\n * To specify keyboard key\n */\n keyName: PropTypes.string,\n /**\n * To provide additional class names to the Kbd.\n */\n className: PropTypes.string,\n /**\n * To specify the props to be passed to the tooltip.\n */\n tooltipProps: PropTypes.object,\n};\n\nexport default Kbd;\n","import React from \"react\";\n\nexport const renderImage = image =>\n typeof image === \"string\" ? (\n <img data-cy=\"no-data-image\" src={image} />\n ) : (\n image\n );\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport Button from \"components/Button\";\nimport Typography from \"components/Typography\";\n\nimport { renderImage } from \"./utils\";\n\nconst NoData = ({\n image = null,\n title = \"\",\n description = \"\",\n helpText = null,\n className = \"\",\n primaryButtonProps = {},\n secondaryButtonProps = {},\n buttonSeparatorText = \"\",\n ...otherProps\n}) => {\n const hasPrimaryButtonProps = !isEmpty(primaryButtonProps);\n const hasSecondaryButtonProps = !isEmpty(secondaryButtonProps);\n const hasButtonSeparatorText = !isEmpty(buttonSeparatorText);\n\n const showButtonSeparator =\n hasButtonSeparatorText && hasPrimaryButtonProps && hasSecondaryButtonProps;\n\n return (\n <div\n className={classnames(\"neeto-ui-no-data\", [className])}\n data-cy=\"no-data-container\"\n {...otherProps}\n >\n {image ? (\n <div className=\"neeto-ui-no-data__image\">{renderImage(image)}</div>\n ) : null}\n {title && (\n <Typography\n className=\"neeto-ui-text-center\"\n data-cy=\"no-data-title\"\n lineHeight=\"none\"\n style=\"h3\"\n >\n {title}\n </Typography>\n )}\n {description && (\n <Typography\n className=\"neeto-ui-text-center neeto-ui-no-data__description\"\n data-cy=\"no-data-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n )}\n {helpText && (\n <Typography\n className=\"neeto-ui-text-center neeto-ui-no-data__help-text\"\n data-cy=\"no-data-help-text\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {helpText}\n </Typography>\n )}\n {(hasPrimaryButtonProps || hasSecondaryButtonProps) && (\n <div className=\"neeto-ui-no-data__action-block\">\n {hasPrimaryButtonProps && (\n <Button data-cy=\"no-data-primary-button\" {...primaryButtonProps} />\n )}\n {showButtonSeparator && (\n <Typography lineHeight=\"normal\" style=\"body2\">\n {buttonSeparatorText}\n </Typography>\n )}\n {hasSecondaryButtonProps && (\n <Button\n data-cy=\"no-data-secondary-button\"\n style=\"secondary\"\n {...secondaryButtonProps}\n />\n )}\n </div>\n )}\n </div>\n );\n};\n\nNoData.propTypes = {\n /**\n * To specify the image.\n */\n image: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n /**\n * To specify the title text.\n */\n title: PropTypes.string,\n /**\n * To specify the description text.\n */\n description: PropTypes.node,\n /**\n * To specify the text that appears below the description.\n */\n helpText: PropTypes.node,\n /**\n * Provide external classnames to NoData component.\n */\n className: PropTypes.string,\n /**\n * To specify the props to be passed to the primary button.\n */\n primaryButtonProps: PropTypes.object,\n /**\n * To specify the props to be passed to the secondary button.\n */\n secondaryButtonProps: PropTypes.object,\n /**\n * To specify the text that appears between the primary and secondary buttons.\n * */\n buttonSeparatorText: PropTypes.string,\n};\n\nexport default NoData;\n","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 &#8230;\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","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 { Portal, Backdrop } from \"atoms\";\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) {\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 }\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","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","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Stepper = ({ steps, activeIndex, setActiveIndex }) => (\n <div className=\"neeto-ui-stepper__wrapper\">\n {steps.map(({ id, label }, index) => (\n <div\n data-testid={`stepper-item-${id}`}\n key={id}\n className={classnames(\"neeto-ui-stepper-item__wrapper\", {\n \"neeto-ui-stepper-item__wrapper--active\": index === activeIndex,\n \"neeto-ui-stepper-item__wrapper--done\": index < activeIndex,\n })}\n >\n <button\n className=\"neeto-ui-stepper-item\"\n onClick={() => setActiveIndex(index)}\n >\n <span className=\"neeto-ui-stepper-item__stage\">\n <span>{id}</span>\n </span>\n <span className=\"neeto-ui-stepper-item__label\" data-text={label}>\n {label}\n </span>\n </button>\n </div>\n ))}\n </div>\n);\n\nStepper.propTypes = {\n /**\n * To provide the array of steps\n */\n steps: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.string,\n })\n ),\n /**\n * To specify the active step\n */\n activeIndex: PropTypes.number,\n /**\n * To specify the function to set the active step\n */\n setActiveIndex: PropTypes.func,\n};\n\nexport default Stepper;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { NavLink } from \"react-router-dom\";\n\nconst Item = ({\n active,\n className = \"\",\n children,\n icon = null,\n onClick = () => {},\n activeClassName = \"\",\n ...otherProps\n}) => {\n const Icon =\n typeof icon === \"string\"\n ? () => (\n <i className={icon} data-cy=\"tab-item-icon\" data-testid=\"tab-icon\" />\n )\n : icon || React.Fragment;\n\n const Parent = activeClassName ? NavLink : \"button\";\n const buttonAttributes = activeClassName ? {} : { type: \"button\" };\n\n return (\n <Parent\n data-cy=\"tab-item\"\n className={classnames(\n [\n \"neeto-ui-tab neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center neeto-ui-select-none\",\n className,\n ],\n { active }\n )}\n onClick={onClick}\n {...{ ...otherProps, ...buttonAttributes }}\n >\n {icon && <Icon className=\"neeto-ui-tab__icon\" />}\n {children}\n </Parent>\n );\n};\n\nItem.displayName = \"Tab.Item\";\n\nItem.propTypes = {\n /**\n * To set the active Tab\n */\n active: PropTypes.bool,\n /**\n * Extra classes can be provided to the TabItem\n */\n className: PropTypes.string,\n /**\n * To add content inside TabItem\n */\n children: PropTypes.node,\n /**\n * To add icons to TabItem\n */\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.elementType]),\n /**\n * Callback to be triggered when user clicks on the TabItem\n */\n onClick: PropTypes.func,\n activeClassName: PropTypes.string,\n};\n\nexport default Item;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport Item from \"./Item\";\n\nconst SIZES = { large: \"large\", small: \"small\" };\n\nconst Tab = ({\n size = SIZES.small,\n noUnderline = false,\n children,\n className = \"\",\n ...otherProps\n}) => (\n <div\n data-cy=\"tab-container\"\n className={classnames(\n {\n \"neeto-ui-tab__wrapper neeto-ui-flex\": true,\n \"neeto-ui-tab__wrapper--size-large\": size === SIZES.large,\n \"neeto-ui-tab__wrapper--size-small\": size === SIZES.small,\n \"neeto-ui-tab__wrapper--underline-none\": noUnderline,\n },\n [className]\n )}\n {...otherProps}\n >\n {children}\n </div>\n);\n\nTab.propTypes = {\n /**\n * To hide the underline\n */\n noUnderline: PropTypes.bool,\n /**\n * Set the size of the Tabs.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To add content inside the Tab\n */\n children: PropTypes.node,\n /**\n * Extra classes can be provided to the Tab\n */\n className: PropTypes.string,\n};\n\nTab.Item = Item;\n\nexport default Tab;\n","import React from \"react\";\n\nimport Button from \"../../Button\";\nimport Callout from \"../../Callout\";\nimport Typography from \"../../Typography\";\n\nconst SelectAllRowsCallout = ({\n calloutProps,\n onBulkSelectAllRows,\n selectAllRowButtonLabel,\n selectAllRowMessage,\n}) => (\n <Callout\n className=\"my-2\"\n {...calloutProps}\n data-testid=\"select-all-rows-callout\"\n >\n <div className=\"flex space-x-3\">\n <Typography style=\"body2\">{selectAllRowMessage}</Typography>\n <Button\n data-testid=\"select-all-rows-button\"\n label={selectAllRowButtonLabel}\n style=\"link\"\n onClick={onBulkSelectAllRows}\n />\n </div>\n </Callout>\n);\n\nexport default SelectAllRowsCallout;\n","export const URL_SORT_ORDERS = { ascend: \"asc\", descend: \"desc\" };\n\nexport const TABLE_SORT_ORDERS = { asc: \"ascend\", desc: \"descend\" };\n\nexport const COLUMN_ADD_DIRECTION = { left: 0, right: 1 };\n","import { move } from \"ramda\";\n\nconst useReorderColumns = ({\n isEnabled,\n columns,\n setColumns,\n onColumnUpdate,\n rowSelection,\n}) => {\n if (!isEnabled) return { dragProps: {}, columns };\n\n const isColumnFixed = column => !!column.fixed;\n\n const dragProps = {\n onDragEnd: (fromIndex, toIndex) => {\n let from = fromIndex;\n let to = toIndex;\n if (rowSelection) {\n from = fromIndex - 1;\n to = toIndex - 1;\n }\n\n if (isColumnFixed(columns[from]) || isColumnFixed(columns[to])) return;\n const newColumns = move(from, to, columns);\n setColumns(newColumns);\n onColumnUpdate(newColumns);\n },\n nodeSelector: \"th\",\n handleSelector: \".drag-handler\",\n ignoreSelector: \".react-resizable-handle\",\n };\n\n return { dragProps, columns };\n};\n\nexport default useReorderColumns;\n","import React from \"react\";\n\nimport { DownArrow, UpArrow } from \"neetoicons\";\n\nimport { TABLE_SORT_ORDERS, URL_SORT_ORDERS } from \"../constants\";\n\nconst SortIcon = ({ sortOrder }) => {\n if (\n sortOrder === TABLE_SORT_ORDERS.asc ||\n sortOrder === URL_SORT_ORDERS.ascend\n ) {\n return <UpArrow size={14} />;\n }\n\n if (\n sortOrder === TABLE_SORT_ORDERS.desc ||\n sortOrder === URL_SORT_ORDERS.descend\n ) {\n return <DownArrow size={14} />;\n }\n\n return null;\n};\n\nexport default SortIcon;\n","import { useMemo } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport { has } from \"ramda\";\n\nimport SortIcon from \"../components/SortIcon\";\n\nconst useResizableColumns = ({\n columns,\n setColumns,\n isEnabled,\n isAddEnabled,\n onColumnAdd,\n onColumnUpdate,\n onColumnDelete,\n handleSort,\n sortedInfo,\n onColumnHide,\n onMoreActionClick,\n tableOnChangeProps,\n}) => {\n const handleResize =\n index =>\n (_, { size }) => {\n const nextColumns = [...columns];\n nextColumns[index] = { ...nextColumns[index], width: size.width };\n setColumns(nextColumns);\n };\n\n const computedColumnsData = useMemo(\n () =>\n columns.map((col, index) => {\n const modifiedColumn = {\n ...col,\n onHeaderCell: column => ({\n width: column.width,\n onResize: isEnabled ? handleResize(index) : noop,\n onResizeStop: () => (isEnabled ? onColumnUpdate(columns) : noop),\n isSortable: isPresent(col.sorter),\n onSort: handleSort,\n sortedInfo,\n onColumnHide,\n onMoreActionClick,\n isAddEnabled: isAddEnabled && !col.fixed,\n onAddColumn: positionOffset => onColumnAdd(index + positionOffset),\n onColumnDelete,\n isHidable: col.isHidable,\n isDeletable: col.isDeletable,\n moreActions: col.moreActions,\n column: col,\n }),\n sortIcon: SortIcon,\n sortOrder:\n sortedInfo.field === col.dataIndex || sortedInfo.field === col.key\n ? sortedInfo.order\n : null,\n };\n\n if (!has(\"ellipsis\", col)) {\n modifiedColumn.ellipsis = true;\n }\n\n return modifiedColumn;\n }),\n [columns, sortedInfo, tableOnChangeProps]\n );\n\n return { columns: computedColumnsData };\n};\n\nexport default useResizableColumns;\n","import { equals, props } from \"ramda\";\n\nimport useReorderColumns from \"./useReorderColumns\";\nimport useResizableColumns from \"./useResizableColumns\";\n\nconst useColumns = ({\n columns,\n setColumns,\n isResizeEnabled,\n isReorderEnabled,\n isAddEnabled,\n onColumnAdd,\n onColumnUpdate,\n onColumnDelete,\n rowSelection,\n sortedInfo,\n setSortedInfo,\n onColumnHide,\n onMoreActionClick,\n onTableChange,\n tableOnChangeProps,\n handleTableSortChange,\n isDefaultPageChangeHandler,\n}) => {\n const { dragProps } = useReorderColumns({\n isEnabled: isReorderEnabled,\n columns,\n setColumns,\n onColumnUpdate,\n rowSelection,\n });\n\n const handleSort = sorter => {\n let newSortedInfo = { ...sorter };\n if (\n equals(\n props([\"field\", \"order\"], newSortedInfo),\n props([\"field\", \"order\"], sortedInfo)\n )\n ) {\n newSortedInfo = {\n field: null,\n order: null,\n column: null,\n columnKey: null,\n };\n }\n setSortedInfo(newSortedInfo);\n onTableChange?.(\n tableOnChangeProps.current?.pagination || {},\n tableOnChangeProps.current?.filters || {},\n { ...newSortedInfo }\n );\n\n isDefaultPageChangeHandler &&\n handleTableSortChange(\n tableOnChangeProps.current?.pagination || {},\n newSortedInfo\n );\n };\n\n const { columns: computedColumnsData } = useResizableColumns({\n columns,\n setColumns,\n isEnabled: isResizeEnabled,\n isAddEnabled,\n onColumnAdd,\n onColumnUpdate,\n onColumnDelete,\n handleSort,\n sortedInfo,\n onColumnHide,\n onMoreActionClick,\n tableOnChangeProps,\n });\n\n return { dragProps, columns: computedColumnsData };\n};\n\nexport default useColumns;\n","import { useEffect, useState } from \"react\";\n\nimport { camelToSnakeCase, isPresent, snakeToCamelCase } from \"neetocist\";\nimport { mergeLeft } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useQueryParams } from \"hooks\";\nimport { buildUrl } from \"utils\";\n\nimport { URL_SORT_ORDERS, TABLE_SORT_ORDERS } from \"../constants\";\n\nconst getSortInfoFromQueryParams = queryParams => {\n const sortedInfo = {};\n if (\n isPresent(queryParams.sort_by) &&\n isPresent(queryParams.order_by) &&\n isPresent(TABLE_SORT_ORDERS[queryParams.order_by])\n ) {\n sortedInfo.field = snakeToCamelCase(queryParams.sort_by);\n sortedInfo.order = TABLE_SORT_ORDERS[queryParams.order_by];\n }\n\n return sortedInfo;\n};\n\nconst useTableSort = () => {\n const queryParams = useQueryParams();\n const [sortedInfo, setSortedInfo] = useState(() =>\n getSortInfoFromQueryParams(queryParams)\n );\n\n useEffect(() => {\n setSortedInfo(getSortInfoFromQueryParams(queryParams));\n }, [queryParams?.sort_by, queryParams?.order_by]);\n\n const history = useHistory();\n\n const handleTableChange = (pagination, sorter) => {\n const params = {\n sort_by: sorter.order ? camelToSnakeCase(sorter.field) : undefined,\n order_by: URL_SORT_ORDERS[sorter.order],\n page: pagination.current,\n };\n\n const pathname = window.location.pathname;\n history.push(buildUrl(pathname, mergeLeft(params, queryParams)));\n };\n\n return { handleTableChange, sortedInfo, setSortedInfo };\n};\n\nexport default useTableSort;\n","import React, { useRef } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Check, MenuHorizontal } from \"neetoicons\";\n\nimport Dropdown from \"components/Dropdown\";\nimport Popover from \"components/Popover\";\nimport {\n COLUMN_ADD_DIRECTION,\n TABLE_SORT_ORDERS,\n} from \"components/Table/constants\";\nimport Typography from \"components/Typography\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst HeaderCellMenu = ({\n onSort,\n column = {},\n sortedInfo,\n isSortable,\n isAddEnabled,\n isColumnDeletable,\n isHidable,\n onColumnHide,\n onAddColumn,\n onColumnDelete,\n hasMoreActions,\n onMoreActionClick,\n columnTitle = null,\n moreActions = [],\n}) => {\n const columnInfoButtonReference = useRef();\n\n return (\n <div onClick={event => event.stopPropagation()}>\n <Dropdown\n appendTo={() => document.body}\n className=\"flex\"\n icon={MenuHorizontal}\n position=\"auto\"\n strategy=\"fixed\"\n buttonProps={{\n className: \"min-h-0 flex-shrink-0\",\n style: \"text\",\n size: \"medium\",\n \"data-testid\": \"column-menu-button\",\n \"data-dropdown-button-style\": \"more-dropdown\",\n }}\n >\n <Menu\n className=\"cursor-auto\"\n onMouseDown={event => event.preventDefault()}\n >\n {isSortable && (\n <>\n <MenuItem.Button\n className=\"flex items-center justify-between\"\n onClick={() =>\n onSort({\n column,\n columnKey: column.key,\n field: column.dataIndex || column.key,\n order: TABLE_SORT_ORDERS.asc,\n })\n }\n >\n <span>Ascending</span>\n {sortedInfo.order === TABLE_SORT_ORDERS.asc &&\n sortedInfo.field === column.dataIndex && (\n <Check className=\"neeto-ui-text-success-500\" size={20} />\n )}\n </MenuItem.Button>\n <MenuItem.Button\n className=\"flex items-center justify-between\"\n onClick={() =>\n onSort({\n column,\n columnKey: column.key,\n field: column.dataIndex,\n order: TABLE_SORT_ORDERS.desc,\n })\n }\n >\n <span>Descending</span>\n {sortedInfo.order === TABLE_SORT_ORDERS.desc &&\n sortedInfo.field === column.dataIndex && (\n <Check className=\"neeto-ui-text-success-500\" size={20} />\n )}\n </MenuItem.Button>\n </>\n )}\n {isAddEnabled && (\n <>\n <MenuItem.Button\n onClick={() => onAddColumn(COLUMN_ADD_DIRECTION.right)}\n >\n Insert column right\n </MenuItem.Button>\n <MenuItem.Button\n onClick={() => onAddColumn(COLUMN_ADD_DIRECTION.left)}\n >\n Insert column left\n </MenuItem.Button>\n </>\n )}\n {isPresent(column?.description) && (\n <>\n <MenuItem.Button ref={columnInfoButtonReference}>\n Column info\n </MenuItem.Button>\n <Popover\n className=\"cursor-auto\"\n hideOnClick={false}\n interactiveDebounce={20}\n offset={[0, 15]}\n position=\"right\"\n reference={columnInfoButtonReference}\n strategy=\"fixed\"\n >\n {columnTitle && <Popover.Title>{columnTitle}</Popover.Title>}\n <Typography\n className=\"w-72 max-w-full whitespace-normal normal-case\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"normal\"\n >\n {column?.description}\n </Typography>\n </Popover>\n </>\n )}\n {isHidable && (\n <MenuItem.Button onClick={() => onColumnHide(column)}>\n Hide column\n </MenuItem.Button>\n )}\n {isColumnDeletable && (\n <MenuItem.Button onClick={() => onColumnDelete(column.id)}>\n Delete column\n </MenuItem.Button>\n )}\n {hasMoreActions &&\n moreActions.map((item, index) => (\n <MenuItem.Button\n key={index}\n onClick={() => onMoreActionClick(item.type, column)}\n >\n {item.label}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n </div>\n );\n};\n\nexport default HeaderCellMenu;\n","import React from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\n\nimport HeaderCellMenu from \"./HeaderCellMenu\";\n\nconst CellContent = ({\n children,\n isSortable,\n isAddEnabled,\n sortedInfo,\n onSort,\n isHidable = true,\n isDeletable = false,\n onColumnHide,\n onAddColumn,\n onColumnDelete,\n onMoreActionClick,\n column,\n moreActions = [],\n ...headerProps\n}) => {\n const isColumnHidable = isHidable && isPresent(onColumnHide);\n const isColumnDeletable = isDeletable && isPresent(onColumnDelete);\n const hasMoreActions = !isEmpty(moreActions) && isPresent(onMoreActionClick);\n const hasMoreMenu =\n isSortable ||\n isPresent(column?.description) ||\n isColumnHidable ||\n isAddEnabled ||\n hasMoreActions;\n\n return (\n <th\n {...headerProps}\n title=\"\"\n onClick={isSortable ? noop : headerProps.onClick}\n >\n <div className=\"flex items-center justify-between\">\n <div className=\"min-w-0 flex-grow\">{children}</div>\n {hasMoreMenu && (\n <HeaderCellMenu\n {...{\n column,\n hasMoreActions,\n isAddEnabled,\n isColumnDeletable,\n isSortable,\n moreActions,\n onAddColumn,\n onColumnDelete,\n onColumnHide,\n onMoreActionClick,\n onSort,\n sortedInfo,\n }}\n columnTitle={headerProps.title}\n isHidable={isColumnHidable}\n />\n )}\n </div>\n </th>\n );\n};\n\nexport default CellContent;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { Resizable } from \"react-resizable\";\n\nimport CellContent from \"./CellContent\";\n\nconst HeaderCell = props => {\n const { onResize, width, onResizeStop, className, ...restProps } = props;\n\n if (!width) {\n return (\n <CellContent\n {...restProps}\n className={classNames(className, \"drag-handler\")}\n />\n );\n }\n\n return (\n <Resizable\n {...{ onResize, onResizeStop, width }}\n draggableOpts={{ enableUserSelectHack: false }}\n height={0}\n handle={\n <span\n className=\"react-resizable-handle\"\n onClick={e => e.stopPropagation()}\n />\n }\n >\n <CellContent\n {...restProps}\n className={classNames(className, \"drag-handler\")}\n />\n </Resizable>\n );\n};\n\nexport default HeaderCell;\n","import React from \"react\";\n\nimport { Resizable } from \"react-resizable\";\n\nimport CellContent from \"./CellContent\";\n\nconst ResizableHeaderCell = props => {\n const { onResize, width, onResizeStop, ...restProps } = props;\n\n if (!width) {\n return <CellContent {...restProps} />;\n }\n\n return (\n <Resizable\n {...{ onResize, onResizeStop, width }}\n draggableOpts={{ enableUserSelectHack: false }}\n height={0}\n handle={\n <span\n className=\"react-resizable-handle\"\n onClick={e => e.stopPropagation()}\n />\n }\n >\n <CellContent {...restProps} />\n </Resizable>\n );\n};\n\nexport default ResizableHeaderCell;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\n\nimport CellContent from \"./CellContent\";\nimport HeaderCell from \"./HeaderCell\";\nimport ResizableHeaderCell from \"./ResizableHeaderCell\";\n\nconst ReorderableHeaderCell = ({ className, ...props }) => (\n <CellContent {...props} className={classNames(className, \"drag-handler\")} />\n);\n\nexport { CellContent, ResizableHeaderCell, ReorderableHeaderCell, HeaderCell };\n","import { __, all, includes } from \"ramda\";\n\nimport {\n CellContent,\n HeaderCell,\n ReorderableHeaderCell,\n ResizableHeaderCell,\n} from \"./components/HeaderCell\";\n\nexport const getHeaderCell = ({ enableColumnResize, enableColumnReorder }) => {\n if (enableColumnReorder && enableColumnResize) return { cell: HeaderCell };\n\n if (enableColumnResize) return { cell: ResizableHeaderCell };\n\n if (enableColumnReorder) return { cell: ReorderableHeaderCell };\n\n return { cell: CellContent };\n};\n\nexport const isIncludedIn = (array1, array2) =>\n all(includes(__, array1), array2);\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { Table as AntTable, ConfigProvider } from \"antd\";\nimport classnames from \"classnames\";\nimport {\n dynamicArray,\n isNotEmpty,\n modifyBy,\n snakeToCamelCase,\n} from \"neetocist\";\nimport { Left, Right, MenuHorizontal } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { assoc, isEmpty, mergeLeft, pluck } from \"ramda\";\nimport ReactDragListView from \"react-drag-listview\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { useQueryParams, useTimeout } from \"hooks\";\nimport { ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES, buildUrl, noop } from \"utils\";\n\nimport SelectAllRowsCallout from \"./components/SelectAllRowsCallout\";\nimport { TABLE_SORT_ORDERS } from \"./constants\";\nimport useColumns from \"./hooks/useColumns\";\nimport useTableSort from \"./hooks/useTableSort\";\nimport { getHeaderCell, isIncludedIn } from \"./utils\";\n\nimport Button from \"../Button\";\nimport Typography from \"../Typography\";\n\nconst TABLE_PAGINATION_HEIGHT = 64;\nconst TABLE_DEFAULT_HEADER_HEIGHT = 40;\nconst TABLE_ROW_HEIGHT = 52;\n\nconst Table = ({\n allowRowClick = true,\n enableColumnResize = false,\n enableColumnReorder = false,\n enableAddColumn = false,\n className = \"\",\n columnData = [],\n currentPageNumber = 1,\n defaultPageSize = 30,\n handlePageChange = noop,\n loading = false,\n onRowClick,\n onRowSelect,\n rowData = [],\n totalCount = 0,\n selectedRowKeys: initialSelectedRowKeys = [],\n fixedHeight = false,\n paginationProps = {},\n rowKey = \"id\",\n scroll,\n rowSelection,\n shouldDynamicallyRenderRowSize = false,\n bordered = true,\n onColumnUpdate = noop,\n components = {},\n onColumnHide,\n onColumnAdd = noop,\n onColumnDelete,\n onChange,\n onMoreActionClick,\n bulkSelectAllRowsProps,\n ...otherProps\n}) => {\n const [containerHeight, setContainerHeight] = useState(null);\n const [headerHeight, setHeaderHeight] = useState(TABLE_DEFAULT_HEADER_HEIGHT);\n const [columns, setColumns] = useState(columnData);\n const [bulkSelectedAllRows, setBulkSelectedAllRows] = useState(false);\n const {\n handleTableChange: handleTableSortChange,\n sortedInfo,\n setSortedInfo,\n } = useTableSort();\n\n const { setBulkSelectedAllRows: handleSetBulkSelectedAllRows } =\n bulkSelectAllRowsProps ?? {};\n\n const isDefaultPageChangeHandler = handlePageChange === noop;\n\n const history = useHistory();\n\n const headerRef = useRef();\n const tableOnChangeProps = useRef({});\n\n const resizeObserver = useRef(\n new ResizeObserver(([entry]) =>\n setContainerHeight(entry.contentRect.height)\n )\n );\n\n const tableRef = useCallback(\n table => {\n if (!fixedHeight) return;\n\n const observer = resizeObserver.current;\n\n if (table !== null) {\n observer.observe(table?.parentNode);\n } else if (observer) {\n observer.disconnect();\n }\n },\n [resizeObserver.current, fixedHeight]\n );\n\n useTimeout(() => {\n const headerHeight = headerRef.current\n ? headerRef.current.offsetHeight\n : TABLE_DEFAULT_HEADER_HEIGHT;\n\n setHeaderHeight(headerHeight);\n }, 10);\n\n const { dragProps, columns: curatedColumnsData } = useColumns({\n isReorderEnabled: enableColumnReorder,\n isResizeEnabled: enableColumnResize,\n isAddEnabled: enableAddColumn,\n onTableChange: onChange,\n columns,\n setColumns,\n onColumnUpdate,\n rowSelection,\n sortedInfo,\n setSortedInfo,\n onColumnHide,\n onMoreActionClick,\n onColumnAdd,\n onColumnDelete,\n tableOnChangeProps,\n handleTableSortChange,\n isDefaultPageChangeHandler,\n });\n\n const queryParams = useQueryParams();\n\n const setSortFromURL = columnData =>\n modifyBy(\n { dataIndex: snakeToCamelCase(queryParams.sort_by ?? \"\") },\n assoc(\"sortOrder\", TABLE_SORT_ORDERS[queryParams.order_by]),\n columnData\n );\n\n const sortedColumns = isDefaultPageChangeHandler\n ? setSortFromURL(curatedColumnsData)\n : curatedColumnsData;\n\n const locale = { emptyText: <Typography style=\"body2\">No Data</Typography> };\n\n const sortedColumnsWithAlignment = sortedColumns.map(sortedColumn => ({\n ...sortedColumn,\n onHeaderCell: column => ({\n ...sortedColumn.onHeaderCell?.(column),\n \"data-text-align\": column.align,\n }),\n }));\n\n const selectedRowKeys = bulkSelectedAllRows\n ? pluck(rowKey, rowData)\n : initialSelectedRowKeys;\n\n const showBulkSelectionCallout = useMemo(\n () =>\n isIncludedIn(selectedRowKeys, pluck(rowKey, rowData)) &&\n selectedRowKeys.length !== totalCount &&\n !bulkSelectedAllRows,\n [selectedRowKeys, rowKey, rowData, totalCount, bulkSelectedAllRows]\n );\n\n const handleRowChange = (selectedRowKeys, selectedRows) => {\n if (selectedRowKeys.length !== defaultPageSize) {\n setBulkSelectedAllRows(false);\n handleSetBulkSelectedAllRows?.(false);\n }\n onRowSelect?.(selectedRowKeys, selectedRows);\n };\n\n const rowSelectionProps = rowSelection\n ? {\n type: \"checkbox\",\n preserveSelectedRowKeys: true,\n ...rowSelection,\n onChange: handleRowChange,\n selectedRowKeys,\n }\n : false;\n\n // eslint-disable-next-line @bigbinary/neeto/no-excess-function-arguments\n const handleTableChange = (pagination, filters, sorter, extras) => {\n setSortedInfo(sorter);\n isDefaultPageChangeHandler && handleTableSortChange(pagination, sorter);\n onChange?.(pagination, filters, sorter, extras);\n tableOnChangeProps.current = { pagination, filters };\n };\n\n const componentOverrides = {\n ...components,\n header: getHeaderCell({\n enableColumnResize,\n enableColumnReorder,\n }),\n };\n\n const calculateRowsPerPage = () => {\n const viewportHeight = window.innerHeight;\n const rowsPerPage = Math.floor(\n ((viewportHeight - TABLE_PAGINATION_HEIGHT) / TABLE_ROW_HEIGHT) * 3\n );\n\n return Math.ceil(rowsPerPage / 10) * 10;\n };\n\n const pageSize = shouldDynamicallyRenderRowSize\n ? calculateRowsPerPage()\n : paginationProps.pageSize || defaultPageSize;\n\n const calculateTableContainerHeight = () => {\n const isPaginationVisible =\n otherProps.pagination !== false && rowData.length > pageSize;\n\n return (\n containerHeight -\n headerHeight -\n (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0)\n );\n };\n\n const calculatePageSizeOptions = () =>\n dynamicArray(5, index => (index + 1) * pageSize);\n\n const itemRender = (_, type, originalElement) => {\n const commonProps = { size: \"small\", style: \"text\" };\n\n if (type === \"prev\") return <Button icon={Left} {...commonProps} />;\n\n if (type === \"next\") return <Button icon={Right} {...commonProps} />;\n\n if (type === \"jump-prev\" || type === \"jump-next\") {\n return <Button icon={MenuHorizontal} {...commonProps} />;\n }\n\n return originalElement;\n };\n\n useEffect(() => {\n if (isNotEmpty(initialSelectedRowKeys)) return;\n\n setBulkSelectedAllRows(false);\n handleSetBulkSelectedAllRows?.(false);\n }, [handleSetBulkSelectedAllRows, initialSelectedRowKeys]);\n\n useEffect(() => {\n const shouldNavigateToLastPage =\n isEmpty(rowData) && !loading && currentPageNumber !== 1;\n\n if (!shouldNavigateToLastPage) return;\n\n const lastPage = Math.ceil(totalCount / pageSize);\n const page = Math.max(1, lastPage);\n const pathname = window.location.pathname;\n\n isDefaultPageChangeHandler\n ? history.push(buildUrl(pathname, mergeLeft({ page }, queryParams)))\n : handlePageChange(page, pageSize);\n }, [rowData]);\n\n useEffect(() => setColumns(columnData), [columnData]);\n\n const neetoUIFontBold = parseInt(\n getComputedStyle(document.documentElement).getPropertyValue(\n \"--neeto-ui-font-bold\"\n ),\n 10\n );\n\n const renderTable = () => (\n <ConfigProvider\n theme={{\n token: { ...ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES },\n components: {\n Pagination: {\n itemActiveBg: \"rgb(var(--neeto-ui-primary-500))\",\n itemActiveBgDisabled: \"rgb(var(--neeto-ui-gray-100))\",\n itemActiveColorDisabled: \"rgb(var(--neeto-ui-gray-300))\",\n itemBg: \"rgb(var(--neeto-ui-white))\",\n itemInputBg: \"rgb(var(--neeto-ui-white))\",\n itemLinkBg: \"rgb(var(--neeto-ui-white))\",\n\n // Global overrides\n colorBgContainer: \"rgb(var(--neeto-ui-primary-500))\",\n colorPrimary: \"rgb(var(--neeto-ui-white))\",\n colorPrimaryHover: \"rgb(var(--neeto-ui-white))\",\n colorBgTextHover: \"rgb(var(--neeto-ui-gray-200))\",\n borderRadius: 6,\n },\n Table: {\n headerBorderRadius: 0,\n bodySortBg: \"rgb(var(--neeto-ui-gray-100))\",\n borderColor: \"rgb(var(--neeto-ui-gray-300))\",\n expandIconBg: \"rgb(var(--neeto-ui-white))\",\n filterDropdownBg: \"rgb(var(--neeto-ui-white))\",\n filterDropdownMenuBg: \"rgb(var(--neeto-ui-white))\",\n fixedHeaderSortActiveBg: \"rgb(var(--neeto-ui-gray-200))\",\n footerBg: \"rgb(var(--neeto-ui-gray-100))\",\n footerColor: \"rgb(var(--neeto-ui-gray-800))\",\n headerBg: \"rgb(var(--neeto-ui-gray-100))\",\n headerColor: \"rgb(var(--neeto-ui-gray-700))\",\n headerFilterHoverBg: \"rgb(var(--neeto-ui-gray-100))\",\n headerSortActiveBg: \"rgb(var(--neeto-ui-gray-200))\",\n headerSortHoverBg: \"rgb(var(--neeto-ui-gray-100))\",\n headerSplitColor: \"rgb(var(--neeto-ui-gray-200))\",\n rowExpandedBg: \"rgb(var(--neeto-ui-gray-200))\",\n rowHoverBg: \"rgb(var(--neeto-ui-gray-100))\",\n rowSelectedBg: \"rgb(var(--neeto-ui-primary-100))\",\n rowSelectedHoverBg: \"rgb(var(--neeto-ui-pastel-purple))\",\n stickyScrollBarBg: \"rgb(var(--neeto-ui-primary-100))\",\n cellPaddingBlock: 10,\n\n // Global overrides\n colorPrimary: \"rgb(var(--neeto-ui-primary-500))\",\n fontSize: 14,\n fontWeightStrong: neetoUIFontBold,\n paddingContentVerticalLG: 10,\n },\n },\n }}\n >\n {bulkSelectAllRowsProps && showBulkSelectionCallout && (\n <SelectAllRowsCallout\n {...bulkSelectAllRowsProps}\n onBulkSelectAllRows={() => {\n setBulkSelectedAllRows(true);\n handleSetBulkSelectedAllRows?.(true);\n }}\n />\n )}\n <AntTable\n {...{ bordered, loading, locale, rowKey }}\n columns={sortedColumnsWithAlignment}\n components={componentOverrides}\n dataSource={rowData}\n ref={tableRef}\n rowSelection={rowSelectionProps}\n showSorterTooltip={false}\n pagination={{\n hideOnSinglePage: true,\n ...paginationProps,\n showSizeChanger: false,\n total: totalCount ?? 0,\n current: currentPageNumber,\n defaultPageSize: pageSize,\n pageSizeOptions: calculatePageSizeOptions(),\n onChange: handlePageChange,\n itemRender,\n }}\n rowClassName={classnames(\n \"neeto-ui-table--row\",\n { \"neeto-ui-table--row_hover\": allowRowClick },\n [className]\n )}\n scroll={{\n x: \"max-content\",\n y: calculateTableContainerHeight(),\n ...scroll,\n }}\n onChange={handleTableChange}\n onHeaderRow={() => ({\n ref: headerRef,\n className: classnames(\"neeto-ui-table__header\", {\n \"neeto-ui-table-reorderable\": enableColumnReorder,\n }),\n id: \"neeto-ui-table__header\",\n })}\n onRow={(record, rowIndex) => ({\n onClick: event =>\n allowRowClick && onRowClick && onRowClick(event, record, rowIndex),\n })}\n {...otherProps}\n />\n </ConfigProvider>\n );\n\n return enableColumnReorder ? (\n <ReactDragListView.DragColumn {...dragProps}>\n {renderTable()}\n </ReactDragListView.DragColumn>\n ) : (\n renderTable()\n );\n};\n\nTable.propTypes = {\n /**\n * Enables row click event. Accepts boolean values.\n */\n allowRowClick: PropTypes.bool,\n /**\n * Dynamically renders the number of rows based on the viewport height.\n */\n shouldDynamicallyRenderRowSize: PropTypes.bool,\n /**\n * Custom classnames for each row.\n */\n className: PropTypes.string,\n /**\n * To make the Table fixed height.\n */\n fixedHeight: PropTypes.bool,\n /**\n * Columns of the Table. Accepts an array of [column definitions](#column_data).\n */\n columnData: PropTypes.array.isRequired,\n /**\n * Active page number.\n */\n currentPageNumber: PropTypes.number,\n /**\n * Sets the number of rows in a page.\n */\n defaultPageSize: PropTypes.number,\n /**\n * Handles page change events. Accepts a callback with `page` and `pageSize` as parameters. If not provided, component will handle page query parameters.\n *\n * `handlePageChange={(page, pageSize) => {}}`\n */\n handlePageChange: PropTypes.func,\n /**\n * Show loading state in Table.\n */\n loading: PropTypes.bool,\n /**\n * Handles click event on each row. Accepts a callback with `event`, `record`, and `index` as parameters.\n *\n * `onRowClick={(event, record, rowIndex) => {}}`\n */\n onRowClick: PropTypes.func,\n /**\n * Handles select event on each row. Accepts a callback with `selectedRowKeys` and `selectedRows` as parameters.\n * Make sure to pass `id` in `rowData` for this to work.\n * `onRowSelect={(selectedRowKeys, selectedRows) => {}}`\n */\n onRowSelect: PropTypes.func,\n /**\n * Keys of the rows that are selected.\n */\n selectedRowKeys: PropTypes.array,\n /**\n * Additional props for pagination. Refer [pagination docs](https://ant.design/components/pagination/#API) from AntD Table.\n */\n paginationProps: PropTypes.object,\n /**\n * Data for rows to be displayed. Accepts an array of JavaScript Objects.\n */\n rowData: PropTypes.array.isRequired,\n /**\n * Total number of data items.\n */\n totalCount: PropTypes.number,\n /**\n * Enables resizing of columns. Accepts boolean values.\n */\n enableColumnResize: PropTypes.bool,\n /**\n * Enables reordering of columns. Accepts boolean values.\n */\n enableColumnReorder: PropTypes.bool,\n /**\n * Enables adding of columns to the left or right of the current column. Accepts boolean values.\n */\n enableAddColumn: PropTypes.bool,\n /**\n * Handles column update events. Accepts a callback with `columns` as parameters.\n *\n * `onColumnUpdate={(columns) => {}}`\n */\n onColumnUpdate: PropTypes.func,\n /**\n * Function that gets called when a new column is added. Gets called with the 'position' to add the new column to as parameter.\n *\n * `onColumnAdd={(position) => {}}`\n */\n onColumnAdd: PropTypes.func,\n /**\n * Function that gets called when a custom field column is deleted. Gets called with the 'id' of the column getting deleted as parameter.\n *\n * `onColumnDelete={(key) => {}}`\n */\n onColumnDelete: PropTypes.func,\n /**\n * Function that gets called when a more action item in header is clicked.\n *\n * `onMoreActionClick={(type, column) => {}}`\n */\n onMoreActionClick: PropTypes.func,\n /**\n * Additional props for row selection. Refer [row selection docs](https://ant.design/components/table/#rowSelection) from AntD Table\n * Make sure to pass `id` in `rowData` for this to work.\n */\n rowSelection: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n /**\n * Props for adding `Select all rows` option for multi-page table.\n */\n bulkSelectAllRowsProps: PropTypes.shape({\n selectAllRowMessage: PropTypes.string.isRequired,\n selectAllRowButtonLabel: PropTypes.string.isRequired,\n setBulkSelectedAllRows: PropTypes.func.isRequired,\n }),\n};\n\nexport default Table;\n","import { DatePicker as AntTimePicker } from \"antd\";\n\nconst { RangePicker } = AntTimePicker;\n\nexport const TIME_PICKER_TYPES = {\n range: RangePicker,\n time: AntTimePicker,\n};\n","import React, { forwardRef } from \"react\";\n\nimport { ConfigProvider } from \"antd\";\nimport classnames from \"classnames\";\nimport { Clock } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\n\nimport Label from \"components/Label\";\nimport { useSyncedRef, useId } from \"hooks\";\nimport {\n convertToDayjsObjects,\n noop,\n hyphenize,\n ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES,\n} from \"utils\";\n\nimport { TIME_PICKER_TYPES } from \"./constants\";\n\nconst INPUT_SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst TIME_PICKER_INTERVAL = {\n hourStep: 1,\n minuteStep: 1,\n secondStep: 1,\n};\n\nconst TimePicker = forwardRef(\n (\n {\n className = \"\",\n label = \"\",\n size = INPUT_SIZES.medium,\n dropdownClassName = \"\",\n popupClassName = \"\",\n format = \"HH:mm:ss\",\n interval = TIME_PICKER_INTERVAL,\n onChange = noop,\n type = \"time\",\n nakedInput = false,\n disabled = false,\n error = \"\",\n defaultValue,\n value,\n labelProps,\n required = false,\n ...otherProps\n },\n ref\n ) => {\n const id = useId(otherProps.id);\n const timePickerRef = useSyncedRef(ref);\n\n const Component = TIME_PICKER_TYPES[type.toLowerCase()];\n\n const errorId = `error_${id}`;\n\n const showTimeLabels = {};\n if (format.includes(\"s\")) {\n showTimeLabels.second = true;\n }\n\n if (format.includes(\"m\")) {\n showTimeLabels.minute = true;\n }\n\n if (format.includes(\"H\") || format.includes(\"h\")) {\n showTimeLabels.hour = true;\n }\n\n const handleOnChange = (time, timeString) => {\n type === \"range\" && !time\n ? onChange([], timeString)\n : onChange(time, timeString);\n };\n\n const panelRender = originalPanel => (\n <div className=\"neeto-ui-date-input-custom-panel\">\n <div className=\"neeto-ui-date-input-custom-panel__header\">\n <ul className=\"neeto-ui-date-input-custom-panel__header-cols\">\n {showTimeLabels.hour && (\n <li className=\"neeto-ui-date-input-custom-panel__header-col\">\n Hour\n </li>\n )}\n {showTimeLabels.minute && (\n <li className=\"neeto-ui-date-input-custom-panel__header-col\">\n Minutes\n </li>\n )}\n {showTimeLabels.second && (\n <li className=\"neeto-ui-date-input-custom-panel__header-col\">\n Seconds\n </li>\n )}\n </ul>\n </div>\n <div className=\"neeto-ui-date-input-custom-panel__body\">\n {originalPanel}\n </div>\n </div>\n );\n\n return (\n <ConfigProvider\n theme={{\n token: { ...ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES },\n components: {\n DatePicker: {\n // Global overrides\n colorBgElevated: \"rgb(var(--neeto-ui-white))\",\n colorPrimary: \"rgb(var(--neeto-ui-primary-500))\",\n colorPrimaryHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorBorder: \"rgb(var(--neeto-ui-gray-300))\",\n colorLink: \"rgb(var(--neeto-ui-primary-500))\",\n colorLinkHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorText: \"rgb(var(--neeto-ui-gray-800))\",\n colorTextDisabled: \"rgb(var(--neeto-ui-gray-500))\",\n colorTextPlaceholder: \"rgb(var(--neeto-ui-gray-400))\",\n controlItemBgActive: \"rgb(var(--neeto-ui-primary-800))\",\n controlItemBgHover: \"rgb(var(--neeto-ui-gray-100))\",\n controlOutline: \"rgb(var(--neeto-ui-gray-300))\",\n },\n },\n }}\n >\n <div className=\"neeto-ui-input__wrapper\">\n {label && <Label {...{ required, ...labelProps }}>{label}</Label>}\n <Component\n hourStep={interval.hourStep}\n minuteStep={interval.minuteStep}\n ref={timePickerRef}\n secondStep={interval.secondStep}\n className={classnames(\"neeto-ui-time-input\", [className], {\n \"neeto-ui-time-input--small\": size === \"small\",\n \"neeto-ui-time-input--medium\": size === \"medium\",\n \"neeto-ui-time-input--large\": size === \"large\",\n \"neeto-ui-time-input--disabled\": disabled,\n \"neeto-ui-time-input--naked\": nakedInput,\n \"neeto-ui-time-input--error\": error,\n })}\n popupClassName={classnames(\"neeto-ui-date-time-dropdown\", [\n dropdownClassName, // Will be removed in the next major version\n popupClassName,\n ])}\n onChange={handleOnChange}\n {...{ disabled, format, ...otherProps, panelRender }}\n defaultValue={convertToDayjsObjects(defaultValue)}\n mode={undefined}\n picker=\"time\"\n suffixIcon={<Clock size={16} />}\n value={convertToDayjsObjects(value)}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n </div>\n </ConfigProvider>\n );\n }\n);\n\nTimePicker.displayName = \"TimePicker\";\n\nTimePicker.propTypes = {\n /**\n * To provide external classnames to TimePicker component.\n */\n className: PropTypes.string,\n /**\n * To set the text to be displayed above the TimePicker.\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 set the size of the TimePicker.\n */\n size: PropTypes.oneOf(Object.values(INPUT_SIZES)),\n /**\n * To set the TimePicker as naked Input field.\n */\n nakedInput: PropTypes.bool,\n /**\n * To specify the error message to be shown in the TimePicker.\n */\n error: PropTypes.string,\n /**\n * To specify the time format.\n */\n format: PropTypes.string,\n /**\n * To specify the time interval.\n */\n interval: PropTypes.object,\n /**\n * For `TimeInput`,(time, timeString) => {} <br />\n * For `TimeRange`, (time, [startTime, endTime]) => {}\n */\n onChange: PropTypes.func,\n /**\n * To specify the type of the TimePicker.\n */\n type: PropTypes.oneOf([\"time\", \"range\"]),\n /**\n * To set TimePicker as disabled.\n */\n disabled: PropTypes.bool,\n /**\n * To specify the values to be displayed inside the TimePicker.\n */\n value: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n /**\n * To specify custom classnames to be applied to the TimePicker dropdown.\n */\n dropdownClassName: PropTypes.string,\n /**\n * To specify the default values to be displayed inside the TimePicker.\n */\n defaultValue: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n /**\n * To specify whether the Time picker is required or not.\n */\n required: PropTypes.bool,\n};\n\nexport default TimePicker;\n","import * as React from 'react';\nimport { Options, options, tokenize } from 'linkifyjs';\n\n/**\n * Given a string, converts to an array of valid React components\n * (which may include strings)\n * @param {string} str\n * @param {Options} opts\n * @param {{ [elementId: string]: number }} meta\n * @returns {React.ReactNodeArray}\n */\nfunction stringToElements(str, opts, meta) {\n const tokens = tokenize(str);\n const elements = [];\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n if (token.t === 'nl' && opts.get('nl2br')) {\n const key = `__linkify-el-${meta.elementId++}`;\n elements.push(React.createElement('br', {\n key\n }));\n } else if (!token.isLink || !opts.check(token)) {\n // Regular text\n elements.push(token.toString());\n } else {\n let rendered = opts.render(token);\n if (!('key' in rendered.props)) {\n // Ensure generated element has unique key\n const key = `__linkify-el-${meta.elementId++}`;\n const props = options.assign({\n key\n }, rendered.props);\n rendered = React.cloneElement(rendered, props);\n }\n elements.push(rendered);\n }\n }\n return elements;\n}\n\n// Recursively linkify the contents of the given React Element instance\n/**\n * @template P\n * @template {string | React.JSXElementConstructor<P>} T\n * @param {React.ReactElement<P, T>} element\n * @param {Options} opts\n * @param {{ [elementId: string]: number }} meta\n * @returns {React.ReactElement<P, T>}\n */\nfunction linkifyReactElement(element, opts, meta) {\n if (React.Children.count(element.props.children) === 0) {\n // No need to clone if the element had no children\n return element;\n }\n const children = [];\n React.Children.forEach(element.props.children, child => {\n if (typeof child === 'string') {\n // ensure that we always generate unique element IDs for keys\n children.push.apply(children, stringToElements(child, opts, meta));\n } else if (React.isValidElement(child)) {\n if (typeof child.type === 'string' && opts.ignoreTags.indexOf(child.type.toUpperCase()) >= 0) {\n // Don't linkify this element\n children.push(child);\n } else {\n children.push(linkifyReactElement(child, opts, meta));\n }\n } else {\n // Unknown element type, just push\n children.push(child);\n }\n });\n\n // Set a default unique key, copy over remaining props\n const key = `__linkify-el-${meta.elementId++}`;\n const newProps = options.assign({\n key\n }, element.props);\n return React.cloneElement(element, newProps, children);\n}\n\n/**\n * @template P\n * @template {string | React.JSXElementConstructor<P>} T\n * @param {P & { as?: T, tagName?: T, options?: import('linkifyjs').Opts, children?: React.ReactNode}} props\n * @returns {React.ReactElement<P, T>}\n */\nconst Linkify = props => {\n // Copy over all non-linkify-specific props\n let linkId = 0;\n const defaultLinkRender = _ref => {\n let {\n tagName,\n attributes,\n content\n } = _ref;\n attributes.key = `__linkify-lnk-${linkId++}`;\n if (attributes.class) {\n attributes.className = attributes.class;\n delete attributes.class;\n }\n return React.createElement(tagName, attributes, content);\n };\n const newProps = {\n key: '__linkify-wrapper'\n };\n for (const prop in props) {\n if (prop !== 'options' && prop !== 'as' && prop !== 'tagName' && prop !== 'children') {\n newProps[prop] = props[prop];\n }\n }\n const opts = new Options(props.options, defaultLinkRender);\n const as = props.as || props.tagName || React.Fragment || 'span';\n const children = props.children;\n const element = React.createElement(as, newProps, children);\n return linkifyReactElement(element, opts, {\n elementId: 0\n });\n};\n\nexport { Linkify as default };\n","import React from \"react\";\n\nimport Linkify from \"linkify-react\";\n\nimport { noop } from \"utils\";\n\nconst Toast = ({ type, message, buttonLabel = \"\", onClick = noop }) => (\n <div\n data-cy=\"toastr-message-container\"\n data-test={`toastr-${type}-container`}\n >\n <Linkify\n options={{\n defaultProtocol: \"https\",\n rel: \"noreferrer\",\n target: \"_blank\",\n }}\n >\n <p>{message}</p>\n </Linkify>\n {buttonLabel && (\n <div className=\"toastr-message-container__btn-wrapper\">\n <button\n className=\"neeto-ui-btn neeto-ui-btn--style-secondary\"\n data-cy={`toastr-${type}-button`}\n onClick={e => {\n e.stopPropagation();\n onClick();\n }}\n >\n {buttonLabel}\n </button>\n </div>\n )}\n </div>\n);\n\nexport default Toast;\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { CheckCircle, Warning, CloseCircle, Info, Close } from \"neetoicons\";\nimport { toast, Slide } from \"react-toastify\";\n\nimport { UniqueArray } from \"utils\";\n\nimport Toast from \"./Toast\";\n\nconst TOAST_CONFIG = {\n autoClose: 3500,\n transition: Slide,\n position: toast.POSITION.BOTTOM_LEFT,\n hideProgressBar: true,\n closeButton: ({ closeToast, ...props }) => (\n <Close\n className=\"neeto-ui-toastr__close-button\"\n color=\"currentColor\"\n data-cy=\"toastr-close-button\"\n size={16}\n onClick={closeToast}\n {...props}\n />\n ),\n role: \"log\",\n className: \"neeto-ui-toastr\",\n};\n\nconst TOAST_ICON = {\n success: (\n <CheckCircle className=\"neeto-ui-text-white\" data-cy=\"success-toast-icon\" />\n ),\n warning: (\n <Warning className=\"neeto-ui-text-white\" data-cy=\"warning-toast-icon\" />\n ),\n error: <CloseCircle className=\"neeto-ui-white\" data-cy=\"error-toast-icon\" />,\n info: <Info className=\"neeto-ui-text-white\" data-cy=\"info-toast-icon\" />,\n};\n\nconst toastrList = new UniqueArray();\n\nconst parseToastrConfig = config => {\n if (typeof config[0] === \"object\") {\n const { buttonLabel, onClick, ...customConfig } = config[0];\n\n return { buttonLabel, onClick, customConfig };\n }\n const [buttonLabel, onClick, customConfig] = config;\n\n return { buttonLabel, onClick, customConfig };\n};\n\nconst getToastrMessage = message => {\n if (message?.noticeCode === \"custom_message\" && \"customMessage\" in message) {\n return message.customMessage;\n } else if (typeof message === \"object\" && message.noticeCode) {\n return t(message.noticeCode, message);\n } else if (typeof message === \"object\" && message.notice) {\n return message.notice;\n }\n\n return message;\n};\n\nconst withUniqueCheck =\n (type, toastFunc) =>\n (message, ...toastrConfig) => {\n message = getToastrMessage(message);\n const {\n buttonLabel,\n onClick,\n customConfig = {},\n } = parseToastrConfig(toastrConfig);\n\n if (toastrList.add({ type, message, buttonLabel })) {\n const config = {\n ...TOAST_CONFIG,\n icon: TOAST_ICON[type],\n onClose: () => toastrList.remove({ type, message, buttonLabel }),\n ...customConfig,\n };\n toastFunc({ message, buttonLabel, onClick, config });\n }\n };\n\nconst showSuccessToastr = withUniqueCheck(\n \"success\",\n ({ message, buttonLabel, onClick, config }) =>\n toast.success(\n <Toast\n buttonLabel={buttonLabel}\n message={message}\n type=\"success\"\n onClick={onClick}\n />,\n config\n )\n);\n\nconst showInfoToastr = withUniqueCheck(\n \"info\",\n ({ message, buttonLabel, onClick, config }) =>\n toast.info(\n <Toast\n buttonLabel={buttonLabel}\n message={message}\n type=\"info\"\n onClick={onClick}\n />,\n config\n )\n);\n\nconst showWarningToastr = withUniqueCheck(\n \"warning\",\n ({ message, buttonLabel, onClick, config }) =>\n toast.warning(\n <Toast\n buttonLabel={buttonLabel}\n message={message}\n type=\"warning\"\n onClick={onClick}\n />,\n config\n )\n);\n\nconst isError = e => e && e.stack && e.message;\nconst isAxiosError = e => typeof e === \"object\" && e.isAxiosError === true;\nconst isString = s => typeof s === \"string\" || s instanceof String;\nconst isErrorCodeObject = e =>\n typeof e === \"object\" && \"key\" in e && \"context\" in e;\n\nconst errorCodeTranslation = errorCode => {\n if (typeof errorCode === \"string\") {\n return t(errorCode);\n } else if (isErrorCodeObject(errorCode)) {\n return t(errorCode.key, errorCode.context);\n }\n\n return undefined;\n};\n\nconst getErrorMessage = response => {\n const { error = \"\", errors = [], errorCode = \"\", errorCodes = [] } = response;\n const errorMessages = error || errors?.join(\"\\n\");\n const errorCodeTranslations =\n (errorCode && t(errorCode, response)) ||\n errorCodes?.map(errorCodeTranslation).join(\"\\n\");\n\n if (errorMessages && errorCodeTranslations) {\n return [errorMessages, errorCodeTranslations].join(\"\\n\");\n }\n\n return errorMessages || errorCodeTranslations;\n};\n\nconst withParsedErrorMsg =\n toastrFunc =>\n (errorObject, ...toastrConfig) => {\n let errorMessage;\n\n errorObject = getToastrMessage(errorObject);\n\n const responseData = errorObject?.response?.data || {};\n\n if (\n responseData.noticeCode === \"custom_message\" &&\n \"customMessage\" in responseData\n ) {\n errorMessage = responseData.customMessage;\n } else if (responseData?.noticeCode) {\n const { data } = errorObject.response;\n errorMessage = t(data.noticeCode, data);\n } else if (isAxiosError(errorObject)) {\n errorMessage = getErrorMessage(responseData) || errorObject.message;\n } else if (isError(errorObject)) errorMessage = errorObject.message;\n else if (isString(errorObject)) errorMessage = errorObject;\n else errorMessage = \"Something went wrong.\";\n\n const { buttonLabel, onClick, customConfig } =\n parseToastrConfig(toastrConfig);\n\n toastrFunc(errorMessage, {\n buttonLabel,\n onClick,\n role: \"alert\",\n autoClose: false,\n ...customConfig,\n });\n };\n\nconst showErrorToastr = withParsedErrorMsg(\n withUniqueCheck(\"error\", ({ message, buttonLabel, onClick, config }) =>\n toast.error(\n <Toast\n buttonLabel={buttonLabel}\n message={message}\n type=\"error\"\n onClick={onClick}\n />,\n config\n )\n )\n);\n\nconst Toastr = {\n info: showInfoToastr,\n show: showInfoToastr,\n success: showSuccessToastr,\n error: showErrorToastr,\n warning: showWarningToastr,\n};\n\nexport default Toastr;\n","import React from \"react\";\n\nimport { Down, Right } from \"neetoicons\";\n\nconst SwitcherIcon = ({ expanded }) =>\n expanded ? <Down size={16} /> : <Right size={16} />;\n\nexport default SwitcherIcon;\n","import React from \"react\";\n\nimport { ConfigProvider, Tree as TreeComponent } from \"antd\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport { ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES } from \"utils\";\n\nimport SwitcherIcon from \"./SwitcherIcon\";\n\nconst Tree = props => (\n <ConfigProvider\n theme={{\n token: { ...ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES },\n components: {\n Tree: {\n directoryNodeSelectedBg: \"rgb(var(--neeto-ui-primary-500))\",\n directoryNodeSelectedColor: \"rgb(var(--neeto-ui-white))\",\n nodeHoverBg: \"rgb(var(--neeto-ui-gray-100))\",\n nodeSelectedBg: \"rgb(var(--neeto-ui-primary-100))\",\n },\n },\n }}\n >\n <TreeComponent\n switcherIcon={SwitcherIcon}\n {...props}\n className={classnames(\"neeto-ui-tree\", props.className)}\n />\n </ConfigProvider>\n);\n\nTree.propTypes = {\n /**\n * Whether to allow dropping on the node\n */\n allowDrop: PropTypes.bool,\n /**\n * Whether to automatically expand a parent treeNode\n */\n autoExpandParent: PropTypes.bool,\n /**\n * Whether treeNode fill remaining horizontal space\n */\n blockNode: PropTypes.bool,\n /**\n * Add a Checkbox before the treeNodes.\n */\n checkable: PropTypes.bool,\n /**\n * Specifies the keys of the checked treeNodes\n */\n checkedKeys: PropTypes.arrayOf(PropTypes.string),\n /**\n * Check treeNode precisely; parent treeNode and children treeNodes are not associated\n */\n checkStrictly: PropTypes.bool,\n /**\n * Specifies the keys of the default checked treeNodes.\n */\n defaultCheckedKeys: PropTypes.arrayOf(PropTypes.string),\n /**\n * Specify the keys of the default expanded treeNodes.\n */\n defaultExpandedKeys: PropTypes.arrayOf(PropTypes.string),\n /**\n * Specifies the keys of the default selected treeNodes.\n */\n defaultSelectedKeys: PropTypes.arrayOf(PropTypes.string),\n /**\n * Callback function for when the onCheck event occurs.\n */\n onCheck: PropTypes.func,\n /**\n * Whether disabled the tree\n */\n disabled: PropTypes.bool,\n /**\n * The treeNodes data Array, if set it then you need not to construct children TreeNode. (key should be unique across the whole array).\n */\n treeData: PropTypes.array,\n /**\n * Callback function for when the user clicks a treeNode.\n */\n onSelect: PropTypes.func,\n /**\n * Shows a connecting line.\n */\n showLine: PropTypes.bool,\n /**\n * Config virtual scroll height. Will not support horizontal scroll when enable this.\n */\n height: PropTypes.number,\n /**\n * Specifies whether this Tree or the node is draggable.\n */\n draggable: PropTypes.bool,\n /**\n * Callback function for when the onDragEnter event occurs\n */\n onDragEnter: PropTypes.func,\n /**\n * Callback function for when the onDragStart event occurs\n */\n onDragStart: PropTypes.func,\n /**\n * Callback function for when the onDragEnter event occurs\n */\n onDragEnd: PropTypes.func,\n /**\n * Callback function for when the onDragLeave event occurs\n */\n onDragLeave: PropTypes.func,\n /**\n * Callback function for when the onDragOver event occurs\n */\n onDragOver: PropTypes.func,\n /**\n * Callback function for when the onDrop event occurs\n */\n onDrop: PropTypes.func,\n /**\n * Defines a function to filter (highlight) treeNodes. When the function returns true, the corresponding treeNode will be highlighted\n */\n filterTreeNode: PropTypes.func,\n /**\n * Load data asynchronously\n */\n loadData: PropTypes.func,\n /**\n * Set loaded tree nodes. Need work with loadData\n */\n loadedKeys: PropTypes.arrayOf(PropTypes.string),\n /**\n * Whether can be selected\n */\n selectable: PropTypes.bool,\n /**\n * Specifies the keys of the selected treeNodes, multiple selection needs to set multiple to true\n */\n selectedKeys: PropTypes.arrayOf(PropTypes.string),\n /**\n * Allows selecting multiple treeNodes\n */\n multiple: PropTypes.bool,\n /**\n * Customize tree node title render\n */\n titleRender: PropTypes.func,\n /**\n * Disable virtual scroll when set to false\n */\n virtual: PropTypes.bool,\n /**\n * Callback function for when a treeNode is expanded or collapsed\n */\n onExpand: PropTypes.func,\n /**\n * Callback function for when a treeNode is loaded\n */\n onLoad: PropTypes.func,\n /**\n * Customize collapse/expand icon of tree node\n */\n switcherIcon: PropTypes.node,\n};\n\nexport default Tree;\n"],"names":["Collapse","_ref","_ref$open","open","children","_ref$className","className","otherProps","_objectWithoutProperties","_excluded","React","createElement","AnimatePresence","motion","div","_extends","animate","opacity","height","exit","initial","overflow","transition","duration","Item","id","_ref$title","title","_ref$isOpen","isOpen","_ref$onClick","onClick","_ref$titleProps","titleProps","_ref$iconProps","iconProps","onKeyDown","e","key","classnames","_defineProperty","concat","role","tabIndex","variants","rotate","collapsed","Right","size","displayName","ACCORDION_STYLES","primary","secondary","Accordion","_ref$defaultActiveKey","defaultActiveKey","_ref$padded","padded","_ref$style","style","_useState","useState","_useState2","_slicedToArray","openTab","setOpenTab","useEffect","Children","map","child","index","isSingleOrLastChild","isEmpty","length","cloneElement","props","Divider","Menu","MenuItem","tooltipProps","renderMenuItem","isPresent","Tooltip","ITEM_BTN_STYLES","danger","BUTTON_TYPES","button","reset","submit","MenuItemButton","forwardRef","ref","isActive","isDisabled","prefix","suffix","_ref$type","type","_ref$to","to","_ref$href","href","Parent","elementSpecificProps","Link","disabled","_objectSpread","Button","BTN_STYLES","tertiary","danger_text","text","link","BTN_SIZES","small","medium","large","STRATEGY","absolute","fixed","PLACEMENT","auto","autoStart","autoEnd","top","topStart","topEnd","bottom","bottomStart","bottomEnd","right","rightStart","rightEnd","left","leftStart","leftEnd","TRIGGERS","click","hover","all","manual","hideOnEsc","name","defaultValue","fn","hide","event","_event$key","toLowerCase","onShow","document","addEventListener","onHide","removeEventListener","plugins","Dropdown","_ref2","icon","label","_ref2$onClose","onClose","noop","_ref2$dropdownProps","dropdownProps","_ref2$position","position","_ref2$buttonStyle","buttonStyle","_ref2$buttonSize","buttonSize","_ref2$buttonProps","buttonProps","_ref2$buttonProps2","customTarget","_ref2$disabled","_ref2$closeOnEsc","closeOnEsc","_ref2$closeOnSelect","closeOnSelect","_ref2$closeOnOutsideC","closeOnOutsideClick","_ref2$dropdownModifie","dropdownModifiers","_ref2$trigger","trigger","_ref2$strategy","strategy","_excluded2","instance","setInstance","_useState3","_useState4","mounted","setMounted","isControlled","isNil","controlledProps","visible","onClickOutside","dropdownClassname","classNames","otherDropdownProps","_excluded3","close","Tippy","interactive","animation","arrow","hideOnClick","undefined","maxWidth","offset","placement","popperOptions","modifiers","theme","content","hyphenize","onCreate","onMount","onHidden","Down","iconPosition","ActionDropdown","_ref$label","_ref$buttonStyle","_ref$buttonSize","_ref$disabled","_ref$buttonProps","_ref$buttonProps2","_ref$dropdownProps","useQueryParams","options","arguments","location","useLocation","parse","search","ignoreQueryPrefix","useTimeout","callback","delay","savedCallback","useRef","current","setTimeout","clearTimeout","STYLES","info","warning","success","Callout","_ref$icon","Icon","o","t","n","r","Dropper","Palette","color","_ref$colorList","colorList","onChange","item","active","from","TARGET_SIZES","ColorPicker","_ref$color","_ref$size","_ref$onChange","colorPaletteProps","_ref$showEyeDropper","showEyeDropper","_ref$showHexValue","showHexValue","_ref$showTransparency","showTransparencyControl","_ref$showPicker","showPicker","colorInternal","setColorInternal","isInputChanged","_useEyeDropper","useEyeDropper","pickRadius","isSupported","PickerComponent","HexAlphaColorPicker","HexColorPicker","colorValue","onChangeInternal","getColor","tinycolor","hex","toHex8String","toHexString","rgb","toRgb","onColorInputChange","onPickerChange","onBlur","pickColor","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","colorResponse","colorHex","wrap","_callee$","_context","prev","next","sent","sRGBHex","t0","stop","apply","Target","_ref4","backgroundColor","Fragment","Focus","HexColorInput","alpha","INPUT_SIZES","RangePicker","_DatePicker","datePickerTypes","range","date","IconOverride","Today","DatePicker","_ref3$className","_ref3$label","_ref3$size","_ref3$dropdownClassNa","dropdownClassName","_ref3$popupClassName","popupClassName","_ref3$dateFormat","dateFormat","_ref3$timeFormat","timeFormat","_ref3$onChange","_ref3$onOk","onOk","_ref3$picker","picker","_ref3$mode","mode","inputMode","_ref3$showTime","showTime","_ref3$type","_ref3$nakedInput","nakedInput","_ref3$error","error","value","labelProps","_ref3$required","required","_ref3$allowClear","allowClear","setMode","pickerValue","setPickerValue","useId","datePickerRef","useSyncedRef","Component","format","errorId","handleOnChange","dateString","renderExtraFooter","querySelector","_ConfigProvider","token","ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES","components","activeBg","activeBorderColor","addonBg","cellActiveWithRangeBg","cellBgDisabled","cellHoverBg","cellHoverWithRangeBg","cellRangeBorderColor","hoverBg","hoverBorderColor","colorBgContainer","colorBgElevated","colorPrimary","colorPrimaryBorder","colorPrimaryHover","colorBorder","colorError","colorErrorHover","colorErrorOutline","colorFillAlter","colorIcon","colorIconHover","colorLink","colorLinkHover","colorLinkActive","colorSplit","colorText","colorTextDescription","colorTextDisabled","colorTextHeading","colorTextLightSolid","colorTextPlaceholder","colorTextQuaternary","colorWarning","colorWarningHover","colorWarningOutline","controlItemBgActive","controlItemBgHover","controlOutline","cellHeight","padding","Label","convertToDayjsObjects","onPanelChange","nextIcon","prevIcon","Left","suffixIcon","Calendar","superNextIcon","superPrevIcon","clearIcon","Close","this","HoverIcon","_ref$time","time","hovered","setHovered","onMouseLeave","onMouseOver","Clock","useRefState","val","_setValue","valueRef","setValue","FORMAT","getFormattedTime","dayjs","isDayjs","toDate","Date","isValid","getFormattedRange","Array","isArray","toDayJs","isValidTime","minTime","maxTime","isBefore","isAfter","isValidRange","every","getValidTime","getValidRange","getValid","extend","customParseFormat","timeComponents","TimeRangePicker","TimePicker","TimePickerInput","_ref$nakedInput","_ref$required","inputValue","_ref$error","_ref$onBlur","_useRefState","_useRefState2","componentRef","isNotPresent","handleChange","newValue","onBlurHandle","validValue","_document$getElementB","amPmChange","selectElements","getElementById","querySelectorAll","forEach","element","handleKeyDown","code","disableClock","hourPlaceholder","minutePlaceholder","secondAriaLabel","shouldCloseClock","DATE_FORMAT","TIME_FORMAT","getDateTime","getAllowedTime","minDateTime","maxDateTime","newTime","isSame","getTime","DateTimePicker","datePickerProps","timePickerProps","_ref$onTimeInputBlur","onTimeInputBlur","setDate","setTime","_useState5","_useState6","changedField","setChangedField","timeRef","defaultId","dateTime","handleDateChange","newDate","_timeRef$current","focus","handleTimeChange","handleTimeBlur","maxDate","minDate","memo","Kbd","keyName","renderImage","image","src","NoData","_ref$image","_ref$description","description","_ref$helpText","helpText","_ref$primaryButtonPro","primaryButtonProps","_ref$secondaryButtonP","secondaryButtonProps","_ref$buttonSeparatorT","buttonSeparatorText","hasPrimaryButtonProps","hasSecondaryButtonProps","hasButtonSeparatorText","showButtonSeparator","Typography","lineHeight","DOTS","usePaginationQueryParams","queryParams","history","useHistory","updatePageInQueryParam","page","params","pathname","window","push","buildUrl","mergeLeft","start","end","_","usePagination","count","pageSize","_ref$siblingCount","siblingCount","pageNo","paginationRange","useMemo","totalPageCount","Math","ceil","totalPageNumbers","leftSiblingIndex","max","rightSiblingIndex","min","shouldShowLeftDots","shouldShowRightDots","firstPageIndex","lastPageIndex","leftItemCount","leftRange","_toConsumableArray","rightItemCount","rightRange","middleRange","Pagination","_ref$count","navigate","_usePaginationQueryPa","onNext","isLastPage","onPrevious","isFirstPage","lastPage","pageNumber","Body","_ref$hasFooter","hasFooter","DEFAULT_PANE_HEADER_HEIGHT","Footer","Header","getHeaderHeight","paneWrapper","header","offsetHeight","SIZES","Pane","_ref$onClose","_ref$closeOnEsc","_ref$closeButton","closeButton","_ref$backdropClassNam","backdropClassName","_ref$closeOnOutsideCl","initialFocusRef","finalFocusRef","hasTransitionCompleted","setHasTransitionCompleted","backdropRef","useOverlayManager","_useOverlay","useOverlay","overlayWrapper","handleOverlayClose","setFocusField","headerHeight","setProperty","Portal","rootId","CSSTransition","unmountOnExit","appear","timeout","onEntered","onExited","Backdrop","Title","weight","Popover","_ref$theme","Stepper","steps","activeIndex","setActiveIndex","_ref$activeClassName","activeClassName","NavLink","buttonAttributes","Tab","_ref$noUnderline","noUnderline","SelectAllRowsCallout","calloutProps","onBulkSelectAllRows","selectAllRowButtonLabel","selectAllRowMessage","URL_SORT_ORDERS","ascend","descend","TABLE_SORT_ORDERS","asc","desc","COLUMN_ADD_DIRECTION","useReorderColumns","isEnabled","columns","setColumns","onColumnUpdate","rowSelection","dragProps","isColumnFixed","column","onDragEnd","fromIndex","toIndex","newColumns","move","nodeSelector","handleSelector","ignoreSelector","SortIcon","sortOrder","UpArrow","DownArrow","useResizableColumns","isAddEnabled","onColumnAdd","onColumnDelete","handleSort","sortedInfo","onColumnHide","onMoreActionClick","tableOnChangeProps","handleResize","nextColumns","width","computedColumnsData","col","modifiedColumn","onHeaderCell","onResize","onResizeStop","isSortable","sorter","onSort","onAddColumn","positionOffset","isHidable","isDeletable","moreActions","sortIcon","field","dataIndex","order","has","ellipsis","useColumns","isResizeEnabled","isReorderEnabled","setSortedInfo","onTableChange","handleTableSortChange","isDefaultPageChangeHandler","_useReorderColumns","_tableOnChangeProps$c","_tableOnChangeProps$c2","_tableOnChangeProps$c3","newSortedInfo","equals","columnKey","pagination","filters","_useResizableColumns","getSortInfoFromQueryParams","sort_by","order_by","snakeToCamelCase","useTableSort","handleTableChange","camelToSnakeCase","HeaderCellMenu","_ref$column","isColumnDeletable","hasMoreActions","_ref$columnTitle","columnTitle","_ref$moreActions","columnInfoButtonReference","stopPropagation","appendTo","body","MenuHorizontal","onMouseDown","preventDefault","Check","interactiveDebounce","reference","CellContent","_ref$isHidable","_ref$isDeletable","headerProps","isColumnHidable","hasMoreMenu","HeaderCell","restProps","Resizable","draggableOpts","enableUserSelectHack","handle","ResizableHeaderCell","ReorderableHeaderCell","getHeaderCell","enableColumnResize","enableColumnReorder","cell","isIncludedIn","array1","array2","includes","__","TABLE_PAGINATION_HEIGHT","TABLE_DEFAULT_HEADER_HEIGHT","TABLE_ROW_HEIGHT","Table","_ref$allowRowClick","allowRowClick","_ref$enableColumnResi","_ref$enableColumnReor","_ref$enableAddColumn","enableAddColumn","_ref$columnData","columnData","_ref$currentPageNumbe","currentPageNumber","_ref$defaultPageSize","defaultPageSize","_ref$handlePageChange","handlePageChange","_ref$loading","loading","onRowClick","onRowSelect","_ref$rowData","rowData","_ref$totalCount","totalCount","_ref$selectedRowKeys","selectedRowKeys","initialSelectedRowKeys","_ref$fixedHeight","fixedHeight","_ref$paginationProps","paginationProps","_ref$rowKey","rowKey","scroll","_ref$shouldDynamicall","shouldDynamicallyRenderRowSize","_ref$bordered","bordered","_ref$onColumnUpdate","_ref$components","_ref$onColumnAdd","bulkSelectAllRowsProps","containerHeight","setContainerHeight","setHeaderHeight","_useState7","_useState8","bulkSelectedAllRows","setBulkSelectedAllRows","_useTableSort","handleSetBulkSelectedAllRows","headerRef","resizeObserver","ResizeObserver","entry","contentRect","tableRef","useCallback","table","observer","observe","parentNode","disconnect","_useColumns","curatedColumnsData","setSortFromURL","_queryParams$sort_by","modifyBy","assoc","sortedColumns","locale","emptyText","sortedColumnsWithAlignment","sortedColumn","_sortedColumn$onHeade","call","align","pluck","showBulkSelectionCallout","handleRowChange","selectedRows","rowSelectionProps","preserveSelectedRowKeys","extras","componentOverrides","calculateRowsPerPage","viewportHeight","innerHeight","rowsPerPage","floor","calculateTableContainerHeight","isPaginationVisible","calculatePageSizeOptions","dynamicArray","itemRender","originalElement","commonProps","isNotEmpty","shouldNavigateToLastPage","neetoUIFontBold","parseInt","getComputedStyle","documentElement","getPropertyValue","renderTable","itemActiveBg","itemActiveBgDisabled","itemActiveColorDisabled","itemBg","itemInputBg","itemLinkBg","colorBgTextHover","borderRadius","headerBorderRadius","bodySortBg","borderColor","expandIconBg","filterDropdownBg","filterDropdownMenuBg","fixedHeaderSortActiveBg","footerBg","footerColor","headerBg","headerColor","headerFilterHoverBg","headerSortActiveBg","headerSortHoverBg","headerSplitColor","rowExpandedBg","rowHoverBg","rowSelectedBg","rowSelectedHoverBg","stickyScrollBarBg","cellPaddingBlock","fontSize","fontWeightStrong","paddingContentVerticalLG","_Table","dataSource","showSorterTooltip","hideOnSinglePage","showSizeChanger","total","pageSizeOptions","rowClassName","x","y","onHeaderRow","onRow","record","rowIndex","ReactDragListView","DragColumn","TIME_PICKER_TYPES","TIME_PICKER_INTERVAL","hourStep","minuteStep","secondStep","_ref$dropdownClassNam","_ref$popupClassName","_ref$format","_ref$interval","interval","timePickerRef","showTimeLabels","second","minute","hour","timeString","panelRender","originalPanel","Toast","message","_ref$buttonLabel","buttonLabel","Linkify","defaultProtocol","rel","target","TOAST_CONFIG","autoClose","Slide","toast","POSITION","BOTTOM_LEFT","hideProgressBar","closeToast","TOAST_ICON","CheckCircle","Warning","CloseCircle","Info","toastrList","UniqueArray","parseToastrConfig","config","_typeof","_config$","customConfig","_config","getToastrMessage","noticeCode","customMessage","notice","withUniqueCheck","toastFunc","_len","toastrConfig","_key","_parseToastrConfig","_parseToastrConfig$cu","add","remove","showSuccessToastr","showInfoToastr","showWarningToastr","isError","stack","isAxiosError","isString","s","String","isErrorCodeObject","errorCodeTranslation","errorCode","context","getErrorMessage","response","_response$error","_response$errors","errors","_response$errorCode","_response$errorCodes","errorCodes","errorMessages","join","errorCodeTranslations","withParsedErrorMsg","toastrFunc","errorObject","_errorObject","errorMessage","responseData","data","_len2","_key2","_parseToastrConfig2","showErrorToastr","_ref5","Toastr","show","SwitcherIcon","expanded","Tree","directoryNodeSelectedBg","directoryNodeSelectedColor","nodeHoverBg","nodeSelectedBg","_Tree","switcherIcon"],"mappings":"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AC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CA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"}