@televet/kibble-ui 2.1.42 → 2.1.44-alpha.0

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 (172) hide show
  1. package/build/_baseGetTag-fd05839f.js +16 -0
  2. package/build/_baseGetTag-fd05839f.js.map +1 -0
  3. package/build/chakra/index.js +1 -1
  4. package/build/{chakra-ui-modal.esm-2fd23822.js → chakra-ui-modal.esm-78e65380.js} +2 -2
  5. package/build/{chakra-ui-modal.esm-2fd23822.js.map → chakra-ui-modal.esm-78e65380.js.map} +1 -1
  6. package/build/{chakra-ui-skeleton.esm-064cd561.js → chakra-ui-skeleton.esm-3b12a526.js} +2 -2
  7. package/build/{chakra-ui-skeleton.esm-064cd561.js.map → chakra-ui-skeleton.esm-3b12a526.js.map} +1 -1
  8. package/build/components/DatePicker/index.js +1 -1
  9. package/build/components/Menu/components/MenuContainer/index.js +1 -1
  10. package/build/components/Menu/components/MenuList/index.js +1 -1
  11. package/build/components/Menu/components/MenuList/menuList.argTypes.d.ts +1 -1
  12. package/build/components/Menu/components/MenuList/menuList.stories.d.ts +1 -1
  13. package/build/components/Menu/context/menu.context.d.ts +3 -1
  14. package/build/components/Menu/examples/withAvatars.stories.d.ts +1 -1
  15. package/build/components/Menu/examples/withCustomChildren.stories.d.ts +1 -1
  16. package/build/components/Menu/examples/withCustomLabel.stories.d.ts +1 -1
  17. package/build/components/Menu/examples/withGroups.stories.d.ts +1 -1
  18. package/build/components/Menu/examples/withIconButton.stories.d.ts +1 -1
  19. package/build/components/Menu/examples/withIcons.stories.d.ts +1 -1
  20. package/build/components/Menu/examples/withManyMenuItems.stories.d.ts +1 -1
  21. package/build/components/Menu/examples/withMultiSelect.stories.d.ts +1 -1
  22. package/build/components/Menu/examples/withPortal.stories.d.ts +1 -1
  23. package/build/components/Menu/examples/withScroll.stories.d.ts +1 -1
  24. package/build/components/Menu/examples/withSearch.stories.d.ts +1 -1
  25. package/build/components/Menu/examples/withSearchAndMultiSelect.stories.d.ts +1 -1
  26. package/build/components/Menu/examples/withSwatch.stories.d.ts +1 -1
  27. package/build/components/Menu/index.js +1 -1
  28. package/build/components/Menu/menu.component.d.ts +2 -1
  29. package/build/components/Menu/menu.stories.d.ts +1 -1
  30. package/build/components/Modal/components/ModalBody/index.js +1 -1
  31. package/build/components/Modal/components/ModalCloseButton/index.js +1 -1
  32. package/build/components/Modal/components/ModalExpandButton/index.js +1 -1
  33. package/build/components/Modal/components/ModalFooter/index.js +1 -1
  34. package/build/components/Modal/components/ModalFooterButtons/index.js +1 -1
  35. package/build/components/Modal/components/ModalHeader/index.js +1 -1
  36. package/build/components/Modal/index.js +1 -1
  37. package/build/components/Modal/modal.argTypes.d.ts +5 -0
  38. package/build/components/Modal/modal.component.d.ts +6 -9
  39. package/build/components/Modal/modal.stories.d.ts +2 -69
  40. package/build/components/NotificationCounter/index.js +1 -1
  41. package/build/components/Select/components/SelectList/selectList.argTypes.d.ts +1 -1
  42. package/build/components/Select/components/SelectList/selectList.stories.d.ts +1 -1
  43. package/build/components/Select/index.js +1 -1
  44. package/build/components/Select/select.component.d.ts +2 -0
  45. package/build/components/SortableList/components/SortableItem/index.js +1 -1
  46. package/build/components/SortableList/index.js +1 -1
  47. package/build/components/Spinner/index.js +1 -1
  48. package/build/components/Tabs/components/Tab/index.js +1 -1
  49. package/build/components/Tabs/index.js +1 -1
  50. package/build/components/TabsLayout/index.js +1 -1
  51. package/build/components/TimePicker/examples/withCustomPickerPlacement.stories.d.ts +2 -83
  52. package/build/components/TimePicker/examples/withFormControls.stories.d.ts +2 -83
  53. package/build/components/TimePicker/examples/withMidnightUTCInitialTime.stories.d.ts +2 -83
  54. package/build/components/TimePicker/examples/withScrollableParentContainer.stories.d.ts +2 -83
  55. package/build/components/TimePicker/examples/withTenMinuteInterval.stories.d.ts +2 -83
  56. package/build/components/TimePicker/examples/withoutInputIcon.stories.d.ts +2 -83
  57. package/build/components/TimePicker/index.js +1 -1
  58. package/build/components/TimePicker/timePicker.argTypes.d.ts +3 -82
  59. package/build/components/TimePicker/timePicker.component.d.ts +2 -1
  60. package/build/components/TimePicker/timePicker.stories.d.ts +2 -83
  61. package/build/components/TimeRange/index.js +1 -1
  62. package/build/components/Toast/index.js +1 -1
  63. package/build/components/index.js +1 -1
  64. package/build/conversationCard.component-2598f51b.js +2 -0
  65. package/build/conversationCard.component-2598f51b.js.map +1 -0
  66. package/build/datepicker.component-db41944b.js +2 -0
  67. package/build/datepicker.component-db41944b.js.map +1 -0
  68. package/build/{index-8fecff45.js → index-5fadfa34.js} +1 -1
  69. package/build/{index-8fecff45.js.map → index-5fadfa34.js.map} +1 -1
  70. package/build/index.js +1 -1
  71. package/build/menu.component-1c7b7922.js +2 -0
  72. package/build/menu.component-1c7b7922.js.map +1 -0
  73. package/build/menu.context-66211f5a.js +2 -0
  74. package/build/menu.context-66211f5a.js.map +1 -0
  75. package/build/{menuContainer.component-e3bfd942.js → menuContainer.component-17d9413b.js} +2 -2
  76. package/build/{menuContainer.component-e3bfd942.js.map → menuContainer.component-17d9413b.js.map} +1 -1
  77. package/build/menuList.component-6726d116.js +2 -0
  78. package/build/menuList.component-6726d116.js.map +1 -0
  79. package/build/modalBody.component-32bfa24d.js +2 -0
  80. package/build/modalBody.component-32bfa24d.js.map +1 -0
  81. package/build/{modalCloseButton.component-1b2408fc.js → modalCloseButton.component-718538ae.js} +2 -2
  82. package/build/modalCloseButton.component-718538ae.js.map +1 -0
  83. package/build/modalExpandButton.component-c87de258.js +2 -0
  84. package/build/{modalExpandButton.component-31be810d.js.map → modalExpandButton.component-c87de258.js.map} +1 -1
  85. package/build/modalFooter.component-682dcdcf.js +2 -0
  86. package/build/modalFooter.component-682dcdcf.js.map +1 -0
  87. package/build/{modalFooterButtons.component-41107377.js → modalFooterButtons.component-1f62ec67.js} +2 -2
  88. package/build/modalFooterButtons.component-1f62ec67.js.map +1 -0
  89. package/build/modalHeader.component-a604a2a9.js +2 -0
  90. package/build/modalHeader.component-a604a2a9.js.map +1 -0
  91. package/build/notificationCounter.component-663ff0e5.js +2 -0
  92. package/build/notificationCounter.component-663ff0e5.js.map +1 -0
  93. package/build/notificationCounter.types-799d7b6c.js +2 -0
  94. package/build/notificationCounter.types-799d7b6c.js.map +1 -0
  95. package/build/patterns/ConversationCard/components/conversationCardHeader.component.d.ts +1 -1
  96. package/build/patterns/ConversationCard/index.js +1 -1
  97. package/build/patterns/TagBlock/examples/withDelete.stories.d.ts +16 -0
  98. package/build/patterns/TagBlock/examples/withErrorState.stories.d.ts +16 -0
  99. package/build/patterns/TagBlock/index.d.ts +1 -0
  100. package/build/patterns/TagBlock/index.js +2 -0
  101. package/build/patterns/TagBlock/index.js.map +1 -0
  102. package/build/patterns/TagBlock/tagBlock.argTypes.d.ts +3 -0
  103. package/build/patterns/TagBlock/tagBlock.component.d.ts +25 -0
  104. package/build/patterns/TagBlock/tagBlock.stories.d.ts +13 -0
  105. package/build/patterns/TagBlock/tagBlock.storiesData.d.ts +4 -0
  106. package/build/patterns/index.d.ts +1 -0
  107. package/build/patterns/index.js +1 -1
  108. package/build/select.component-bc77ddb8.js +2 -0
  109. package/build/select.component-bc77ddb8.js.map +1 -0
  110. package/build/shared/argTypes/dataTestId.argTypes.d.ts +9 -0
  111. package/build/sortable.esm-53c38ebd.js +2 -0
  112. package/build/sortable.esm-53c38ebd.js.map +1 -0
  113. package/build/sortableItem.component-ce1a7136.js +2 -0
  114. package/build/sortableItem.component-ce1a7136.js.map +1 -0
  115. package/build/sortableList.component-84706639.js +2 -0
  116. package/build/{sortableList.component-19cfab79.js.map → sortableList.component-84706639.js.map} +1 -1
  117. package/build/spinner.component-cc68be51.js +5 -0
  118. package/build/spinner.component-cc68be51.js.map +1 -0
  119. package/build/tab.component-4bc42ecf.js +2 -0
  120. package/build/{tab.component-bec1f23b.js.map → tab.component-4bc42ecf.js.map} +1 -1
  121. package/build/{tabs.component-4ebd608e.js → tabs.component-cf2fbb08.js} +2 -2
  122. package/build/{tabs.component-4ebd608e.js.map → tabs.component-cf2fbb08.js.map} +1 -1
  123. package/build/{tabsLayout.component-29538cfd.js → tabsLayout.component-5bf54ef2.js} +2 -2
  124. package/build/{tabsLayout.component-29538cfd.js.map → tabsLayout.component-5bf54ef2.js.map} +1 -1
  125. package/build/tagBlock.component-c7948fcc.js +2 -0
  126. package/build/tagBlock.component-c7948fcc.js.map +1 -0
  127. package/build/theme/theme.provider.d.ts +1 -1
  128. package/build/theme.provider-c90458aa.js.map +1 -1
  129. package/build/timePicker.component-0ec971ce.js +2 -0
  130. package/build/timePicker.component-0ec971ce.js.map +1 -0
  131. package/build/timePicker.types-eedca939.js +2 -0
  132. package/build/timePicker.types-eedca939.js.map +1 -0
  133. package/build/{timeRange.component-2f4d987d.js → timeRange.component-ae9766c0.js} +2 -2
  134. package/build/{timeRange.component-2f4d987d.js.map → timeRange.component-ae9766c0.js.map} +1 -1
  135. package/build/useExpandButton-cbdd16ef.js +2 -0
  136. package/build/useExpandButton-cbdd16ef.js.map +1 -0
  137. package/build/{useToast-e936bea0.js → useToast-bd77944c.js} +2 -2
  138. package/build/{useToast-e936bea0.js.map → useToast-bd77944c.js.map} +1 -1
  139. package/package.json +1 -1
  140. package/build/conversationCard.component-b4610335.js +0 -2
  141. package/build/conversationCard.component-b4610335.js.map +0 -1
  142. package/build/datepicker.component-ad5aca47.js +0 -16
  143. package/build/datepicker.component-ad5aca47.js.map +0 -1
  144. package/build/menu.component-194d1bc0.js +0 -2
  145. package/build/menu.component-194d1bc0.js.map +0 -1
  146. package/build/menu.context-cb4a0b0d.js +0 -2
  147. package/build/menu.context-cb4a0b0d.js.map +0 -1
  148. package/build/menuList.component-adc27103.js +0 -2
  149. package/build/menuList.component-adc27103.js.map +0 -1
  150. package/build/modalBody.component-db8de2f3.js +0 -2
  151. package/build/modalBody.component-db8de2f3.js.map +0 -1
  152. package/build/modalCloseButton.component-1b2408fc.js.map +0 -1
  153. package/build/modalExpandButton.component-31be810d.js +0 -2
  154. package/build/modalFooter.component-ccce9ce5.js +0 -2
  155. package/build/modalFooter.component-ccce9ce5.js.map +0 -1
  156. package/build/modalFooterButtons.component-41107377.js.map +0 -1
  157. package/build/modalHeader.component-c7a12376.js +0 -2
  158. package/build/modalHeader.component-c7a12376.js.map +0 -1
  159. package/build/notificationCounter.component-24f3f4ab.js +0 -2
  160. package/build/notificationCounter.component-24f3f4ab.js.map +0 -1
  161. package/build/select.component-56904ffe.js +0 -2
  162. package/build/select.component-56904ffe.js.map +0 -1
  163. package/build/sortableItem.component-3bdead95.js +0 -2
  164. package/build/sortableItem.component-3bdead95.js.map +0 -1
  165. package/build/sortableList.component-19cfab79.js +0 -2
  166. package/build/spinner.component-13277479.js +0 -5
  167. package/build/spinner.component-13277479.js.map +0 -1
  168. package/build/tab.component-bec1f23b.js +0 -2
  169. package/build/timePicker.component-8b9103d5.js +0 -2
  170. package/build/timePicker.component-8b9103d5.js.map +0 -1
  171. package/build/useExpandButton-62442c9f.js +0 -2
  172. package/build/useExpandButton-62442c9f.js.map +0 -1
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),t=require("react"),n=require("./menuContainer.component-e3bfd942.js"),r=require("./menuButton.component-4cb1b211.js"),u=require("./menuList.component-adc27103.js"),l=require("./menu.context-cb4a0b0d.js"),s=require("./chakra-ui-portal.esm-bbcb5d1d.js"),a=require("./chakra-ui-menu.esm-1ed98193.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=i(t);exports.Menu=t=>{var{buttonProps:i,customTriggerElement:c,listProps:m,containerProps:d}=t,b=e.__rest(t,["buttonProps","customTriggerElement","listProps","containerProps"]);return o.default.createElement(l.MenuProvider,{menuItems:null==m?void 0:m.menuItems,isMultiSelect:null==m?void 0:m.isMultiSelect,onClose:null==d?void 0:d.onClose},o.default.createElement(n.MenuContainer,Object.assign({isLazy:(null==d?void 0:d.isLazy)||!0},d,b),c?o.default.createElement("customTriggerElement",{as:a.MenuButton}):o.default.createElement(r.MenuButton,Object.assign({},i)),o.default.createElement((({children:e})=>(null==m?void 0:m.shouldUsePortal)?o.default.createElement(s.Portal,null,e):o.default.createElement(o.default.Fragment,null,e)),null,o.default.createElement(u.MenuList,Object.assign({},m,{isMatchWidthSet:b.matchWidth,menuItems:null==m?void 0:m.menuItems})))))};
2
- //# sourceMappingURL=menu.component-194d1bc0.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"menu.component-194d1bc0.js","sources":["../src/components/Menu/menu.component.tsx"],"sourcesContent":["import React, { FunctionComponent, ReactNode } from 'react';\nimport { MenuProps as CMenuProps, MenuButton as CMenuButton, Portal as CPortal } from '@chakra-ui/react';\nimport { MenuContainer, MenuContainerProps } from './components/MenuContainer/menuContainer.component';\nimport { MenuButton, MenuButtonProps } from './components/MenuButton/menuButton.component';\nimport { MenuList, MenuListProps } from './components/MenuList/menuList.component';\nimport { MenuProvider } from './context/menu.context';\n\nexport interface KMenuProps {\n buttonProps?: MenuButtonProps;\n customTriggerElement?: FunctionComponent;\n listProps?: MenuListProps;\n containerProps?: MenuContainerProps;\n}\n\nexport type MenuProps = KMenuProps & Omit<CMenuProps, 'onClose' | 'children'>;\n\nexport const Menu = ({\n buttonProps,\n customTriggerElement,\n listProps,\n containerProps,\n ...props\n}: MenuProps): JSX.Element => {\n const MenuListContainer = ({ children }: { children: ReactNode }): JSX.Element => {\n return listProps?.shouldUsePortal ? <CPortal>{children}</CPortal> : <>{children}</>;\n };\n\n return (\n <MenuProvider\n menuItems={listProps?.menuItems}\n isMultiSelect={listProps?.isMultiSelect}\n onClose={containerProps?.onClose}\n >\n <MenuContainer isLazy={containerProps?.isLazy || true} {...containerProps} {...props}>\n {customTriggerElement ? (\n // @ts-ignore\n <customTriggerElement as={CMenuButton} />\n ) : (\n <MenuButton {...buttonProps} />\n )}\n <MenuListContainer>\n <MenuList {...listProps} isMatchWidthSet={props.matchWidth} menuItems={listProps?.menuItems} />\n </MenuListContainer>\n </MenuContainer>\n </MenuProvider>\n );\n};\n"],"names":["_a","buttonProps","customTriggerElement","listProps","containerProps","props","__rest","React","createElement","MenuProvider","menuItems","isMultiSelect","onClose","MenuContainer","Object","assign","isLazy","as","CMenuButton","MenuButton","children","shouldUsePortal","CPortal","Fragment","MenuList","isMatchWidthSet","matchWidth"],"mappings":"gcAgBqBA,IAAA,IAAAC,YACnBA,EAAWC,qBACXA,EAAoBC,UACpBA,EAASC,eACTA,GAAcJ,EACXK,EALgBC,EAAAA,OAAAN,EAAA,CAAA,cAAA,uBAAA,YAAA,mBAWnB,OACEO,EAAAA,QAAAC,cAACC,EAAAA,aAAY,CACXC,UAAWP,MAAAA,OAAA,EAAAA,EAAWO,UACtBC,cAAeR,MAAAA,OAAS,EAATA,EAAWQ,cAC1BC,QAASR,MAAAA,OAAA,EAAAA,EAAgBQ,SAEzBL,UAAAC,cAACK,EAAAA,cAAcC,OAAAC,OAAA,CAAAC,QAAQZ,MAAAA,OAAA,EAAAA,EAAgBY,UAAU,GAAUZ,EAAoBC,GAC5EH,EAECK,EAAA,QAAAC,cAAA,uBAAA,CAAsBS,GAAIC,EAAAA,aAE1BX,EAAAA,QAACC,cAAAW,EAAAA,WAAeL,OAAAC,OAAA,GAAAd,IAElBM,UAAAC,eAjBoB,EAAGY,SAAAA,MACpBjB,MAAAA,SAAAA,EAAWkB,iBAAkBd,wBAACe,SAAO,KAAEF,GAAsBb,EAAA,QAAAC,cAAAD,EAAAA,QAAAgB,SAAA,KAAGH,IAgBjD,KAChBb,EAAAA,QAACC,cAAAgB,WAAaV,OAAAC,OAAA,GAAAZ,EAAW,CAAAsB,gBAAiBpB,EAAMqB,WAAYhB,UAAWP,MAAAA,OAAA,EAAAA,EAAWO"}
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("react");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=t(e);const r=e.createContext({allMenuItems:[],filteredMenuItems:[],focusedItemIndex:-1,groups:[],searchText:"",handleOnClose:()=>{throw new Error("handleOnClose(): Promise<void> not implemented")},setFilteredMenuItems:()=>{throw new Error("setFilteredMenuItems(): Promise<void> not implemented")},setFocusedItemIndex:()=>{throw new Error("setFocusedItemIndex(): Promise<void> not implemented")},setGroups:()=>{throw new Error("setGroups(): Promise<void> not implemented")},setSearchText:()=>{throw new Error("setSearchText(): Promise<void> not implemented")}});exports.MenuProvider=({menuItems:t,onClose:n,children:o})=>{const[u,l]=e.useState(t||[]),[d,m]=e.useState(null),[i,a]=e.useState(-1),[c,I]=e.useState(""),f=e.useRef(null),h=e.useRef([]),x=e.useCallback((()=>{const e=null==t?void 0:t.filter((e=>!0===e.isSelected));a(-1),I(""),setTimeout((()=>{l(t||[])}),200),n&&e&&n(e)}),[t,n]);return e.useEffect((()=>{(null==t?void 0:t.length)&&l(t)}),[t]),s.default.createElement(r.Provider,{value:{allMenuItems:t,filteredMenuItems:u,focusedItemIndex:i,groups:d,menuItemRefs:h,handleOnClose:x,searchInputRef:f,setFilteredMenuItems:l,setFocusedItemIndex:a,setGroups:m,searchText:c,setSearchText:I}},o)},exports.useMenuContext=()=>e.useContext(r);
2
- //# sourceMappingURL=menu.context-cb4a0b0d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"menu.context-cb4a0b0d.js","sources":["../src/components/Menu/context/menu.context.tsx"],"sourcesContent":["import React, {\n ReactNode,\n useState,\n useContext,\n createContext,\n useRef,\n Dispatch,\n SetStateAction,\n MutableRefObject,\n useCallback,\n useEffect,\n} from 'react';\nimport { MenuItemProps } from '../components/MenuItem/menuItem.component';\n\nexport interface IMenuContext {\n allMenuItems?: MenuItemProps[];\n filteredMenuItems?: MenuItemProps[];\n focusedItemIndex: number;\n groups: (string | undefined)[] | null;\n menuItemRefs?: MutableRefObject<HTMLDivElement[] | null[]>;\n handleOnClose: () => void;\n searchInputRef?: MutableRefObject<HTMLInputElement | null>;\n setFilteredMenuItems: Dispatch<SetStateAction<MenuItemProps[]>>;\n setFocusedItemIndex: Dispatch<SetStateAction<number>>;\n setGroups: Dispatch<SetStateAction<(string | undefined)[] | null>>;\n searchText: string;\n setSearchText: Dispatch<SetStateAction<string>>;\n}\n\n// TODO: Figure out how to document this functionality\n\nexport const MenuContext = createContext<IMenuContext>({\n allMenuItems: [],\n filteredMenuItems: [],\n focusedItemIndex: -1,\n groups: [],\n searchText: '',\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n handleOnClose: (): Promise<void> => {\n throw new Error('handleOnClose(): Promise<void> not implemented');\n },\n setFilteredMenuItems: (): Promise<void> => {\n throw new Error('setFilteredMenuItems(): Promise<void> not implemented');\n },\n setFocusedItemIndex: (): Promise<void> => {\n throw new Error('setFocusedItemIndex(): Promise<void> not implemented');\n },\n setGroups: (): Promise<void> => {\n throw new Error('setGroups(): Promise<void> not implemented');\n },\n setSearchText: (): Promise<void> => {\n throw new Error('setSearchText(): Promise<void> not implemented');\n },\n});\n\nexport const useMenuContext = (): IMenuContext => useContext<IMenuContext>(MenuContext);\n\nexport interface MenuProviderProps {\n menuItems?: MenuItemProps[];\n onClose?: (value: (MenuItemProps | undefined)[]) => void;\n isMultiSelect?: boolean;\n children?: ReactNode;\n}\n\nexport const MenuProvider = ({ menuItems, onClose, children }: MenuProviderProps): JSX.Element => {\n const [filteredMenuItems, setFilteredMenuItems] = useState<MenuItemProps[]>(menuItems || []);\n const [groups, setGroups] = useState<(string | undefined)[] | null>(null);\n const [focusedItemIndex, setFocusedItemIndex] = useState<number>(-1);\n const [searchText, setSearchText] = useState<string>('');\n\n const searchInputRef = useRef<HTMLInputElement | null>(null);\n const menuItemRefs = useRef<HTMLDivElement[] | null[]>([]);\n\n const handleOnClose = useCallback(() => {\n const selectedItems = menuItems?.filter((item) => item.isSelected === true);\n setFocusedItemIndex(-1);\n setSearchText('');\n setTimeout(() => {\n setFilteredMenuItems(menuItems || []);\n }, 200);\n\n if (onClose && selectedItems) {\n onClose(selectedItems);\n }\n }, [menuItems, onClose]);\n\n useEffect(() => {\n if (menuItems?.length) {\n setFilteredMenuItems(menuItems);\n }\n }, [menuItems]);\n\n return (\n <MenuContext.Provider\n value={{\n allMenuItems: menuItems,\n filteredMenuItems,\n focusedItemIndex,\n groups,\n menuItemRefs,\n handleOnClose,\n searchInputRef,\n setFilteredMenuItems,\n setFocusedItemIndex,\n setGroups,\n searchText,\n setSearchText,\n }}\n >\n {children}\n </MenuContext.Provider>\n );\n};\n"],"names":["MenuContext","createContext","allMenuItems","filteredMenuItems","focusedItemIndex","groups","searchText","handleOnClose","Error","setFilteredMenuItems","setFocusedItemIndex","setGroups","setSearchText","menuItems","onClose","children","useState","searchInputRef","useRef","menuItemRefs","useCallback","selectedItems","filter","item","isSelected","setTimeout","useEffect","length","React","createElement","Provider","value","useContext"],"mappings":"uHA+BO,MAAMA,EAAcC,EAAAA,cAA4B,CACrDC,aAAc,GACdC,kBAAmB,GACnBC,kBAAmB,EACnBC,OAAQ,GACRC,WAAY,GAEZC,cAAe,KACb,MAAM,IAAIC,MAAM,mDAElBC,qBAAsB,KACpB,MAAM,IAAID,MAAM,0DAElBE,oBAAqB,KACnB,MAAM,IAAIF,MAAM,yDAElBG,UAAW,KACT,MAAM,IAAIH,MAAM,+CAElBI,cAAe,KACb,MAAM,IAAIJ,MAAM,0EAaQ,EAAGK,UAAAA,EAAWC,QAAAA,EAASC,SAAAA,MACjD,MAAOZ,EAAmBM,GAAwBO,EAAAA,SAA0BH,GAAa,KAClFR,EAAQM,GAAaK,EAAQA,SAAgC,OAC7DZ,EAAkBM,GAAuBM,EAAAA,UAAkB,IAC3DV,EAAYM,GAAiBI,EAAQA,SAAS,IAE/CC,EAAiBC,SAAgC,MACjDC,EAAeD,SAAkC,IAEjDX,EAAgBa,EAAAA,aAAY,KAChC,MAAMC,EAAgBR,MAAAA,OAAA,EAAAA,EAAWS,QAAQC,IAA6B,IAApBA,EAAKC,aACvDd,GAAqB,GACrBE,EAAc,IACda,YAAW,KACThB,EAAqBI,GAAa,MACjC,KAECC,GAAWO,GACbP,EAAQO,KAET,CAACR,EAAWC,IAQf,OANAY,EAAAA,WAAU,MACJb,MAAAA,SAAAA,EAAWc,SACblB,EAAqBI,KAEtB,CAACA,IAGFe,EAAC,QAAAC,cAAA7B,EAAY8B,SAAQ,CACnBC,MAAO,CACL7B,aAAcW,EACdV,kBAAAA,EACAC,iBAAAA,EACAC,OAAAA,EACAc,aAAAA,EACAZ,cAAAA,EACAU,eAAAA,EACAR,qBAAAA,EACAC,oBAAAA,EACAC,UAAAA,EACAL,WAAAA,EACAM,cAAAA,IAGDG,2BAtDuB,IAAoBiB,EAAUA,WAAehC"}
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),t=require("react"),l=require("./heading.component-95e89325.js"),a=require("./text.component-906b3f66.js"),n=require("./menuItem.component-36706258.js"),r=require("./textInput.component-9c91685f.js"),s=require("./menu.context-cb4a0b0d.js"),u=require("./chakra-ui-menu.esm-1ed98193.js"),o=require("./button.component-a1a58584.js"),c=require("./chakra-ui-layout.esm-6ee578f7.js"),i=require("./spinner.component-13277479.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:o,placeholder:c="Search..."})=>{const{isOpen:i}=u.useMenuState(),{searchText:d,setSearchText:f}=s.useMenuContext(),p=t.useCallback((e=>{const t=e.target.value;if(f(t),a)a(e);else 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())}));o(e)}else o(l)}),[l,a,o,f]);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:c,onChange:p,onKeyDown:t=>e(t,!0),size:"sm",ref:n,value:d,isClearable:!0,onClear:()=>{f(""),p({target:{value:""}})},formControlStyle:{mt:1}})},p=({groupName:e,handleToggleAllItems:t,hasSelectedItems:l,isGrouped:a})=>a?m.default.createElement(c.Box,{textAlign:"right",w:"50%",className:"MenuListItem__SelectAllButton"},l?m.default.createElement(o.Button,{variant:"ghostNeutral",iconName:"arrowCircle",size:"xs",onClick:()=>t({groupName:e,clear:!0}),isDisabled:!l},"Clear all"):m.default.createElement(o.Button,{variant:"ghost",size:"xs",onClick:()=>t({groupName:e,clear:!1})},"Select all")):m.default.createElement(c.Box,{mt:"8px",className:"MenuList__SelectAllButtons"},m.default.createElement(c.Flex,{justifyContent:"space-between"},m.default.createElement(o.Button,{variant:"ghost",size:"xs",onClick:()=>t({clear:!1})},"Select all"),m.default.createElement(o.Button,{variant:"ghostNeutral",iconName:"arrowCircle",size:"xs",onClick:()=>t({clear:!0}),isDisabled:!l},"Clear all")));exports.MenuList=r=>{var{canSelectAll:o=!1,canSelectGroups:d=!1,children:h,isGrouped:v=!1,isMatchWidthSet:S,isMultiSelect:x=!1,isSearchable:g=!1,onSearchCallback:b,isLoading:I=!1,menuItems:E,onSelect:C,onSelectAll:k,searchPlaceholder:M,shouldRetainSelection:y=!1,shouldTruncateText:N=!0,minW:w="240px",maxW:A,maxH:T="480px",shouldUsePortal:B=!1,emptyStateText:L="No results found"}=r,j=e.__rest(r,["canSelectAll","canSelectGroups","children","isGrouped","isMatchWidthSet","isMultiSelect","isSearchable","onSearchCallback","isLoading","menuItems","onSelect","onSelectAll","searchPlaceholder","shouldRetainSelection","shouldTruncateText","minW","maxW","maxH","shouldUsePortal","emptyStateText"]);const{filteredMenuItems:_,setFilteredMenuItems:q,allMenuItems:G,groups:W,setGroups:z,focusedItemIndex:F,setFocusedItemIndex:R,searchInputRef:D,menuItemRefs:H}=s.useMenuContext(),P=t.useCallback((e=>{var t,l;if(!(null==H?void 0:H.current))return;const a=0===F,n=F===(null==H?void 0:H.current.length)-1;let r=-1;if("ArrowDown"===e)if(n){if(g)return null===(t=null==D?void 0:D.current)||void 0===t||t.focus(),void R(-1);r=0}else r=F+1;else if("ArrowUp"===e)if(a){if(g)return null===(l=null==D?void 0:D.current)||void 0===l||l.focus(),void R(-1);r=H.current.length-1}else r=F-1;const s=null==H?void 0:H.current[r];s?(null==s||s.focus(),R(r)):R(-1)}),[F,g,H,D,R]),U=t.useCallback(((e,t)=>{e.persist(),(null==H?void 0:H.current)&&("ArrowDown"!==e.key&&"Tab"!==e.key||P("ArrowDown"),"ArrowUp"===e.key&&P("ArrowUp"),"Enter"===e.key&&(e.preventDefault(),e.target.click()))}),[P,H]),K=t.useCallback(((e,t)=>{if(_&&G){const l=[..._],a=l.find((t=>t.value===e.value));x&&a&&(a.isSelected=!a.isSelected),q(l);const n=G.filter((e=>e.isSelected));C&&a&&C(a,n),t&&a&&t(a,n)}}),[G,_,x,C,q]),O=t.useCallback((({groupName:e,clear:t=!1})=>{if(_&&G){const 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))})),q(l),k&&k(G.filter((e=>e.isSelected)))}}),[_,G,k,q]);t.useEffect((()=>{if(v){const e=[...new Set(null==_?void 0:_.map((e=>e.groupLabel)))];e.length&&z(e)}}),[_,v,z]);const $=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:o,handleKeyboardNavigation:U,isMultiSelect:x,itemIndex:t.toString(),menuItemRefs:H,onSelect:t=>K(t,e.onSelect),shouldRetainSelection:y,shouldTruncateText:N}))),[U,K,x,H,y,N,o]);if(S||(A="320px"),h)return m.default.createElement(u.MenuList,Object.assign({},j),h);const J=!(null==_?void 0:_.length)||1===(null==_?void 0:_.length)&&!0===_[0].isPlaceholder;return m.default.createElement(u.MenuList,Object.assign({className:"MeuList"},j,{maxW:A||"unset",maxH:T,minW:w,overflow:"hidden auto",zIndex:"popover"}),(g||o&&x)&&m.default.createElement(c.Box,{className:"MenuList__Header",m:"0 12px 8px"},g&&m.default.createElement(f,{handleKeyboardNavigation:U,menuItems:E||[],searchInputRef:D,setFilteredMenuItems:q,placeholder:M,onSearchCallback:b}),o&&x&&m.default.createElement(p,{handleToggleAllItems:O,hasSelectedItems:Boolean(null==_?void 0:_.find((e=>e.isSelected))),isGrouped:!1})),m.default.createElement(c.Box,{className:"MenuList__Body",position:"relative"},J&&!I?m.default.createElement(c.Box,{textAlign:"center",display:"block",p:3},m.default.createElement(a.WrappedText,{size:"sm",variant:"subtle"},L)):v?null==W?void 0:W.map(((e,t)=>{const a=null==_?void 0:_.filter((t=>t.groupLabel===e));return m.default.createElement(c.Box,{className:"MenuList__Group",key:`${e||"noGroup"}-${t}`},e&&m.default.createElement(c.Flex,{minH:8,pt:2,pr:3,pb:1,pl:5,justify:"space-between",align:"center"},m.default.createElement(c.Box,{textAlign:"left",className:"MenuList__GroupTitle"},m.default.createElement(l.WrappedHeading,{size:"xs"},e)),x&&d&&m.default.createElement(p,{handleToggleAllItems:O,hasSelectedItems:Boolean(null==a?void 0:a.find((e=>e.isSelected))),isGrouped:!0,groupName:e})),null==a?void 0:a.map(((e,t)=>$(e,t))))})):null==_?void 0:_.map(((e,t)=>$(e,t))),I&&m.default.createElement(c.Box,{position:"absolute",w:"100%",h:"100%",top:"0",left:"0",bg:"background.alphaContrast.pressed"},m.default.createElement(c.Flex,{h:"100%",align:"center",justify:"center"},m.default.createElement(i.Spinner,null)))))};
2
- //# sourceMappingURL=menuList.component-adc27103.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"menuList.component-adc27103.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 type MenuListOnSelect =\n | ((selectedItem: MenuItemProps, allSelectedItems?: MenuItemProps[]) => void)\n | ((selectedItem: MenuItemProps, allSelectedItems?: MenuItemProps[]) => Promise<void>);\n\nexport type MenuListOnSelectAll =\n | ((selectedItems: MenuItemProps[]) => void)\n | ((selectedItems: MenuItemProps[]) => Promise<void>);\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?: MenuListOnSelect;\n onSelectAll?: MenuListOnSelectAll;\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 +0,0 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),r=require("react"),t=require("./chakra-ui-modal.esm-2fd23822.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-db8de2f3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modalBody.component-db8de2f3.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 +0,0 @@
1
- {"version":3,"file":"modalCloseButton.component-1b2408fc.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 +0,0 @@
1
- "use strict";var t=require("./tslib.es6-d6f17add.js"),e=require("react"),r=require("./button.component-a1a58584.js");function a(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var s=a(e);exports.ModalExpandButton=e=>{var{right:a=12,top:i=2,size:n="md",isExpanded:o}=e,u=t.__rest(e,["right","top","size","isExpanded"]);return s.default.createElement(r.Button,Object.assign({display:{md:"flex",base:"none"},variant:"ghostNeutral",iconName:o?"arrowsIn":"arrowsOut",position:"absolute",right:a,top:i,size:n},u))};
2
- //# sourceMappingURL=modalExpandButton.component-31be810d.js.map
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),r=require("react"),t=require("./chakra-ui-modal.esm-2fd23822.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-ccce9ce5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modalFooter.component-ccce9ce5.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 +0,0 @@
1
- {"version":3,"file":"modalFooterButtons.component-41107377.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 +0,0 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),r=require("react"),a=require("./heading.component-95e89325.js"),t=require("./chakra-ui-modal.esm-2fd23822.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-c7a12376.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modalHeader.component-c7a12376.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 +0,0 @@
1
- "use strict";var t=require("./tslib.es6-d6f17add.js"),e=require("react"),o=require("./chakra-ui-layout.esm-6ee578f7.js");function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var a,n=r(e);exports.NotificationCounterVariant=void 0,(a=exports.NotificationCounterVariant||(exports.NotificationCounterVariant={})).Red="red",a.Neutral="neutral";const i={xs:3,sm:4,md:5,lg:6},u={xs:"8px",sm:"10px",md:"12px",lg:"14px"},s={xs:"1px",sm:"2px",md:"3px",lg:"4px"};exports.NotificationCounter=e=>{var{count:r=0,size:a="md",showCount:d=!0,variant:l=exports.NotificationCounterVariant.Red}=e,c=t.__rest(e,["count","size","showCount","variant"]);const x="xs"!==a&&d,f={[exports.NotificationCounterVariant.Red]:{backgroundColor:"background.danger",color:"text.onContrast"},[exports.NotificationCounterVariant.Neutral]:{backgroundColor:"background.lessSubtle",color:"text.default"}},p=r>99?n.default.createElement(o.Box,{backgroundColor:f[l].color,borderRadius:"full",height:s[a],width:s[a]}):r>0&&r;return n.default.createElement(o.Flex,Object.assign({},c,{className:"NotifcationCounter",alignItems:"center",border:"1px",borderColor:"background.default",borderRadius:"full",fontSize:u[a],fontWeight:"bold",height:i[a],justifyContent:"center",width:i[a]},f[l]),x&&p)};
2
- //# sourceMappingURL=notificationCounter.component-24f3f4ab.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notificationCounter.component-24f3f4ab.js","sources":["../src/components/NotificationCounter/notificationCounter.types.ts","../src/components/NotificationCounter/notificationCounter.records.ts","../src/components/NotificationCounter/notificationCounter.component.tsx"],"sourcesContent":["export type NotificationCounterSize = 'lg' | 'md' | 'sm' | 'xs';\n\nexport enum NotificationCounterVariant {\n Red = 'red',\n Neutral = 'neutral',\n}\n","import { NotificationCounterSize } from './notificationCounter.types';\n\nexport const MAX_COUNT = 99;\n\nexport const notificationCounterSizes: Record<NotificationCounterSize, number> = {\n xs: 3,\n sm: 4,\n md: 5,\n lg: 6,\n};\n\nexport const notificationCounterFontSizes: Record<NotificationCounterSize, string> = {\n xs: '8px', // Not used since the xs size doesn't show a label\n sm: '10px',\n md: '12px',\n lg: '14px',\n};\n\nexport const maxNotificationCounterSizes: Record<NotificationCounterSize, string> = {\n xs: '1px', // Not used since the xs size doesn't show a label\n sm: '2px',\n md: '3px',\n lg: '4px',\n};\n","import React from 'react';\nimport { NotificationCounterSize, NotificationCounterVariant } from './notificationCounter.types';\nimport { Box, Flex, FlexProps } from '@chakra-ui/react';\nimport {\n MAX_COUNT,\n maxNotificationCounterSizes,\n notificationCounterFontSizes,\n notificationCounterSizes,\n} from './notificationCounter.records';\n\nexport interface NotificationCounterProps extends FlexProps {\n count?: number;\n size?: NotificationCounterSize;\n showCount?: boolean;\n variant?: NotificationCounterVariant;\n}\n\nexport const NotificationCounter = ({\n count = 0,\n size = 'md',\n showCount = true,\n variant = NotificationCounterVariant.Red,\n ...rest\n}: NotificationCounterProps): JSX.Element => {\n const _showCount = size === 'xs' ? false : showCount; // By default the xs size doesn't show a label\n\n const notificationVariantStyles = {\n [NotificationCounterVariant.Red]: {\n backgroundColor: 'background.danger',\n color: 'text.onContrast',\n },\n [NotificationCounterVariant.Neutral]: {\n backgroundColor: 'background.lessSubtle',\n color: 'text.default',\n },\n };\n\n const counterContent =\n count > MAX_COUNT ? (\n <Box\n backgroundColor={notificationVariantStyles[variant].color}\n borderRadius=\"full\"\n height={maxNotificationCounterSizes[size]}\n width={maxNotificationCounterSizes[size]}\n />\n ) : (\n count > 0 && count\n );\n\n return (\n <Flex\n {...rest}\n className=\"NotifcationCounter\"\n alignItems=\"center\"\n border=\"1px\"\n borderColor=\"background.default\"\n borderRadius=\"full\"\n fontSize={notificationCounterFontSizes[size]}\n fontWeight=\"bold\"\n height={notificationCounterSizes[size]}\n justifyContent=\"center\"\n width={notificationCounterSizes[size]}\n {...notificationVariantStyles[variant]}\n >\n {_showCount && counterContent}\n </Flex>\n );\n};\n"],"names":["NotificationCounterVariant","notificationCounterSizes","xs","sm","md","lg","notificationCounterFontSizes","maxNotificationCounterSizes","_a","count","size","showCount","variant","Red","rest","__rest","_showCount","notificationVariantStyles","backgroundColor","color","Neutral","counterContent","React","createElement","Box","borderRadius","height","width","Flex","Object","assign","className","alignItems","border","borderColor","fontSize","fontWeight","justifyContent"],"mappings":"qMAEYA,SAAAA,QAGXA,gCAAA,GAHWA,EAAAA,QAA0BA,6BAA1BA,mCAGX,KAFC,IAAA,MACAA,EAAA,QAAA,UCFK,MAEMC,EAAoE,CAC/EC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,GAGOC,EAAwE,CACnFJ,GAAI,MACJC,GAAI,OACJC,GAAI,OACJC,GAAI,QAGOE,EAAuE,CAClFL,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,mCCL8BG,QAAAC,MAClCA,EAAQ,EAACC,KACTA,EAAO,KAAIC,UACXA,GAAY,EAAIC,QAChBA,EAAUZ,mCAA2Ba,OAClCC,EAL+BC,EAAAA,OAAAP,EAAA,CAAA,QAAA,OAAA,YAAA,YAOlC,MAAMQ,EAAsB,OAATN,GAAwBC,EAErCM,EAA4B,CAChC,CAACjB,QAAAA,2BAA2Ba,KAAM,CAChCK,gBAAiB,oBACjBC,MAAO,mBAET,CAACnB,QAAAA,2BAA2BoB,SAAU,CACpCF,gBAAiB,wBACjBC,MAAO,iBAILE,EACJZ,EDpCqB,GCqCnBa,EAAC,QAAAC,cAAAC,OACCN,gBAAiBD,EAA0BL,GAASO,MACpDM,aAAa,OACbC,OAAQnB,EAA4BG,GACpCiB,MAAOpB,EAA4BG,KAGrCD,EAAQ,GAAKA,EAGjB,OACEa,EAAA,QAAAC,cAACK,OAAIC,OAAAC,OAAA,GACChB,EAAI,CACRiB,UAAU,qBACVC,WAAW,SACXC,OAAO,MACPC,YAAY,qBACZT,aAAa,OACbU,SAAU7B,EAA6BI,GACvC0B,WAAW,OACXV,OAAQzB,EAAyBS,GACjC2B,eAAe,SACfV,MAAO1B,EAAyBS,IAC5BO,EAA0BL,IAE7BI,GAAcK"}
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),t=require("react"),n=require("./menuContainer.component-e3bfd942.js"),l=require("./withFormControl-fdc277d3.js"),a=require("./menu.context-cb4a0b0d.js"),r=require("./menuList.component-adc27103.js"),s=require("./text.component-906b3f66.js"),i=require("./chakra-ui-layout.esm-6ee578f7.js"),c=require("./icon.component-7fa85e78.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:E="100%",isOnContrast:S,emptyStateText:b}=l,j=e.__rest(l,["defaultLeftElement","isFieldInline","listProps","options","placeholder","size","value","maxW","isOnContrast","emptyStateText"]);const g=S?"onContrast":"default",T=t.useRef(null),_=t.useMemo((()=>({label:v,value:"",variant:S?"placeholderOnContrast":"placeholder",leftElement:null,isSelected:!1,isPlaceholder:!0})),[v,S]),[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:E},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||E,emptyStateText:b}))))};v.displayName="Select";const x=l.withFormControl(v);exports.WrappedSelect=x;
2
- //# sourceMappingURL=select.component-56904ffe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"select.component-56904ffe.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,2 +0,0 @@
1
- "use strict";var e=require("react"),t=require("./core.esm-3a85aed4.js"),r=require("./sortableItem.context-5bba7c97.js"),n=require("./chakra-ui-layout.esm-6ee578f7.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=i(e);function a(e,t,r){const n=e.slice();return n.splice(r<0?n.length+r:r,0,n.splice(t,1)[0]),n}function s(e,t){return e.reduce(((e,r,n)=>{const i=t.get(r);return i&&(e[n]=i),e}),Array(e.length))}function d(e){return null!==e&&e>=0}const l=e=>{let{rects:t,activeIndex:r,overIndex:n,index:i}=e;const o=a(t,n,r),s=t[i],d=o[i];return d&&s?{x:d.left-s.left,y:d.top-s.top,scaleX:d.width/s.width,scaleY:d.height/s.height}:null},c=o.default.createContext({activeIndex:-1,containerId:"Sortable",disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:l,disabled:{draggable:!1,droppable:!1}});const u=e=>{let{id:t,items:r,activeIndex:n,overIndex:i}=e;return a(r,n,i).indexOf(t)},f=e=>{let{containerId:t,isSorting:r,wasDragging:n,index:i,items:o,newIndex:a,previousItems:s,previousContainerId:d,transition:l}=e;return!(!l||!n)&&((s===o||i!==a)&&(!!r||a!==i&&t===d))},b={duration:200,easing:"ease"},g=t.CSS.Transition.toString({property:"transform",duration:0,easing:"linear"}),p={roleDescription:"sortable"};function v(r){let{animateLayoutChanges:n=f,attributes:i,disabled:o,data:a,getNewIndex:s=u,id:l,strategy:v,resizeObserverConfig:x,transition:I=b}=r;const{items:m,containerId:y,activeIndex:h,disabled:C,disableTransforms:R,sortedRects:S,overIndex:w,useDragOverlay:D,strategy:O}=e.useContext(c),E=function(e,t){var r,n;if("boolean"==typeof e)return{draggable:e,droppable:!1};return{draggable:null!=(r=null==e?void 0:e.draggable)?r:t.draggable,droppable:null!=(n=null==e?void 0:e.droppable)?n:t.droppable}}(o,C),N=m.indexOf(l),K=e.useMemo((()=>({sortable:{containerId:y,index:N,items:m},...a})),[y,a,N,m]),T=e.useMemo((()=>m.slice(m.indexOf(l))),[m,l]),{rect:j,node:M,isOver:A,setNodeRef:q}=t.useDroppable({id:l,data:K,disabled:E.droppable,resizeObserverConfig:{updateMeasurementsFor:T,...x}}),{active:L,activatorEvent:k,activeNodeRect:B,attributes:U,setNodeRef:z,listeners:F,isDragging:P,over:X,setActivatorNodeRef:Y,transform:G}=t.useDraggable({id:l,data:K,attributes:{...p,...i},disabled:E.draggable}),H=t.useCombinedRefs(q,z),J=Boolean(L),Q=J&&!R&&d(h)&&d(w),V=!D&&P,W=V&&Q?G:null,Z=Q?null!=W?W:(null!=v?v:O)({rects:S,activeNodeRect:B,activeIndex:h,overIndex:w,index:N}):null,$=d(h)&&d(w)?s({id:l,items:m,activeIndex:h,overIndex:w}):N,_=null==L?void 0:L.id,ee=e.useRef({activeId:_,items:m,newIndex:$,containerId:y}),te=m!==ee.current.items,re=n({active:L,containerId:y,isDragging:P,isSorting:J,id:l,index:N,items:m,newIndex:ee.current.newIndex,previousItems:ee.current.items,previousContainerId:ee.current.containerId,transition:I,wasDragging:null!=ee.current.activeId}),ne=function(r){let{disabled:n,index:i,node:o,rect:a}=r;const[s,d]=e.useState(null),l=e.useRef(i);return t.useIsomorphicLayoutEffect((()=>{if(!n&&i!==l.current&&o.current){const e=a.current;if(e){const r=t.getClientRect(o.current,{ignoreTransform:!0}),n={x:e.left-r.left,y:e.top-r.top,scaleX:e.width/r.width,scaleY:e.height/r.height};(n.x||n.y)&&d(n)}}i!==l.current&&(l.current=i)}),[n,i,o,a]),e.useEffect((()=>{s&&d(null)}),[s]),s}({disabled:!re,index:N,node:M,rect:j});return e.useEffect((()=>{J&&ee.current.newIndex!==$&&(ee.current.newIndex=$),y!==ee.current.containerId&&(ee.current.containerId=y),m!==ee.current.items&&(ee.current.items=m)}),[J,$,y,m]),e.useEffect((()=>{if(_===ee.current.activeId)return;if(_&&!ee.current.activeId)return void(ee.current.activeId=_);const e=setTimeout((()=>{ee.current.activeId=_}),50);return()=>clearTimeout(e)}),[_]),{active:L,activeIndex:h,attributes:U,data:K,rect:j,index:N,newIndex:$,items:m,isOver:A,isSorting:J,isDragging:P,listeners:F,node:M,overIndex:w,over:X,setNodeRef:H,setActivatorNodeRef:Y,setDroppableNodeRef:q,setDraggableNodeRef:z,transform:null!=ne?ne:Z,transition:function(){if(ne||te&&ee.current.newIndex===N)return g;if(V&&!t.isKeyboardEvent(k)||!I)return;if(J||re)return t.CSS.Transition.toString({...I,property:"transform"});return}()}}function x(e){if(!e)return!1;const t=e.data.current;return!!(t&&"sortable"in t&&"object"==typeof t.sortable&&"containerId"in t.sortable&&"items"in t.sortable&&"index"in t.sortable)}const I=[t.KeyboardCode.Down,t.KeyboardCode.Right,t.KeyboardCode.Up,t.KeyboardCode.Left];function m(e,t){return!(!x(e)||!x(t))&&e.data.current.sortable.containerId===t.data.current.sortable.containerId}exports.SortableContext=function(r){let{children:n,id:i,items:a,strategy:d=l,disabled:u=!1}=r;const{active:f,dragOverlay:b,droppableRects:g,over:p,measureDroppableContainers:v}=t.useDndContext(),x=t.useUniqueId("Sortable",i),I=Boolean(null!==b.rect),m=e.useMemo((()=>a.map((e=>"object"==typeof e&&"id"in e?e.id:e))),[a]),y=null!=f,h=f?m.indexOf(f.id):-1,C=p?m.indexOf(p.id):-1,R=e.useRef(m),S=!function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}(m,R.current),w=-1!==C&&-1===h||S,D=function(e){return"boolean"==typeof e?{draggable:e,droppable:e}:e}(u);t.useIsomorphicLayoutEffect((()=>{S&&y&&v(m)}),[S,m,y,v]),e.useEffect((()=>{R.current=m}),[m]);const O=e.useMemo((()=>({activeIndex:h,containerId:x,disabled:D,disableTransforms:w,items:m,overIndex:C,useDragOverlay:I,sortedRects:s(m,g),strategy:d})),[h,x,D.draggable,D.droppable,w,m,C,g,I,d]);return o.default.createElement(c.Provider,{value:O},n)},exports.SortableItem=({children:i,id:a,style:s,onRemove:d})=>{const{attributes:l,isDragging:c,listeners:u,setNodeRef:f,setActivatorNodeRef:b,transform:g,transition:p}=v({id:a}),x=e.useMemo((()=>({attributes:l,listeners:u,ref:b})),[l,u,b]),I={transform:t.CSS.Translate.toString(g),transition:p};return o.default.createElement(r.SortableItemContext.Provider,{value:x},o.default.createElement(n.Box,Object.assign({className:"SortableItem",ref:f,listStyleType:"none",opacity:c?.4:void 0},s,{style:I}),i))},exports.arrayMove=a,exports.sortableKeyboardCoordinates=(e,r)=>{let{context:{active:n,collisionRect:i,droppableRects:o,droppableContainers:a,over:s,scrollableAncestors:d}}=r;if(I.includes(e.code)){if(e.preventDefault(),!n||!i)return;const r=[];a.getEnabled().forEach((n=>{if(!n||null!=n&&n.disabled)return;const a=o.get(n.id);if(a)switch(e.code){case t.KeyboardCode.Down:i.top<a.top&&r.push(n);break;case t.KeyboardCode.Up:i.top>a.top&&r.push(n);break;case t.KeyboardCode.Left:i.left>a.left&&r.push(n);break;case t.KeyboardCode.Right:i.left<a.left&&r.push(n)}}));const l=t.closestCorners({active:n,collisionRect:i,droppableRects:o,droppableContainers:r,pointerCoordinates:null});let c=t.getFirstCollision(l,"id");if(c===(null==s?void 0:s.id)&&l.length>1&&(c=l[1].id),null!=c){const e=a.get(n.id),r=a.get(c),s=r?o.get(r.id):null,l=null==r?void 0:r.node.current;if(l&&s&&e&&r){const n=t.getScrollableAncestors(l).some(((e,t)=>d[t]!==e)),o=m(e,r),a=function(e,t){if(!x(e)||!x(t))return!1;if(!m(e,t))return!1;return e.data.current.sortable.index<t.data.current.sortable.index}(e,r),c=n||!o?{x:0,y:0}:{x:a?i.width-s.width:0,y:a?i.height-s.height:0},u={x:s.left,y:s.top};return c.x&&c.y?u:t.subtract(u,c)}}}};
2
- //# sourceMappingURL=sortableItem.component-3bdead95.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sortableItem.component-3bdead95.js","sources":["../node_modules/@dnd-kit/sortable/dist/sortable.esm.js","../src/components/SortableList/components/SortableItem/sortableItem.component.tsx"],"sourcesContent":["import React, { useMemo, useRef, useEffect, useState, useContext } from 'react';\nimport { useDndContext, getClientRect, useDroppable, useDraggable, closestCorners, getFirstCollision, getScrollableAncestors, KeyboardCode } from '@dnd-kit/core';\nimport { useUniqueId, useIsomorphicLayoutEffect, CSS, useCombinedRefs, isKeyboardEvent, subtract } from '@dnd-kit/utilities';\n\n/**\r\n * Move an array item to a different position. Returns a new array with the item moved to the new position.\r\n */\nfunction arrayMove(array, from, to) {\n const newArray = array.slice();\n newArray.splice(to < 0 ? newArray.length + to : to, 0, newArray.splice(from, 1)[0]);\n return newArray;\n}\n\n/**\r\n * Swap an array item to a different position. Returns a new array with the item swapped to the new position.\r\n */\nfunction arraySwap(array, from, to) {\n const newArray = array.slice();\n newArray[from] = array[to];\n newArray[to] = array[from];\n return newArray;\n}\n\nfunction getSortedRects(items, rects) {\n return items.reduce((accumulator, id, index) => {\n const rect = rects.get(id);\n\n if (rect) {\n accumulator[index] = rect;\n }\n\n return accumulator;\n }, Array(items.length));\n}\n\nfunction isValidIndex(index) {\n return index !== null && index >= 0;\n}\n\nfunction itemsEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction normalizeDisabled(disabled) {\n if (typeof disabled === 'boolean') {\n return {\n draggable: disabled,\n droppable: disabled\n };\n }\n\n return disabled;\n}\n\n// To-do: We should be calculating scale transformation\nconst defaultScale = {\n scaleX: 1,\n scaleY: 1\n};\nconst horizontalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n rects,\n activeNodeRect: fallbackActiveRect,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n const itemGap = getItemGap(rects, index, activeIndex);\n\n if (index === activeIndex) {\n const newIndexRect = rects[overIndex];\n\n if (!newIndexRect) {\n return null;\n }\n\n return {\n x: activeIndex < overIndex ? newIndexRect.left + newIndexRect.width - (activeNodeRect.left + activeNodeRect.width) : newIndexRect.left - activeNodeRect.left,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: -activeNodeRect.width - itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: activeNodeRect.width + itemGap,\n y: 0,\n ...defaultScale\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale\n };\n};\n\nfunction getItemGap(rects, index, activeIndex) {\n const currentRect = rects[index];\n const previousRect = rects[index - 1];\n const nextRect = rects[index + 1];\n\n if (!currentRect || !previousRect && !nextRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.left - (previousRect.left + previousRect.width) : nextRect.left - (currentRect.left + currentRect.width);\n }\n\n return nextRect ? nextRect.left - (currentRect.left + currentRect.width) : currentRect.left - (previousRect.left + previousRect.width);\n}\n\nconst rectSortingStrategy = _ref => {\n let {\n rects,\n activeIndex,\n overIndex,\n index\n } = _ref;\n const newRects = arrayMove(rects, overIndex, activeIndex);\n const oldRect = rects[index];\n const newRect = newRects[index];\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\nconst rectSwappingStrategy = _ref => {\n let {\n activeIndex,\n index,\n rects,\n overIndex\n } = _ref;\n let oldRect;\n let newRect;\n\n if (index === activeIndex) {\n oldRect = rects[index];\n newRect = rects[overIndex];\n }\n\n if (index === overIndex) {\n oldRect = rects[index];\n newRect = rects[activeIndex];\n }\n\n if (!newRect || !oldRect) {\n return null;\n }\n\n return {\n x: newRect.left - oldRect.left,\n y: newRect.top - oldRect.top,\n scaleX: newRect.width / oldRect.width,\n scaleY: newRect.height / oldRect.height\n };\n};\n\n// To-do: We should be calculating scale transformation\nconst defaultScale$1 = {\n scaleX: 1,\n scaleY: 1\n};\nconst verticalListSortingStrategy = _ref => {\n var _rects$activeIndex;\n\n let {\n activeIndex,\n activeNodeRect: fallbackActiveRect,\n index,\n rects,\n overIndex\n } = _ref;\n const activeNodeRect = (_rects$activeIndex = rects[activeIndex]) != null ? _rects$activeIndex : fallbackActiveRect;\n\n if (!activeNodeRect) {\n return null;\n }\n\n if (index === activeIndex) {\n const overIndexRect = rects[overIndex];\n\n if (!overIndexRect) {\n return null;\n }\n\n return {\n x: 0,\n y: activeIndex < overIndex ? overIndexRect.top + overIndexRect.height - (activeNodeRect.top + activeNodeRect.height) : overIndexRect.top - activeNodeRect.top,\n ...defaultScale$1\n };\n }\n\n const itemGap = getItemGap$1(rects, index, activeIndex);\n\n if (index > activeIndex && index <= overIndex) {\n return {\n x: 0,\n y: -activeNodeRect.height - itemGap,\n ...defaultScale$1\n };\n }\n\n if (index < activeIndex && index >= overIndex) {\n return {\n x: 0,\n y: activeNodeRect.height + itemGap,\n ...defaultScale$1\n };\n }\n\n return {\n x: 0,\n y: 0,\n ...defaultScale$1\n };\n};\n\nfunction getItemGap$1(clientRects, index, activeIndex) {\n const currentRect = clientRects[index];\n const previousRect = clientRects[index - 1];\n const nextRect = clientRects[index + 1];\n\n if (!currentRect) {\n return 0;\n }\n\n if (activeIndex < index) {\n return previousRect ? currentRect.top - (previousRect.top + previousRect.height) : nextRect ? nextRect.top - (currentRect.top + currentRect.height) : 0;\n }\n\n return nextRect ? nextRect.top - (currentRect.top + currentRect.height) : previousRect ? currentRect.top - (previousRect.top + previousRect.height) : 0;\n}\n\nconst ID_PREFIX = 'Sortable';\nconst Context = /*#__PURE__*/React.createContext({\n activeIndex: -1,\n containerId: ID_PREFIX,\n disableTransforms: false,\n items: [],\n overIndex: -1,\n useDragOverlay: false,\n sortedRects: [],\n strategy: rectSortingStrategy,\n disabled: {\n draggable: false,\n droppable: false\n }\n});\nfunction SortableContext(_ref) {\n let {\n children,\n id,\n items: userDefinedItems,\n strategy = rectSortingStrategy,\n disabled: disabledProp = false\n } = _ref;\n const {\n active,\n dragOverlay,\n droppableRects,\n over,\n measureDroppableContainers\n } = useDndContext();\n const containerId = useUniqueId(ID_PREFIX, id);\n const useDragOverlay = Boolean(dragOverlay.rect !== null);\n const items = useMemo(() => userDefinedItems.map(item => typeof item === 'object' && 'id' in item ? item.id : item), [userDefinedItems]);\n const isDragging = active != null;\n const activeIndex = active ? items.indexOf(active.id) : -1;\n const overIndex = over ? items.indexOf(over.id) : -1;\n const previousItemsRef = useRef(items);\n const itemsHaveChanged = !itemsEqual(items, previousItemsRef.current);\n const disableTransforms = overIndex !== -1 && activeIndex === -1 || itemsHaveChanged;\n const disabled = normalizeDisabled(disabledProp);\n useIsomorphicLayoutEffect(() => {\n if (itemsHaveChanged && isDragging) {\n measureDroppableContainers(items);\n }\n }, [itemsHaveChanged, items, isDragging, measureDroppableContainers]);\n useEffect(() => {\n previousItemsRef.current = items;\n }, [items]);\n const contextValue = useMemo(() => ({\n activeIndex,\n containerId,\n disabled,\n disableTransforms,\n items,\n overIndex,\n useDragOverlay,\n sortedRects: getSortedRects(items, droppableRects),\n strategy\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [activeIndex, containerId, disabled.draggable, disabled.droppable, disableTransforms, items, overIndex, droppableRects, useDragOverlay, strategy]);\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nconst defaultNewIndexGetter = _ref => {\n let {\n id,\n items,\n activeIndex,\n overIndex\n } = _ref;\n return arrayMove(items, activeIndex, overIndex).indexOf(id);\n};\nconst defaultAnimateLayoutChanges = _ref2 => {\n let {\n containerId,\n isSorting,\n wasDragging,\n index,\n items,\n newIndex,\n previousItems,\n previousContainerId,\n transition\n } = _ref2;\n\n if (!transition || !wasDragging) {\n return false;\n }\n\n if (previousItems !== items && index === newIndex) {\n return false;\n }\n\n if (isSorting) {\n return true;\n }\n\n return newIndex !== index && containerId === previousContainerId;\n};\nconst defaultTransition = {\n duration: 200,\n easing: 'ease'\n};\nconst transitionProperty = 'transform';\nconst disabledTransition = /*#__PURE__*/CSS.Transition.toString({\n property: transitionProperty,\n duration: 0,\n easing: 'linear'\n});\nconst defaultAttributes = {\n roleDescription: 'sortable'\n};\n\n/*\r\n * When the index of an item changes while sorting,\r\n * we need to temporarily disable the transforms\r\n */\n\nfunction useDerivedTransform(_ref) {\n let {\n disabled,\n index,\n node,\n rect\n } = _ref;\n const [derivedTransform, setDerivedtransform] = useState(null);\n const previousIndex = useRef(index);\n useIsomorphicLayoutEffect(() => {\n if (!disabled && index !== previousIndex.current && node.current) {\n const initial = rect.current;\n\n if (initial) {\n const current = getClientRect(node.current, {\n ignoreTransform: true\n });\n const delta = {\n x: initial.left - current.left,\n y: initial.top - current.top,\n scaleX: initial.width / current.width,\n scaleY: initial.height / current.height\n };\n\n if (delta.x || delta.y) {\n setDerivedtransform(delta);\n }\n }\n }\n\n if (index !== previousIndex.current) {\n previousIndex.current = index;\n }\n }, [disabled, index, node, rect]);\n useEffect(() => {\n if (derivedTransform) {\n setDerivedtransform(null);\n }\n }, [derivedTransform]);\n return derivedTransform;\n}\n\nfunction useSortable(_ref) {\n let {\n animateLayoutChanges = defaultAnimateLayoutChanges,\n attributes: userDefinedAttributes,\n disabled: localDisabled,\n data: customData,\n getNewIndex = defaultNewIndexGetter,\n id,\n strategy: localStrategy,\n resizeObserverConfig,\n transition = defaultTransition\n } = _ref;\n const {\n items,\n containerId,\n activeIndex,\n disabled: globalDisabled,\n disableTransforms,\n sortedRects,\n overIndex,\n useDragOverlay,\n strategy: globalStrategy\n } = useContext(Context);\n const disabled = normalizeLocalDisabled(localDisabled, globalDisabled);\n const index = items.indexOf(id);\n const data = useMemo(() => ({\n sortable: {\n containerId,\n index,\n items\n },\n ...customData\n }), [containerId, customData, index, items]);\n const itemsAfterCurrentSortable = useMemo(() => items.slice(items.indexOf(id)), [items, id]);\n const {\n rect,\n node,\n isOver,\n setNodeRef: setDroppableNodeRef\n } = useDroppable({\n id,\n data,\n disabled: disabled.droppable,\n resizeObserverConfig: {\n updateMeasurementsFor: itemsAfterCurrentSortable,\n ...resizeObserverConfig\n }\n });\n const {\n active,\n activatorEvent,\n activeNodeRect,\n attributes,\n setNodeRef: setDraggableNodeRef,\n listeners,\n isDragging,\n over,\n setActivatorNodeRef,\n transform\n } = useDraggable({\n id,\n data,\n attributes: { ...defaultAttributes,\n ...userDefinedAttributes\n },\n disabled: disabled.draggable\n });\n const setNodeRef = useCombinedRefs(setDroppableNodeRef, setDraggableNodeRef);\n const isSorting = Boolean(active);\n const displaceItem = isSorting && !disableTransforms && isValidIndex(activeIndex) && isValidIndex(overIndex);\n const shouldDisplaceDragSource = !useDragOverlay && isDragging;\n const dragSourceDisplacement = shouldDisplaceDragSource && displaceItem ? transform : null;\n const strategy = localStrategy != null ? localStrategy : globalStrategy;\n const finalTransform = displaceItem ? dragSourceDisplacement != null ? dragSourceDisplacement : strategy({\n rects: sortedRects,\n activeNodeRect,\n activeIndex,\n overIndex,\n index\n }) : null;\n const newIndex = isValidIndex(activeIndex) && isValidIndex(overIndex) ? getNewIndex({\n id,\n items,\n activeIndex,\n overIndex\n }) : index;\n const activeId = active == null ? void 0 : active.id;\n const previous = useRef({\n activeId,\n items,\n newIndex,\n containerId\n });\n const itemsHaveChanged = items !== previous.current.items;\n const shouldAnimateLayoutChanges = animateLayoutChanges({\n active,\n containerId,\n isDragging,\n isSorting,\n id,\n index,\n items,\n newIndex: previous.current.newIndex,\n previousItems: previous.current.items,\n previousContainerId: previous.current.containerId,\n transition,\n wasDragging: previous.current.activeId != null\n });\n const derivedTransform = useDerivedTransform({\n disabled: !shouldAnimateLayoutChanges,\n index,\n node,\n rect\n });\n useEffect(() => {\n if (isSorting && previous.current.newIndex !== newIndex) {\n previous.current.newIndex = newIndex;\n }\n\n if (containerId !== previous.current.containerId) {\n previous.current.containerId = containerId;\n }\n\n if (items !== previous.current.items) {\n previous.current.items = items;\n }\n }, [isSorting, newIndex, containerId, items]);\n useEffect(() => {\n if (activeId === previous.current.activeId) {\n return;\n }\n\n if (activeId && !previous.current.activeId) {\n previous.current.activeId = activeId;\n return;\n }\n\n const timeoutId = setTimeout(() => {\n previous.current.activeId = activeId;\n }, 50);\n return () => clearTimeout(timeoutId);\n }, [activeId]);\n return {\n active,\n activeIndex,\n attributes,\n data,\n rect,\n index,\n newIndex,\n items,\n isOver,\n isSorting,\n isDragging,\n listeners,\n node,\n overIndex,\n over,\n setNodeRef,\n setActivatorNodeRef,\n setDroppableNodeRef,\n setDraggableNodeRef,\n transform: derivedTransform != null ? derivedTransform : finalTransform,\n transition: getTransition()\n };\n\n function getTransition() {\n if ( // Temporarily disable transitions for a single frame to set up derived transforms\n derivedTransform || // Or to prevent items jumping to back to their \"new\" position when items change\n itemsHaveChanged && previous.current.newIndex === index) {\n return disabledTransition;\n }\n\n if (shouldDisplaceDragSource && !isKeyboardEvent(activatorEvent) || !transition) {\n return undefined;\n }\n\n if (isSorting || shouldAnimateLayoutChanges) {\n return CSS.Transition.toString({ ...transition,\n property: transitionProperty\n });\n }\n\n return undefined;\n }\n}\n\nfunction normalizeLocalDisabled(localDisabled, globalDisabled) {\n var _localDisabled$dragga, _localDisabled$droppa;\n\n if (typeof localDisabled === 'boolean') {\n return {\n draggable: localDisabled,\n // Backwards compatibility\n droppable: false\n };\n }\n\n return {\n draggable: (_localDisabled$dragga = localDisabled == null ? void 0 : localDisabled.draggable) != null ? _localDisabled$dragga : globalDisabled.draggable,\n droppable: (_localDisabled$droppa = localDisabled == null ? void 0 : localDisabled.droppable) != null ? _localDisabled$droppa : globalDisabled.droppable\n };\n}\n\nfunction hasSortableData(entry) {\n if (!entry) {\n return false;\n }\n\n const data = entry.data.current;\n\n if (data && 'sortable' in data && typeof data.sortable === 'object' && 'containerId' in data.sortable && 'items' in data.sortable && 'index' in data.sortable) {\n return true;\n }\n\n return false;\n}\n\nconst directions = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];\nconst sortableKeyboardCoordinates = (event, _ref) => {\n let {\n context: {\n active,\n collisionRect,\n droppableRects,\n droppableContainers,\n over,\n scrollableAncestors\n }\n } = _ref;\n\n if (directions.includes(event.code)) {\n event.preventDefault();\n\n if (!active || !collisionRect) {\n return;\n }\n\n const filteredContainers = [];\n droppableContainers.getEnabled().forEach(entry => {\n if (!entry || entry != null && entry.disabled) {\n return;\n }\n\n const rect = droppableRects.get(entry.id);\n\n if (!rect) {\n return;\n }\n\n switch (event.code) {\n case KeyboardCode.Down:\n if (collisionRect.top < rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Up:\n if (collisionRect.top > rect.top) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Left:\n if (collisionRect.left > rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n\n case KeyboardCode.Right:\n if (collisionRect.left < rect.left) {\n filteredContainers.push(entry);\n }\n\n break;\n }\n });\n const collisions = closestCorners({\n active,\n collisionRect: collisionRect,\n droppableRects,\n droppableContainers: filteredContainers,\n pointerCoordinates: null\n });\n let closestId = getFirstCollision(collisions, 'id');\n\n if (closestId === (over == null ? void 0 : over.id) && collisions.length > 1) {\n closestId = collisions[1].id;\n }\n\n if (closestId != null) {\n const activeDroppable = droppableContainers.get(active.id);\n const newDroppable = droppableContainers.get(closestId);\n const newRect = newDroppable ? droppableRects.get(newDroppable.id) : null;\n const newNode = newDroppable == null ? void 0 : newDroppable.node.current;\n\n if (newNode && newRect && activeDroppable && newDroppable) {\n const newScrollAncestors = getScrollableAncestors(newNode);\n const hasDifferentScrollAncestors = newScrollAncestors.some((element, index) => scrollableAncestors[index] !== element);\n const hasSameContainer = isSameContainer(activeDroppable, newDroppable);\n const isAfterActive = isAfter(activeDroppable, newDroppable);\n const offset = hasDifferentScrollAncestors || !hasSameContainer ? {\n x: 0,\n y: 0\n } : {\n x: isAfterActive ? collisionRect.width - newRect.width : 0,\n y: isAfterActive ? collisionRect.height - newRect.height : 0\n };\n const rectCoordinates = {\n x: newRect.left,\n y: newRect.top\n };\n const newCoordinates = offset.x && offset.y ? rectCoordinates : subtract(rectCoordinates, offset);\n return newCoordinates;\n }\n }\n }\n\n return undefined;\n};\n\nfunction isSameContainer(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n return a.data.current.sortable.containerId === b.data.current.sortable.containerId;\n}\n\nfunction isAfter(a, b) {\n if (!hasSortableData(a) || !hasSortableData(b)) {\n return false;\n }\n\n if (!isSameContainer(a, b)) {\n return false;\n }\n\n return a.data.current.sortable.index < b.data.current.sortable.index;\n}\n\nexport { SortableContext, arrayMove, arraySwap, defaultAnimateLayoutChanges, defaultNewIndexGetter, hasSortableData, horizontalListSortingStrategy, rectSortingStrategy, rectSwappingStrategy, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy };\n//# sourceMappingURL=sortable.esm.js.map\n","import React, { useMemo } from 'react';\nimport type { CSSProperties, PropsWithChildren } from 'react';\nimport { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\nimport { SortableItemContext } from './sortableItem.context';\nimport { UniqueIdentifier } from '@dnd-kit/core';\nimport { Box, StyleProps } from '@chakra-ui/react';\n\nexport interface SortableItemProps {\n id: UniqueIdentifier;\n style?: StyleProps;\n onRemove?(id: UniqueIdentifier): void;\n}\n\nexport const SortableItem = ({\n children,\n id,\n style: userStyle,\n onRemove,\n}: PropsWithChildren<SortableItemProps>): JSX.Element => {\n const { attributes, isDragging, listeners, setNodeRef, setActivatorNodeRef, transform, transition } = useSortable({\n id,\n });\n const context = useMemo(\n () => ({\n attributes,\n listeners,\n ref: setActivatorNodeRef,\n }),\n [attributes, listeners, setActivatorNodeRef],\n );\n const style: CSSProperties = {\n transform: CSS.Translate.toString(transform),\n transition,\n };\n\n return (\n <SortableItemContext.Provider value={context}>\n <Box\n className=\"SortableItem\"\n ref={setNodeRef}\n listStyleType=\"none\"\n opacity={isDragging ? 0.4 : undefined}\n {...userStyle}\n style={style}\n >\n {children}\n </Box>\n </SortableItemContext.Provider>\n );\n};\n"],"names":["arrayMove","array","from","to","newArray","slice","splice","length","getSortedRects","items","rects","reduce","accumulator","id","index","rect","get","Array","isValidIndex","rectSortingStrategy","_ref","activeIndex","overIndex","newRects","oldRect","newRect","x","left","y","top","scaleX","width","scaleY","height","Context","React","createContext","containerId","disableTransforms","useDragOverlay","sortedRects","strategy","disabled","draggable","droppable","defaultNewIndexGetter","indexOf","defaultAnimateLayoutChanges","_ref2","isSorting","wasDragging","newIndex","previousItems","previousContainerId","transition","defaultTransition","duration","easing","disabledTransition","CSS","Transition","toString","property","defaultAttributes","roleDescription","useSortable","animateLayoutChanges","attributes","userDefinedAttributes","localDisabled","data","customData","getNewIndex","localStrategy","resizeObserverConfig","globalDisabled","globalStrategy","useContext","_localDisabled$dragga","_localDisabled$droppa","normalizeLocalDisabled","useMemo","sortable","itemsAfterCurrentSortable","node","isOver","setNodeRef","setDroppableNodeRef","useDroppable","updateMeasurementsFor","active","activatorEvent","activeNodeRect","setDraggableNodeRef","listeners","isDragging","over","setActivatorNodeRef","transform","useDraggable","useCombinedRefs","Boolean","displaceItem","shouldDisplaceDragSource","dragSourceDisplacement","finalTransform","activeId","previous","useRef","itemsHaveChanged","current","shouldAnimateLayoutChanges","derivedTransform","setDerivedtransform","useState","previousIndex","useIsomorphicLayoutEffect","initial","getClientRect","ignoreTransform","delta","useEffect","useDerivedTransform","timeoutId","setTimeout","clearTimeout","isKeyboardEvent","getTransition","hasSortableData","entry","directions","KeyboardCode","Down","Right","Up","Left","isSameContainer","a","b","children","userDefinedItems","disabledProp","dragOverlay","droppableRects","measureDroppableContainers","useDndContext","useUniqueId","map","item","previousItemsRef","i","itemsEqual","normalizeDisabled","contextValue","createElement","Provider","value","style","userStyle","onRemove","context","ref","Translate","SortableItemContext","Box","Object","assign","className","listStyleType","opacity","undefined","event","collisionRect","droppableContainers","scrollableAncestors","includes","code","preventDefault","filteredContainers","getEnabled","forEach","push","collisions","closestCorners","pointerCoordinates","closestId","getFirstCollision","activeDroppable","newDroppable","newNode","hasDifferentScrollAncestors","getScrollableAncestors","some","element","hasSameContainer","isAfterActive","isAfter","offset","rectCoordinates","subtract"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("react"),t=require("./core.esm-3a85aed4.js"),r=require("./sortableItem.component-3bdead95.js"),n=require("./sortableOverlay.component-39d84330.js"),a=require("./chakra-ui-layout.esm-6ee578f7.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=o(e);exports.SortableList=({items:o,onChange:d,renderItem:i,style:s})=>{const[u,c]=e.useState(null),m=e.useMemo((()=>o.find((e=>e.id===(null==u?void 0:u.id)))),[u,o]),f=t.useSensors(t.useSensor(t.PointerSensor),t.useSensor(t.KeyboardSensor,{coordinateGetter:r.sortableKeyboardCoordinates})),b=Object.assign({display:"flex",flexDirection:"column",padding:0,listStyleType:"none",ml:0},s);return l.default.createElement(t.DndContext,{sensors:f,onDragStart:({active:e})=>{c(e)},onDragEnd:({active:e,over:t})=>{if(t&&e.id!==(null==t?void 0:t.id)){const n=o.findIndex((({id:t})=>t===e.id)),a=o.findIndex((({id:e})=>e===t.id));d(r.arrayMove(o,n,a))}c(null)},onDragCancel:()=>c(null)},l.default.createElement(r.SortableContext,{items:o},l.default.createElement(a.UnorderedList,Object.assign({},b),o.map(((e,t)=>l.default.createElement(l.default.Fragment,{key:e.id},i(e,t)))))),l.default.createElement(n.SortableOverlay,null,m?i(m):null))};
2
- //# sourceMappingURL=sortableList.component-19cfab79.js.map
@@ -1,5 +0,0 @@
1
- "use strict";var e=require("react"),r=require("./text.component-906b3f66.js"),t=require("./chakra-ui-system.esm-c70df670.js"),a=require("./chakra-ui-layout.esm-6ee578f7.js");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=n(e);const l={xs:12,sm:16,md:24,lg:32,xl:48},i=t.keyframes`
2
- from {transform: rotate(0deg);}
3
- to {transform: rotate(360deg)}
4
- `;exports.Spinner=({size:e="md",isFullScreen:t=!1,showLabel:n=!1,label:s="Loading...",labelProps:c})=>{const u=l[e],d=`0.45s linear 0s infinite normal none running ${i}`;return o.default.createElement((({children:e})=>t?o.default.createElement(a.VStack,{h:"100%",w:"100%",pos:"absolute",top:"0",left:"0",align:"center",justify:"center",bg:"background.alpha"},e):o.default.createElement(a.VStack,{w:"max-content",h:"max-content",align:"center",justify:"center"},e)),null,o.default.createElement(a.Box,{display:"inline-block",animation:d,border:"2px",borderTopColor:"background.primary",borderRightColor:"background.primary",borderLeftColor:"transparent",borderBottomColor:"transparent",height:`${u}px`,width:`${u}px`,borderRadius:`${u}px`}),n&&o.default.createElement(r.WrappedText,Object.assign({as:"p",className:"Spinner__Label",size:e,variant:"subtle"},c),s))};
5
- //# sourceMappingURL=spinner.component-13277479.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spinner.component-13277479.js","sources":["../src/components/Spinner/spinner.records.ts","../src/components/Spinner/spinner.component.tsx"],"sourcesContent":["import { SpinnerSize } from './spinner.types';\n\nexport const SpinnerSizeMap: Record<SpinnerSize, number> = {\n xs: 12,\n sm: 16,\n md: 24,\n lg: 32,\n xl: 48,\n};\n","import React, { ReactNode } from 'react';\nimport { Box, keyframes, VStack } from '@chakra-ui/react';\nimport { SpinnerSize } from './spinner.types';\nimport { SpinnerSizeMap } from './spinner.records';\nimport { Text, TextProps } from '../Text/text.component';\nimport { TextSize } from 'components/Text';\n\nconst spin = keyframes`\n from {transform: rotate(0deg);}\n to {transform: rotate(360deg)}\n `;\n\nexport interface SpinnerProps {\n size?: SpinnerSize;\n isFullScreen?: boolean;\n label?: string;\n showLabel?: boolean;\n labelProps?: TextProps;\n}\n\nexport const Spinner = ({\n size = 'md',\n isFullScreen = false,\n showLabel = false,\n label = 'Loading...',\n labelProps,\n}: SpinnerProps): JSX.Element => {\n const spinnerSize = SpinnerSizeMap[size];\n const animation = `0.45s linear 0s infinite normal none running ${spin}`;\n const SpinnerContainer = ({ children }: { children: ReactNode }): JSX.Element => {\n return isFullScreen ? (\n <VStack h=\"100%\" w=\"100%\" pos=\"absolute\" top=\"0\" left=\"0\" align=\"center\" justify=\"center\" bg=\"background.alpha\">\n {children}\n </VStack>\n ) : (\n <VStack w=\"max-content\" h=\"max-content\" align=\"center\" justify=\"center\">\n {children}\n </VStack>\n );\n };\n\n return (\n <SpinnerContainer>\n <Box\n display=\"inline-block\"\n animation={animation}\n border=\"2px\"\n borderTopColor=\"background.primary\"\n borderRightColor=\"background.primary\"\n borderLeftColor={'transparent'}\n borderBottomColor={'transparent'}\n height={`${spinnerSize}px`}\n width={`${spinnerSize}px`}\n borderRadius={`${spinnerSize}px`}\n />\n {showLabel && (\n <Text as=\"p\" className=\"Spinner__Label\" size={size as TextSize} variant=\"subtle\" {...labelProps}>\n {label}\n </Text>\n )}\n </SpinnerContainer>\n );\n};\n"],"names":["SpinnerSizeMap","xs","sm","md","lg","xl","spin","keyframes","size","isFullScreen","showLabel","label","labelProps","spinnerSize","animation","React","children","createElement","VStack","h","w","pos","top","left","align","justify","bg","Box","display","border","borderTopColor","borderRightColor","borderLeftColor","borderBottomColor","height","width","borderRadius","Text","WrappedText","Object","assign","as","className","variant"],"mappings":"iQAEO,MAAMA,EAA8C,CACzDC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,ICAAC,EAAOC,EAASA,SAAA;;;oBAaC,EACrBC,KAAAA,EAAO,KACPC,aAAAA,GAAe,EACfC,UAAAA,GAAY,EACZC,MAAAA,EAAQ,aACRC,WAAAA,MAEA,MAAMC,EAAcb,EAAeQ,GAC7BM,EAAY,gDAAgDR,IAalE,OACES,yBAbuB,EAAGC,SAAAA,KACnBP,EACLM,EAAAA,QAACE,cAAAC,EAAMA,OAAC,CAAAC,EAAE,OAAOC,EAAE,OAAOC,IAAI,WAAWC,IAAI,IAAIC,KAAK,IAAIC,MAAM,SAASC,QAAQ,SAASC,GAAG,oBAC1FV,GAGHD,EAAAA,QAACE,cAAAC,EAAMA,QAACE,EAAE,cAAcD,EAAE,cAAcK,MAAM,SAASC,QAAQ,UAC5DT,IAMY,KACfD,EAAC,QAAAE,cAAAU,EAAGA,KACFC,QAAQ,eACRd,UAAWA,EACXe,OAAO,MACPC,eAAe,qBACfC,iBAAiB,qBACjBC,gBAAiB,cACjBC,kBAAmB,cACnBC,OAAQ,GAAGrB,MACXsB,MAAO,GAAGtB,MACVuB,aAAc,GAAGvB,QAElBH,GACCK,EAAAA,QAACE,cAAAoB,EAAIC,YAACC,OAAAC,OAAA,CAAAC,GAAG,IAAIC,UAAU,iBAAiBlC,KAAMA,EAAkBmC,QAAQ,UAAa/B,GAClFD"}
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),t=require("./notificationCounter.component-24f3f4ab.js"),i=require("./icon.component-7fa85e78.js"),a=require("react"),n=require("./heading.component-95e89325.js"),o=require("./chakra-ui-tabs.esm-e6372403.js"),r=require("./chakra-ui-layout.esm-6ee578f7.js");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=s(a);const c={xs:"sm",sm:"md",md:"md",lg:"lg"},m={xs:"xs",sm:"xs",md:"sm",lg:"md"};exports.Tab=a=>{var{iconName:s,label:f,showNotificationCounter:l=!1,notificationCount:d=0,notificationCounterVariant:b=t.NotificationCounterVariant.Red,size:C="md"}=a,j=e.__rest(a,["iconName","label","showNotificationCounter","notificationCount","notificationCounterVariant","size"]);return u.default.createElement(o.Tab,Object.assign({},j),!!s&&u.default.createElement(r.Box,{pr:2},u.default.createElement(i.Icon,{name:s,size:C})),u.default.createElement(n.WrappedHeading,{size:m[C]},f),l&&u.default.createElement(t.NotificationCounter,{count:d,variant:b,size:c[C],ml:2}))};
2
- //# sourceMappingURL=tab.component-bec1f23b.js.map
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("react"),t=require("./icon.component-7fa85e78.js"),r=require("./popover.component-0ae9b4fe.js"),n=require("./index-7708e04e.js"),o=require("./textInput.component-9c91685f.js"),i=require("./chakra-ui-layout.esm-6ee578f7.js"),l=require("./useIconTextSizeMap-301c4f35.js"),a=require("./chakra-ui-hooks.esm-21b313f3.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=u(e);const c=({value:t,innerRef:r,isSelected:n,handleClick:o})=>{const l=e.useCallback((e=>{const t=e.currentTarget.textContent||"";o(t)}),[o]);return s.default.createElement(i.Box,{ref:r,onClick:l,background:n?"background.primary":"background.default",color:n?"text.onContrast":"text.subtle",fontSize:"sm",textAlign:"center",px:3,py:1,borderRadius:"md",cursor:"pointer",_hover:{background:n?"background.primary.hover":"background.primaryAlpha.hover"}},t)},d=({options:t,optionType:r,selectedValue:n,handleClick:o,isOpen:l=!1})=>{const a=e.useRef(null),u=e.useRef(null);return e.useEffect((()=>{var e,t;l&&u.current&&a.current&&(u.current.scrollTop=(null===(e=a.current)||void 0===e?void 0:e.offsetTop)-(null===(t=u.current)||void 0===t?void 0:t.offsetTop))}),[l]),s.default.createElement(i.Flex,{direction:"column",gap:1,ref:u,overflowY:"auto",sx:{"&::-webkit-scrollbar":{display:"none"}}},t.map((e=>s.default.createElement(c,{key:`${r}-option-${e}`,innerRef:e===n?a:null,value:e,isSelected:e===n,handleClick:o}))))};var p;exports.Meridiem=void 0,(p=exports.Meridiem||(exports.Meridiem={})).AM="AM",p.PM="PM";exports.TimePicker=({initialTime:u,minuteInterval:c=5,inputProps:p,placement:m,onTimeChange:f})=>{const{isOpen:M,onOpen:h,onClose:x}=a.useDisclosure(),[v,k]=e.useState(u),b=e.useMemo((()=>{if(!u)return;const e=new Date(u),t=e.getHours();let r=t;return t>12&&(r=t-12),0===t&&(r=12),{hours:r.toString(),minutes:e.getMinutes().toString(),meridiem:e.getHours()>11?exports.Meridiem.PM:exports.Meridiem.AM}}),[u]),[g,C]=e.useState(null==b?void 0:b.hours),[E,T]=e.useState(null==b?void 0:b.minutes),[y,S]=e.useState(null==b?void 0:b.meridiem),A=e.useMemo((()=>v?n.format(v,"h:mm aa"):""),[v]),O=e=>{const t=e.toString();return 1===t.length?`0${t}`:t},j=e.useMemo((()=>[12,1,2,3,4,5,6,7,8,9,10,11].map((e=>e.toString()))),[]),w=e.useMemo((()=>{const e=[];for(let t=0;t<60;t+=c)e.push(t);return e.map(O)}),[c]),P=[exports.Meridiem.AM,exports.Meridiem.PM],q=e.useCallback(((e,t,r)=>{const n=e||"12",o=t||"00",i=r||"AM";let l=0;e||C("12"),t||T("00"),r||S("AM"),i===exports.Meridiem.PM&&Number(n)<12&&(l=12),i===exports.Meridiem.AM&&12===Number(n)&&(l=-12);const a=Number(n)+l,u=(new Date).setHours(a,Number(o),0,0),s=new Date(u);k(s),f&&f(s)}),[f]),z=e.useCallback((e=>{C(e),q(e,E,y)}),[q,y,E]),I=e.useCallback((e=>{T(e),q(g,e,y)}),[q,g,y]),R=e.useCallback((e=>{S(e),q(g,E,e)}),[q,g,E]);return s.default.createElement(r.Popover,{isOpen:M,onOpen:h,onClose:x,placement:m,contentProps:{width:"max-content"},variant:"default",size:"sm",anchor:s.default.createElement(i.Box,{w:"100%"},s.default.createElement(o.WrappedTextInput,Object.assign({placeholder:"12:00 AM",rightElement:s.default.createElement(i.Flex,{cursor:(null==p?void 0:p.isDisabled)?"not-allowed":"pointer",h:"100%",align:"center"},s.default.createElement(t.Icon,{size:l.useIconTextSizeMap((null==p?void 0:p.size)||"md"),name:"clock"})),value:A,isReadOnly:!0,cursor:"pointer"},p)))},s.default.createElement(i.Flex,{height:"186px",gap:1.5,overflow:"hidden"},s.default.createElement(d,{options:j,optionType:"hour",selectedValue:g,handleClick:z,isOpen:M}),s.default.createElement(d,{options:w,optionType:"minute",selectedValue:E?O(E):void 0,handleClick:I,isOpen:M}),s.default.createElement(d,{options:P,optionType:"meridiem",selectedValue:y,handleClick:R,isOpen:M})))};
2
- //# sourceMappingURL=timePicker.component-8b9103d5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timePicker.component-8b9103d5.js","sources":["../src/components/TimePicker/components/timeOption.component.tsx","../src/components/TimePicker/components/scrollContainer.component.tsx","../src/components/TimePicker/timePicker.types.ts","../src/components/TimePicker/timePicker.component.tsx"],"sourcesContent":["import React, { MutableRefObject, useCallback } from 'react';\nimport { Box } from '@chakra-ui/react';\n\ninterface TimeOptionProps {\n value: string;\n innerRef?: MutableRefObject<HTMLDivElement | null> | null;\n isSelected: boolean;\n handleClick: (selectedValue: string) => void;\n}\n\nexport const TimeOption = ({ value, innerRef, isSelected, handleClick }: TimeOptionProps): JSX.Element => {\n const onClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedValue = event.currentTarget.textContent || '';\n handleClick(selectedValue);\n },\n [handleClick],\n );\n\n return (\n <Box\n ref={innerRef}\n onClick={onClick}\n background={isSelected ? 'background.primary' : 'background.default'}\n color={isSelected ? 'text.onContrast' : 'text.subtle'}\n fontSize=\"sm\"\n textAlign=\"center\"\n px={3}\n py={1}\n borderRadius=\"md\"\n cursor=\"pointer\"\n _hover={{\n background: isSelected ? 'background.primary.hover' : 'background.primaryAlpha.hover',\n }}\n >\n {value}\n </Box>\n );\n};\n","import React, { useEffect, useRef } from 'react';\nimport { Flex } from '@chakra-ui/react';\nimport { TimeOption } from './timeOption.component';\n\ninterface ScrollContainerProps {\n options: string[];\n optionType: 'hour' | 'minute' | 'meridiem';\n selectedValue?: string;\n handleClick: (value: string) => void;\n isOpen: boolean;\n}\n\nexport const ScrollContainer = ({\n options,\n optionType,\n selectedValue,\n handleClick,\n isOpen = false,\n}: ScrollContainerProps): JSX.Element => {\n const itemRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (isOpen && containerRef.current && itemRef.current) {\n containerRef.current.scrollTop = itemRef.current?.offsetTop - containerRef.current?.offsetTop;\n }\n }, [isOpen]);\n\n return (\n <Flex\n direction=\"column\"\n gap={1}\n ref={containerRef}\n overflowY=\"auto\"\n sx={{\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n }}\n >\n {options.map((option) => {\n return (\n <TimeOption\n key={`${optionType}-option-${option}`}\n innerRef={option === selectedValue ? itemRef : null}\n value={option}\n isSelected={option === selectedValue}\n handleClick={handleClick}\n />\n );\n })}\n </Flex>\n );\n};\n","export enum Meridiem {\n AM = 'AM',\n PM = 'PM',\n}\n","import React, { useCallback, useMemo, useState } from 'react';\nimport { PlacementWithLogical, Box, Flex, useDisclosure } from '@chakra-ui/react';\nimport { Icon } from '../Icon/icon.component';\nimport { Popover } from '../Popover/popover.component';\nimport format from 'date-fns/format';\nimport { TextInput, TextInputProps } from '../TextInput/textInput.component';\nimport { ScrollContainer } from './components/scrollContainer.component';\nimport { Meridiem } from './timePicker.types';\nimport { useIconTextSizeMap } from 'shared/hooks/useIconTextSizeMap';\n\nexport interface TimePickerProps {\n initialTime?: Date;\n minuteInterval?: number;\n inputProps?: Omit<TextInputProps, 'onChange' | 'value' | 'isClearable' | 'onClear'>;\n placement?: PlacementWithLogical;\n onTimeChange?: (time: Date) => void;\n}\n\nexport const TimePicker = ({\n initialTime,\n minuteInterval = 5,\n inputProps,\n placement,\n onTimeChange,\n}: TimePickerProps): JSX.Element => {\n const { isOpen, onOpen, onClose } = useDisclosure();\n\n // selectedTime should always be UTC\n const [selectedTime, setSelectedTime] = useState(initialTime);\n\n const initialFormattedTime = useMemo(() => {\n if (!initialTime) return;\n\n const localTime = new Date(initialTime);\n\n // calculate hours\n const hours = localTime.getHours();\n let adjustedHours = hours;\n\n if (hours > 12) {\n adjustedHours = hours - 12;\n }\n if (hours === 0) {\n adjustedHours = 12;\n }\n\n return {\n hours: adjustedHours.toString(),\n minutes: localTime.getMinutes().toString(),\n meridiem: localTime.getHours() > 11 ? Meridiem.PM : Meridiem.AM,\n };\n }, [initialTime]);\n\n // convert to local time for display\n const [selectedHour, setSelectedHour] = useState(initialFormattedTime?.hours);\n const [selectedMinute, setSelectedMinute] = useState(initialFormattedTime?.minutes);\n const [selectedMeridiem, setSelectedMeridiem] = useState<string | undefined>(initialFormattedTime?.meridiem);\n\n const formattedTime = useMemo(() => {\n if (!selectedTime) return '';\n return format(selectedTime, 'h:mm aa');\n }, [selectedTime]);\n\n const formatNumber = (number: number | string): string => {\n const formattedValue = number.toString();\n if (formattedValue.length === 1) {\n return `0${formattedValue}`;\n }\n\n return formattedValue;\n };\n\n const hourOptions = useMemo(() => {\n return [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map((hour) => hour.toString());\n }, []);\n\n const minuteOptions = useMemo(() => {\n const minutes = [];\n for (let i = 0; i < 60; i += minuteInterval) {\n minutes.push(i);\n }\n\n return minutes.map(formatNumber);\n }, [minuteInterval]);\n\n const meridiemOptions = [Meridiem.AM, Meridiem.PM];\n\n const handleTimeChange = useCallback(\n (hour?: string, minute?: string, meridiem?: string) => {\n const _hour = hour || '12';\n const _minute = minute || '00';\n const _meridiem = meridiem || 'AM';\n let meridiemAdjustment = 0;\n\n if (!hour) {\n setSelectedHour('12');\n }\n if (!minute) {\n setSelectedMinute('00');\n }\n if (!meridiem) {\n setSelectedMeridiem('AM');\n }\n\n // set 1-11pm to 13-23. Don't set 12pm to 24\n if (_meridiem === Meridiem.PM && Number(_hour) < 12) {\n meridiemAdjustment = 12;\n }\n\n // set 12am to 00\n if (_meridiem === Meridiem.AM && Number(_hour) === 12) {\n meridiemAdjustment = -12;\n }\n\n const hours = Number(_hour) + meridiemAdjustment;\n const time = new Date().setHours(hours, Number(_minute), 0, 0);\n const date = new Date(time);\n setSelectedTime(date);\n\n if (onTimeChange) {\n onTimeChange(date);\n }\n },\n [onTimeChange],\n );\n\n const handleHourClick = useCallback(\n (value: string) => {\n setSelectedHour(value);\n handleTimeChange(value, selectedMinute, selectedMeridiem);\n },\n [handleTimeChange, selectedMeridiem, selectedMinute],\n );\n\n const handleMinuteClick = useCallback(\n (value: string) => {\n setSelectedMinute(value);\n handleTimeChange(selectedHour, value, selectedMeridiem);\n },\n [handleTimeChange, selectedHour, selectedMeridiem],\n );\n\n const handleMeridiemClick = useCallback(\n (value: string) => {\n setSelectedMeridiem(value);\n handleTimeChange(selectedHour, selectedMinute, value);\n },\n [handleTimeChange, selectedHour, selectedMinute],\n );\n\n return (\n <Popover\n isOpen={isOpen}\n onOpen={onOpen}\n onClose={onClose}\n placement={placement}\n contentProps={{ width: 'max-content' }}\n variant=\"default\"\n size=\"sm\"\n anchor={\n <Box w=\"100%\">\n <TextInput\n placeholder=\"12:00 AM\"\n rightElement={\n <Flex cursor={inputProps?.isDisabled ? 'not-allowed' : 'pointer'} h=\"100%\" align=\"center\">\n <Icon size={useIconTextSizeMap(inputProps?.size || 'md')} name=\"clock\" />\n </Flex>\n }\n value={formattedTime}\n isReadOnly\n cursor={'pointer'}\n {...inputProps}\n />\n </Box>\n }\n >\n <Flex height=\"186px\" gap={1.5} overflow=\"hidden\">\n <ScrollContainer\n options={hourOptions}\n optionType=\"hour\"\n selectedValue={selectedHour}\n handleClick={handleHourClick}\n isOpen={isOpen}\n />\n <ScrollContainer\n options={minuteOptions}\n optionType=\"minute\"\n selectedValue={selectedMinute ? formatNumber(selectedMinute) : undefined}\n handleClick={handleMinuteClick}\n isOpen={isOpen}\n />\n <ScrollContainer\n options={meridiemOptions}\n optionType=\"meridiem\"\n selectedValue={selectedMeridiem}\n handleClick={handleMeridiemClick}\n isOpen={isOpen}\n />\n </Flex>\n </Popover>\n );\n};\n"],"names":["TimeOption","value","innerRef","isSelected","handleClick","onClick","useCallback","event","selectedValue","currentTarget","textContent","React","createElement","Box","ref","background","color","fontSize","textAlign","px","py","borderRadius","cursor","_hover","ScrollContainer","options","optionType","isOpen","itemRef","useRef","containerRef","useEffect","current","scrollTop","_a","offsetTop","_b","Flex","direction","gap","overflowY","sx","display","map","option","key","Meridiem","initialTime","minuteInterval","inputProps","placement","onTimeChange","onOpen","onClose","useDisclosure","selectedTime","setSelectedTime","useState","initialFormattedTime","useMemo","localTime","Date","hours","getHours","adjustedHours","toString","minutes","getMinutes","meridiem","PM","AM","selectedHour","setSelectedHour","selectedMinute","setSelectedMinute","selectedMeridiem","setSelectedMeridiem","formattedTime","format","formatNumber","number","formattedValue","length","hourOptions","hour","minuteOptions","i","push","meridiemOptions","handleTimeChange","minute","_hour","_minute","_meridiem","meridiemAdjustment","Number","time","setHours","date","handleHourClick","handleMinuteClick","handleMeridiemClick","Popover","contentProps","width","variant","size","anchor","w","TextInput","Object","assign","placeholder","rightElement","isDisabled","h","align","Icon","useIconTextSizeMap","name","isReadOnly","height","overflow","undefined"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("./tslib.es6-d6f17add.js"),s=require("react"),a=require("./chakra-ui-media-query.esm-6217de7e.js"),i=require("./chakra-ui-modal.esm-2fd23822.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=l(s);exports.Modal=s=>{var{children:l,isOpen:o,onClose:r,isCentered:t=!0,responsiveModalSizes:d,allowEscape:u=!0,useFullScreenMobile:c=!0,initialFocusRef:p,scrollBehavior:m,size:b="xl",isExpanded:x=!1}=s,f=e.__rest(s,["children","isOpen","onClose","isCentered","responsiveModalSizes","allowEscape","useFullScreenMobile","initialFocusRef","scrollBehavior","size","isExpanded"]);const v=a.useBreakpointValue({base:"full",md:b}),h=a.useBreakpointValue({base:0,md:"xl"}),k=a.useBreakpointValue({base:c?0:16,md:16});return n.default.createElement(i.Modal,Object.assign({closeOnEsc:u,closeOnOverlayClick:u,autoFocus:!!p,isOpen:o,onClose:r,scrollBehavior:m,isCentered:t,size:c||x?v:b,motionPreset:"slideInBottom"},f),n.default.createElement(i.ModalOverlay,{bg:x?"neutral.100":"blackAlpha.600",style:{transition:"background-color 0.7s ease-in-out"}}),n.default.createElement(i.ModalContent,Object.assign({backgroundColor:"background.overlay",m:k},!c&&{mx:5},{borderRadius:x?"none":c?h:"xl",minH:Object.assign({md:x?"100%":"100px"},c&&{base:"-webkit-fill-available"}),minW:{md:x?"650px":"300px"},maxH:"inside"===m?"100%":void 0,transition:"min-height 0.7s ease-in-out, min-width 0.7s ease-in-out, border-radius 0.7s ease-in-out"}),l))},exports.useExpandButton=()=>{const[e,a]=s.useState(!1);return{isExpanded:e,handleExpandClick:()=>{a((e=>!e))}}};
2
- //# sourceMappingURL=useExpandButton-62442c9f.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useExpandButton-62442c9f.js","sources":["../src/components/Modal/modal.component.tsx","../src/components/Modal/hooks/useExpandButton.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 isExpanded?: boolean;\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 isExpanded = false,\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 || isExpanded ? fullScreenMobileSize : size}\n motionPreset=\"slideInBottom\"\n {...rest}\n >\n <ModalOverlay\n bg={isExpanded ? 'neutral.100' : 'blackAlpha.600'}\n style={{ transition: 'background-color 0.7s ease-in-out' }}\n />\n <ModalContent\n backgroundColor=\"background.overlay\"\n m={modalMargin}\n {...(!useFullScreenMobile && { mx: 5 })}\n borderRadius={isExpanded ? 'none' : useFullScreenMobile ? fullScreenMobileBorderRadius : 'xl'}\n minH={{ md: isExpanded ? '100%' : '100px', ...(useFullScreenMobile && { base: '-webkit-fill-available' }) }}\n minW={{ md: isExpanded ? '650px' : '300px' }}\n maxH={scrollBehavior === 'inside' ? '100%' : undefined}\n transition=\"min-height 0.7s ease-in-out, min-width 0.7s ease-in-out, border-radius 0.7s ease-in-out\"\n >\n {children}\n </ModalContent>\n </CModal>\n );\n\n return Modal;\n};\n","import { useState } from \"react\";\n\ninterface UseExpandButtonOutput {\n isExpanded: boolean;\n handleExpandClick: () => void;\n}\n\nexport const useExpandButton = (): UseExpandButtonOutput => {\n const [isExpanded, setIsExpanded] = useState(false);\n \n const handleExpandClick = (): void => {\n setIsExpanded(currentValue => !currentValue);\n };\n \n return { isExpanded, handleExpandClick };\n}\n"],"names":["_a","children","isOpen","onClose","isCentered","responsiveModalSizes","allowEscape","useFullScreenMobile","initialFocusRef","scrollBehavior","size","isExpanded","rest","__rest","fullScreenMobileSize","useBreakpointValue","base","md","fullScreenMobileBorderRadius","modalMargin","React","createElement","CModal","closeOnEsc","closeOnOverlayClick","autoFocus","motionPreset","ModalOverlay","bg","style","transition","ModalContent","backgroundColor","m","mx","borderRadius","minH","Object","assign","minW","maxH","undefined","setIsExpanded","useState","handleExpandClick","currentValue"],"mappings":"8QAyBsBA,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,KAAIC,WACXA,GAAa,GAEFX,EADRY,EAAIC,SAAAb,EAZa,gKAepB,MAAMc,EAAuBC,EAAAA,mBAAmB,CAAEC,KAAM,OAAQC,GAAIP,IAC9DQ,EAA+BH,EAAAA,mBAAmB,CAAEC,KAAM,EAAGC,GAAI,OACjEE,EAAcJ,qBAAmB,CAAEC,KAAMT,EAAsB,EAAI,GAAIU,GAAI,KAkCjF,OA/BEG,EAAAA,QAACC,cAAAC,EAAAA,qBACCC,WAAYjB,EACZkB,oBAAqBlB,EACrBmB,YAAajB,EACbN,OAAQA,EACRC,QAASA,EACTM,eAAgBA,EAChBL,WAAYA,EACZM,KAAMH,GAAuBI,EAAaG,EAAuBJ,EACjEgB,aAAa,iBACTd,GAEJQ,EAAAA,QAACC,cAAAM,gBACCC,GAAIjB,EAAa,cAAgB,iBACjCkB,MAAO,CAAEC,WAAY,uCAEvBV,EAAAA,QAACC,cAAAU,8BACCC,gBAAgB,qBAChBC,EAAGd,IACGZ,GAAuB,CAAE2B,GAAI,GACnC,CAAAC,aAAcxB,EAAa,OAASJ,EAAsBW,EAA+B,KACzFkB,KAAQC,OAAAC,OAAA,CAAArB,GAAIN,EAAa,OAAS,SAAaJ,GAAuB,CAAES,KAAM,2BAC9EuB,KAAM,CAAEtB,GAAIN,EAAa,QAAU,SACnC6B,KAAyB,WAAnB/B,EAA8B,YAASgC,EAC7CX,WAAW,4FAEV7B,6BChEsB,KAC7B,MAAOU,EAAY+B,GAAiBC,EAAQA,UAAC,GAM7C,MAAO,CAAEhC,WAAAA,EAAYiC,kBAJK,KACxBF,GAAcG,IAAiBA"}