@televet/kibble-ui 2.1.7 → 2.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/build/components/DatePicker/datepicker.argTypes.d.ts +1 -1
  2. package/build/components/DatePicker/datepicker.stories.d.ts +1 -1
  3. package/build/components/DatePicker/examples/withCalendarPlacement.stories.d.ts +1 -1
  4. package/build/components/DatePicker/examples/withEmptyState.stories.d.ts +1 -1
  5. package/build/components/DatePicker/examples/withFormControls.stories.d.ts +1 -1
  6. package/build/components/DatePicker/index.js +1 -1
  7. package/build/components/Menu/components/MenuList/index.js +1 -1
  8. package/build/components/Menu/components/MenuList/menuList.component.d.ts +2 -1
  9. package/build/components/Menu/components/MenuList/menuList.stories.d.ts +1 -1
  10. package/build/components/Menu/examples/withPortal.stories.d.ts +18 -0
  11. package/build/components/Menu/index.js +1 -1
  12. package/build/components/Modal/components/ModalFooterButtons/modalFooterButtons.component.d.ts +1 -1
  13. package/build/components/NotificationCounter/index.js +1 -1
  14. package/build/components/Popover/examples/withHeader.stories.d.ts +1 -1
  15. package/build/components/Select/index.js +1 -1
  16. package/build/components/Tabs/components/Tab/index.js +1 -1
  17. package/build/components/Tabs/index.js +1 -1
  18. package/build/components/TabsLayout/index.js +1 -1
  19. package/build/components/TextInput/examples/withCharCounter.stories.d.ts +19 -0
  20. package/build/components/TextInput/examples/withClearableInput.stories.d.ts +20 -0
  21. package/build/components/TextInput/examples/withCustomLabel.stories.d.ts +19 -0
  22. package/build/components/TextInput/examples/withFormControl.stories.d.ts +35 -0
  23. package/build/components/TextInput/examples/withIcons.stories.d.ts +23 -0
  24. package/build/components/TextInput/examples/withStyledLabel.stories.d.ts +26 -0
  25. package/build/components/TextInput/index.js +1 -1
  26. package/build/components/TextInput/textInput.argTypes.d.ts +3 -0
  27. package/build/components/TextInput/textInput.component.d.ts +6 -4
  28. package/build/components/TextInput/textInput.stories.d.ts +2 -107
  29. package/build/components/TextInput/textInput.types.d.ts +3 -0
  30. package/build/components/Textarea/textarea.stories.d.ts +1 -1
  31. package/build/components/TimePicker/examples/withCustomPickerPlacement.stories.d.ts +1 -1
  32. package/build/components/TimePicker/examples/withFormControls.stories.d.ts +1 -1
  33. package/build/components/TimePicker/examples/withMidnightUTCInitialTime.stories.d.ts +1 -1
  34. package/build/components/TimePicker/examples/withScrollableParentContainer.stories.d.ts +1 -1
  35. package/build/components/TimePicker/examples/withTenMinuteInterval.stories.d.ts +1 -1
  36. package/build/components/TimePicker/examples/withoutInputIcon.stories.d.ts +1 -1
  37. package/build/components/TimePicker/index.js +1 -1
  38. package/build/components/TimePicker/timePicker.argTypes.d.ts +1 -1
  39. package/build/components/TimePicker/timePicker.stories.d.ts +1 -1
  40. package/build/components/TimeRange/index.js +1 -1
  41. package/build/components/Toast/toast.stories.d.ts +2 -2
  42. package/build/components/index.js +1 -1
  43. package/build/{datepicker.types-a5898858.js → datepicker.types-2abe1bc9.js} +2 -2
  44. package/build/{datepicker.types-a5898858.js.map → datepicker.types-2abe1bc9.js.map} +1 -1
  45. package/build/index.js +1 -1
  46. package/build/menu.component-261acdde.js +2 -0
  47. package/build/menu.component-261acdde.js.map +1 -0
  48. package/build/menuList.component-2644c3c6.js +2 -0
  49. package/build/menuList.component-2644c3c6.js.map +1 -0
  50. package/build/modalFooterButtons.component-1e38e003.js.map +1 -1
  51. package/build/{notificationCounter.component-748d56ad.js → notificationCounter.component-24f3f4ab.js} +2 -2
  52. package/build/{notificationCounter.component-748d56ad.js.map → notificationCounter.component-24f3f4ab.js.map} +1 -1
  53. package/build/{select.component-7141bf80.js → select.component-502f4a07.js} +2 -2
  54. package/build/{select.component-7141bf80.js.map → select.component-502f4a07.js.map} +1 -1
  55. package/build/{tab.component-d98b2375.js → tab.component-43d30a25.js} +2 -2
  56. package/build/{tab.component-d98b2375.js.map → tab.component-43d30a25.js.map} +1 -1
  57. package/build/{tabs.component-7b766bac.js → tabs.component-62ac057c.js} +2 -2
  58. package/build/{tabs.component-7b766bac.js.map → tabs.component-62ac057c.js.map} +1 -1
  59. package/build/{tabsLayout.component-955f61df.js → tabsLayout.component-5df74a9c.js} +2 -2
  60. package/build/{tabsLayout.component-955f61df.js.map → tabsLayout.component-5df74a9c.js.map} +1 -1
  61. package/build/textInput.component-8ff848fa.js +2 -0
  62. package/build/textInput.component-8ff848fa.js.map +1 -0
  63. package/build/{timePicker.component-bb27b9f0.js → timePicker.component-c3cb72ec.js} +2 -2
  64. package/build/{timePicker.component-bb27b9f0.js.map → timePicker.component-c3cb72ec.js.map} +1 -1
  65. package/build/{timeRange.component-e8a0f2a6.js → timeRange.component-e0338c4a.js} +2 -2
  66. package/build/{timeRange.component-e8a0f2a6.js.map → timeRange.component-e0338c4a.js.map} +1 -1
  67. package/package.json +1 -1
  68. package/build/components/TextInput/components/ClearButton/clearButton.component.d.ts +0 -6
  69. package/build/components/TextInput/components/ClearButton/clearButton.records.d.ts +0 -2
  70. package/build/menu.component-a4fab3cb.js +0 -2
  71. package/build/menu.component-a4fab3cb.js.map +0 -1
  72. package/build/menuList.component-790babbe.js +0 -2
  73. package/build/menuList.component-790babbe.js.map +0 -1
  74. package/build/textInput.component-a0b43a66.js +0 -2
  75. package/build/textInput.component-a0b43a66.js.map +0 -1
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),t=require("react"),l=require("./heading.component-e55f8364.js"),a=require("./text.component-057889c3.js"),n=require("./menuItem.component-431a91d3.js"),r=require("./textInput.component-a0b43a66.js"),s=require("./chakra-ui-menu.esm-1ed98193.js"),u=require("./button.component-c2b75fd2.js"),o=require("./chakra-ui-layout.esm-6ee578f7.js"),i=require("./menu.context-22d23674.js"),c=require("./spinner.component-39040867.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=d(t);const f=({handleKeyboardNavigation:e,menuItems:l,onSearchCallback:a,searchInputRef:n,setFilteredMenuItems:u,placeholder:o="Search..."})=>{const{isOpen:i}=s.useMenuState(),c=t.useCallback((e=>{const t=e.target.value;if(""!==t&&t){const e=l.filter((e=>{var l;const a="string"==typeof e.label?e.label:null===(l=e.label)||void 0===l?void 0:l.key;return null==a?void 0:a.toLowerCase().includes(t.toLowerCase())}));u(e)}else u(l);a&&a(e)}),[l,a,u]);return t.useEffect((()=>{let e;return i&&(e=setTimeout((()=>{var e;null===(e=null==n?void 0:n.current)||void 0===e||e.focus()}),200)),()=>clearTimeout(e)}),[n,i]),m.default.createElement(r.WrappedTextInput,{className:"MenuList__SearchBar",placeholder:o,onChange:c,mt:1,onKeyDown:t=>e(t,!0),size:"sm",ref:n})},p=({groupName:e,handleToggleAllItems:t,hasSelectedItems:l,isGrouped:a})=>a?m.default.createElement(o.Box,{textAlign:"right",w:"50%",className:"MenuListItem__SelectAllButton"},l?m.default.createElement(u.Button,{variant:"ghostNeutral",iconName:"arrowCircle",size:"xs",onClick:()=>t({groupName:e,clear:!0}),isDisabled:!l},"Clear all"):m.default.createElement(u.Button,{variant:"ghost",size:"xs",onClick:()=>t({groupName:e,clear:!1})},"Select all")):m.default.createElement(o.Box,{mt:"8px",className:"MenuList__SelectAllButtons"},m.default.createElement(o.Flex,{justifyContent:"space-between"},m.default.createElement(u.Button,{variant:"ghost",size:"xs",onClick:()=>t({clear:!1})},"Select all"),m.default.createElement(u.Button,{variant:"ghostNeutral",iconName:"arrowCircle",size:"xs",onClick:()=>t({clear:!0}),isDisabled:!l},"Clear all")));exports.MenuList=r=>{var{canSelectAll:u=!1,canSelectGroups:d=!1,children:h,isGrouped:v=!1,isMatchWidthSet:g,isMultiSelect:S=!1,isSearchable:x=!1,isLoading:b=!1,menuItems:E,onSelect:I,onSelectAll:k,searchPlaceholder:M,shouldRetainSelection:C=!1,shouldTruncateText:N=!0,minW:w="240px",maxW:y,maxH:A="480px"}=r,B=e.__rest(r,["canSelectAll","canSelectGroups","children","isGrouped","isMatchWidthSet","isMultiSelect","isSearchable","isLoading","menuItems","onSelect","onSelectAll","searchPlaceholder","shouldRetainSelection","shouldTruncateText","minW","maxW","maxH"]);const{filteredMenuItems:L,setFilteredMenuItems:j,allMenuItems:_,groups:T,setGroups:q,focusedItemIndex:G,setFocusedItemIndex:W,searchInputRef:F,menuItemRefs:R}=i.useMenuContext(),z=t.useCallback((e=>{var t,l;if(!(null==R?void 0:R.current))return;const a=0===G,n=G===(null==R?void 0:R.current.length)-1;let r=-1;if("ArrowDown"===e)if(n){if(x)return null===(t=null==F?void 0:F.current)||void 0===t||t.focus(),void W(-1);r=0}else r=G+1;else if("ArrowUp"===e)if(a){if(x)return null===(l=null==F?void 0:F.current)||void 0===l||l.focus(),void W(-1);r=R.current.length-1}else r=G-1;const s=null==R?void 0:R.current[r];s?(null==s||s.focus(),W(r)):W(-1)}),[G,x,R,F,W]),D=t.useCallback(((e,t)=>{e.persist(),(null==R?void 0:R.current)&&("ArrowDown"!==e.key&&"Tab"!==e.key||z("ArrowDown"),"ArrowUp"===e.key&&z("ArrowUp"),"Enter"===e.key&&(e.preventDefault(),e.target.click()))}),[z,R]),H=t.useCallback(((e,t)=>{if(L&&_){const l=[...L],a=l.find((t=>t.value===e.value));S&&a&&(a.isSelected=!a.isSelected),j(l);const n=_.filter((e=>e.isSelected));I&&a&&I(a,n),t&&a&&t(a,n)}}),[_,L,S,I,j]),K=t.useCallback((({groupName:e,clear:t=!1})=>{if(L&&_){const l=[...L],a=[];l.forEach((l=>{e?e===l.groupLabel&&(l.isSelected=!t,l.value&&l.isSelected&&a.push(l.value)):(l.isSelected=!t,l.value&&l.isSelected&&a.push(l.value))})),j(l),k&&k(_.filter((e=>e.isSelected)))}}),[L,_,k,j]);t.useEffect((()=>{if(v){const e=[...new Set(null==L?void 0:L.map((e=>e.groupLabel)))];e.length&&q(e)}}),[L,v,q]);const O=t.useCallback(((e,t)=>e.isPlaceholder?m.default.createElement(m.default.Fragment,{key:e.value}):m.default.createElement(n.MenuItem,Object.assign({},e,{key:`${e.value}${t}`,canSelectAll:u,handleKeyboardNavigation:D,isMultiSelect:S,itemIndex:t.toString(),menuItemRefs:R,onSelect:t=>H(t,e.onSelect),shouldRetainSelection:C,shouldTruncateText:N}))),[D,H,S,R,C,N,u]);return g||(y="320px"),h?m.default.createElement(s.MenuList,Object.assign({},B),h):m.default.createElement(s.MenuList,Object.assign({className:"MeuList"},B,{maxW:y||"unset",maxH:A,minW:w,overflow:"hidden auto"}),(x||u&&S)&&m.default.createElement(o.Box,{className:"MenuList__Header",m:"0 12px 8px"},x&&m.default.createElement(f,{handleKeyboardNavigation:D,menuItems:E||[],searchInputRef:F,setFilteredMenuItems:j,placeholder:M}),u&&S&&m.default.createElement(p,{handleToggleAllItems:K,hasSelectedItems:Boolean(null==L?void 0:L.find((e=>e.isSelected))),isGrouped:!1})),m.default.createElement(o.Box,{className:"MenuList__Body",position:"relative"},(null==L?void 0:L.length)?v?null==T?void 0:T.map(((e,t)=>{const a=null==L?void 0:L.filter((t=>t.groupLabel===e));return m.default.createElement(o.Box,{className:"MenuList__Group",key:`${e||"noGroup"}-${t}`},e&&m.default.createElement(o.Flex,{minH:8,pt:2,pr:3,pb:1,pl:5,justify:"space-between",align:"center"},m.default.createElement(o.Box,{textAlign:"left",className:"MenuList__GroupTitle"},m.default.createElement(l.WrappedHeading,{size:"xs"},e)),S&&d&&m.default.createElement(p,{handleToggleAllItems:K,hasSelectedItems:Boolean(null==a?void 0:a.find((e=>e.isSelected))),isGrouped:!0,groupName:e})),null==a?void 0:a.map(((e,t)=>O(e,t))))})):null==L?void 0:L.map(((e,t)=>O(e,t))):m.default.createElement(o.Box,{textAlign:"center",display:"block",p:3},m.default.createElement(a.WrappedText,{size:"sm",variant:"subtle"},"No results found")),b&&m.default.createElement(o.Box,{position:"absolute",w:"100%",h:"100%",top:"0",left:"0",bg:"background.alphaContrast.pressed"},m.default.createElement(o.Flex,{h:"100%",align:"center",justify:"center"},m.default.createElement(c.Spinner,null)))))};
2
- //# sourceMappingURL=menuList.component-790babbe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"menuList.component-790babbe.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 ChangeEventHandler,\n Dispatch,\n SetStateAction,\n useCallback,\n KeyboardEvent,\n MutableRefObject,\n useEffect,\n} from 'react';\nimport { TextInput } from '../../../TextInput/textInput.component';\nimport { MenuItemProps } from '../MenuItem/menuItem.component';\nimport { useMenuState } from '@chakra-ui/react';\n\nexport interface MenuSearchBarProps {\n handleKeyboardNavigation: (e: KeyboardEvent<HTMLInputElement>, elementIsInputField: boolean) => void;\n menuItems: MenuItemProps[];\n onSearchCallback?: (e: ChangeEventHandler) => 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\n const handleSearch = useCallback(\n (e) => {\n const searchInput = e.target.value;\n\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 if (onSearchCallback) {\n onSearchCallback(e);\n }\n },\n [menuItems, onSearchCallback, setFilteredMenuItems],\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 mt={1}\n onKeyDown={(e: KeyboardEvent<HTMLInputElement>): void => handleKeyboardNavigation(e, true)}\n size=\"sm\"\n ref={searchInputRef}\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 } 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 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}\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 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 ...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 return (\n <CMenuList className=\"MeuList\" {...rest} maxW={maxW || 'unset'} maxH={maxH} minW={minW} overflow=\"hidden auto\">\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 />\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 {!filteredMenuItems?.length ? (\n <Box textAlign=\"center\" display=\"block\" p={3}>\n <Text size=\"sm\" variant=\"subtle\">\n No results found\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","handleSearch","useCallback","e","searchInput","target","value","filterdItems","filter","item","labelText","label","_a","key","toLowerCase","includes","useEffect","focusTimeout","setTimeout","current","focus","clearTimeout","React","createElement","TextInput","WrappedTextInput","className","onChange","mt","onKeyDown","size","ref","MenuSelectAllButtons","groupName","handleToggleAllItems","hasSelectedItems","isGrouped","Box","textAlign","w","Button","variant","iconName","onClick","clear","isDisabled","Flex","justifyContent","canSelectAll","canSelectGroups","children","isMatchWidthSet","isMultiSelect","isSearchable","isLoading","onSelect","onSelectAll","searchPlaceholder","shouldRetainSelection","shouldTruncateText","minW","maxW","maxH","rest","__rest","filteredMenuItems","allMenuItems","groups","setGroups","focusedItemIndex","setFocusedItemIndex","menuItemRefs","useMenuContext","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","overflow","m","Boolean","position","minH","pt","pr","pb","pl","justify","align","Heading","display","p","Text","WrappedText","h","top","left","bg","Spinner"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),t=require("react"),n=require("./withFormControl-6d7abf11.js"),l=require("./icon.component-3355868e.js"),a=require("./chakra-ui-button.esm-bd065780.js"),r=require("./chakra-ui-input.esm-5fd07056.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=i(t);const s={sm:5,md:5,lg:6},o=({handleClear:e,size:t="md"})=>u.default.createElement(a.Button,{display:"inline-flex",minW:"auto",w:s[t],h:s[t],variant:"unstyled",opacity:.5,_hover:{opacity:.8},_active:{opacity:1},mr:"sm"===t?3:4,onClick:e},u.default.createElement(l.Icon,{variant:"default",name:"close",size:"lg"===t?"sm":"xs"})),d=n.withFormControl((t=>{var{isClearable:n=!1,size:l="md",leftElement:a,rightElement:i,inputRef:s,isFieldInline:d,onClear:c,value:m,isOnContrast:f}=t,p=e.__rest(t,["isClearable","size","leftElement","rightElement","inputRef","isFieldInline","onClear","value","isOnContrast"]);let h=f?"onContrast":"default";const E=()=>{c&&c(m||"")};return n&&m&&(i=u.default.createElement(o,{size:l,handleClear:E})),u.default.createElement(r.InputGroup,null,a?u.default.createElement(r.InputLeftElement,{children:a,h:"100%"}):null,u.default.createElement(r.Input,Object.assign({variant:h},p,{ref:s,size:l,value:m})),i?u.default.createElement(r.InputRightElement,{children:i,h:"100%"}):null)})),c=t.forwardRef(((e,t)=>u.default.createElement(d,Object.assign({inputRef:t},e))));c.displayName="TextInput",exports.WrappedTextInput=c;
2
- //# sourceMappingURL=textInput.component-a0b43a66.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"textInput.component-a0b43a66.js","sources":["../src/components/TextInput/components/ClearButton/clearButton.records.ts","../src/components/TextInput/components/ClearButton/clearButton.component.tsx","../src/components/TextInput/textInput.component.tsx"],"sourcesContent":["import { FormControlSize } from 'shared/types/formControl';\n\nexport const closeButtonSize: Record<FormControlSize, number> = {\n sm: 5,\n md: 5,\n lg: 6,\n};\n","import React from 'react';\nimport { Button } from '@chakra-ui/react';\nimport { Icon } from '../../../Icon/icon.component';\nimport { FormControlSize } from 'shared/types/formControl';\nimport { closeButtonSize } from './clearButton.records';\n\nexport interface ClearButtonProps {\n handleClear?: () => void;\n size?: FormControlSize;\n}\n\nexport const ClearButton = ({ handleClear, size = 'md' }: ClearButtonProps): JSX.Element => {\n return (\n <Button\n display=\"inline-flex\"\n minW=\"auto\"\n w={closeButtonSize[size]}\n h={closeButtonSize[size]}\n variant=\"unstyled\"\n opacity={0.5}\n _hover={{ opacity: 0.8 }}\n _active={{ opacity: 1 }}\n mr={size === 'sm' ? 3 : 4}\n onClick={handleClear}\n >\n <Icon variant=\"default\" name=\"close\" size={size === 'lg' ? 'sm' : 'xs'} />\n </Button>\n );\n};\n","import React, { forwardRef, ForwardedRef, ReactElement } from 'react';\nimport {\n Input as CInput,\n InputProps as CInputProps,\n InputGroup,\n InputLeftElement,\n InputRightElement,\n} from '@chakra-ui/react';\nimport { withFormControl, WithFormControlProps } from 'shared/hocs/FormControl/withFormControl';\nimport { FormControlSize } from 'shared/types/formControl';\nimport { ClearButton } from './components/ClearButton/clearButton.component';\n\nexport interface TextInputBaseProps extends WithFormControlProps, CInputProps {\n leftElement?: ReactElement;\n rightElement?: ReactElement;\n inputRef?: ForwardedRef<HTMLInputElement>;\n size?: FormControlSize;\n isOnContrast?: boolean;\n}\n\nexport interface DefaultTextInputProps extends TextInputBaseProps {\n isClearable?: never;\n onClear?: never;\n}\n\nexport interface ClearableTextInputProps extends TextInputBaseProps {\n isClearable: boolean;\n onClear: (val: string | number | readonly string[]) => void;\n}\n\nexport type TextInputProps = DefaultTextInputProps | ClearableTextInputProps;\n\nconst TextInput = withFormControl(\n ({\n isClearable = false,\n size = 'md',\n leftElement,\n rightElement,\n inputRef,\n isFieldInline,\n onClear,\n value,\n isOnContrast,\n ...rest\n }: TextInputProps): JSX.Element => {\n let _computedVariant = isOnContrast ? 'onContrast' : 'default';\n\n const handleClear = (): void => {\n if (onClear) {\n onClear(value || '');\n }\n };\n\n if (isClearable && !!value) {\n rightElement = <ClearButton size={size} handleClear={handleClear} />;\n }\n\n return (\n <InputGroup>\n {leftElement ? <InputLeftElement children={leftElement} h=\"100%\" /> : null}\n <CInput variant={_computedVariant} {...rest} ref={inputRef} size={size} value={value} />\n {rightElement ? <InputRightElement children={rightElement} h=\"100%\" /> : null}\n </InputGroup>\n );\n },\n);\n\nconst WrappedTextInput = forwardRef((props: TextInputProps, ref: ForwardedRef<HTMLInputElement>) => (\n <TextInput inputRef={ref} {...props} />\n));\n\nWrappedTextInput.displayName = 'TextInput';\n\nexport { WrappedTextInput as TextInput };\n"],"names":["closeButtonSize","sm","md","lg","ClearButton","handleClear","size","React","createElement","Button","display","minW","w","h","variant","opacity","_hover","_active","mr","onClick","Icon","name","TextInput","withFormControl","_a","isClearable","leftElement","rightElement","inputRef","isFieldInline","onClear","value","isOnContrast","rest","__rest","_computedVariant","InputGroup","InputLeftElement","children","CInput","Object","assign","ref","InputRightElement","WrappedTextInput","forwardRef","props","displayName"],"mappings":"gVAEO,MAAMA,EAAmD,CAC9DC,GAAI,EACJC,GAAI,EACJC,GAAI,GCMOC,EAAc,EAAGC,YAAAA,EAAaC,KAAAA,EAAO,QAE9CC,EAAAA,QAAAC,cAACC,EAAAA,OAAM,CACLC,QAAQ,cACRC,KAAK,OACLC,EAAGZ,EAAgBM,GACnBO,EAAGb,EAAgBM,GACnBQ,QAAQ,WACRC,QAAS,GACTC,OAAQ,CAAED,QAAS,IACnBE,QAAS,CAAEF,QAAS,GACpBG,GAAa,OAATZ,EAAgB,EAAI,EACxBa,QAASd,GAETE,EAAAA,QAACC,cAAAY,EAAAA,KAAK,CAAAN,QAAQ,UAAUO,KAAK,QAAQf,KAAe,OAATA,EAAgB,KAAO,QCOlEgB,EAAYC,EAAAA,iBACfC,QAAAC,YACCA,GAAc,EAAKnB,KACnBA,EAAO,KAAIoB,YACXA,EAAWC,aACXA,EAAYC,SACZA,EAAQC,cACRA,EAAaC,QACbA,EAAOC,MACPA,EAAKC,aACLA,GAAYR,EACTS,EAVJC,EAAAA,OAAAV,EAAA,CAAA,cAAA,OAAA,cAAA,eAAA,WAAA,gBAAA,UAAA,QAAA,iBAYC,IAAIW,EAAmBH,EAAe,aAAe,UAErD,MAAM3B,EAAc,KACdyB,GACFA,EAAQC,GAAS,KAQrB,OAJIN,GAAiBM,IACnBJ,EAAepB,EAAAA,QAAAC,cAACJ,EAAW,CAACE,KAAMA,EAAMD,YAAaA,KAIrDE,wBAAC6B,EAAAA,WAAU,KACRV,EAAcnB,EAAAA,QAACC,cAAA6B,oBAAiBC,SAAUZ,EAAab,EAAE,SAAY,KACtEN,EAAA,QAAAC,cAAC+B,QAAOC,OAAAC,OAAA,CAAA3B,QAASqB,GAAsBF,EAAM,CAAAS,IAAKd,EAAUtB,KAAMA,EAAMyB,MAAOA,KAC9EJ,EAAepB,EAAA,QAAAC,cAACmC,EAAAA,kBAAkB,CAAAL,SAAUX,EAAcd,EAAE,SAAY,SAM3E+B,EAAmBC,EAAUA,YAAC,CAACC,EAAuBJ,IAC1DnC,EAAAA,QAACC,cAAAc,EAAUkB,OAAAC,OAAA,CAAAb,SAAUc,GAASI,MAGhCF,EAAiBG,YAAc"}