@televet/kibble-ui 2.1.24 → 2.1.26-beta.86dru287c.2

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 (63) hide show
  1. package/build/chakra/index.js +1 -1
  2. package/build/{chakra-ui-modal.esm-a00f2bce.js → chakra-ui-modal.esm-9b7376cd.js} +2 -2
  3. package/build/{chakra-ui-modal.esm-a00f2bce.js.map → chakra-ui-modal.esm-9b7376cd.js.map} +1 -1
  4. package/build/{chakra-ui-skeleton.esm-739cf3ea.js → chakra-ui-skeleton.esm-68a1dc95.js} +2 -2
  5. package/build/{chakra-ui-skeleton.esm-739cf3ea.js.map → chakra-ui-skeleton.esm-68a1dc95.js.map} +1 -1
  6. package/build/components/DatePicker/examples/withCustomFormat.stories.d.ts +27 -0
  7. package/build/components/DatePicker/examples/{withMinMax.stories.d.ts → withMinMaxDate.stories.d.ts} +1 -1
  8. package/build/components/DatePicker/index.js +1 -1
  9. package/build/components/Menu/components/MenuItem/index.js +1 -1
  10. package/build/components/Menu/components/MenuList/index.js +1 -1
  11. package/build/components/Menu/index.js +1 -1
  12. package/build/components/Modal/components/ModalBody/index.js +1 -1
  13. package/build/components/Modal/components/ModalCloseButton/index.js +1 -1
  14. package/build/components/Modal/components/ModalFooter/index.js +1 -1
  15. package/build/components/Modal/components/ModalFooterButtons/index.js +1 -1
  16. package/build/components/Modal/components/ModalHeader/index.js +1 -1
  17. package/build/components/Modal/index.js +1 -1
  18. package/build/components/Select/index.js +1 -1
  19. package/build/components/TimePicker/index.js +1 -1
  20. package/build/components/TimeRange/index.js +1 -1
  21. package/build/components/Toast/index.js +1 -1
  22. package/build/components/index.js +1 -1
  23. package/build/datepicker.component-9f6b5f05.js +16 -0
  24. package/build/datepicker.component-9f6b5f05.js.map +1 -0
  25. package/build/{index-8fecff45.js → index-e7970b09.js} +1 -1
  26. package/build/{index-8fecff45.js.map → index-e7970b09.js.map} +1 -1
  27. package/build/{index-fa5c88a5.js → index-eb213f75.js} +2 -2
  28. package/build/index-eb213f75.js.map +1 -0
  29. package/build/index.js +1 -1
  30. package/build/{menu.component-2d02a5a8.js → menu.component-975ee4cd.js} +2 -2
  31. package/build/{menu.component-2d02a5a8.js.map → menu.component-975ee4cd.js.map} +1 -1
  32. package/build/{menuItem.component-59369cfc.js → menuItem.component-0566ea37.js} +2 -2
  33. package/build/menuItem.component-0566ea37.js.map +1 -0
  34. package/build/{menuList.component-8259b8c6.js → menuList.component-41f1f20d.js} +2 -2
  35. package/build/{menuList.component-8259b8c6.js.map → menuList.component-41f1f20d.js.map} +1 -1
  36. package/build/{modal.component-0d68beaa.js → modal.component-228b6dd7.js} +2 -2
  37. package/build/{modal.component-0d68beaa.js.map → modal.component-228b6dd7.js.map} +1 -1
  38. package/build/{modalBody.component-345aaa1b.js → modalBody.component-67aad777.js} +2 -2
  39. package/build/{modalBody.component-345aaa1b.js.map → modalBody.component-67aad777.js.map} +1 -1
  40. package/build/modalCloseButton.component-d51dd9b8.js +2 -0
  41. package/build/{modalCloseButton.component-59dd95d7.js.map → modalCloseButton.component-d51dd9b8.js.map} +1 -1
  42. package/build/{modalFooter.component-1c9fcc61.js → modalFooter.component-70921cf6.js} +2 -2
  43. package/build/{modalFooter.component-1c9fcc61.js.map → modalFooter.component-70921cf6.js.map} +1 -1
  44. package/build/{modalFooterButtons.component-7889340e.js → modalFooterButtons.component-a60108fc.js} +2 -2
  45. package/build/{modalFooterButtons.component-7889340e.js.map → modalFooterButtons.component-a60108fc.js.map} +1 -1
  46. package/build/{modalHeader.component-204451e0.js → modalHeader.component-8aa4a9bf.js} +2 -2
  47. package/build/{modalHeader.component-204451e0.js.map → modalHeader.component-8aa4a9bf.js.map} +1 -1
  48. package/build/{select.component-e3d3c7a1.js → select.component-cd4ed71f.js} +2 -2
  49. package/build/{select.component-e3d3c7a1.js.map → select.component-cd4ed71f.js.map} +1 -1
  50. package/build/timePicker.component-3cacde63.js +2 -0
  51. package/build/timePicker.component-3cacde63.js.map +1 -0
  52. package/build/{timeRange.component-6a42a6e0.js → timeRange.component-6172c691.js} +2 -2
  53. package/build/{timeRange.component-6a42a6e0.js.map → timeRange.component-6172c691.js.map} +1 -1
  54. package/build/{useToast-11567fb0.js → useToast-59cf23a3.js} +2 -2
  55. package/build/{useToast-11567fb0.js.map → useToast-59cf23a3.js.map} +1 -1
  56. package/package.json +1 -1
  57. package/build/datepicker.component-591d57d5.js +0 -16
  58. package/build/datepicker.component-591d57d5.js.map +0 -1
  59. package/build/index-fa5c88a5.js.map +0 -1
  60. package/build/menuItem.component-59369cfc.js.map +0 -1
  61. package/build/modalCloseButton.component-59dd95d7.js +0 -2
  62. package/build/timePicker.component-8645ff04.js +0 -2
  63. package/build/timePicker.component-8645ff04.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"menuList.component-8259b8c6.js","sources":["../src/components/Menu/components/MenuSearchBar/menuSearchBar.component.tsx","../src/components/Menu/components/MenuSelectAllButtons/menuSelectAllButtons.component.tsx","../src/components/Menu/components/MenuList/menuList.component.tsx"],"sourcesContent":["import React, {\n Dispatch,\n SetStateAction,\n useCallback,\n KeyboardEvent,\n MutableRefObject,\n useEffect,\n ChangeEvent,\n} from 'react';\nimport { TextInput } from '../../../TextInput/textInput.component';\nimport { MenuItemProps } from '../MenuItem/menuItem.component';\nimport { useMenuState } from '@chakra-ui/react';\nimport { useMenuContext } from 'components/Menu/context/menu.context';\n\nexport interface MenuSearchBarProps {\n handleKeyboardNavigation: (e: KeyboardEvent<HTMLInputElement>, elementIsInputField: boolean) => void;\n menuItems: MenuItemProps[];\n onSearchCallback?: (e: ChangeEvent<HTMLInputElement>) => void;\n searchInputRef?: MutableRefObject<HTMLInputElement | null>;\n setFilteredMenuItems: Dispatch<SetStateAction<MenuItemProps[]>>;\n placeholder?: string;\n}\n\nexport const MenuSearchBar = ({\n handleKeyboardNavigation,\n menuItems,\n onSearchCallback,\n searchInputRef,\n setFilteredMenuItems,\n placeholder = 'Search...',\n}: MenuSearchBarProps): JSX.Element => {\n const { isOpen } = useMenuState();\n const { searchText, setSearchText } = useMenuContext();\n\n const handleSearch = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n const searchInput = e.target.value;\n setSearchText(searchInput);\n\n if (onSearchCallback) {\n onSearchCallback(e);\n } else {\n if (searchInput === '' || !searchInput) {\n setFilteredMenuItems(menuItems);\n } else {\n const filterdItems = menuItems.filter((item) => {\n const labelText = typeof item.label === 'string' ? item.label : (item.label?.key as string);\n\n return labelText?.toLowerCase().includes(searchInput.toLowerCase());\n });\n setFilteredMenuItems(filterdItems);\n }\n }\n },\n [menuItems, onSearchCallback, setFilteredMenuItems, setSearchText],\n );\n\n useEffect(() => {\n let focusTimeout: NodeJS.Timeout;\n\n if (isOpen) {\n focusTimeout = setTimeout(() => {\n searchInputRef?.current?.focus();\n }, 200);\n }\n\n return (): void => clearTimeout(focusTimeout);\n }, [searchInputRef, isOpen]);\n\n return (\n <TextInput\n className=\"MenuList__SearchBar\"\n placeholder={placeholder}\n onChange={handleSearch}\n onKeyDown={(e: KeyboardEvent<HTMLInputElement>): void => handleKeyboardNavigation(e, true)}\n size=\"sm\"\n ref={searchInputRef}\n value={searchText}\n isClearable\n onClear={(): void => {\n setSearchText('');\n handleSearch({ target: { value: '' } } as ChangeEvent<HTMLInputElement>);\n }}\n formControlStyle={{ mt: 1 }}\n />\n );\n};\n","import React from 'react';\nimport { Box, Flex } from '@chakra-ui/react';\nimport { Button } from '../../../Button/button.component';\n\nexport interface MenuSelectAllButtonsProps {\n groupName?: string;\n handleToggleAllItems: ({ groupName, clear }: { groupName?: string; clear?: boolean }) => void;\n hasSelectedItems: boolean;\n isGrouped: boolean;\n}\n\nexport const MenuSelectAllButtons = ({\n groupName,\n handleToggleAllItems,\n hasSelectedItems,\n isGrouped,\n}: MenuSelectAllButtonsProps): JSX.Element => {\n if (isGrouped) {\n return (\n <Box textAlign=\"right\" w=\"50%\" className=\"MenuListItem__SelectAllButton\">\n {hasSelectedItems ? (\n <Button\n variant=\"ghostNeutral\"\n iconName=\"arrowCircle\"\n size=\"xs\"\n onClick={(): void => handleToggleAllItems({ groupName, clear: true })}\n isDisabled={!hasSelectedItems}\n >\n Clear all\n </Button>\n ) : (\n <Button variant=\"ghost\" size=\"xs\" onClick={(): void => handleToggleAllItems({ groupName, clear: false })}>\n Select all\n </Button>\n )}\n </Box>\n );\n }\n\n return (\n <Box mt=\"8px\" className=\"MenuList__SelectAllButtons\">\n <Flex justifyContent=\"space-between\">\n <Button variant=\"ghost\" size=\"xs\" onClick={(): void => handleToggleAllItems({ clear: false })}>\n Select all\n </Button>\n <Button\n variant=\"ghostNeutral\"\n iconName=\"arrowCircle\"\n size=\"xs\"\n onClick={(): void => handleToggleAllItems({ clear: true })}\n isDisabled={!hasSelectedItems}\n >\n Clear all\n </Button>\n </Flex>\n </Box>\n );\n};\n","import React, { useCallback, KeyboardEvent, useEffect, ChangeEvent } from 'react';\nimport { MenuList as CMenuList, MenuListProps as CMenuListProps, Box, Flex } from '@chakra-ui/react';\nimport { Heading } from '../../../Heading/heading.component';\nimport { Text } from '../../../Text/text.component';\nimport { MenuItem, MenuItemProps } from '../MenuItem/menuItem.component';\nimport { MenuSearchBar } from '../MenuSearchBar/menuSearchBar.component';\nimport { MenuSelectAllButtons } from '../MenuSelectAllButtons/menuSelectAllButtons.component';\nimport { useMenuContext } from '../../context/menu.context';\nimport { Spinner } from 'components/Spinner';\n\nexport interface KMenuListProps {\n canSelectAll?: boolean;\n canSelectGroups?: boolean;\n isGrouped?: boolean;\n isLoading?: boolean;\n isMatchWidthSet?: boolean;\n isMultiSelect?: boolean;\n isSearchable?: boolean;\n onSearchCallback?: (e: ChangeEvent<HTMLInputElement>) => void;\n menuItems?: MenuItemProps[];\n onSelect?:\n | ((selectedItem: MenuItemProps, allSelectedItems?: MenuItemProps[]) => void)\n | ((selectedItem: MenuItemProps, allSelectedItems?: MenuItemProps[]) => Promise<void>);\n onSelectAll?: ((selectedItems: MenuItemProps[]) => void) | ((selectedItems: MenuItemProps[]) => Promise<void>);\n searchPlaceholder?: string;\n shouldRetainSelection?: boolean;\n shouldTruncateText?: boolean;\n shouldUsePortal?: boolean;\n emptyStateText?: string;\n}\n\nexport type MenuListProps = KMenuListProps & Omit<CMenuListProps, 'onSelect'>;\n\nexport const MenuList = ({\n canSelectAll = false,\n canSelectGroups = false,\n children,\n isGrouped = false,\n isMatchWidthSet,\n isMultiSelect = false,\n isSearchable = false,\n onSearchCallback,\n isLoading = false,\n menuItems,\n onSelect,\n onSelectAll,\n searchPlaceholder,\n shouldRetainSelection = false,\n shouldTruncateText = true,\n minW = '240px',\n maxW,\n maxH = '480px',\n shouldUsePortal = false,\n emptyStateText = 'No results found',\n ...rest\n}: MenuListProps): JSX.Element => {\n const {\n filteredMenuItems,\n setFilteredMenuItems,\n allMenuItems,\n groups,\n setGroups,\n focusedItemIndex,\n setFocusedItemIndex,\n searchInputRef,\n menuItemRefs,\n } = useMenuContext();\n\n const focusNextListItem = useCallback(\n (direction) => {\n if (!menuItemRefs?.current) return;\n\n const isFirstOption = focusedItemIndex === 0;\n const isLastOption = focusedItemIndex === menuItemRefs?.current.length - 1;\n let newIndex = -1;\n\n if (direction === 'ArrowDown') {\n if (isLastOption) {\n if (isSearchable) {\n searchInputRef?.current?.focus();\n setFocusedItemIndex(-1);\n return;\n }\n\n newIndex = 0;\n } else {\n newIndex = focusedItemIndex + 1;\n }\n } else if (direction === 'ArrowUp') {\n if (isFirstOption) {\n if (isSearchable) {\n searchInputRef?.current?.focus();\n setFocusedItemIndex(-1);\n return;\n }\n\n newIndex = menuItemRefs.current.length - 1;\n } else {\n newIndex = focusedItemIndex - 1;\n }\n }\n\n const nextListItem = menuItemRefs?.current[newIndex];\n\n if (nextListItem) {\n nextListItem?.focus();\n setFocusedItemIndex(newIndex);\n } else {\n setFocusedItemIndex(-1);\n }\n },\n [focusedItemIndex, isSearchable, menuItemRefs, searchInputRef, setFocusedItemIndex],\n );\n\n const handleKeyboardNavigation = useCallback(\n (e: KeyboardEvent<HTMLInputElement | HTMLDivElement>, elementIsInputField): void => {\n e.persist();\n\n if (!menuItemRefs?.current) return;\n\n if (e.key === 'ArrowDown' || e.key === 'Tab') {\n focusNextListItem('ArrowDown');\n }\n\n if (e.key === 'ArrowUp') {\n focusNextListItem('ArrowUp');\n }\n\n if (e.key === 'Enter') {\n e.preventDefault();\n (e.target as HTMLElement).click();\n }\n },\n [focusNextListItem, menuItemRefs],\n );\n\n const handleToggleSingleItem = useCallback(\n (selectedValue: MenuItemProps, itemOnSelect) => {\n if (filteredMenuItems && allMenuItems) {\n const _filteredMenuItemsCopy = [...filteredMenuItems];\n const selectedItem = _filteredMenuItemsCopy.find((item) => item.value === selectedValue.value);\n\n if (isMultiSelect && selectedItem) {\n selectedItem.isSelected = !selectedItem.isSelected;\n }\n\n setFilteredMenuItems(_filteredMenuItemsCopy);\n\n const allSelectedItems = allMenuItems.filter((item) => item.isSelected);\n\n if (onSelect && selectedItem) {\n onSelect(selectedItem, allSelectedItems);\n }\n\n if (itemOnSelect && selectedItem) {\n itemOnSelect(selectedItem, allSelectedItems);\n }\n }\n },\n [allMenuItems, filteredMenuItems, isMultiSelect, onSelect, setFilteredMenuItems],\n );\n\n const handleToggleAllItems = useCallback(\n ({ groupName, clear = false }: { groupName?: string; clear?: boolean }) => {\n if (filteredMenuItems && allMenuItems) {\n const _filteredMenuItemsCopy = [...filteredMenuItems];\n const value: string[] = [];\n\n _filteredMenuItemsCopy.forEach((item) => {\n if (groupName) {\n if (groupName === item.groupLabel) {\n item.isSelected = !clear;\n\n if (item.value && item.isSelected) {\n value.push(item.value);\n }\n }\n } else {\n item.isSelected = !clear;\n\n if (item.value && item.isSelected) {\n value.push(item.value);\n }\n }\n });\n\n setFilteredMenuItems(_filteredMenuItemsCopy);\n\n if (onSelectAll) {\n onSelectAll(allMenuItems.filter((item) => item.isSelected));\n }\n }\n },\n [filteredMenuItems, allMenuItems, onSelectAll, setFilteredMenuItems],\n );\n\n useEffect(() => {\n if (isGrouped) {\n const groupNames = [...new Set(filteredMenuItems?.map((item) => item.groupLabel))];\n if (groupNames.length) {\n setGroups(groupNames);\n }\n }\n }, [filteredMenuItems, isGrouped, setGroups]);\n\n const getMenuItem = useCallback(\n (item: MenuItemProps, index: number) => {\n if (item.isPlaceholder) return <React.Fragment key={item.value}></React.Fragment>;\n\n return (\n <MenuItem\n {...item}\n key={`${item.value}${index}`}\n canSelectAll={canSelectAll}\n handleKeyboardNavigation={handleKeyboardNavigation}\n isMultiSelect={isMultiSelect}\n itemIndex={index.toString()}\n menuItemRefs={menuItemRefs}\n onSelect={(selectedItem: MenuItemProps): void => handleToggleSingleItem(selectedItem, item.onSelect)}\n shouldRetainSelection={shouldRetainSelection}\n shouldTruncateText={shouldTruncateText}\n />\n );\n },\n [\n handleKeyboardNavigation,\n handleToggleSingleItem,\n isMultiSelect,\n menuItemRefs,\n shouldRetainSelection,\n shouldTruncateText,\n canSelectAll,\n ],\n );\n\n if (!isMatchWidthSet) {\n maxW = '320px';\n }\n\n // Return default Chakra menu if user passes in custom child elements\n if (children) {\n return <CMenuList {...rest}>{children}</CMenuList>;\n }\n\n const shouldShowEmptyState =\n !filteredMenuItems?.length || (filteredMenuItems?.length === 1 && filteredMenuItems[0].isPlaceholder === true);\n\n return (\n <CMenuList\n className=\"MeuList\"\n {...rest}\n maxW={maxW || 'unset'}\n maxH={maxH}\n minW={minW}\n overflow=\"hidden auto\"\n zIndex=\"popover\"\n >\n {(isSearchable || (canSelectAll && isMultiSelect)) && (\n <Box className=\"MenuList__Header\" m=\"0 12px 8px\">\n {isSearchable && (\n <MenuSearchBar\n handleKeyboardNavigation={handleKeyboardNavigation}\n menuItems={menuItems || []}\n searchInputRef={searchInputRef}\n setFilteredMenuItems={setFilteredMenuItems}\n placeholder={searchPlaceholder}\n onSearchCallback={onSearchCallback}\n />\n )}\n {canSelectAll && isMultiSelect && (\n <MenuSelectAllButtons\n handleToggleAllItems={handleToggleAllItems}\n hasSelectedItems={Boolean(filteredMenuItems?.find((item) => item.isSelected))}\n isGrouped={false}\n />\n )}\n </Box>\n )}\n <Box className=\"MenuList__Body\" position=\"relative\">\n {shouldShowEmptyState && !isLoading ? (\n <Box textAlign=\"center\" display=\"block\" p={3}>\n <Text size=\"sm\" variant=\"subtle\">\n {emptyStateText}\n </Text>\n </Box>\n ) : isGrouped ? (\n groups?.map((groupName, index) => {\n const menuItems = filteredMenuItems?.filter((item) => item.groupLabel === groupName);\n return (\n <Box className=\"MenuList__Group\" key={`${groupName || 'noGroup'}-${index}`}>\n {groupName && (\n <Flex minH={8} pt={2} pr={3} pb={1} pl={5} justify=\"space-between\" align=\"center\">\n <Box textAlign=\"left\" className=\"MenuList__GroupTitle\">\n <Heading size=\"xs\">{groupName}</Heading>\n </Box>\n {isMultiSelect && canSelectGroups && (\n <MenuSelectAllButtons\n handleToggleAllItems={handleToggleAllItems}\n hasSelectedItems={Boolean(menuItems?.find((item) => item.isSelected))}\n isGrouped={true}\n groupName={groupName}\n />\n )}\n </Flex>\n )}\n {menuItems?.map((item: MenuItemProps, index: number) => {\n return getMenuItem(item, index);\n })}\n </Box>\n );\n })\n ) : (\n filteredMenuItems?.map((item: MenuItemProps, index: number) => {\n return getMenuItem(item, index);\n })\n )}\n {isLoading && (\n <Box position=\"absolute\" w=\"100%\" h=\"100%\" top=\"0\" left=\"0\" bg=\"background.alphaContrast.pressed\">\n <Flex h=\"100%\" align=\"center\" justify=\"center\">\n <Spinner />\n </Flex>\n </Box>\n )}\n </Box>\n </CMenuList>\n );\n};\n"],"names":["MenuSearchBar","handleKeyboardNavigation","menuItems","onSearchCallback","searchInputRef","setFilteredMenuItems","placeholder","isOpen","useMenuState","searchText","setSearchText","useMenuContext","handleSearch","useCallback","e","searchInput","target","value","filterdItems","filter","item","labelText","label","_a","key","toLowerCase","includes","useEffect","focusTimeout","setTimeout","current","focus","clearTimeout","React","TextInput","WrappedTextInput","className","onChange","onKeyDown","size","ref","isClearable","onClear","formControlStyle","mt","MenuSelectAllButtons","groupName","handleToggleAllItems","hasSelectedItems","isGrouped","Box","textAlign","w","createElement","Button","variant","iconName","onClick","clear","isDisabled","Flex","justifyContent","canSelectAll","canSelectGroups","children","isMatchWidthSet","isMultiSelect","isSearchable","isLoading","onSelect","onSelectAll","searchPlaceholder","shouldRetainSelection","shouldTruncateText","minW","maxW","maxH","shouldUsePortal","emptyStateText","rest","__rest","filteredMenuItems","allMenuItems","groups","setGroups","focusedItemIndex","setFocusedItemIndex","menuItemRefs","focusNextListItem","direction","isFirstOption","isLastOption","length","newIndex","_b","nextListItem","elementIsInputField","persist","preventDefault","click","handleToggleSingleItem","selectedValue","itemOnSelect","_filteredMenuItemsCopy","selectedItem","find","isSelected","allSelectedItems","forEach","groupLabel","push","groupNames","Set","map","getMenuItem","index","isPlaceholder","Fragment","MenuItem","Object","assign","itemIndex","toString","CMenuList","shouldShowEmptyState","overflow","zIndex","m","Boolean","position","display","p","Text","WrappedText","minH","pt","pr","pb","pl","justify","align","Heading","h","top","left","bg","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"menuList.component-41f1f20d.js","sources":["../src/components/Menu/components/MenuSearchBar/menuSearchBar.component.tsx","../src/components/Menu/components/MenuSelectAllButtons/menuSelectAllButtons.component.tsx","../src/components/Menu/components/MenuList/menuList.component.tsx"],"sourcesContent":["import React, {\n Dispatch,\n SetStateAction,\n useCallback,\n KeyboardEvent,\n MutableRefObject,\n useEffect,\n ChangeEvent,\n} from 'react';\nimport { TextInput } from '../../../TextInput/textInput.component';\nimport { MenuItemProps } from '../MenuItem/menuItem.component';\nimport { useMenuState } from '@chakra-ui/react';\nimport { useMenuContext } from 'components/Menu/context/menu.context';\n\nexport interface MenuSearchBarProps {\n handleKeyboardNavigation: (e: KeyboardEvent<HTMLInputElement>, elementIsInputField: boolean) => void;\n menuItems: MenuItemProps[];\n onSearchCallback?: (e: ChangeEvent<HTMLInputElement>) => void;\n searchInputRef?: MutableRefObject<HTMLInputElement | null>;\n setFilteredMenuItems: Dispatch<SetStateAction<MenuItemProps[]>>;\n placeholder?: string;\n}\n\nexport const MenuSearchBar = ({\n handleKeyboardNavigation,\n menuItems,\n onSearchCallback,\n searchInputRef,\n setFilteredMenuItems,\n placeholder = 'Search...',\n}: MenuSearchBarProps): JSX.Element => {\n const { isOpen } = useMenuState();\n const { searchText, setSearchText } = useMenuContext();\n\n const handleSearch = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n const searchInput = e.target.value;\n setSearchText(searchInput);\n\n if (onSearchCallback) {\n onSearchCallback(e);\n } else {\n if (searchInput === '' || !searchInput) {\n setFilteredMenuItems(menuItems);\n } else {\n const filterdItems = menuItems.filter((item) => {\n const labelText = typeof item.label === 'string' ? item.label : (item.label?.key as string);\n\n return labelText?.toLowerCase().includes(searchInput.toLowerCase());\n });\n setFilteredMenuItems(filterdItems);\n }\n }\n },\n [menuItems, onSearchCallback, setFilteredMenuItems, setSearchText],\n );\n\n useEffect(() => {\n let focusTimeout: NodeJS.Timeout;\n\n if (isOpen) {\n focusTimeout = setTimeout(() => {\n searchInputRef?.current?.focus();\n }, 200);\n }\n\n return (): void => clearTimeout(focusTimeout);\n }, [searchInputRef, isOpen]);\n\n return (\n <TextInput\n className=\"MenuList__SearchBar\"\n placeholder={placeholder}\n onChange={handleSearch}\n onKeyDown={(e: KeyboardEvent<HTMLInputElement>): void => handleKeyboardNavigation(e, true)}\n size=\"sm\"\n ref={searchInputRef}\n value={searchText}\n isClearable\n onClear={(): void => {\n setSearchText('');\n handleSearch({ target: { value: '' } } as ChangeEvent<HTMLInputElement>);\n }}\n formControlStyle={{ mt: 1 }}\n />\n );\n};\n","import React from 'react';\nimport { Box, Flex } from '@chakra-ui/react';\nimport { Button } from '../../../Button/button.component';\n\nexport interface MenuSelectAllButtonsProps {\n groupName?: string;\n handleToggleAllItems: ({ groupName, clear }: { groupName?: string; clear?: boolean }) => void;\n hasSelectedItems: boolean;\n isGrouped: boolean;\n}\n\nexport const MenuSelectAllButtons = ({\n groupName,\n handleToggleAllItems,\n hasSelectedItems,\n isGrouped,\n}: MenuSelectAllButtonsProps): JSX.Element => {\n if (isGrouped) {\n return (\n <Box textAlign=\"right\" w=\"50%\" className=\"MenuListItem__SelectAllButton\">\n {hasSelectedItems ? (\n <Button\n variant=\"ghostNeutral\"\n iconName=\"arrowCircle\"\n size=\"xs\"\n onClick={(): void => handleToggleAllItems({ groupName, clear: true })}\n isDisabled={!hasSelectedItems}\n >\n Clear all\n </Button>\n ) : (\n <Button variant=\"ghost\" size=\"xs\" onClick={(): void => handleToggleAllItems({ groupName, clear: false })}>\n Select all\n </Button>\n )}\n </Box>\n );\n }\n\n return (\n <Box mt=\"8px\" className=\"MenuList__SelectAllButtons\">\n <Flex justifyContent=\"space-between\">\n <Button variant=\"ghost\" size=\"xs\" onClick={(): void => handleToggleAllItems({ clear: false })}>\n Select all\n </Button>\n <Button\n variant=\"ghostNeutral\"\n iconName=\"arrowCircle\"\n size=\"xs\"\n onClick={(): void => handleToggleAllItems({ clear: true })}\n isDisabled={!hasSelectedItems}\n >\n Clear all\n </Button>\n </Flex>\n </Box>\n );\n};\n","import React, { useCallback, KeyboardEvent, useEffect, ChangeEvent } from 'react';\nimport { MenuList as CMenuList, MenuListProps as CMenuListProps, Box, Flex } from '@chakra-ui/react';\nimport { Heading } from '../../../Heading/heading.component';\nimport { Text } from '../../../Text/text.component';\nimport { MenuItem, MenuItemProps } from '../MenuItem/menuItem.component';\nimport { MenuSearchBar } from '../MenuSearchBar/menuSearchBar.component';\nimport { MenuSelectAllButtons } from '../MenuSelectAllButtons/menuSelectAllButtons.component';\nimport { useMenuContext } from '../../context/menu.context';\nimport { Spinner } from 'components/Spinner';\n\nexport interface KMenuListProps {\n canSelectAll?: boolean;\n canSelectGroups?: boolean;\n isGrouped?: boolean;\n isLoading?: boolean;\n isMatchWidthSet?: boolean;\n isMultiSelect?: boolean;\n isSearchable?: boolean;\n onSearchCallback?: (e: ChangeEvent<HTMLInputElement>) => void;\n menuItems?: MenuItemProps[];\n onSelect?:\n | ((selectedItem: MenuItemProps, allSelectedItems?: MenuItemProps[]) => void)\n | ((selectedItem: MenuItemProps, allSelectedItems?: MenuItemProps[]) => Promise<void>);\n onSelectAll?: ((selectedItems: MenuItemProps[]) => void) | ((selectedItems: MenuItemProps[]) => Promise<void>);\n searchPlaceholder?: string;\n shouldRetainSelection?: boolean;\n shouldTruncateText?: boolean;\n shouldUsePortal?: boolean;\n emptyStateText?: string;\n}\n\nexport type MenuListProps = KMenuListProps & Omit<CMenuListProps, 'onSelect'>;\n\nexport const MenuList = ({\n canSelectAll = false,\n canSelectGroups = false,\n children,\n isGrouped = false,\n isMatchWidthSet,\n isMultiSelect = false,\n isSearchable = false,\n onSearchCallback,\n isLoading = false,\n menuItems,\n onSelect,\n onSelectAll,\n searchPlaceholder,\n shouldRetainSelection = false,\n shouldTruncateText = true,\n minW = '240px',\n maxW,\n maxH = '480px',\n shouldUsePortal = false,\n emptyStateText = 'No results found',\n ...rest\n}: MenuListProps): JSX.Element => {\n const {\n filteredMenuItems,\n setFilteredMenuItems,\n allMenuItems,\n groups,\n setGroups,\n focusedItemIndex,\n setFocusedItemIndex,\n searchInputRef,\n menuItemRefs,\n } = useMenuContext();\n\n const focusNextListItem = useCallback(\n (direction) => {\n if (!menuItemRefs?.current) return;\n\n const isFirstOption = focusedItemIndex === 0;\n const isLastOption = focusedItemIndex === menuItemRefs?.current.length - 1;\n let newIndex = -1;\n\n if (direction === 'ArrowDown') {\n if (isLastOption) {\n if (isSearchable) {\n searchInputRef?.current?.focus();\n setFocusedItemIndex(-1);\n return;\n }\n\n newIndex = 0;\n } else {\n newIndex = focusedItemIndex + 1;\n }\n } else if (direction === 'ArrowUp') {\n if (isFirstOption) {\n if (isSearchable) {\n searchInputRef?.current?.focus();\n setFocusedItemIndex(-1);\n return;\n }\n\n newIndex = menuItemRefs.current.length - 1;\n } else {\n newIndex = focusedItemIndex - 1;\n }\n }\n\n const nextListItem = menuItemRefs?.current[newIndex];\n\n if (nextListItem) {\n nextListItem?.focus();\n setFocusedItemIndex(newIndex);\n } else {\n setFocusedItemIndex(-1);\n }\n },\n [focusedItemIndex, isSearchable, menuItemRefs, searchInputRef, setFocusedItemIndex],\n );\n\n const handleKeyboardNavigation = useCallback(\n (e: KeyboardEvent<HTMLInputElement | HTMLDivElement>, elementIsInputField): void => {\n e.persist();\n\n if (!menuItemRefs?.current) return;\n\n if (e.key === 'ArrowDown' || e.key === 'Tab') {\n focusNextListItem('ArrowDown');\n }\n\n if (e.key === 'ArrowUp') {\n focusNextListItem('ArrowUp');\n }\n\n if (e.key === 'Enter') {\n e.preventDefault();\n (e.target as HTMLElement).click();\n }\n },\n [focusNextListItem, menuItemRefs],\n );\n\n const handleToggleSingleItem = useCallback(\n (selectedValue: MenuItemProps, itemOnSelect) => {\n if (filteredMenuItems && allMenuItems) {\n const _filteredMenuItemsCopy = [...filteredMenuItems];\n const selectedItem = _filteredMenuItemsCopy.find((item) => item.value === selectedValue.value);\n\n if (isMultiSelect && selectedItem) {\n selectedItem.isSelected = !selectedItem.isSelected;\n }\n\n setFilteredMenuItems(_filteredMenuItemsCopy);\n\n const allSelectedItems = allMenuItems.filter((item) => item.isSelected);\n\n if (onSelect && selectedItem) {\n onSelect(selectedItem, allSelectedItems);\n }\n\n if (itemOnSelect && selectedItem) {\n itemOnSelect(selectedItem, allSelectedItems);\n }\n }\n },\n [allMenuItems, filteredMenuItems, isMultiSelect, onSelect, setFilteredMenuItems],\n );\n\n const handleToggleAllItems = useCallback(\n ({ groupName, clear = false }: { groupName?: string; clear?: boolean }) => {\n if (filteredMenuItems && allMenuItems) {\n const _filteredMenuItemsCopy = [...filteredMenuItems];\n const value: string[] = [];\n\n _filteredMenuItemsCopy.forEach((item) => {\n if (groupName) {\n if (groupName === item.groupLabel) {\n item.isSelected = !clear;\n\n if (item.value && item.isSelected) {\n value.push(item.value);\n }\n }\n } else {\n item.isSelected = !clear;\n\n if (item.value && item.isSelected) {\n value.push(item.value);\n }\n }\n });\n\n setFilteredMenuItems(_filteredMenuItemsCopy);\n\n if (onSelectAll) {\n onSelectAll(allMenuItems.filter((item) => item.isSelected));\n }\n }\n },\n [filteredMenuItems, allMenuItems, onSelectAll, setFilteredMenuItems],\n );\n\n useEffect(() => {\n if (isGrouped) {\n const groupNames = [...new Set(filteredMenuItems?.map((item) => item.groupLabel))];\n if (groupNames.length) {\n setGroups(groupNames);\n }\n }\n }, [filteredMenuItems, isGrouped, setGroups]);\n\n const getMenuItem = useCallback(\n (item: MenuItemProps, index: number) => {\n if (item.isPlaceholder) return <React.Fragment key={item.value}></React.Fragment>;\n\n return (\n <MenuItem\n {...item}\n key={`${item.value}${index}`}\n canSelectAll={canSelectAll}\n handleKeyboardNavigation={handleKeyboardNavigation}\n isMultiSelect={isMultiSelect}\n itemIndex={index.toString()}\n menuItemRefs={menuItemRefs}\n onSelect={(selectedItem: MenuItemProps): void => handleToggleSingleItem(selectedItem, item.onSelect)}\n shouldRetainSelection={shouldRetainSelection}\n shouldTruncateText={shouldTruncateText}\n />\n );\n },\n [\n handleKeyboardNavigation,\n handleToggleSingleItem,\n isMultiSelect,\n menuItemRefs,\n shouldRetainSelection,\n shouldTruncateText,\n canSelectAll,\n ],\n );\n\n if (!isMatchWidthSet) {\n maxW = '320px';\n }\n\n // Return default Chakra menu if user passes in custom child elements\n if (children) {\n return <CMenuList {...rest}>{children}</CMenuList>;\n }\n\n const shouldShowEmptyState =\n !filteredMenuItems?.length || (filteredMenuItems?.length === 1 && filteredMenuItems[0].isPlaceholder === true);\n\n return (\n <CMenuList\n className=\"MeuList\"\n {...rest}\n maxW={maxW || 'unset'}\n maxH={maxH}\n minW={minW}\n overflow=\"hidden auto\"\n zIndex=\"popover\"\n >\n {(isSearchable || (canSelectAll && isMultiSelect)) && (\n <Box className=\"MenuList__Header\" m=\"0 12px 8px\">\n {isSearchable && (\n <MenuSearchBar\n handleKeyboardNavigation={handleKeyboardNavigation}\n menuItems={menuItems || []}\n searchInputRef={searchInputRef}\n setFilteredMenuItems={setFilteredMenuItems}\n placeholder={searchPlaceholder}\n onSearchCallback={onSearchCallback}\n />\n )}\n {canSelectAll && isMultiSelect && (\n <MenuSelectAllButtons\n handleToggleAllItems={handleToggleAllItems}\n hasSelectedItems={Boolean(filteredMenuItems?.find((item) => item.isSelected))}\n isGrouped={false}\n />\n )}\n </Box>\n )}\n <Box className=\"MenuList__Body\" position=\"relative\">\n {shouldShowEmptyState && !isLoading ? (\n <Box textAlign=\"center\" display=\"block\" p={3}>\n <Text size=\"sm\" variant=\"subtle\">\n {emptyStateText}\n </Text>\n </Box>\n ) : isGrouped ? (\n groups?.map((groupName, index) => {\n const menuItems = filteredMenuItems?.filter((item) => item.groupLabel === groupName);\n return (\n <Box className=\"MenuList__Group\" key={`${groupName || 'noGroup'}-${index}`}>\n {groupName && (\n <Flex minH={8} pt={2} pr={3} pb={1} pl={5} justify=\"space-between\" align=\"center\">\n <Box textAlign=\"left\" className=\"MenuList__GroupTitle\">\n <Heading size=\"xs\">{groupName}</Heading>\n </Box>\n {isMultiSelect && canSelectGroups && (\n <MenuSelectAllButtons\n handleToggleAllItems={handleToggleAllItems}\n hasSelectedItems={Boolean(menuItems?.find((item) => item.isSelected))}\n isGrouped={true}\n groupName={groupName}\n />\n )}\n </Flex>\n )}\n {menuItems?.map((item: MenuItemProps, index: number) => {\n return getMenuItem(item, index);\n })}\n </Box>\n );\n })\n ) : (\n filteredMenuItems?.map((item: MenuItemProps, index: number) => {\n return getMenuItem(item, index);\n })\n )}\n {isLoading && (\n <Box position=\"absolute\" w=\"100%\" h=\"100%\" top=\"0\" left=\"0\" bg=\"background.alphaContrast.pressed\">\n <Flex h=\"100%\" align=\"center\" justify=\"center\">\n <Spinner />\n </Flex>\n </Box>\n )}\n </Box>\n </CMenuList>\n );\n};\n"],"names":["MenuSearchBar","handleKeyboardNavigation","menuItems","onSearchCallback","searchInputRef","setFilteredMenuItems","placeholder","isOpen","useMenuState","searchText","setSearchText","useMenuContext","handleSearch","useCallback","e","searchInput","target","value","filterdItems","filter","item","labelText","label","_a","key","toLowerCase","includes","useEffect","focusTimeout","setTimeout","current","focus","clearTimeout","React","TextInput","WrappedTextInput","className","onChange","onKeyDown","size","ref","isClearable","onClear","formControlStyle","mt","MenuSelectAllButtons","groupName","handleToggleAllItems","hasSelectedItems","isGrouped","Box","textAlign","w","createElement","Button","variant","iconName","onClick","clear","isDisabled","Flex","justifyContent","canSelectAll","canSelectGroups","children","isMatchWidthSet","isMultiSelect","isSearchable","isLoading","onSelect","onSelectAll","searchPlaceholder","shouldRetainSelection","shouldTruncateText","minW","maxW","maxH","shouldUsePortal","emptyStateText","rest","__rest","filteredMenuItems","allMenuItems","groups","setGroups","focusedItemIndex","setFocusedItemIndex","menuItemRefs","focusNextListItem","direction","isFirstOption","isLastOption","length","newIndex","_b","nextListItem","elementIsInputField","persist","preventDefault","click","handleToggleSingleItem","selectedValue","itemOnSelect","_filteredMenuItemsCopy","selectedItem","find","isSelected","allSelectedItems","forEach","groupLabel","push","groupNames","Set","map","getMenuItem","index","isPlaceholder","Fragment","MenuItem","Object","assign","itemIndex","toString","CMenuList","shouldShowEmptyState","overflow","zIndex","m","Boolean","position","display","p","Text","WrappedText","minH","pt","pr","pb","pl","justify","align","Heading","h","top","left","bg","Spinner"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),l=require("react"),a=require("./chakra-ui-media-query.esm-6217de7e.js"),s=require("./chakra-ui-modal.esm-a00f2bce.js");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=r(l);exports.Modal=l=>{var{children:r,isOpen:i,onClose:t,isCentered:n=!0,responsiveModalSizes:u,allowEscape:c=!0,useFullScreenMobile:d=!0,initialFocusRef:b,scrollBehavior:m,size:f="xl"}=l,p=e.__rest(l,["children","isOpen","onClose","isCentered","responsiveModalSizes","allowEscape","useFullScreenMobile","initialFocusRef","scrollBehavior","size"]);const v=a.useBreakpointValue({base:"full",md:f}),k=a.useBreakpointValue({base:0,md:"xl"}),C=a.useBreakpointValue({base:d?0:16,md:16});return o.default.createElement(s.Modal,Object.assign({closeOnEsc:c,closeOnOverlayClick:c,autoFocus:!!b,isOpen:i,onClose:t,scrollBehavior:m,isCentered:n,size:d?v:f,motionPreset:"slideInBottom"},p),o.default.createElement(s.ModalOverlay,null),o.default.createElement(s.ModalContent,Object.assign({backgroundColor:"background.overlay",m:C},!d&&{mx:5},{borderRadius:d?k:"xl"},d&&{minH:{base:"-webkit-fill-available",md:"auto"}}),r))};
2
- //# sourceMappingURL=modal.component-0d68beaa.js.map
1
+ "use strict";var e=require("./tslib.es6-d6f17add.js"),l=require("react"),a=require("./chakra-ui-media-query.esm-6217de7e.js"),s=require("./chakra-ui-modal.esm-9b7376cd.js");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=r(l);exports.Modal=l=>{var{children:r,isOpen:i,onClose:t,isCentered:n=!0,responsiveModalSizes:u,allowEscape:d=!0,useFullScreenMobile:c=!0,initialFocusRef:b,scrollBehavior:m,size:f="xl"}=l,p=e.__rest(l,["children","isOpen","onClose","isCentered","responsiveModalSizes","allowEscape","useFullScreenMobile","initialFocusRef","scrollBehavior","size"]);const v=a.useBreakpointValue({base:"full",md:f}),k=a.useBreakpointValue({base:0,md:"xl"}),C=a.useBreakpointValue({base:c?0:16,md:16});return o.default.createElement(s.Modal,Object.assign({closeOnEsc:d,closeOnOverlayClick:d,autoFocus:!!b,isOpen:i,onClose:t,scrollBehavior:m,isCentered:n,size:c?v:f,motionPreset:"slideInBottom"},p),o.default.createElement(s.ModalOverlay,null),o.default.createElement(s.ModalContent,Object.assign({backgroundColor:"background.overlay",m:C},!c&&{mx:5},{borderRadius:c?k:"xl"},c&&{minH:{base:"-webkit-fill-available",md:"auto"}}),r))};
2
+ //# sourceMappingURL=modal.component-228b6dd7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal.component-0d68beaa.js","sources":["../src/components/Modal/modal.component.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport {\n Modal as CModal,\n ModalProps as CModalProps,\n ModalContent,\n ModalOverlay,\n useBreakpointValue,\n} from '@chakra-ui/react';\nimport { FocusableElement } from '@chakra-ui/utils';\nimport { ModalSize } from './modal.types';\n\ntype ResponsiveBreakpoints = 'base' | 'md';\n\nexport interface ModalProps extends CModalProps {\n children: ReactNode;\n isCentered?: boolean;\n responsiveModalSizes?: Partial<Record<ResponsiveBreakpoints, ModalSize>>;\n allowEscape?: boolean;\n useFullScreenMobile?: boolean;\n initialFocusRef?: React.RefObject<FocusableElement>;\n scrollBehavior?: 'inside' | 'outside';\n size?: string;\n}\n\nexport const Modal = ({\n children,\n isOpen,\n onClose,\n isCentered = true,\n responsiveModalSizes,\n allowEscape = true,\n useFullScreenMobile = true,\n initialFocusRef,\n scrollBehavior,\n size = 'xl',\n ...rest\n}: ModalProps): JSX.Element => {\n // Responsive values for full screen modals on phones.\n const fullScreenMobileSize = useBreakpointValue({ base: 'full', md: size });\n const fullScreenMobileBorderRadius = useBreakpointValue({ base: 0, md: 'xl' });\n const modalMargin = useBreakpointValue({ base: useFullScreenMobile ? 0 : 16, md: 16 });\n\n const Modal: JSX.Element = (\n <CModal\n closeOnEsc={allowEscape}\n closeOnOverlayClick={allowEscape}\n autoFocus={!!initialFocusRef}\n isOpen={isOpen}\n onClose={onClose}\n scrollBehavior={scrollBehavior}\n isCentered={isCentered}\n size={useFullScreenMobile ? fullScreenMobileSize : size}\n motionPreset=\"slideInBottom\"\n {...rest}\n >\n <ModalOverlay />\n <ModalContent\n backgroundColor=\"background.overlay\"\n m={modalMargin}\n {...(!useFullScreenMobile && { mx: 5 })}\n borderRadius={useFullScreenMobile ? fullScreenMobileBorderRadius : 'xl'}\n {...(useFullScreenMobile && { minH: { base: '-webkit-fill-available', md: 'auto' } })}\n >\n {children}\n </ModalContent>\n </CModal>\n );\n\n return Modal;\n};\n"],"names":["_a","children","isOpen","onClose","isCentered","responsiveModalSizes","allowEscape","useFullScreenMobile","initialFocusRef","scrollBehavior","size","rest","__rest","fullScreenMobileSize","useBreakpointValue","base","md","fullScreenMobileBorderRadius","modalMargin","React","createElement","CModal","Modal","closeOnEsc","closeOnOverlayClick","autoFocus","motionPreset","ModalOverlay","ModalContent","Object","assign","backgroundColor","m","mx","borderRadius","minH"],"mappings":"8QAwBsBA,IAAA,IAAAC,SACpBA,EAAQC,OACRA,EAAMC,QACNA,EAAOC,WACPA,GAAa,EAAIC,qBACjBA,EAAoBC,YACpBA,GAAc,EAAIC,oBAClBA,GAAsB,EAAIC,gBAC1BA,EAAeC,eACfA,EAAcC,KACdA,EAAO,MAEIV,EADRW,EAAIC,EAAAA,OAAAZ,EAXa,mJAcpB,MAAMa,EAAuBC,EAAAA,mBAAmB,CAAEC,KAAM,OAAQC,GAAIN,IAC9DO,EAA+BH,EAAAA,mBAAmB,CAAEC,KAAM,EAAGC,GAAI,OACjEE,EAAcJ,qBAAmB,CAAEC,KAAMR,EAAsB,EAAI,GAAIS,GAAI,KA4BjF,OAzBEG,EAAC,QAAAC,cAAAC,EAAMC,qBACLC,WAAYjB,EACZkB,oBAAqBlB,EACrBmB,YAAajB,EACbN,OAAQA,EACRC,QAASA,EACTM,eAAgBA,EAChBL,WAAYA,EACZM,KAAMH,EAAsBM,EAAuBH,EACnDgB,aAAa,iBACTf,GAEJQ,UAAAC,cAACO,EAAYA,aAAG,MAChBR,EAAC,QAAAC,cAAAQ,EAAYA,aACXC,OAAAC,OAAA,CAAAC,gBAAgB,qBAChBC,EAAGd,IACGX,GAAuB,CAAE0B,GAAI,GAAI,CACvCC,aAAc3B,EAAsBU,EAA+B,MAC9DV,GAAuB,CAAE4B,KAAM,CAAEpB,KAAM,yBAA0BC,GAAI,UAEzEf"}
1
+ {"version":3,"file":"modal.component-228b6dd7.js","sources":["../src/components/Modal/modal.component.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport {\n Modal as CModal,\n ModalProps as CModalProps,\n ModalContent,\n ModalOverlay,\n useBreakpointValue,\n} from '@chakra-ui/react';\nimport { FocusableElement } from '@chakra-ui/utils';\nimport { ModalSize } from './modal.types';\n\ntype ResponsiveBreakpoints = 'base' | 'md';\n\nexport interface ModalProps extends CModalProps {\n children: ReactNode;\n isCentered?: boolean;\n responsiveModalSizes?: Partial<Record<ResponsiveBreakpoints, ModalSize>>;\n allowEscape?: boolean;\n useFullScreenMobile?: boolean;\n initialFocusRef?: React.RefObject<FocusableElement>;\n scrollBehavior?: 'inside' | 'outside';\n size?: string;\n}\n\nexport const Modal = ({\n children,\n isOpen,\n onClose,\n isCentered = true,\n responsiveModalSizes,\n allowEscape = true,\n useFullScreenMobile = true,\n initialFocusRef,\n scrollBehavior,\n size = 'xl',\n ...rest\n}: ModalProps): JSX.Element => {\n // Responsive values for full screen modals on phones.\n const fullScreenMobileSize = useBreakpointValue({ base: 'full', md: size });\n const fullScreenMobileBorderRadius = useBreakpointValue({ base: 0, md: 'xl' });\n const modalMargin = useBreakpointValue({ base: useFullScreenMobile ? 0 : 16, md: 16 });\n\n const Modal: JSX.Element = (\n <CModal\n closeOnEsc={allowEscape}\n closeOnOverlayClick={allowEscape}\n autoFocus={!!initialFocusRef}\n isOpen={isOpen}\n onClose={onClose}\n scrollBehavior={scrollBehavior}\n isCentered={isCentered}\n size={useFullScreenMobile ? fullScreenMobileSize : size}\n motionPreset=\"slideInBottom\"\n {...rest}\n >\n <ModalOverlay />\n <ModalContent\n backgroundColor=\"background.overlay\"\n m={modalMargin}\n {...(!useFullScreenMobile && { mx: 5 })}\n borderRadius={useFullScreenMobile ? fullScreenMobileBorderRadius : 'xl'}\n {...(useFullScreenMobile && { minH: { base: '-webkit-fill-available', md: 'auto' } })}\n >\n {children}\n </ModalContent>\n </CModal>\n );\n\n return Modal;\n};\n"],"names":["_a","children","isOpen","onClose","isCentered","responsiveModalSizes","allowEscape","useFullScreenMobile","initialFocusRef","scrollBehavior","size","rest","__rest","fullScreenMobileSize","useBreakpointValue","base","md","fullScreenMobileBorderRadius","modalMargin","React","createElement","CModal","Modal","closeOnEsc","closeOnOverlayClick","autoFocus","motionPreset","ModalOverlay","ModalContent","Object","assign","backgroundColor","m","mx","borderRadius","minH"],"mappings":"8QAwBsBA,IAAA,IAAAC,SACpBA,EAAQC,OACRA,EAAMC,QACNA,EAAOC,WACPA,GAAa,EAAIC,qBACjBA,EAAoBC,YACpBA,GAAc,EAAIC,oBAClBA,GAAsB,EAAIC,gBAC1BA,EAAeC,eACfA,EAAcC,KACdA,EAAO,MAEIV,EADRW,EAAIC,EAAAA,OAAAZ,EAXa,mJAcpB,MAAMa,EAAuBC,EAAAA,mBAAmB,CAAEC,KAAM,OAAQC,GAAIN,IAC9DO,EAA+BH,EAAAA,mBAAmB,CAAEC,KAAM,EAAGC,GAAI,OACjEE,EAAcJ,qBAAmB,CAAEC,KAAMR,EAAsB,EAAI,GAAIS,GAAI,KA4BjF,OAzBEG,EAAC,QAAAC,cAAAC,EAAMC,qBACLC,WAAYjB,EACZkB,oBAAqBlB,EACrBmB,YAAajB,EACbN,OAAQA,EACRC,QAASA,EACTM,eAAgBA,EAChBL,WAAYA,EACZM,KAAMH,EAAsBM,EAAuBH,EACnDgB,aAAa,iBACTf,GAEJQ,UAAAC,cAACO,EAAYA,aAAG,MAChBR,EAAC,QAAAC,cAAAQ,EAAYA,aACXC,OAAAC,OAAA,CAAAC,gBAAgB,qBAChBC,EAAGd,IACGX,GAAuB,CAAE0B,GAAI,GAAI,CACvCC,aAAc3B,EAAsBU,EAA+B,MAC9DV,GAAuB,CAAE4B,KAAM,CAAEpB,KAAM,yBAA0BC,GAAI,UAEzEf"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),r=require("react"),t=require("./chakra-ui-modal.esm-a00f2bce.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=a(r);exports.ModalBody=r=>{var{children:a}=r,i=e.__rest(r,["children"]);return d.default.createElement(t.ModalBody,Object.assign({py:1},i),a)};
2
- //# sourceMappingURL=modalBody.component-345aaa1b.js.map
1
+ "use strict";var e=require("./tslib.es6-d6f17add.js"),r=require("react"),t=require("./chakra-ui-modal.esm-9b7376cd.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=a(r);exports.ModalBody=r=>{var{children:a}=r,i=e.__rest(r,["children"]);return d.default.createElement(t.ModalBody,Object.assign({py:1},i),a)};
2
+ //# sourceMappingURL=modalBody.component-67aad777.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modalBody.component-345aaa1b.js","sources":["../src/components/Modal/components/ModalBody/modalBody.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ModalBody as CModalBody, ModalBodyProps as CModalBodyProps } from '@chakra-ui/react';\n\nexport interface ModalBodyProps extends CModalBodyProps {}\n\nexport const ModalBody = ({ children, ...rest }: ModalBodyProps): JSX.Element => {\n return (\n <CModalBody py={1} {...rest}>\n {children}\n </CModalBody>\n );\n};\n"],"names":["_a","children","rest","__rest","React","createElement","CModalBody","ModalBody","Object","assign","py"],"mappings":"6NAK0BA,IAAA,IAAAC,SAAEA,GAAmCD,EAAtBE,EAAIC,EAAAA,OAAAH,EAAnB,cACxB,OACEI,UAAAC,cAACC,EAAUC,UAAAC,OAAAC,OAAA,CAACC,GAAI,GAAOR,GACpBD"}
1
+ {"version":3,"file":"modalBody.component-67aad777.js","sources":["../src/components/Modal/components/ModalBody/modalBody.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ModalBody as CModalBody, ModalBodyProps as CModalBodyProps } from '@chakra-ui/react';\n\nexport interface ModalBodyProps extends CModalBodyProps {}\n\nexport const ModalBody = ({ children, ...rest }: ModalBodyProps): JSX.Element => {\n return (\n <CModalBody py={1} {...rest}>\n {children}\n </CModalBody>\n );\n};\n"],"names":["_a","children","rest","__rest","React","createElement","CModalBody","ModalBody","Object","assign","py"],"mappings":"6NAK0BA,IAAA,IAAAC,SAAEA,GAAmCD,EAAtBE,EAAIC,EAAAA,OAAAH,EAAnB,cACxB,OACEI,UAAAC,cAACC,EAAUC,UAAAC,OAAAC,OAAA,CAACC,GAAI,GAAOR,GACpBD"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("./tslib.es6-d6f17add.js"),t=require("react"),o=require("./button.component-8c8cd059.js"),r=require("./chakra-ui-modal.esm-9b7376cd.js");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=s(t);exports.ModalCloseButton=t=>{var{right:s=2,top:a=2,size:n="md"}=t,u=e.__rest(t,["right","top","size"]);const{onClose:c}=r.useModalContext();return i.default.createElement(o.Button,Object.assign({variant:"ghostNeutral",onClick:c,iconName:"close",position:"absolute",right:s,top:a,size:n},u))};
2
+ //# sourceMappingURL=modalCloseButton.component-d51dd9b8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modalCloseButton.component-59dd95d7.js","sources":["../src/components/Modal/components/ModalCloseButton/modalCloseButton.component.tsx"],"sourcesContent":["import React from 'react';\nimport { useModalContext } from '@chakra-ui/react';\nimport { Button, ButtonProps } from '../../../Button/button.component';\n\nexport interface ModalCloseButtonProps extends ButtonProps {}\n\nexport const ModalCloseButton = ({ right = 2, top = 2, size = 'md', ...rest }: ModalCloseButtonProps): JSX.Element => {\n const { onClose } = useModalContext();\n return (\n <Button\n variant=\"ghostNeutral\"\n onClick={onClose}\n iconName=\"close\"\n position=\"absolute\"\n right={right}\n top={top}\n size={size}\n {...rest}\n />\n );\n};\n"],"names":["_a","right","top","size","rest","__rest","onClose","useModalContext","React","createElement","Button","Object","assign","variant","onClick","iconName","position"],"mappings":"gRAMiCA,IAAA,IAAAC,MAAEA,EAAQ,EAACC,IAAEA,EAAM,EAACC,KAAEA,EAAO,MAAsCH,EAA7BI,EAAIC,EAAAA,OAAAL,EAA1C,wBAC/B,MAAMM,QAAEA,GAAYC,EAAAA,kBACpB,OACEC,UAAAC,cAACC,EAAMA,OAAAC,OAAAC,OAAA,CACLC,QAAQ,eACRC,QAASR,EACTS,SAAS,QACTC,SAAS,WACTf,MAAOA,EACPC,IAAKA,EACLC,KAAMA,GACFC"}
1
+ {"version":3,"file":"modalCloseButton.component-d51dd9b8.js","sources":["../src/components/Modal/components/ModalCloseButton/modalCloseButton.component.tsx"],"sourcesContent":["import React from 'react';\nimport { useModalContext } from '@chakra-ui/react';\nimport { Button, ButtonProps } from '../../../Button/button.component';\n\nexport interface ModalCloseButtonProps extends ButtonProps {}\n\nexport const ModalCloseButton = ({ right = 2, top = 2, size = 'md', ...rest }: ModalCloseButtonProps): JSX.Element => {\n const { onClose } = useModalContext();\n return (\n <Button\n variant=\"ghostNeutral\"\n onClick={onClose}\n iconName=\"close\"\n position=\"absolute\"\n right={right}\n top={top}\n size={size}\n {...rest}\n />\n );\n};\n"],"names":["_a","right","top","size","rest","__rest","onClose","useModalContext","React","createElement","Button","Object","assign","variant","onClick","iconName","position"],"mappings":"gRAMiCA,IAAA,IAAAC,MAAEA,EAAQ,EAACC,IAAEA,EAAM,EAACC,KAAEA,EAAO,MAAsCH,EAA7BI,EAAIC,EAAAA,OAAAL,EAA1C,wBAC/B,MAAMM,QAAEA,GAAYC,EAAAA,kBACpB,OACEC,UAAAC,cAACC,EAAMA,OAAAC,OAAAC,OAAA,CACLC,QAAQ,eACRC,QAASR,EACTS,SAAS,QACTC,SAAS,WACTf,MAAOA,EACPC,IAAKA,EACLC,KAAMA,GACFC"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),r=require("react"),t=require("./chakra-ui-modal.esm-a00f2bce.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=a(r);exports.ModalFooter=r=>{var{children:a}=r,i=e.__rest(r,["children"]);return d.default.createElement(t.ModalFooter,Object.assign({pb:6},i),a)};
2
- //# sourceMappingURL=modalFooter.component-1c9fcc61.js.map
1
+ "use strict";var e=require("./tslib.es6-d6f17add.js"),r=require("react"),t=require("./chakra-ui-modal.esm-9b7376cd.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=a(r);exports.ModalFooter=r=>{var{children:a}=r,i=e.__rest(r,["children"]);return d.default.createElement(t.ModalFooter,Object.assign({pb:6},i),a)};
2
+ //# sourceMappingURL=modalFooter.component-70921cf6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modalFooter.component-1c9fcc61.js","sources":["../src/components/Modal/components/ModalFooter/modalFooter.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ModalFooter as CModalFooter, ModalFooterProps as CModalFooterProps } from '@chakra-ui/react';\n\nexport interface ModalFooterProps extends CModalFooterProps {}\n\nexport const ModalFooter = ({ children, ...rest }: ModalFooterProps): JSX.Element => {\n return (\n <CModalFooter pb={6} {...rest}>\n {children}\n </CModalFooter>\n );\n};\n"],"names":["_a","children","rest","__rest","React","createElement","CModalFooter","ModalFooter","Object","assign","pb"],"mappings":"+NAK4BA,IAAA,IAAAC,SAAEA,GAAqCD,EAAxBE,EAAIC,EAAAA,OAAAH,EAAnB,cAC1B,OACEI,UAAAC,cAACC,EAAYC,YAAAC,OAAAC,OAAA,CAACC,GAAI,GAAOR,GACtBD"}
1
+ {"version":3,"file":"modalFooter.component-70921cf6.js","sources":["../src/components/Modal/components/ModalFooter/modalFooter.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ModalFooter as CModalFooter, ModalFooterProps as CModalFooterProps } from '@chakra-ui/react';\n\nexport interface ModalFooterProps extends CModalFooterProps {}\n\nexport const ModalFooter = ({ children, ...rest }: ModalFooterProps): JSX.Element => {\n return (\n <CModalFooter pb={6} {...rest}>\n {children}\n </CModalFooter>\n );\n};\n"],"names":["_a","children","rest","__rest","React","createElement","CModalFooter","ModalFooter","Object","assign","pb"],"mappings":"+NAK4BA,IAAA,IAAAC,SAAEA,GAAqCD,EAAxBE,EAAIC,EAAAA,OAAAH,EAAnB,cAC1B,OACEI,UAAAC,cAACC,EAAYC,YAAAC,OAAAC,OAAA,CAACC,GAAI,GAAOR,GACtBD"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),t=require("react"),a=require("./button.component-8c8cd059.js"),i=require("./chakra-ui-modal.esm-a00f2bce.js"),n=require("./chakra-ui-layout.esm-6ee578f7.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=l(t);exports.ModalFooterButtons=t=>{var{submitText:l="Submit",isLoading:o,loadingText:s,isDisabled:u,isDestructive:c,mixpanelName:d,children:m,onSubmit:b,allowCancel:f=!0,onCancel:x}=t,p=e.__rest(t,["submitText","isLoading","loadingText","isDisabled","isDestructive","mixpanelName","children","onSubmit","allowCancel","onCancel"]);const{onClose:C}=i.useModalContext();return r.default.createElement(i.ModalFooter,Object.assign({},p,{pb:6}),r.default.createElement(n.Flex,{w:"100%"},f&&r.default.createElement(a.Button,{variant:"tertiary",onClick:()=>{x&&x(),C()}},"Cancel"),r.default.createElement(n.Spacer,null),r.default.createElement(a.Button,{"data-mixpanel-name":d,onClick:b,isLoading:o,loadingText:s,isDisabled:u,variant:c?"primaryDestructive":"primary"},l)))};
2
- //# sourceMappingURL=modalFooterButtons.component-7889340e.js.map
1
+ "use strict";var e=require("./tslib.es6-d6f17add.js"),t=require("react"),a=require("./button.component-8c8cd059.js"),i=require("./chakra-ui-modal.esm-9b7376cd.js"),n=require("./chakra-ui-layout.esm-6ee578f7.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=l(t);exports.ModalFooterButtons=t=>{var{submitText:l="Submit",isLoading:o,loadingText:s,isDisabled:u,isDestructive:c,mixpanelName:d,children:m,onSubmit:b,allowCancel:f=!0,onCancel:x}=t,p=e.__rest(t,["submitText","isLoading","loadingText","isDisabled","isDestructive","mixpanelName","children","onSubmit","allowCancel","onCancel"]);const{onClose:C}=i.useModalContext();return r.default.createElement(i.ModalFooter,Object.assign({},p,{pb:6}),r.default.createElement(n.Flex,{w:"100%"},f&&r.default.createElement(a.Button,{variant:"tertiary",onClick:()=>{x&&x(),C()}},"Cancel"),r.default.createElement(n.Spacer,null),r.default.createElement(a.Button,{"data-mixpanel-name":d,onClick:b,isLoading:o,loadingText:s,isDisabled:u,variant:c?"primaryDestructive":"primary"},l)))};
2
+ //# sourceMappingURL=modalFooterButtons.component-a60108fc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modalFooterButtons.component-7889340e.js","sources":["../src/components/Modal/components/ModalFooterButtons/modalFooterButtons.component.tsx"],"sourcesContent":["import React from 'react';\nimport {\n ModalFooter as CModalFooter,\n ModalFooterProps as CModalFooterProps,\n useModalContext,\n Flex,\n Spacer,\n} from '@chakra-ui/react';\nimport { Button } from '../../../Button/button.component';\n\nexport interface ModalFooterButtonProps extends CModalFooterProps {\n mixpanelName?: string;\n submitText?: string;\n isLoading?: boolean;\n loadingText?: string;\n isDisabled?: boolean;\n isDestructive?: boolean;\n onSubmit?: () => void | Promise<void>;\n allowCancel?: boolean;\n onCancel?: () => void;\n}\n\nexport const ModalFooterButtons = ({\n submitText = 'Submit',\n isLoading,\n loadingText,\n isDisabled,\n isDestructive,\n mixpanelName,\n children,\n onSubmit,\n allowCancel = true,\n onCancel,\n ...rest\n}: ModalFooterButtonProps): JSX.Element => {\n const { onClose } = useModalContext();\n\n const handleCancel = (): void => {\n if (onCancel) {\n onCancel();\n }\n onClose();\n };\n\n return (\n <CModalFooter {...rest} pb={6}>\n <Flex w=\"100%\">\n {allowCancel && (\n <Button variant=\"tertiary\" onClick={handleCancel}>\n Cancel\n </Button>\n )}\n <Spacer />\n <Button\n data-mixpanel-name={mixpanelName}\n onClick={onSubmit}\n isLoading={isLoading}\n loadingText={loadingText}\n isDisabled={isDisabled}\n variant={isDestructive ? 'primaryDestructive' : 'primary'}\n >\n {submitText}\n </Button>\n </Flex>\n </CModalFooter>\n );\n};\n"],"names":["_a","submitText","isLoading","loadingText","isDisabled","isDestructive","mixpanelName","children","onSubmit","allowCancel","onCancel","rest","__rest","onClose","useModalContext","React","CModalFooter","ModalFooter","Object","assign","pb","createElement","Flex","w","Button","variant","onClick","Spacer"],"mappings":"kUAsBmCA,IAAA,IAAAC,WACjCA,EAAa,SAAQC,UACrBA,EAASC,YACTA,EAAWC,WACXA,EAAUC,cACVA,EAAaC,aACbA,EAAYC,SACZA,EAAQC,SACRA,EAAQC,YACRA,GAAc,EAAIC,SAClBA,GAAQV,EACLW,EAX8BC,EAAAA,OAAAZ,EAAA,CAAA,aAAA,YAAA,cAAA,aAAA,gBAAA,eAAA,WAAA,WAAA,cAAA,aAajC,MAAMa,QAAEA,GAAYC,EAAAA,kBASpB,OACEC,wBAACC,EAAYC,YAAAC,OAAAC,OAAA,GAAKR,EAAM,CAAAS,GAAI,IAC1BL,EAAAA,QAAAM,cAACC,EAAAA,KAAI,CAACC,EAAE,QACLd,GACCM,EAAC,QAAAM,cAAAG,EAAAA,OAAO,CAAAC,QAAQ,WAAWC,QAXd,KACfhB,GACFA,IAEFG,gBAWIE,UAAAM,cAACM,EAAMA,OAAG,MACVZ,UAAAM,cAACG,EAAMA,OACe,CAAA,qBAAAlB,EACpBoB,QAASlB,EACTN,UAAWA,EACXC,YAAaA,EACbC,WAAYA,EACZqB,QAASpB,EAAgB,qBAAuB,WAE/CJ"}
1
+ {"version":3,"file":"modalFooterButtons.component-a60108fc.js","sources":["../src/components/Modal/components/ModalFooterButtons/modalFooterButtons.component.tsx"],"sourcesContent":["import React from 'react';\nimport {\n ModalFooter as CModalFooter,\n ModalFooterProps as CModalFooterProps,\n useModalContext,\n Flex,\n Spacer,\n} from '@chakra-ui/react';\nimport { Button } from '../../../Button/button.component';\n\nexport interface ModalFooterButtonProps extends CModalFooterProps {\n mixpanelName?: string;\n submitText?: string;\n isLoading?: boolean;\n loadingText?: string;\n isDisabled?: boolean;\n isDestructive?: boolean;\n onSubmit?: () => void | Promise<void>;\n allowCancel?: boolean;\n onCancel?: () => void;\n}\n\nexport const ModalFooterButtons = ({\n submitText = 'Submit',\n isLoading,\n loadingText,\n isDisabled,\n isDestructive,\n mixpanelName,\n children,\n onSubmit,\n allowCancel = true,\n onCancel,\n ...rest\n}: ModalFooterButtonProps): JSX.Element => {\n const { onClose } = useModalContext();\n\n const handleCancel = (): void => {\n if (onCancel) {\n onCancel();\n }\n onClose();\n };\n\n return (\n <CModalFooter {...rest} pb={6}>\n <Flex w=\"100%\">\n {allowCancel && (\n <Button variant=\"tertiary\" onClick={handleCancel}>\n Cancel\n </Button>\n )}\n <Spacer />\n <Button\n data-mixpanel-name={mixpanelName}\n onClick={onSubmit}\n isLoading={isLoading}\n loadingText={loadingText}\n isDisabled={isDisabled}\n variant={isDestructive ? 'primaryDestructive' : 'primary'}\n >\n {submitText}\n </Button>\n </Flex>\n </CModalFooter>\n );\n};\n"],"names":["_a","submitText","isLoading","loadingText","isDisabled","isDestructive","mixpanelName","children","onSubmit","allowCancel","onCancel","rest","__rest","onClose","useModalContext","React","CModalFooter","ModalFooter","Object","assign","pb","createElement","Flex","w","Button","variant","onClick","Spacer"],"mappings":"kUAsBmCA,IAAA,IAAAC,WACjCA,EAAa,SAAQC,UACrBA,EAASC,YACTA,EAAWC,WACXA,EAAUC,cACVA,EAAaC,aACbA,EAAYC,SACZA,EAAQC,SACRA,EAAQC,YACRA,GAAc,EAAIC,SAClBA,GAAQV,EACLW,EAX8BC,EAAAA,OAAAZ,EAAA,CAAA,aAAA,YAAA,cAAA,aAAA,gBAAA,eAAA,WAAA,WAAA,cAAA,aAajC,MAAMa,QAAEA,GAAYC,EAAAA,kBASpB,OACEC,wBAACC,EAAYC,YAAAC,OAAAC,OAAA,GAAKR,EAAM,CAAAS,GAAI,IAC1BL,EAAAA,QAAAM,cAACC,EAAAA,KAAI,CAACC,EAAE,QACLd,GACCM,EAAC,QAAAM,cAAAG,EAAAA,OAAO,CAAAC,QAAQ,WAAWC,QAXd,KACfhB,GACFA,IAEFG,gBAWIE,UAAAM,cAACM,EAAMA,OAAG,MACVZ,UAAAM,cAACG,EAAMA,OACe,CAAA,qBAAAlB,EACpBoB,QAASlB,EACTN,UAAWA,EACXC,YAAaA,EACbC,WAAYA,EACZqB,QAASpB,EAAgB,qBAAuB,WAE/CJ"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),r=require("react"),a=require("./heading.component-e55f8364.js"),t=require("./chakra-ui-modal.esm-a00f2bce.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=d(r);exports.ModalHeader=r=>{var{size:d="md",children:s}=r,n=e.__rest(r,["size","children"]);return i.default.createElement(t.ModalHeader,Object.assign({px:6,pt:6,pb:2},n),i.default.createElement(a.WrappedHeading,{size:d},s))};
2
- //# sourceMappingURL=modalHeader.component-204451e0.js.map
1
+ "use strict";var e=require("./tslib.es6-d6f17add.js"),r=require("react"),a=require("./heading.component-e55f8364.js"),t=require("./chakra-ui-modal.esm-9b7376cd.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=d(r);exports.ModalHeader=r=>{var{size:d="md",children:s}=r,n=e.__rest(r,["size","children"]);return i.default.createElement(t.ModalHeader,Object.assign({px:6,pt:6,pb:2},n),i.default.createElement(a.WrappedHeading,{size:d},s))};
2
+ //# sourceMappingURL=modalHeader.component-8aa4a9bf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modalHeader.component-204451e0.js","sources":["../src/components/Modal/components/ModalHeader/modalHeader.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ModalHeader as CModalHeader, ModalHeaderProps as CModalHeaderProps } from '@chakra-ui/react';\nimport { HeadingSize } from '../../../Heading/heading.types';\nimport { Heading } from '../../../Heading/heading.component';\n\nexport interface ModalHeaderProps extends CModalHeaderProps {\n size?: HeadingSize;\n}\n\nexport const ModalHeader = ({ size = 'md', children, ...rest }: ModalHeaderProps): JSX.Element => {\n return (\n <CModalHeader px={6} pt={6} pb={2} {...rest}>\n <Heading size={size}>{children}</Heading>\n </CModalHeader>\n );\n};\n"],"names":["_a","size","children","rest","__rest","React","createElement","CModalHeader","ModalHeader","Object","assign","px","pt","pb","Heading"],"mappings":"4QAS4BA,QAAAC,KAAEA,EAAO,KAAIC,SAAEA,KAAaC,EAA5BC,EAAAA,OAAAJ,EAAA,CAAA,OAAA,aAC1B,OACEK,EAAC,QAAAC,cAAAC,EAAYC,YAACC,OAAAC,OAAA,CAAAC,GAAI,EAAGC,GAAI,EAAGC,GAAI,GAAOV,GACrCE,EAAC,QAAAC,cAAAQ,iBAAQ,CAAAb,KAAMA,GAAOC"}
1
+ {"version":3,"file":"modalHeader.component-8aa4a9bf.js","sources":["../src/components/Modal/components/ModalHeader/modalHeader.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ModalHeader as CModalHeader, ModalHeaderProps as CModalHeaderProps } from '@chakra-ui/react';\nimport { HeadingSize } from '../../../Heading/heading.types';\nimport { Heading } from '../../../Heading/heading.component';\n\nexport interface ModalHeaderProps extends CModalHeaderProps {\n size?: HeadingSize;\n}\n\nexport const ModalHeader = ({ size = 'md', children, ...rest }: ModalHeaderProps): JSX.Element => {\n return (\n <CModalHeader px={6} pt={6} pb={2} {...rest}>\n <Heading size={size}>{children}</Heading>\n </CModalHeader>\n );\n};\n"],"names":["_a","size","children","rest","__rest","React","createElement","CModalHeader","ModalHeader","Object","assign","px","pt","pb","Heading"],"mappings":"4QAS4BA,QAAAC,KAAEA,EAAO,KAAIC,SAAEA,KAAaC,EAA5BC,EAAAA,OAAAJ,EAAA,CAAA,OAAA,aAC1B,OACEK,EAAC,QAAAC,cAAAC,EAAYC,YAACC,OAAAC,OAAA,CAAAC,GAAI,EAAGC,GAAI,EAAGC,GAAI,GAAOV,GACrCE,EAAC,QAAAC,cAAAQ,iBAAQ,CAAAb,KAAMA,GAAOC"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),t=require("react"),n=require("./menuContainer.component-37bff630.js"),l=require("./withFormControl-47cc4bf3.js"),a=require("./menu.context-bbda65db.js"),r=require("./menuList.component-8259b8c6.js"),s=require("./text.component-057889c3.js"),i=require("./chakra-ui-layout.esm-6ee578f7.js"),c=require("./icon.component-100b924b.js"),o=require("./chakra-ui-select.esm-793cf4de.js"),u=require("./chakra-ui-menu.esm-1ed98193.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=d(t);const f=t=>{const{options:n}=t,l=e.__rest(t,["options"]);return m.default.createElement(r.MenuList,Object.assign({shouldRetainSelection:!0,menuItems:n,isMatchWidthSet:!0},l))},p=({selectedOption:e,defaultLeftElement:t,shouldTruncateText:n=!0})=>m.default.createElement(i.Flex,{"data-testid":"dropdown-container",className:"Select__Container",justify:"flex-start",align:"center",textAlign:"left",color:e.variant?`text.${e.variant}`:"text.default"},(null==e?void 0:e.leftElement)?m.default.createElement(i.Flex,{align:"center",className:"Select__LeftElement",pr:2},e.leftElement):t?m.default.createElement(i.Flex,{align:"center",className:"Select__LeftElement",pr:2},t):null,"string"==typeof e.label?m.default.createElement(s.WrappedText,{className:"Select__Text",isTruncated:n,variant:e.variant||"default"},e.label):e.label),v=l=>{var{defaultLeftElement:r,isFieldInline:s,listProps:i,options:d,placeholder:v,size:x="md",value:b,maxW:h="100%",isOnContrast:E,emptyStateText:S}=l,j=e.__rest(l,["defaultLeftElement","isFieldInline","listProps","options","placeholder","size","value","maxW","isOnContrast","emptyStateText"]);const g=E?"onContrast":"default",T=t.useRef(null),_=t.useMemo((()=>({label:v,value:"",variant:E?"placeholderOnContrast":"placeholder",leftElement:null,isSelected:!1,isPlaceholder:!0})),[v,E]),[O,q]=t.useState([]),C=t.useMemo((()=>{const e=O.find((e=>e.isSelected));return e||_}),[O,_]),y=t.useCallback((e=>{if(!O)return;const t=O.map((t=>Object.assign(Object.assign({},t),{isSelected:t.value===e.value})));q(t),(null==i?void 0:i.onSelect)&&i.onSelect(e)}),[O,i]),L=(null==i?void 0:i.shouldTruncateText)?{}:{height:"max-content",minH:10},M=t.useMemo((()=>{var e;return T.current?`${null===(e=null==T?void 0:T.current)||void 0===e?void 0:e.clientWidth}px`:"320px"}),[null==T?void 0:T.current]);return t.useEffect((()=>{const e=d.map((e=>Object.assign(Object.assign({},e),{isSelected:e.value===b})));q([...e,_])}),[d,_,b]),m.default.createElement(a.MenuProvider,{menuItems:O},m.default.createElement(n.MenuContainer,{matchWidth:!0,isLazy:!0},m.default.createElement(o.Select,Object.assign({icon:m.default.createElement(c.Icon,{name:"chevronDown",size:x}),as:u.MenuButton,ref:T,onClick:e=>e.stopPropagation(),type:"button",className:"Select__MenuButton",variant:g,maxW:h},L,j),m.default.createElement(p,{selectedOption:C,defaultLeftElement:r,shouldTruncateText:null==i?void 0:i.shouldTruncateText})),m.default.createElement(f,Object.assign({},i,{onSelect:y,options:O,maxW:M||h,emptyStateText:S}))))};v.displayName="Select";const x=l.withFormControl(v);exports.WrappedSelect=x;
2
- //# sourceMappingURL=select.component-e3d3c7a1.js.map
1
+ "use strict";var e=require("./tslib.es6-d6f17add.js"),t=require("react"),n=require("./menuContainer.component-37bff630.js"),l=require("./withFormControl-47cc4bf3.js"),a=require("./menu.context-bbda65db.js"),r=require("./menuList.component-41f1f20d.js"),s=require("./text.component-057889c3.js"),i=require("./chakra-ui-layout.esm-6ee578f7.js"),c=require("./icon.component-100b924b.js"),o=require("./chakra-ui-select.esm-793cf4de.js"),u=require("./chakra-ui-menu.esm-1ed98193.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=d(t);const f=t=>{const{options:n}=t,l=e.__rest(t,["options"]);return m.default.createElement(r.MenuList,Object.assign({shouldRetainSelection:!0,menuItems:n,isMatchWidthSet:!0},l))},p=({selectedOption:e,defaultLeftElement:t,shouldTruncateText:n=!0})=>m.default.createElement(i.Flex,{"data-testid":"dropdown-container",className:"Select__Container",justify:"flex-start",align:"center",textAlign:"left",color:e.variant?`text.${e.variant}`:"text.default"},(null==e?void 0:e.leftElement)?m.default.createElement(i.Flex,{align:"center",className:"Select__LeftElement",pr:2},e.leftElement):t?m.default.createElement(i.Flex,{align:"center",className:"Select__LeftElement",pr:2},t):null,"string"==typeof e.label?m.default.createElement(s.WrappedText,{className:"Select__Text",isTruncated:n,variant:e.variant||"default"},e.label):e.label),v=l=>{var{defaultLeftElement:r,isFieldInline:s,listProps:i,options:d,placeholder:v,size:x="md",value:h,maxW:b="100%",isOnContrast:E,emptyStateText:S}=l,j=e.__rest(l,["defaultLeftElement","isFieldInline","listProps","options","placeholder","size","value","maxW","isOnContrast","emptyStateText"]);const g=E?"onContrast":"default",T=t.useRef(null),_=t.useMemo((()=>({label:v,value:"",variant:E?"placeholderOnContrast":"placeholder",leftElement:null,isSelected:!1,isPlaceholder:!0})),[v,E]),[O,q]=t.useState([]),C=t.useMemo((()=>{const e=O.find((e=>e.isSelected));return e||_}),[O,_]),y=t.useCallback((e=>{if(!O)return;const t=O.map((t=>Object.assign(Object.assign({},t),{isSelected:t.value===e.value})));q(t),(null==i?void 0:i.onSelect)&&i.onSelect(e)}),[O,i]),L=(null==i?void 0:i.shouldTruncateText)?{}:{height:"max-content",minH:10},M=t.useMemo((()=>{var e;return T.current?`${null===(e=null==T?void 0:T.current)||void 0===e?void 0:e.clientWidth}px`:"320px"}),[null==T?void 0:T.current]);return t.useEffect((()=>{const e=d.map((e=>Object.assign(Object.assign({},e),{isSelected:e.value===h})));q([...e,_])}),[d,_,h]),m.default.createElement(a.MenuProvider,{menuItems:O},m.default.createElement(n.MenuContainer,{matchWidth:!0,isLazy:!0},m.default.createElement(o.Select,Object.assign({icon:m.default.createElement(c.Icon,{name:"chevronDown",size:x}),as:u.MenuButton,ref:T,onClick:e=>e.stopPropagation(),type:"button",className:"Select__MenuButton",variant:g,maxW:b},L,j),m.default.createElement(p,{selectedOption:C,defaultLeftElement:r,shouldTruncateText:null==i?void 0:i.shouldTruncateText})),m.default.createElement(f,Object.assign({},i,{onSelect:y,options:O,maxW:M||b,emptyStateText:S}))))};v.displayName="Select";const x=l.withFormControl(v);exports.WrappedSelect=x;
2
+ //# sourceMappingURL=select.component-cd4ed71f.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.component-e3d3c7a1.js","sources":["../src/components/Select/components/SelectList/selectList.component.tsx","../src/components/Select/components/SelectContainer/selectContainer.component.tsx","../src/components/Select/select.component.tsx"],"sourcesContent":["import React from 'react';\nimport { MenuList, KMenuListProps, MenuListProps } from '../../../Menu/components/MenuList/menuList.component';\nimport { SelectOptionProps } from '../SelectOption/selectOption.types';\n\nexport interface KSelectListProps\n extends Omit<\n KMenuListProps,\n | 'canSelectAll'\n | 'canSelectGroups'\n | 'isMultiSelect'\n | 'onSelectAll'\n | 'menuItems'\n | 'shouldRetainSelection'\n | 'isMatchWidthSet'\n | 'isLoading'\n > {\n options?: SelectOptionProps[];\n}\n\nexport type SelectListProps = KSelectListProps & MenuListProps;\n\nexport const SelectList = (props: SelectListProps): JSX.Element => {\n const { options, ...rest } = props;\n\n return <MenuList shouldRetainSelection={true} menuItems={options} isMatchWidthSet={true} {...rest} />;\n};\n","import React, { ReactNode } from 'react';\nimport { Flex } from '@chakra-ui/react';\nimport { Text } from '../../../Text/text.component';\nimport { SelectOptionProps } from '../SelectOption/selectOption.types';\n\nexport interface SelectContainerProps {\n selectedOption: SelectOptionProps;\n defaultLeftElement: ReactNode;\n shouldTruncateText?: boolean;\n}\n\nexport const SelectContainer = ({\n selectedOption,\n defaultLeftElement,\n shouldTruncateText = true,\n}: SelectContainerProps): JSX.Element => {\n return (\n <Flex\n data-testid=\"dropdown-container\"\n className=\"Select__Container\"\n justify=\"flex-start\"\n align=\"center\"\n textAlign=\"left\"\n color={selectedOption.variant ? `text.${selectedOption.variant}` : 'text.default'}\n >\n {selectedOption?.leftElement ? (\n <Flex align=\"center\" className=\"Select__LeftElement\" pr={2}>\n {selectedOption.leftElement}\n </Flex>\n ) : defaultLeftElement ? (\n <Flex align=\"center\" className=\"Select__LeftElement\" pr={2}>\n {defaultLeftElement}\n </Flex>\n ) : null}\n {typeof selectedOption.label === 'string' ? (\n <Text className=\"Select__Text\" isTruncated={shouldTruncateText} variant={selectedOption.variant || 'default'}>\n {selectedOption.label}\n </Text>\n ) : (\n selectedOption.label\n )}\n </Flex>\n );\n};\n","import React, { useMemo, ReactNode, useRef, useState, useCallback, useEffect } from 'react';\nimport { Select as CSelect, SelectProps as CSelectProps, MenuButton } from '@chakra-ui/react';\nimport { MenuContainer } from '../Menu/components/MenuContainer/menuContainer.component';\nimport { WithFormControlProps, withFormControl } from 'shared/hocs/FormControl/withFormControl';\nimport { MenuProvider } from '../Menu/context/menu.context';\nimport { SelectList, SelectListProps } from './components/SelectList/selectList.component';\nimport { SelectContainer } from './components/SelectContainer/selectContainer.component';\nimport { Icon } from '../Icon/icon.component';\nimport { IconSize } from '../Icon/icon.types';\nimport { FormControlSize } from 'shared/types/formControl';\nimport { SelectOptionProps } from './components/SelectOption/selectOption.types';\n\nexport interface KSelectProps extends WithFormControlProps {\n defaultLeftElement?: ReactNode;\n listProps?: SelectListProps;\n options: SelectOptionProps[];\n size?: FormControlSize;\n isOnContrast?: boolean;\n placeholder?: string;\n emptyStateText?: string;\n}\n\nexport type SelectProps = KSelectProps & Omit<CSelectProps, 'onSelect'>;\n\nconst Select = ({\n defaultLeftElement,\n isFieldInline,\n listProps,\n options,\n placeholder,\n size = 'md',\n value,\n maxW = '100%',\n isOnContrast,\n emptyStateText,\n ...rest\n}: SelectProps): JSX.Element => {\n // TODO: Need to add full support for isOnContrast, currently menu list still renders white\n const _computedVariant = isOnContrast ? 'onContrast' : 'default';\n const selectRef = useRef<HTMLSelectElement>(null);\n const placeholderOption: SelectOptionProps = useMemo(\n () => ({\n label: placeholder,\n value: '',\n variant: isOnContrast ? 'placeholderOnContrast' : 'placeholder',\n leftElement: null,\n isSelected: false,\n isPlaceholder: true,\n }),\n [placeholder, isOnContrast],\n );\n\n const [allOptions, setAllOptions] = useState<SelectOptionProps[]>([]);\n\n const selectedOption: SelectOptionProps = useMemo(() => {\n const selectedItem = allOptions.find((option) => option.isSelected);\n\n return selectedItem ? selectedItem : placeholderOption;\n }, [allOptions, placeholderOption]);\n\n const handleSelect = useCallback(\n (selectedItem: SelectOptionProps) => {\n if (!allOptions) return;\n\n const updatedOptions = allOptions.map((option) => {\n return {\n ...option,\n isSelected: option.value === selectedItem.value,\n };\n });\n setAllOptions(updatedOptions);\n\n if (listProps?.onSelect) {\n listProps.onSelect(selectedItem);\n }\n },\n [allOptions, listProps],\n );\n\n // If the text is not being truncated it should grow to fit the content\n const flexibleHeightProps = !listProps?.shouldTruncateText ? { height: 'max-content', minH: 10 } : {};\n\n const selectWidth = useMemo(() => {\n if (!selectRef.current) {\n return '320px';\n }\n\n return `${selectRef?.current?.clientWidth}px`;\n\n // Disables the warning for not including unused dependency in the hook array. This dependency is needed to rerender the menu list with the correct width\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectRef?.current]);\n\n // Set default selected state\n useEffect(() => {\n const mappedOptions = options.map((option) => ({\n ...option,\n isSelected: option.value === value,\n }));\n\n setAllOptions([...mappedOptions, placeholderOption]);\n }, [options, placeholderOption, value]);\n\n return (\n <MenuProvider menuItems={allOptions}>\n <MenuContainer matchWidth={true} isLazy={true}>\n <CSelect\n icon={<Icon name=\"chevronDown\" size={size as IconSize} />}\n as={MenuButton}\n ref={selectRef}\n onClick={(event: React.MouseEvent): void => event.stopPropagation()}\n type=\"button\"\n className=\"Select__MenuButton\"\n variant={_computedVariant}\n maxW={maxW}\n {...flexibleHeightProps}\n {...rest}\n >\n <SelectContainer\n selectedOption={selectedOption}\n defaultLeftElement={defaultLeftElement}\n shouldTruncateText={listProps?.shouldTruncateText}\n />\n </CSelect>\n <SelectList\n {...listProps}\n onSelect={handleSelect}\n options={allOptions}\n maxW={selectWidth || maxW}\n emptyStateText={emptyStateText}\n />\n </MenuContainer>\n </MenuProvider>\n );\n};\n\nSelect.displayName = 'Select';\n\nconst WrappedSelect = withFormControl(Select);\n\nexport { WrappedSelect as Select };\n"],"names":["SelectList","props","options","rest","__rest","React","MenuList","Object","assign","shouldRetainSelection","menuItems","isMatchWidthSet","SelectContainer","selectedOption","defaultLeftElement","shouldTruncateText","createElement","Flex","className","justify","align","textAlign","color","variant","leftElement","pr","label","Text","isTruncated","Select","_a","isFieldInline","listProps","placeholder","size","value","maxW","isOnContrast","emptyStateText","_computedVariant","selectRef","useRef","placeholderOption","useMemo","isSelected","isPlaceholder","allOptions","setAllOptions","useState","selectedItem","find","option","handleSelect","useCallback","updatedOptions","map","onSelect","flexibleHeightProps","height","minH","selectWidth","current","clientWidth","useEffect","mappedOptions","MenuProvider","MenuContainer","matchWidth","isLazy","CSelect","icon","Icon","name","as","MenuButton","ref","onClick","event","stopPropagation","type","displayName","WrappedSelect","withFormControl"],"mappings":"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"}
1
+ {"version":3,"file":"select.component-cd4ed71f.js","sources":["../src/components/Select/components/SelectList/selectList.component.tsx","../src/components/Select/components/SelectContainer/selectContainer.component.tsx","../src/components/Select/select.component.tsx"],"sourcesContent":["import React from 'react';\nimport { MenuList, KMenuListProps, MenuListProps } from '../../../Menu/components/MenuList/menuList.component';\nimport { SelectOptionProps } from '../SelectOption/selectOption.types';\n\nexport interface KSelectListProps\n extends Omit<\n KMenuListProps,\n | 'canSelectAll'\n | 'canSelectGroups'\n | 'isMultiSelect'\n | 'onSelectAll'\n | 'menuItems'\n | 'shouldRetainSelection'\n | 'isMatchWidthSet'\n | 'isLoading'\n > {\n options?: SelectOptionProps[];\n}\n\nexport type SelectListProps = KSelectListProps & MenuListProps;\n\nexport const SelectList = (props: SelectListProps): JSX.Element => {\n const { options, ...rest } = props;\n\n return <MenuList shouldRetainSelection={true} menuItems={options} isMatchWidthSet={true} {...rest} />;\n};\n","import React, { ReactNode } from 'react';\nimport { Flex } from '@chakra-ui/react';\nimport { Text } from '../../../Text/text.component';\nimport { SelectOptionProps } from '../SelectOption/selectOption.types';\n\nexport interface SelectContainerProps {\n selectedOption: SelectOptionProps;\n defaultLeftElement: ReactNode;\n shouldTruncateText?: boolean;\n}\n\nexport const SelectContainer = ({\n selectedOption,\n defaultLeftElement,\n shouldTruncateText = true,\n}: SelectContainerProps): JSX.Element => {\n return (\n <Flex\n data-testid=\"dropdown-container\"\n className=\"Select__Container\"\n justify=\"flex-start\"\n align=\"center\"\n textAlign=\"left\"\n color={selectedOption.variant ? `text.${selectedOption.variant}` : 'text.default'}\n >\n {selectedOption?.leftElement ? (\n <Flex align=\"center\" className=\"Select__LeftElement\" pr={2}>\n {selectedOption.leftElement}\n </Flex>\n ) : defaultLeftElement ? (\n <Flex align=\"center\" className=\"Select__LeftElement\" pr={2}>\n {defaultLeftElement}\n </Flex>\n ) : null}\n {typeof selectedOption.label === 'string' ? (\n <Text className=\"Select__Text\" isTruncated={shouldTruncateText} variant={selectedOption.variant || 'default'}>\n {selectedOption.label}\n </Text>\n ) : (\n selectedOption.label\n )}\n </Flex>\n );\n};\n","import React, { useMemo, ReactNode, useRef, useState, useCallback, useEffect } from 'react';\nimport { Select as CSelect, SelectProps as CSelectProps, MenuButton } from '@chakra-ui/react';\nimport { MenuContainer } from '../Menu/components/MenuContainer/menuContainer.component';\nimport { WithFormControlProps, withFormControl } from 'shared/hocs/FormControl/withFormControl';\nimport { MenuProvider } from '../Menu/context/menu.context';\nimport { SelectList, SelectListProps } from './components/SelectList/selectList.component';\nimport { SelectContainer } from './components/SelectContainer/selectContainer.component';\nimport { Icon } from '../Icon/icon.component';\nimport { IconSize } from '../Icon/icon.types';\nimport { FormControlSize } from 'shared/types/formControl';\nimport { SelectOptionProps } from './components/SelectOption/selectOption.types';\n\nexport interface KSelectProps extends WithFormControlProps {\n defaultLeftElement?: ReactNode;\n listProps?: SelectListProps;\n options: SelectOptionProps[];\n size?: FormControlSize;\n isOnContrast?: boolean;\n placeholder?: string;\n emptyStateText?: string;\n}\n\nexport type SelectProps = KSelectProps & Omit<CSelectProps, 'onSelect'>;\n\nconst Select = ({\n defaultLeftElement,\n isFieldInline,\n listProps,\n options,\n placeholder,\n size = 'md',\n value,\n maxW = '100%',\n isOnContrast,\n emptyStateText,\n ...rest\n}: SelectProps): JSX.Element => {\n // TODO: Need to add full support for isOnContrast, currently menu list still renders white\n const _computedVariant = isOnContrast ? 'onContrast' : 'default';\n const selectRef = useRef<HTMLSelectElement>(null);\n const placeholderOption: SelectOptionProps = useMemo(\n () => ({\n label: placeholder,\n value: '',\n variant: isOnContrast ? 'placeholderOnContrast' : 'placeholder',\n leftElement: null,\n isSelected: false,\n isPlaceholder: true,\n }),\n [placeholder, isOnContrast],\n );\n\n const [allOptions, setAllOptions] = useState<SelectOptionProps[]>([]);\n\n const selectedOption: SelectOptionProps = useMemo(() => {\n const selectedItem = allOptions.find((option) => option.isSelected);\n\n return selectedItem ? selectedItem : placeholderOption;\n }, [allOptions, placeholderOption]);\n\n const handleSelect = useCallback(\n (selectedItem: SelectOptionProps) => {\n if (!allOptions) return;\n\n const updatedOptions = allOptions.map((option) => {\n return {\n ...option,\n isSelected: option.value === selectedItem.value,\n };\n });\n setAllOptions(updatedOptions);\n\n if (listProps?.onSelect) {\n listProps.onSelect(selectedItem);\n }\n },\n [allOptions, listProps],\n );\n\n // If the text is not being truncated it should grow to fit the content\n const flexibleHeightProps = !listProps?.shouldTruncateText ? { height: 'max-content', minH: 10 } : {};\n\n const selectWidth = useMemo(() => {\n if (!selectRef.current) {\n return '320px';\n }\n\n return `${selectRef?.current?.clientWidth}px`;\n\n // Disables the warning for not including unused dependency in the hook array. This dependency is needed to rerender the menu list with the correct width\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectRef?.current]);\n\n // Set default selected state\n useEffect(() => {\n const mappedOptions = options.map((option) => ({\n ...option,\n isSelected: option.value === value,\n }));\n\n setAllOptions([...mappedOptions, placeholderOption]);\n }, [options, placeholderOption, value]);\n\n return (\n <MenuProvider menuItems={allOptions}>\n <MenuContainer matchWidth={true} isLazy={true}>\n <CSelect\n icon={<Icon name=\"chevronDown\" size={size as IconSize} />}\n as={MenuButton}\n ref={selectRef}\n onClick={(event: React.MouseEvent): void => event.stopPropagation()}\n type=\"button\"\n className=\"Select__MenuButton\"\n variant={_computedVariant}\n maxW={maxW}\n {...flexibleHeightProps}\n {...rest}\n >\n <SelectContainer\n selectedOption={selectedOption}\n defaultLeftElement={defaultLeftElement}\n shouldTruncateText={listProps?.shouldTruncateText}\n />\n </CSelect>\n <SelectList\n {...listProps}\n onSelect={handleSelect}\n options={allOptions}\n maxW={selectWidth || maxW}\n emptyStateText={emptyStateText}\n />\n </MenuContainer>\n </MenuProvider>\n );\n};\n\nSelect.displayName = 'Select';\n\nconst WrappedSelect = withFormControl(Select);\n\nexport { WrappedSelect as Select };\n"],"names":["SelectList","props","options","rest","__rest","React","MenuList","Object","assign","shouldRetainSelection","menuItems","isMatchWidthSet","SelectContainer","selectedOption","defaultLeftElement","shouldTruncateText","createElement","Flex","className","justify","align","textAlign","color","variant","leftElement","pr","label","Text","isTruncated","Select","_a","isFieldInline","listProps","placeholder","size","value","maxW","isOnContrast","emptyStateText","_computedVariant","selectRef","useRef","placeholderOption","useMemo","isSelected","isPlaceholder","allOptions","setAllOptions","useState","selectedItem","find","option","handleSelect","useCallback","updatedOptions","map","onSelect","flexibleHeightProps","height","minH","selectWidth","current","clientWidth","useEffect","mappedOptions","MenuProvider","MenuContainer","matchWidth","isLazy","CSelect","icon","Icon","name","as","MenuButton","ref","onClick","event","stopPropagation","type","displayName","WrappedSelect","withFormControl"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react"),t=require("./icon.component-100b924b.js"),n=require("./popover.component-b27da5a5.js"),r=require("./index-eb213f75.js"),a=require("./textInput.component-06de8c5a.js"),i=require("./chakra-ui-layout.esm-6ee578f7.js"),o=require("./useIconTextSizeMap-301c4f35.js"),u=require("./chakra-ui-hooks.esm-21b313f3.js");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=s(e);function l(e){if(r.requiredArgs(1,arguments),!r.isDate(e)&&"number"!=typeof e)return!1;var t=r.toDate(e);return!isNaN(Number(t))}function c(e,t){r.requiredArgs(2,arguments);var n=r.toDate(e).getTime(),a=r.toInteger(t);return new Date(n+a)}function h(e,t){r.requiredArgs(2,arguments);var n=r.toInteger(t);return c(e,-n)}function m(e){r.requiredArgs(1,arguments);var t=1,n=r.toDate(e),a=n.getUTCDay(),i=(a<t?7:0)+a-t;return n.setUTCDate(n.getUTCDate()-i),n.setUTCHours(0,0,0,0),n}function f(e){r.requiredArgs(1,arguments);var t=r.toDate(e),n=t.getUTCFullYear(),a=new Date(0);a.setUTCFullYear(n+1,0,4),a.setUTCHours(0,0,0,0);var i=m(a),o=new Date(0);o.setUTCFullYear(n,0,4),o.setUTCHours(0,0,0,0);var u=m(o);return t.getTime()>=i.getTime()?n+1:t.getTime()>=u.getTime()?n:n-1}function g(e){r.requiredArgs(1,arguments);var t=f(e),n=new Date(0);n.setUTCFullYear(t,0,4),n.setUTCHours(0,0,0,0);var a=m(n);return a}var v={};function w(){return v}function b(e,t){var n,a,i,o,u,s,d,l;r.requiredArgs(1,arguments);var c=w(),h=r.toInteger(null!==(n=null!==(a=null!==(i=null!==(o=null==t?void 0:t.weekStartsOn)&&void 0!==o?o:null==t||null===(u=t.locale)||void 0===u||null===(s=u.options)||void 0===s?void 0:s.weekStartsOn)&&void 0!==i?i:c.weekStartsOn)&&void 0!==a?a:null===(d=c.locale)||void 0===d||null===(l=d.options)||void 0===l?void 0:l.weekStartsOn)&&void 0!==n?n:0);if(!(h>=0&&h<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=r.toDate(e),f=m.getUTCDay(),g=(f<h?7:0)+f-h;return m.setUTCDate(m.getUTCDate()-g),m.setUTCHours(0,0,0,0),m}function p(e,t){var n,a,i,o,u,s,d,l;r.requiredArgs(1,arguments);var c=r.toDate(e),h=c.getUTCFullYear(),m=w(),f=r.toInteger(null!==(n=null!==(a=null!==(i=null!==(o=null==t?void 0:t.firstWeekContainsDate)&&void 0!==o?o:null==t||null===(u=t.locale)||void 0===u||null===(s=u.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==i?i:m.firstWeekContainsDate)&&void 0!==a?a:null===(d=m.locale)||void 0===d||null===(l=d.options)||void 0===l?void 0:l.firstWeekContainsDate)&&void 0!==n?n:1);if(!(f>=1&&f<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var g=new Date(0);g.setUTCFullYear(h+1,0,f),g.setUTCHours(0,0,0,0);var v=b(g,t),p=new Date(0);p.setUTCFullYear(h,0,f),p.setUTCHours(0,0,0,0);var y=b(p,t);return c.getTime()>=v.getTime()?h+1:c.getTime()>=y.getTime()?h:h-1}function y(e,t){var n,a,i,o,u,s,d,l;r.requiredArgs(1,arguments);var c=w(),h=r.toInteger(null!==(n=null!==(a=null!==(i=null!==(o=null==t?void 0:t.firstWeekContainsDate)&&void 0!==o?o:null==t||null===(u=t.locale)||void 0===u||null===(s=u.options)||void 0===s?void 0:s.firstWeekContainsDate)&&void 0!==i?i:c.firstWeekContainsDate)&&void 0!==a?a:null===(d=c.locale)||void 0===d||null===(l=d.options)||void 0===l?void 0:l.firstWeekContainsDate)&&void 0!==n?n:1),m=p(e,t),f=new Date(0);f.setUTCFullYear(m,0,h),f.setUTCHours(0,0,0,0);var g=b(f,t);return g}function T(e,t){for(var n=e<0?"-":"",r=Math.abs(e).toString();r.length<t;)r="0"+r;return n+r}var M={y:function(e,t){var n=e.getUTCFullYear(),r=n>0?n:1-n;return T("yy"===t?r%100:r,t.length)},M:function(e,t){var n=e.getUTCMonth();return"M"===t?String(n+1):T(n+1,2)},d:function(e,t){return T(e.getUTCDate(),t.length)},a:function(e,t){var n=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return"am"===n?"a.m.":"p.m."}},h:function(e,t){return T(e.getUTCHours()%12||12,t.length)},H:function(e,t){return T(e.getUTCHours(),t.length)},m:function(e,t){return T(e.getUTCMinutes(),t.length)},s:function(e,t){return T(e.getUTCSeconds(),t.length)},S:function(e,t){var n=t.length,r=e.getUTCMilliseconds();return T(Math.floor(r*Math.pow(10,n-3)),t.length)}},C="midnight",k="noon",x="morning",D="afternoon",P="evening",S="night",U={G:function(e,t,n){var r=e.getUTCFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if("yo"===t){var r=e.getUTCFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return M.y(e,t)},Y:function(e,t,n,r){var a=p(e,r),i=a>0?a:1-a;return"YY"===t?T(i%100,2):"Yo"===t?n.ordinalNumber(i,{unit:"year"}):T(i,t.length)},R:function(e,t){return T(f(e),t.length)},u:function(e,t){return T(e.getUTCFullYear(),t.length)},Q:function(e,t,n){var r=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return T(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){var r=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return T(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){var r=e.getUTCMonth();switch(t){case"M":case"MM":return M.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){var r=e.getUTCMonth();switch(t){case"L":return String(r+1);case"LL":return T(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){var i=function(e,t){r.requiredArgs(1,arguments);var n=r.toDate(e),a=b(n,t).getTime()-y(n,t).getTime();return Math.round(a/6048e5)+1}(e,a);return"wo"===t?n.ordinalNumber(i,{unit:"week"}):T(i,t.length)},I:function(e,t,n){var a=function(e){r.requiredArgs(1,arguments);var t=r.toDate(e),n=m(t).getTime()-g(t).getTime();return Math.round(n/6048e5)+1}(e);return"Io"===t?n.ordinalNumber(a,{unit:"week"}):T(a,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getUTCDate(),{unit:"date"}):M.d(e,t)},D:function(e,t,n){var a=function(e){r.requiredArgs(1,arguments);var t=r.toDate(e),n=t.getTime();t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0);var a=t.getTime(),i=n-a;return Math.floor(i/864e5)+1}(e);return"Do"===t?n.ordinalNumber(a,{unit:"dayOfYear"}):T(a,t.length)},E:function(e,t,n){var r=e.getUTCDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){var a=e.getUTCDay(),i=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(i);case"ee":return T(i,2);case"eo":return n.ordinalNumber(i,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){var a=e.getUTCDay(),i=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(i);case"cc":return T(i,t.length);case"co":return n.ordinalNumber(i,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){var r=e.getUTCDay(),a=0===r?7:r;switch(t){case"i":return String(a);case"ii":return T(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){var r=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){var r,a=e.getUTCHours();switch(r=12===a?k:0===a?C:a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){var r,a=e.getUTCHours();switch(r=a>=17?P:a>=12?D:a>=4?x:S,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){var r=e.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return M.h(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getUTCHours(),{unit:"hour"}):M.H(e,t)},K:function(e,t,n){var r=e.getUTCHours()%12;return"Ko"===t?n.ordinalNumber(r,{unit:"hour"}):T(r,t.length)},k:function(e,t,n){var r=e.getUTCHours();return 0===r&&(r=24),"ko"===t?n.ordinalNumber(r,{unit:"hour"}):T(r,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getUTCMinutes(),{unit:"minute"}):M.m(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getUTCSeconds(),{unit:"second"}):M.s(e,t)},S:function(e,t){return M.S(e,t)},X:function(e,t,n,r){var a=(r._originalDate||e).getTimezoneOffset();if(0===a)return"Z";switch(t){case"X":return q(a);case"XXXX":case"XX":return E(a);default:return E(a,":")}},x:function(e,t,n,r){var a=(r._originalDate||e).getTimezoneOffset();switch(t){case"x":return q(a);case"xxxx":case"xx":return E(a);default:return E(a,":")}},O:function(e,t,n,r){var a=(r._originalDate||e).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+W(a,":");default:return"GMT"+E(a,":")}},z:function(e,t,n,r){var a=(r._originalDate||e).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+W(a,":");default:return"GMT"+E(a,":")}},t:function(e,t,n,r){var a=r._originalDate||e;return T(Math.floor(a.getTime()/1e3),t.length)},T:function(e,t,n,r){return T((r._originalDate||e).getTime(),t.length)}};function W(e,t){var n=e>0?"-":"+",r=Math.abs(e),a=Math.floor(r/60),i=r%60;if(0===i)return n+String(a);var o=t||"";return n+String(a)+o+T(i,2)}function q(e,t){return e%60==0?(e>0?"-":"+")+T(Math.abs(e)/60,2):E(e,t)}function E(e,t){var n=t||"",r=e>0?"-":"+",a=Math.abs(e);return r+T(Math.floor(a/60),2)+n+T(a%60,2)}var Y=U,O=function(e,t){switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},A=function(e,t){switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},N={p:A,P:function(e,t){var n,r=e.match(/(P+)(p+)?/)||[],a=r[1],i=r[2];if(!i)return O(e,t);switch(a){case"P":n=t.dateTime({width:"short"});break;case"PP":n=t.dateTime({width:"medium"});break;case"PPP":n=t.dateTime({width:"long"});break;default:n=t.dateTime({width:"full"})}return n.replace("{{date}}",O(a,t)).replace("{{time}}",A(i,t))}},H=N;function F(e){var t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}var z=["D","DD"],j=["YY","YYYY"];function L(e){return-1!==z.indexOf(e)}function R(e){return-1!==j.indexOf(e)}function I(e,t,n){if("YYYY"===e)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(t,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===e)throw new RangeError("Use `yy` instead of `YY` (in `".concat(t,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===e)throw new RangeError("Use `d` instead of `D` (in `".concat(t,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===e)throw new RangeError("Use `dd` instead of `DD` (in `".concat(t,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var Q={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},B=function(e,t,n){var r,a=Q[e];return r="string"==typeof a?a:1===t?a.one:a.other.replace("{{count}}",t.toString()),null!=n&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function G(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.width?String(t.width):e.defaultWidth,r=e.formats[n]||e.formats[e.defaultWidth];return r}}var X={date:G({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:G({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:G({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},J={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},V=function(e,t,n,r){return J[e]};function _(e){return function(t,n){var r;if("formatting"===(null!=n&&n.context?String(n.context):"standalone")&&e.formattingValues){var a=e.defaultFormattingWidth||e.defaultWidth,i=null!=n&&n.width?String(n.width):a;r=e.formattingValues[i]||e.formattingValues[a]}else{var o=e.defaultWidth,u=null!=n&&n.width?String(n.width):e.defaultWidth;r=e.values[u]||e.values[o]}return r[e.argumentCallback?e.argumentCallback(t):t]}}var $={ordinalNumber:function(e,t){var n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:_({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:_({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(e){return e-1}}),month:_({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:_({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:_({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function K(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],i=t.match(a);if(!i)return null;var o,u=i[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],d=Array.isArray(s)?ee(s,(function(e){return e.test(u)})):Z(s,(function(e){return e.test(u)}));o=e.valueCallback?e.valueCallback(d):d,o=n.valueCallback?n.valueCallback(o):o;var l=t.slice(u.length);return{value:o,rest:l}}}function Z(e,t){for(var n in e)if(e.hasOwnProperty(n)&&t(e[n]))return n}function ee(e,t){for(var n=0;n<e.length;n++)if(t(e[n]))return n}var te,ne={ordinalNumber:(te={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.match(te.matchPattern);if(!n)return null;var r=n[0],a=e.match(te.parsePattern);if(!a)return null;var i=te.valueCallback?te.valueCallback(a[0]):a[0];i=t.valueCallback?t.valueCallback(i):i;var o=e.slice(r.length);return{value:i,rest:o}}),era:K({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:K({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:K({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:K({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:K({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},re={code:"en-US",formatDistance:B,formatLong:X,formatRelative:V,localize:$,match:ne,options:{weekStartsOn:0,firstWeekContainsDate:1}},ae=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ie=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,oe=/^'([^]*?)'?$/,ue=/''/g,se=/[a-zA-Z]/;function de(e){var t=e.match(oe);return t?t[1].replace(ue,"'"):e}const le=({value:t,innerRef:n,isSelected:r,handleClick:a})=>{const o=e.useCallback((e=>{const t=e.currentTarget.textContent||"";a(t)}),[a]);return d.default.createElement(i.Box,{ref:n,onClick:o,background:r?"background.primary":"background.default",color:r?"text.onContrast":"text.subtle",fontSize:"sm",textAlign:"center",px:3,py:1,borderRadius:"md",cursor:"pointer",_hover:{background:r?"background.primary.hover":"background.primaryAlpha.hover"}},t)},ce=({options:t,optionType:n,selectedValue:r,handleClick:a,isOpen:o=!1})=>{const u=e.useRef(null),s=e.useRef(null);return e.useEffect((()=>{var e,t;o&&s.current&&u.current&&(s.current.scrollTop=(null===(e=u.current)||void 0===e?void 0:e.offsetTop)-(null===(t=s.current)||void 0===t?void 0:t.offsetTop))}),[o]),d.default.createElement(i.Flex,{direction:"column",gap:1,ref:s,overflowY:"auto",sx:{"&::-webkit-scrollbar":{display:"none"}}},t.map((e=>d.default.createElement(le,{key:`${n}-option-${e}`,innerRef:e===r?u:null,value:e,isSelected:e===r,handleClick:a}))))};var he;exports.Meridiem=void 0,(he=exports.Meridiem||(exports.Meridiem={})).AM="AM",he.PM="PM";exports.TimePicker=({initialTime:s,minuteInterval:c=5,inputProps:m,placement:f,onTimeChange:g})=>{const{isOpen:v,onOpen:b,onClose:p}=u.useDisclosure(),[y,T]=e.useState(s),M=e.useMemo((()=>{if(!s)return;const e=new Date(s),t=e.getHours();let n=t;return t>12&&(n=t-12),0===t&&(n=12),{hours:n.toString(),minutes:e.getMinutes().toString(),meridiem:e.getHours()>11?exports.Meridiem.PM:exports.Meridiem.AM}}),[s]),[C,k]=e.useState(null==M?void 0:M.hours),[x,D]=e.useState(null==M?void 0:M.minutes),[P,S]=e.useState(null==M?void 0:M.meridiem),U=e.useMemo((()=>y?function(e,t,n){var a,i,o,u,s,d,c,m,f,g,v,b,p,y,T,M,C,k;r.requiredArgs(2,arguments);var x=String(t),D=w(),P=null!==(a=null!==(i=null==n?void 0:n.locale)&&void 0!==i?i:D.locale)&&void 0!==a?a:re,S=r.toInteger(null!==(o=null!==(u=null!==(s=null!==(d=null==n?void 0:n.firstWeekContainsDate)&&void 0!==d?d:null==n||null===(c=n.locale)||void 0===c||null===(m=c.options)||void 0===m?void 0:m.firstWeekContainsDate)&&void 0!==s?s:D.firstWeekContainsDate)&&void 0!==u?u:null===(f=D.locale)||void 0===f||null===(g=f.options)||void 0===g?void 0:g.firstWeekContainsDate)&&void 0!==o?o:1);if(!(S>=1&&S<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var U=r.toInteger(null!==(v=null!==(b=null!==(p=null!==(y=null==n?void 0:n.weekStartsOn)&&void 0!==y?y:null==n||null===(T=n.locale)||void 0===T||null===(M=T.options)||void 0===M?void 0:M.weekStartsOn)&&void 0!==p?p:D.weekStartsOn)&&void 0!==b?b:null===(C=D.locale)||void 0===C||null===(k=C.options)||void 0===k?void 0:k.weekStartsOn)&&void 0!==v?v:0);if(!(U>=0&&U<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!P.localize)throw new RangeError("locale must contain localize property");if(!P.formatLong)throw new RangeError("locale must contain formatLong property");var W=r.toDate(e);if(!l(W))throw new RangeError("Invalid time value");var q=F(W),E=h(W,q),O={firstWeekContainsDate:S,weekStartsOn:U,locale:P,_originalDate:W};return x.match(ie).map((function(e){var t=e[0];return"p"===t||"P"===t?(0,H[t])(e,P.formatLong):e})).join("").match(ae).map((function(r){if("''"===r)return"'";var a=r[0];if("'"===a)return de(r);var i=Y[a];if(i)return null!=n&&n.useAdditionalWeekYearTokens||!R(r)||I(r,t,String(e)),null!=n&&n.useAdditionalDayOfYearTokens||!L(r)||I(r,t,String(e)),i(E,r,P.localize,O);if(a.match(se))throw new RangeError("Format string contains an unescaped latin alphabet character `"+a+"`");return r})).join("")}(y,"h:mm aa"):""),[y]),W=e=>{const t=e.toString();return 1===t.length?`0${t}`:t},q=e.useMemo((()=>[12,1,2,3,4,5,6,7,8,9,10,11].map((e=>e.toString()))),[]),E=e.useMemo((()=>{const e=[];for(let t=0;t<60;t+=c)e.push(t);return e.map(W)}),[c]),O=[exports.Meridiem.AM,exports.Meridiem.PM],A=e.useCallback(((e,t,n)=>{const r=e||"12",a=t||"00",i=n||"AM";let o=0;e||k("12"),t||D("00"),n||S("AM"),i===exports.Meridiem.PM&&Number(r)<12&&(o=12),i===exports.Meridiem.AM&&12===Number(r)&&(o=-12);const u=Number(r)+o,s=(new Date).setHours(u,Number(a),0,0),d=new Date(s);T(d),g&&g(d)}),[g]),N=e.useCallback((e=>{k(e),A(e,x,P)}),[A,P,x]),z=e.useCallback((e=>{D(e),A(C,e,P)}),[A,C,P]),j=e.useCallback((e=>{S(e),A(C,x,e)}),[A,C,x]);return d.default.createElement(n.Popover,{isOpen:v,onOpen:b,onClose:p,placement:f,contentProps:{width:"max-content"},variant:"default",size:"sm",anchor:d.default.createElement(i.Box,{w:"100%"},d.default.createElement(a.WrappedTextInput,Object.assign({placeholder:"12:00 AM",rightElement:d.default.createElement(i.Flex,{cursor:(null==m?void 0:m.isDisabled)?"not-allowed":"pointer",h:"100%",align:"center"},d.default.createElement(t.Icon,{size:o.useIconTextSizeMap((null==m?void 0:m.size)||"md"),name:"clock"})),value:U,isReadOnly:!0,cursor:"pointer"},m)))},d.default.createElement(i.Flex,{height:"186px",gap:1.5,overflow:"hidden"},d.default.createElement(ce,{options:q,optionType:"hour",selectedValue:C,handleClick:N,isOpen:v}),d.default.createElement(ce,{options:E,optionType:"minute",selectedValue:x?W(x):void 0,handleClick:z,isOpen:v}),d.default.createElement(ce,{options:O,optionType:"meridiem",selectedValue:P,handleClick:j,isOpen:v})))};
2
+ //# sourceMappingURL=timePicker.component-3cacde63.js.map