@bikdotai/bik-component-library 0.0.796-beta.5 → 0.0.796-beta.7

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 (175) hide show
  1. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/InTheLast.js +1 -1
  2. package/dist/cjs/components/QueryBuilder/components/Connectors/Components/InTwoLast.js +1 -1
  3. package/dist/cjs/components/QueryBuilder/constants/connector.js +1 -1
  4. package/dist/cjs/components/QueryBuilder/helpers/Connector.helper.js +1 -1
  5. package/dist/cjs/components/QueryBuilder/types/QueryBuilderEnum.type.d.ts +1 -2
  6. package/dist/cjs/components/QueryBuilder/types/QueryBuilderEnum.type.js +1 -1
  7. package/dist/cjs/components/analytics-chips-and-dropdowns/index.d.ts +0 -1
  8. package/dist/cjs/components/avatar/Avatar.d.ts +2 -1
  9. package/dist/cjs/components/avatar/Avatar.js +1 -1
  10. package/dist/cjs/components/avatar/AvatarHelper.d.ts +2 -0
  11. package/dist/cjs/components/avatar/AvatarHelper.js +1 -1
  12. package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.d.ts +33 -0
  13. package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js +1 -0
  14. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2.model.d.ts +27 -0
  15. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.d.ts +13 -0
  16. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +1 -0
  17. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.d.ts +44 -0
  18. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +289 -0
  19. package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.d.ts +3 -0
  20. package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +1 -0
  21. package/dist/cjs/components/bik-layout/MockMenus.d.ts +1 -0
  22. package/dist/cjs/components/bik-layout/index.d.ts +2 -1
  23. package/dist/cjs/components/button/Button.styled.d.ts +1 -1
  24. package/dist/cjs/components/button/model.d.ts +1 -1
  25. package/dist/cjs/components/button/themes.d.ts +1 -1
  26. package/dist/cjs/components/country-code-picker/CountryCodePicker.d.ts +1 -1
  27. package/dist/cjs/components/country-code-picker/CountryPicker.d.ts +1 -1
  28. package/dist/cjs/components/dropdown/Dropdown.js +1 -1
  29. package/dist/cjs/components/dropdown/DropdownPopover/index.js +1 -1
  30. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
  31. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.d.ts +1 -1
  32. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +6 -5
  33. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.d.ts +1 -1
  34. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.styled.d.ts +1 -1
  35. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.d.ts +1 -1
  36. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.d.ts +1 -1
  37. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +7 -7
  38. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.d.ts +1 -1
  39. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.d.ts +1 -1
  40. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.d.ts +1 -1
  41. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.d.ts +1 -1
  42. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
  43. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.d.ts +1 -0
  44. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +1 -1
  45. package/dist/cjs/components/dropdown/type.d.ts +1 -1
  46. package/dist/cjs/components/fab-menu/FABMenu.d.ts +1 -1
  47. package/dist/cjs/components/icon-button/IconButton.js +1 -1
  48. package/dist/cjs/components/icon-button/IconButton.styled.d.ts +1 -0
  49. package/dist/cjs/components/icon-button/IconButton.styled.js +3 -3
  50. package/dist/cjs/components/icon-button/model.d.ts +5 -0
  51. package/dist/cjs/components/input/Input.js +1 -1
  52. package/dist/cjs/components/input/Input.model.d.ts +2 -1
  53. package/dist/cjs/components/input/Input.styled.d.ts +16 -1
  54. package/dist/cjs/components/input/Input.styled.js +1 -1
  55. package/dist/cjs/components/input/index.d.ts +0 -1
  56. package/dist/cjs/components/list-item/List.model.d.ts +1 -1
  57. package/dist/cjs/components/list-item/ListItem.js +1 -1
  58. package/dist/cjs/components/list-item/ListItem.styled.d.ts +1 -1
  59. package/dist/cjs/components/list-item/ListItem.styled.js +1 -1
  60. package/dist/cjs/components/list-item/themes.d.ts +2 -2
  61. package/dist/cjs/components/list-item/themes.js +1 -1
  62. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.d.ts +1 -0
  63. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js +1 -1
  64. package/dist/cjs/components/multi-level-dropdown/MenuItem.d.ts +1 -0
  65. package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
  66. package/dist/cjs/components/multi-level-dropdown/MenuList.d.ts +1 -0
  67. package/dist/cjs/components/multi-level-dropdown/MenuList.js +1 -1
  68. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js +1 -1
  69. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.d.ts +13 -3
  70. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js +33 -30
  71. package/dist/cjs/components/multi-level-dropdown/type.d.ts +1 -0
  72. package/dist/cjs/components/tag/Tag.d.ts +1 -1
  73. package/dist/cjs/components/tag/Tag.js +1 -1
  74. package/dist/cjs/components/tag/Tag.stories.d.ts +5 -5
  75. package/dist/cjs/components/tag/Tag.styled.d.ts +3 -1
  76. package/dist/cjs/components/tag/Tag.styled.js +1 -1
  77. package/dist/cjs/components/tag/model.d.ts +5 -1
  78. package/dist/cjs/components/template-context-mapper/index.d.ts +0 -1
  79. package/dist/cjs/components/whats-new/WhatsNew.d.ts +2 -0
  80. package/dist/cjs/components/whats-new/WhatsNew.js +1 -1
  81. package/dist/cjs/components/whats-new/WhatsNew.types.d.ts +2 -0
  82. package/dist/cjs/components/whats-new/WhatsNewButton.js +1 -1
  83. package/dist/cjs/constants/Theme.d.ts +6 -0
  84. package/dist/cjs/constants/Theme.js +1 -1
  85. package/dist/cjs/icons/Arrows/Chevron/ChevronUp.d.ts +1 -2
  86. package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js +1 -1
  87. package/dist/cjs/index.js +1 -1
  88. package/dist/esm/components/QueryBuilder/components/Connectors/Components/InTheLast.js +1 -1
  89. package/dist/esm/components/QueryBuilder/components/Connectors/Components/InTwoLast.js +1 -1
  90. package/dist/esm/components/QueryBuilder/constants/connector.js +1 -1
  91. package/dist/esm/components/QueryBuilder/helpers/Connector.helper.js +1 -1
  92. package/dist/esm/components/QueryBuilder/types/QueryBuilderEnum.type.d.ts +1 -2
  93. package/dist/esm/components/QueryBuilder/types/QueryBuilderEnum.type.js +1 -1
  94. package/dist/esm/components/analytics-chips-and-dropdowns/index.d.ts +0 -1
  95. package/dist/esm/components/avatar/Avatar.d.ts +2 -1
  96. package/dist/esm/components/avatar/Avatar.js +1 -1
  97. package/dist/esm/components/avatar/AvatarHelper.d.ts +2 -0
  98. package/dist/esm/components/avatar/AvatarHelper.js +1 -1
  99. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.d.ts +33 -0
  100. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js +1 -0
  101. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2.model.d.ts +27 -0
  102. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.d.ts +13 -0
  103. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +1 -0
  104. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.d.ts +44 -0
  105. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +289 -0
  106. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.d.ts +3 -0
  107. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +1 -0
  108. package/dist/esm/components/bik-layout/MockMenus.d.ts +1 -0
  109. package/dist/esm/components/bik-layout/index.d.ts +2 -1
  110. package/dist/esm/components/button/Button.styled.d.ts +1 -1
  111. package/dist/esm/components/button/model.d.ts +1 -1
  112. package/dist/esm/components/button/themes.d.ts +1 -1
  113. package/dist/esm/components/country-code-picker/CountryCodePicker.d.ts +1 -1
  114. package/dist/esm/components/country-code-picker/CountryPicker.d.ts +1 -1
  115. package/dist/esm/components/dropdown/Dropdown.js +1 -1
  116. package/dist/esm/components/dropdown/DropdownPopover/index.js +1 -1
  117. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
  118. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.d.ts +1 -1
  119. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +3 -2
  120. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.d.ts +1 -1
  121. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.d.ts +1 -1
  122. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.d.ts +1 -1
  123. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.d.ts +1 -1
  124. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +1 -1
  125. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.d.ts +1 -1
  126. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.d.ts +1 -1
  127. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.d.ts +1 -1
  128. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.d.ts +1 -1
  129. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
  130. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.d.ts +1 -0
  131. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +1 -1
  132. package/dist/esm/components/dropdown/type.d.ts +1 -1
  133. package/dist/esm/components/fab-menu/FABMenu.d.ts +1 -1
  134. package/dist/esm/components/icon-button/IconButton.js +1 -1
  135. package/dist/esm/components/icon-button/IconButton.styled.d.ts +1 -0
  136. package/dist/esm/components/icon-button/IconButton.styled.js +1 -1
  137. package/dist/esm/components/icon-button/model.d.ts +5 -0
  138. package/dist/esm/components/input/Input.js +1 -1
  139. package/dist/esm/components/input/Input.model.d.ts +2 -1
  140. package/dist/esm/components/input/Input.styled.d.ts +16 -1
  141. package/dist/esm/components/input/Input.styled.js +1 -1
  142. package/dist/esm/components/input/index.d.ts +0 -1
  143. package/dist/esm/components/list-item/List.model.d.ts +1 -1
  144. package/dist/esm/components/list-item/ListItem.js +1 -1
  145. package/dist/esm/components/list-item/ListItem.styled.d.ts +1 -1
  146. package/dist/esm/components/list-item/ListItem.styled.js +1 -1
  147. package/dist/esm/components/list-item/themes.d.ts +2 -2
  148. package/dist/esm/components/list-item/themes.js +1 -1
  149. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.d.ts +1 -0
  150. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js +1 -1
  151. package/dist/esm/components/multi-level-dropdown/MenuItem.d.ts +1 -0
  152. package/dist/esm/components/multi-level-dropdown/MenuItem.js +1 -1
  153. package/dist/esm/components/multi-level-dropdown/MenuList.d.ts +1 -0
  154. package/dist/esm/components/multi-level-dropdown/MenuList.js +1 -1
  155. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js +1 -1
  156. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.d.ts +13 -3
  157. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js +32 -29
  158. package/dist/esm/components/multi-level-dropdown/type.d.ts +1 -0
  159. package/dist/esm/components/tag/Tag.d.ts +1 -1
  160. package/dist/esm/components/tag/Tag.js +1 -1
  161. package/dist/esm/components/tag/Tag.stories.d.ts +5 -5
  162. package/dist/esm/components/tag/Tag.styled.d.ts +3 -1
  163. package/dist/esm/components/tag/Tag.styled.js +1 -1
  164. package/dist/esm/components/tag/model.d.ts +5 -1
  165. package/dist/esm/components/template-context-mapper/index.d.ts +0 -1
  166. package/dist/esm/components/whats-new/WhatsNew.d.ts +2 -0
  167. package/dist/esm/components/whats-new/WhatsNew.js +1 -1
  168. package/dist/esm/components/whats-new/WhatsNew.types.d.ts +2 -0
  169. package/dist/esm/components/whats-new/WhatsNewButton.js +1 -1
  170. package/dist/esm/constants/Theme.d.ts +6 -0
  171. package/dist/esm/constants/Theme.js +1 -1
  172. package/dist/esm/icons/Arrows/Chevron/ChevronUp.d.ts +1 -2
  173. package/dist/esm/icons/Arrows/Chevron/ChevronUp.js +1 -1
  174. package/dist/esm/index.js +1 -1
  175. package/package.json +1 -2
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { Menu } from './SidebarV2.model';
3
+ export interface MenuItemV2 {
4
+ key: string | number;
5
+ displayName: string;
6
+ icon: React.FunctionComponent<React.SVGAttributes<SVGElement>>;
7
+ activeIcon: React.FunctionComponent<React.SVGAttributes<SVGElement>>;
8
+ hoverIcon: React.FunctionComponent<React.SVGAttributes<SVGElement>>;
9
+ isLastSticky?: boolean;
10
+ is2ndLastSticky?: boolean;
11
+ children?: Menu[];
12
+ showAccessUpgradePanel?: boolean;
13
+ path?: string;
14
+ layout?: 'fullScreen' | 'popup' | string | undefined;
15
+ isNew?: boolean;
16
+ isLocked?: boolean;
17
+ }
18
+ export interface BikSidebarV2Props {
19
+ logoSvg?: JSX.Element;
20
+ allMenuList: MenuItemV2[];
21
+ activeMainMenu: MenuItemV2;
22
+ activeSubMenu: Menu;
23
+ router: any;
24
+ onClickingMainMenu: (menu: MenuItemV2) => void;
25
+ onClickingSubMenu: (subMenu: Menu) => void;
26
+ onClickingAccessUpgradePanel?: () => void;
27
+ onClickingPopupMenuItem?: (menu: Menu) => void;
28
+ popupMinHeight?: number;
29
+ isNewSidebar?: boolean;
30
+ onboardingPercentage?: number;
31
+ menuStyle?: React.CSSProperties;
32
+ }
33
+ export declare const BikSidebarV2: React.FC<BikSidebarV2Props>;
@@ -0,0 +1 @@
1
+ import{jsxs as e,jsx as i,Fragment as n}from"react/jsx-runtime";import o from"../../../assets/icons/Bik_logo.svg.js";import t from"../../../assets/icons/locked.svg.js";import{useState as l,useRef as s,useMemo as r,useEffect as d,useCallback as c,Fragment as u}from"react";import a from"../../progress-bar/CircularProgressBar.js";import{COLORS as v}from"../../../constants/Theme.js";import{NavigationHyperlink as p}from"../../navigation-hyperlink/NavigationHyperlink.js";import{SidebarV2Popup as g}from"./SidebarV2Popup.js";import{SideBarV2Container as h,MainSideBarV2MenuWrapper as m,SibeBarV2MenuItem as y,SidebarMainMenu as k,SidebarMenuItemInner as M,SidebarNewTag as b,SidebarLockedChannel as L,SidebarMenuItemContainer as S,SidebarMenuItemText as w}from"./SidebarV2Styles.js";import{SimpleSidebarV2 as j}from"./SimpleSidebarV2.js";const f=t=>{const{logoSvg:v,allMenuList:b,activeMainMenu:L,activeSubMenu:S,router:w,onClickingMainMenu:f,onClickingSubMenu:C,onClickingAccessUpgradePanel:I,onClickingPopupMenuItem:N,popupMinHeight:O,isNewSidebar:P,menuStyle:A}=t,[B,E]=l(L),[F,_]=l(),[x,D]=l(S),[T,U]=l(!1),[R,V]=l(),[z,K]=l(),[W,q]=l(),G=s(null),J=r((()=>b.filter((e=>e.is2ndLastSticky||e.isLastSticky)).length),[b]);d((()=>{E(L)}),[L]),d((()=>{D(S)}),[S]);const Q=c((e=>{var i;"popup"!==(null==e?void 0:e.layout)&&(V(void 0),_(void 0),U(!0),E(e),e.path||f(e),(null===(i=null==e?void 0:e.children)||void 0===i?void 0:i.length)?D(null==e?void 0:e.children[0]):D({}),_(void 0),setTimeout((()=>{U(!1)}),1e3))}),[f]),X=c((e=>{var i,n;if($(),_(void 0),V(void 0),"popup"==(null==e?void 0:e.layout)){const i=ie();i&&K(i),V(e)}else{const o=document.getElementById((null===(n=null===(i=e.displayName)||void 0===i?void 0:i.split(" "))||void 0===n?void 0:n.join(""))||e.key.toString());if(o){const i=Y(o,e);q(i)}_(e)}}),[]),Y=(e,i)=>{const n=e.getBoundingClientRect();let o=n.top;if(window.innerHeight<=768)return o;if(i.isLastSticky||i.is2ndLastSticky){const e=window.innerHeight-n.bottom;o=n.top+e-200}return o};d((()=>{const e=()=>{const e=ie();e&&K(e),Z()};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]);const Z=()=>{const e=document.getElementById("_sub-menu"),i=null==e?void 0:e.getBoundingClientRect().height;i&&q(window.innerHeight-i)},$=c((()=>{G.current&&(clearTimeout(G.current),G.current=null)}),[]),ee=c((()=>{$(),G.current=setTimeout((()=>{_(void 0),V(void 0)}),150)}),[$]),ie=()=>{var e,i;if(R){const n=(null===(i=null===(e=R.displayName)||void 0===e?void 0:e.split(" "))||void 0===i?void 0:i.join(""))+"_sub"||R.key.toString()+"_sub",o=document.getElementById(n);if(o){const e=o.getBoundingClientRect();let i=e.top;const n=null!=O?O:320;return e.bottom+n>window.innerHeight&&(i-=e.bottom+n-window.innerHeight),i}return null}};return e(h,{children:[i("div",Object.assign({className:"bik-header-logo",onClick:()=>{},onKeyDown:()=>{},"aria-hidden":"true"},{children:v||i(o,{})})),e(m,Object.assign({style:A},{children:[null==b?void 0:b.map(((o,t)=>{var l,s;return e(u,{children:[o.path?i(p,Object.assign({href:o.path,router:w},{children:i(H,{option:o,index:t,onClickMainMenuLogic:Q,setHandleHoverForFullLayout:X,isDisabled:T,setHoveredComp:_,setPopupMenu:V,mainActiveMenu:B,hoveredComp:F,popupMenu:R,onMouseLeaveMenuItem:ee})})):i(H,{option:o,index:t,onClickMainMenuLogic:Q,setHandleHoverForFullLayout:X,isDisabled:T,setHoveredComp:_,setPopupMenu:V,mainActiveMenu:B,hoveredComp:F,popupMenu:R,onMouseLeaveMenuItem:ee}),e(n,{children:["popup"===o.layout&&(null===(l=null==R?void 0:R.children)||void 0===l?void 0:l.length)&&i(g,{top:null!=z?z:void 0,menuList:null==R?void 0:R.children,onClickingPopupMenu:e=>{N&&N(e),V(void 0)},onMouseEnterOnMenu:$,onMouseLeaveOnMenu:ee}),(null===(s=null==F?void 0:F.children)||void 0===s?void 0:s.length)&&i(j,{menuList:null==F?void 0:F.children,width:200,activeMenu:x,onMouseEnterOnMenu:$,onMouseLeaveOnMenu:()=>_(void 0),left:78,postion:"fixed",header:F.displayName,theme:"brand",router:w,showAccessUpgradePanel:F.showAccessUpgradePanel,onMenuClick:(e,i)=>{D(e),E(F),_(void 0),V(void 0),i&&C(e)},onUpgrade:I,top:P&&W||0,isNewSidebar:P})]})]},t)})),"number"==typeof t.onboardingPercentage&&i(y,{children:i(k,{children:i(M,Object.assign({id:"bik-onboarding__checklist",stickyBottom:0===J?0:1===J?64:128},{children:i(a,{percentage:t.onboardingPercentage,width:48})}))})})]}))]})},C=e=>{const{icon:o,isActive:t,activeStateIcon:l}=e,s=o;return i(n,{children:t?i(l,{width:16,height:16,color:v.content.primaryInverse}):i(s,{width:16,height:16,color:v.content.secondaryInverse})})},H=n=>{let{option:o,index:l,onClickMainMenuLogic:s,setHandleHoverForFullLayout:r,isDisabled:d,mainActiveMenu:c,hoveredComp:u,popupMenu:a,onMouseLeaveMenuItem:v}=n;var p,g,h,m,j,f;return i(y,{children:e(k,Object.assign({id:(null===(g=null===(p=o.displayName)||void 0===p?void 0:p.split(" "))||void 0===g?void 0:g.join(""))||o.key.toString(),onClick:()=>!d&&s(o),onMouseEnter:()=>{r(o)},onMouseLeave:v,onFocus:()=>{},"aria-hidden":"true"},{children:[o.isNew&&i(b,Object.assign({isLastSticky:o.isLastSticky},{children:"NEW"})),o.isLocked&&i(L,Object.assign({isLastSticky:o.isLastSticky,is2ndLastSticky:o.is2ndLastSticky},{children:i(t,{height:16,width:16})})),e(M,Object.assign({id:(null===(m=null===(h=o.displayName)||void 0===h?void 0:h.split(" "))||void 0===m?void 0:m.join(""))+"_sub"||o.key.toString()+"_sub",isActive:(null==c?void 0:c.key)===o.key,isLastSticky:o.isLastSticky,is2ndLastSticky:o.is2ndLastSticky,isHovered:o.key===(null==u?void 0:u.key),isNew:o.isNew},{children:[i(C,{icon:o.icon,isActive:o.key==(null==c?void 0:c.key),activeStateIcon:null!==(j=o.activeIcon)&&void 0!==j?j:{},hoverStateIcon:null!==(f=o.hoverIcon)&&void 0!==f?f:{},isHovered:o.key==(null==u?void 0:u.key)||o.key==(null==a?void 0:a.key)}),i(S,{children:i(w,Object.assign({isActive:(null==o?void 0:o.key)===(null==c?void 0:c.key)},{children:o.displayName}))})]}),l)]}),l)})};export{f as BikSidebarV2};
@@ -0,0 +1,27 @@
1
+ export interface Menu {
2
+ key: string | number;
3
+ displayName: string;
4
+ description?: string;
5
+ path?: string;
6
+ page?: string;
7
+ isNew?: string;
8
+ }
9
+ export type SidebarV2Theme = 'brand' | 'white';
10
+ export interface SimpleSidebarV2Props {
11
+ menuList: Menu[];
12
+ activeMenu: Menu;
13
+ theme: SidebarV2Theme;
14
+ showAccessUpgradePanel?: boolean;
15
+ header?: string;
16
+ width?: number;
17
+ zIndex?: number;
18
+ left?: number;
19
+ postion?: 'fixed' | 'sticky';
20
+ top?: number;
21
+ router: any;
22
+ onMouseLeaveOnMenu?: () => void;
23
+ onMouseEnterOnMenu?: () => void;
24
+ onMenuClick: (menuSelected: Menu, reDirect?: boolean) => void;
25
+ onUpgrade?: () => void;
26
+ isNewSidebar?: boolean;
27
+ }
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { Menu } from './SidebarV2.model';
3
+ export interface SidebarV2PopupI {
4
+ menuList: Menu[];
5
+ width?: number;
6
+ zIndex?: number;
7
+ left?: number;
8
+ top?: number;
9
+ onMouseLeaveOnMenu?: () => void;
10
+ onMouseEnterOnMenu?: () => void;
11
+ onClickingPopupMenu: (menuSelected: Menu, reDirect?: boolean) => void;
12
+ }
13
+ export declare const SidebarV2Popup: React.FC<SidebarV2PopupI>;
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as n}from"react/jsx-runtime";import{TitleRegular as s,BodySecondary as t}from"../../TypographyStyle.js";import{SidebarV2PopupContainer as o}from"./SidebarV2Styles.js";const i=i=>{const{top:r,menuList:l,zIndex:a,left:c,onMouseLeaveOnMenu:m,onMouseEnterOnMenu:u,onClickingPopupMenu:d}=i;return e(o,Object.assign({top:r,theme:"white",zIndex:a,left:null!=c?c:78,postion:"fixed"},{children:e("div",Object.assign({id:"_sub-menu",className:"sidebar-right-menu transform-class",onMouseEnter:u,onMouseLeave:m},{children:null==l?void 0:l.map(((o,i)=>n("div",Object.assign({className:"each-menu",style:{borderBottom:i==l.length-1?"none":void 0},onClick:()=>d(o)},{children:[e(s,Object.assign({style:{fontSize:14}},{children:o.displayName})),e(t,Object.assign({style:{fontSize:12}},{children:o.description}))]}),i)))}),"_sub-menu")}))};export{i as SidebarV2Popup};
@@ -0,0 +1,44 @@
1
+ import { SidebarV2Theme } from './SidebarV2.model';
2
+ export declare const SideBarV2Container: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export declare const MainSideBarV2MenuWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
4
+ export declare const SibeBarV2MenuItem: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export declare const SidebarMainMenu: import("styled-components").StyledComponent<"div", any, {}, never>;
6
+ export declare const SidebarNewTag: import("styled-components").StyledComponent<"div", any, {
7
+ isLastSticky?: boolean | undefined;
8
+ }, never>;
9
+ export declare const SidebarLockedChannel: import("styled-components").StyledComponent<"div", any, {
10
+ isLastSticky?: boolean | undefined;
11
+ is2ndLastSticky?: boolean | undefined;
12
+ }, never>;
13
+ export declare const SidebarMenuItemInner: import("styled-components").StyledComponent<"div", any, {
14
+ isActive?: boolean | undefined;
15
+ isHovered?: boolean | undefined;
16
+ isNew?: boolean | undefined;
17
+ isLastSticky?: boolean | undefined;
18
+ is2ndLastSticky?: boolean | undefined;
19
+ stickyBottom?: number | undefined;
20
+ }, never>;
21
+ export declare const SidebarMenuItemContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
22
+ export declare const SidebarMenuItemText: import("styled-components").StyledComponent<"div", any, {
23
+ numberOfLines?: number | undefined;
24
+ color?: string | undefined;
25
+ } & {
26
+ isActive?: boolean | undefined;
27
+ }, never>;
28
+ export declare const SimpleSidebarV2Container: import("styled-components").StyledComponent<"div", any, {
29
+ postion?: "fixed" | "sticky" | undefined;
30
+ top?: number | undefined;
31
+ theme: SidebarV2Theme;
32
+ width?: number | undefined;
33
+ zIndex?: number | undefined;
34
+ left?: number | undefined;
35
+ isNewSidebar?: boolean | undefined;
36
+ }, never>;
37
+ export declare const SidebarV2PopupContainer: import("styled-components").StyledComponent<"div", any, {
38
+ postion?: "fixed" | "sticky" | undefined;
39
+ top?: number | undefined;
40
+ theme: SidebarV2Theme;
41
+ zIndex?: number | undefined;
42
+ left?: number | undefined;
43
+ bottom?: number | undefined;
44
+ }, never>;
@@ -0,0 +1,289 @@
1
+ import e,{css as t}from"styled-components";import{BodyTiny as i}from"../../TypographyStyle.js";import{COLORS as o,BASE_COLORS as r,FONTS as n}from"../../../constants/Theme.js";const d=e.div`
2
+ background-color: #28034e;
3
+ width: 72px;
4
+ justify-content: space-between;
5
+ position: sticky;
6
+ top: 0;
7
+ left: 0;
8
+ z-index: 10;
9
+ overflow-y: auto;
10
+ height: 100vh;
11
+
12
+ .bik-header-logo {
13
+ padding: 8px 8px 0 8px;
14
+ display: flex;
15
+ flex-direction: column;
16
+ justify-content: center;
17
+ align-items: center;
18
+ width: 100%;
19
+ cursor: pointer;
20
+ img {
21
+ width: 100%;
22
+ height: 100%;
23
+ object-fit: container;
24
+ }
25
+ }
26
+ `,a=e.div`
27
+ margin: 0px 0px 16px;
28
+ padding-bottom: 8px;
29
+ `,p=e.div``,s=e.div`
30
+ padding: 0px 6px;
31
+ margin-bottom: 6px;
32
+ > * {
33
+ gap: 4px;
34
+ }
35
+ `,b=e.div`
36
+ position: absolute;
37
+ right: 5px;
38
+ background: ${o.stroke.warning.vibrant} !important;
39
+ font-size: 7.7px;
40
+ font-family: 'Inter';
41
+ line-height: 10px;
42
+ padding: 2px 9.27px 2px 9.27px;
43
+ border-radius: 16px 16px 0px 16px;
44
+ background: ${o.background.inverse};
45
+ ${e=>{let{isLastSticky:i}=e;return i&&t`
46
+ @media (min-height: 768px) {
47
+ bottom: 116px;
48
+ z-index: 1;
49
+ }
50
+ `}}
51
+ `,x=e.div`
52
+ position: absolute;
53
+ right: 10px;
54
+ margin-top: -5px;
55
+ ${e=>{let{isLastSticky:i}=e;return i&&t`
56
+ @media (min-height: 768px) {
57
+ bottom: 116px;
58
+ z-index: 1;
59
+ }
60
+ `}}
61
+ ${e=>{let{is2ndLastSticky:i}=e;return i&&t`
62
+ @media (min-height: 768px) {
63
+ bottom: 48px;
64
+ z-index: 1;
65
+ }
66
+ `}}
67
+ `,c=e.div`
68
+ display: flex;
69
+ flex-direction: column;
70
+ border-radius: 10px;
71
+ align-items: center;
72
+ justify-content: space-around;
73
+ cursor: pointer;
74
+ > * {
75
+ gap: 10px;
76
+ }
77
+ padding: 8px;
78
+
79
+ ${e=>{let{isNew:i}=e;return i&&t`
80
+ padding-top: 14px;
81
+ `}}
82
+
83
+ ${e=>{let{isActive:i}=e;return i&&t`
84
+ border-radius: 8px;
85
+ background-color: ${r.brand[850]};
86
+ color: ${o.content.primaryInverse};
87
+ box-shadow: inset 0 0 0 1px ${o.stroke.brandSubdued};
88
+ `}}
89
+
90
+ ${e=>{let{isHovered:i}=e;return i&&t`
91
+ background: ${o.background.brandHovered};
92
+ border-radius: 8px;
93
+ `}}
94
+
95
+ ${e=>{let{isActive:i,isHovered:o}=e;return i&&o&&t`
96
+ border-radius: 8px;
97
+ border: 1px solid ${r.brand[700]};
98
+ background-color: ${r.brand[800]};
99
+ `}}
100
+
101
+
102
+ ${e=>{let{isLastSticky:i}=e;return i&&t`
103
+ @media (min-height: 768px) {
104
+ position: absolute;
105
+ bottom: 72px;
106
+ left: 6px;
107
+ right: 6px;
108
+ }
109
+ `}}
110
+
111
+ ${e=>{let{is2ndLastSticky:i}=e;return i&&t`
112
+ @media (min-height: 768px) {
113
+ position: absolute;
114
+ bottom: 8px;
115
+ left: 6px;
116
+ right: 6px;
117
+ }
118
+ `}}
119
+
120
+ ${e=>{let{stickyBottom:i}=e;return void 0!==i&&t`
121
+ @media (min-height: 768px) {
122
+ position: absolute;
123
+ bottom: ${i}px;
124
+ left: 6px;
125
+ right: 6px;
126
+ }
127
+ `}}
128
+ `,l=e.div`
129
+ display: flex;
130
+ flex-direction: row;
131
+ width: 100%;
132
+ cursor: pointer;
133
+ `,u=e(i)`
134
+ user-select: none;
135
+ width: 100%;
136
+ color: ${e=>{let{isActive:t}=e;return t?o.content.primaryInverse:o.content.secondaryInverse}};
137
+ margin-bottom: 0px;
138
+ text-align: center;
139
+ `,g=e.div`
140
+ .transform-class {
141
+ position: relative;
142
+ animation: animatebottom 0.2s;
143
+ transition-timing-function: ease-out;
144
+ }
145
+ @keyframes animatebottom {
146
+ from {
147
+ opacity: 0;
148
+ }
149
+
150
+ to {
151
+ opacity: 1;
152
+ }
153
+ }
154
+ .sidebar-right-menu {
155
+ position: ${e=>e.postion?e.postion:"sticky"};
156
+ top: ${e=>e.top?e.top:0}px;
157
+ left: ${e=>e.left?e.left:0}px; //72
158
+ width: ${e=>e.width?e.width:240}px;
159
+ z-index: ${e=>e.zIndex?e.zIndex:2};
160
+ background-color: ${e=>"brand"==e.theme?o.background.inverse:o.surface.standard};
161
+ height: ${e=>e.isNewSidebar?"fit-content":"100vh"};
162
+ display: flex;
163
+ flex-direction: column;
164
+ padding: 4px;
165
+ border-radius: ${e=>e.isNewSidebar?"8px":""};
166
+
167
+ .sidebar-bridge {
168
+ position: absolute;
169
+ right: 100%;
170
+ top: 0;
171
+ width: 6px;
172
+ height: 100%;
173
+ }
174
+ }
175
+
176
+ .sub-child-menu {
177
+ display: flex;
178
+ align-items: center;
179
+ justify-content: flex-start;
180
+ margin-bottom: ${e=>e.isNewSidebar?"":"8px"};
181
+ cursor: pointer;
182
+ background: ${e=>"brand"==e.theme?o.background.inverse:"transparent"};
183
+ border-radius: 4px;
184
+ .sub-child-text {
185
+ color: ${e=>"brand"==e.theme?o.surface.standard:""};
186
+ margin-bottom: 0px;
187
+ padding: 8px 12px;
188
+ font-size: ${n.caption.fontSize}px;
189
+ line-height: ${n.caption.lineHeight}px;
190
+ font-weight: ${n.caption.fontWeight};
191
+ white-space: nowrap;
192
+ overflow: hidden;
193
+ text-overflow: ellipsis;
194
+ }
195
+ .sub-child-new-tag {
196
+ padding: 2px 9px 2px 9px;
197
+ border-radius: 16px;
198
+ background-color: rgba(254, 192, 45, 1);
199
+ font-family: Inter;
200
+ font-size: 7px;
201
+ font-weight: 600;
202
+ line-height: 10px;
203
+ color: rgba(40, 3, 78, 1);
204
+ }
205
+ .sub-child-active-text {
206
+ display: none;
207
+ }
208
+ .active-bold-weight {
209
+ font-weight: 600;
210
+ color: ${e=>e.isNewSidebar?o.background.warning.vibrant:""};
211
+ }
212
+ .sub-child-active-menu-style {
213
+ color: ${e=>e.isNewSidebar?o.background.warning.vibrant:""};
214
+ }
215
+ }
216
+ .sub-child-menu:hover {
217
+ background: ${e=>"brand"==e.theme?o.background.brandHovered:o.background.base};
218
+ border-radius: 4px;
219
+ }
220
+ .sub-child-active-menu {
221
+ background: ${e=>"brand"==e.theme?o.background.brandHovered:o.background.base};
222
+ border-radius: 4px;
223
+ border: ${e=>"brand"==e.theme?`1px solid ${o.stroke.brandSubdued}`:"none"};
224
+ .sub-child-active-text {
225
+ background: ${e=>"brand"==e.theme?o.stroke.brandSubdued:o.background.warning.vibrant};
226
+ }
227
+ }
228
+ .sub-child-active-menu:hover {
229
+ background: ${e=>"brand"==e.theme?o.background.inverseLight:o.background.base};
230
+ border-radius: 4px;
231
+ border: ${e=>"brand"==e.theme?`1px solid ${o.stroke.brandSubdued}`:"none"};
232
+ .sub-child-active-text {
233
+ background: ${e=>"brand"==e.theme?o.stroke.brandSubdued:o.background.warning.vibrant};
234
+ }
235
+ }
236
+ .sub-child-display-name {
237
+ padding: 14px 12px;
238
+ color: ${e=>"brand"==e.theme?o.content.secondaryInverse:o.text.secondary};
239
+ }
240
+ .lower-sticky-panel {
241
+ position: ${e=>e.isNewSidebar?"relative":"absolute"};
242
+ bottom: ${e=>e.isNewSidebar?"":"16px"};
243
+ margin-top: ${e=>e.isNewSidebar?"auto":""};
244
+ margin-bottom: ${e=>e.isNewSidebar?"16px":""};
245
+ .title-text {
246
+ padding: 8px 12px;
247
+ text-align: center;
248
+ }
249
+ .upgrade-button {
250
+ margin: auto;
251
+ }
252
+ }
253
+ .sidebar-skeleton {
254
+ padding: 8px;
255
+ }
256
+ `,m=e.div`
257
+ .sidebar-right-menu {
258
+ border-radius: 8px;
259
+ border: 0.5px solid var(--stroke-color-stroke-primary, #e0e0e0);
260
+ box-shadow: 0px 0px 12px 0px rgba(222, 236, 255, 0.6);
261
+ position: ${e=>e.postion?e.postion:"sticky"};
262
+ top: ${e=>e.top?e.top:void 0}px;
263
+ bottom: 10px;
264
+ left: ${e=>e.left?e.left:0}px; //72
265
+ z-index: ${e=>e.zIndex?e.zIndex:2};
266
+ background-color: ${e=>"brand"==e.theme?"#381062":o.surface.standard};
267
+ display: flex;
268
+ flex-direction: column;
269
+ padding: 4px;
270
+ gap: 4px;
271
+ min-height: 100px;
272
+ overflow-y: auto;
273
+ }
274
+ .each-menu {
275
+ padding: 8px;
276
+ gap: 4px;
277
+ display: flex;
278
+ flex-direction: column;
279
+ justify-content: flex-start;
280
+ align-items: flex-start;
281
+ border-bottom: 0.5px solid #e0e0e0;
282
+ cursor: pointer;
283
+ max-width: 320px;
284
+ &:hover {
285
+ background-color: ${o.background.base};
286
+ border-radius: 8px;
287
+ }
288
+ }
289
+ `;export{a as MainSideBarV2MenuWrapper,p as SibeBarV2MenuItem,d as SideBarV2Container,x as SidebarLockedChannel,s as SidebarMainMenu,l as SidebarMenuItemContainer,c as SidebarMenuItemInner,u as SidebarMenuItemText,b as SidebarNewTag,m as SidebarV2PopupContainer,g as SimpleSidebarV2Container};
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { SimpleSidebarV2Props } from './SidebarV2.model';
3
+ export declare const SimpleSidebarV2: React.FC<SimpleSidebarV2Props>;
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as i}from"react/jsx-runtime";import{useState as s}from"react";import{COLORS as n}from"../../../constants/Theme.js";import{Button as a}from"../../button/Button.js";import{NavigationHyperlink as t}from"../../navigation-hyperlink/NavigationHyperlink.js";import{BodyCaption as r,TitleSmall as l}from"../../TypographyStyle.js";import{SimpleSidebarV2Container as o}from"./SidebarV2Styles.js";const c=c=>{const{menuList:d,activeMenu:u,theme:m,showAccessUpgradePanel:p=!1,header:h,width:b,zIndex:g,left:v,postion:y,top:N,router:j,onMouseLeaveOnMenu:f,onMouseEnterOnMenu:k,onMenuClick:O,onUpgrade:w,isNewSidebar:x}=c,[M,S]=s(u),T=(s,n)=>i("div",Object.assign({className:"sub-child-menu "+((null==M?void 0:M.key)==(null==s?void 0:s.key)?"sub-child-active-menu":""),onClick:()=>{S(s),O(s,!s.page)},"aria-hidden":"true"},{children:[e("span",{className:(null==M?void 0:M.key)==(null==s?void 0:s.key)&&"brand"==m?"sub-child-active-text":""}),e(r,Object.assign({className:"sub-child-text "+((null==M?void 0:M.key)==(null==s?void 0:s.key)&&"white"==m?"active-bold-weight":"")},{children:null==s?void 0:s.displayName})),s.isNew&&e("div",Object.assign({className:"sub-child-new-tag"},{children:"NEW"}))]}),n);return e(o,Object.assign({width:b,zIndex:g,left:v,theme:m,postion:y,top:N,isNewSidebar:x},{children:i("div",Object.assign({id:"_sub-menu",className:"sidebar-right-menu transform-class",onMouseLeave:f,onMouseEnter:k},{children:[e("div",{className:"sidebar-bridge"}),i("div",{children:[!x&&e(r,Object.assign({className:"sub-child-display-name"},{children:h})),null==d?void 0:d.map(((i,s)=>i.page?e(t,Object.assign({href:i.page,router:j},{children:T(i,s)})):T(i,s)))]}),p&&i("div",Object.assign({className:"lower-sticky-panel"},{children:[e(l,Object.assign({className:"title-text",style:{color:n.surface.standard}},{children:"Upgrade plan to access this feature."})),e(a,{className:"upgrade-button",buttonText:"Upgrade plan",buttonType:"primary",size:"small",inverse:!0,onClick:()=>w?w():""})]}))]}),"_sub-menu")}))};export{c as SimpleSidebarV2};
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export declare const Menus: ({
2
3
  displayName: string;
3
4
  key: number;
@@ -2,8 +2,9 @@ export * from './BikHeader';
2
2
  export * from './BikLayout';
3
3
  export * from './BikProfile';
4
4
  export * from './SimpleSidebar';
5
- export * from './Sidebar.model';
6
5
  export * from './BikSidebar';
6
+ export * from './BikSidebarV2/BikSidebarV2';
7
+ export * from './BikSidebarV2/SidebarV2.model';
7
8
  export * from './FeatureModal';
8
9
  export * from './SidebarSkeleton';
9
10
  export * from './ShowShopifyRestrictedModal';
@@ -10,7 +10,7 @@ export declare const Button: import("@emotion/styled").StyledComponent<{
10
10
  inverse?: boolean | undefined;
11
11
  disabled?: boolean | undefined;
12
12
  matchParentWidth?: boolean | undefined;
13
- version?: "1.0" | "2.0" | undefined;
13
+ version?: "1.0" | "2.0" | "3.0" | undefined;
14
14
  darkMode?: boolean | undefined;
15
15
  activated?: boolean | undefined;
16
16
  error?: boolean | undefined;
@@ -66,7 +66,7 @@ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElemen
66
66
  */
67
67
  matchParentWidth?: boolean;
68
68
  subtitle?: string;
69
- version?: '1.0' | '2.0';
69
+ version?: '1.0' | '2.0' | '3.0';
70
70
  darkMode?: boolean;
71
71
  activated?: boolean;
72
72
  error?: boolean;
@@ -8,7 +8,7 @@ export declare const GetButtonTextComponent: (size: Size, type: Type, disabled?:
8
8
  color?: string | undefined;
9
9
  }, never>;
10
10
  export declare const getBorderColor: (type: Type, inverse?: boolean, error?: boolean) => string;
11
- export declare const getBorder: (version: '1.0' | '2.0', type: Type, size: Size, inverse?: boolean, error?: boolean) => string;
11
+ export declare const getBorder: (version: '1.0' | '2.0' | '3.0', type: Type, size: Size, inverse?: boolean, error?: boolean) => string;
12
12
  export declare const getLinearGradientValue: (size: Size) => string;
13
13
  /**
14
14
  * Adjusts the brightness of a given hex color by a specified percentage.
@@ -2,7 +2,7 @@ import { Placement, PositioningStrategy } from '@popperjs/core';
2
2
  import React from 'react';
3
3
  import { CountryCode } from "./CountryCodePicker.modal";
4
4
  export declare const CountryCodePicker: React.FC<{
5
- version: '1.0' | '2.0';
5
+ version: '1.0' | '2.0' | '3.0';
6
6
  onCountrySelect: (country: CountryCode) => void;
7
7
  selectedCountry: CountryCode;
8
8
  popoverWidth?: string;
@@ -8,7 +8,7 @@ export interface CountryPickerProps {
8
8
  /**
9
9
  * Version of the dropdown popover to use
10
10
  */
11
- version: '1.0' | '2.0';
11
+ version: '1.0' | '2.0' | '3.0';
12
12
  /**
13
13
  * Callback function when a country is selected
14
14
  */
@@ -1 +1 @@
1
- import{__rest as e}from"../../_virtual/_tslib.js";import{jsx as o,Fragment as n,jsxs as t}from"react/jsx-runtime";import{useState as i,useRef as l,useEffect as r}from"react";import{COLORS as s}from"../../constants/Theme.js";import a from"../../assets/icons/chevronDown.svg.js";import{Input as d}from"../input/Input.js";import{InputStyleContext as c}from"../input/context/InputStyleProvider.js";import p from"./ChipInput.js";import{DropdownPopover as h}from"./DropdownPopover/index.js";import{getSelectedOptionsAsText as u}from"./OpenedDropdown/utils/iterationOnOptions.js";function v(){}const m=m=>{var g,f,w,b,x,{placeHolder:j,size:O,onSelect:I,defaultOptions:y,disabled:S,noErrorHint:H,placeHolderHeight:T,showPlaceholderWhenSelected:D=!1,inputStyle:E={},inputType:P="default",onDeleteChip:C,truncatedText:M,showLeadingIconInPlaceholder:W=!1,showTrailingIconPlaceholder:L=!1,showLabelsOnMoreHover:k=!1,value:z,showSelected:A=!1}=m,_=e(m,["placeHolder","size","onSelect","defaultOptions","disabled","noErrorHint","placeHolderHeight","showPlaceholderWhenSelected","inputStyle","inputType","onDeleteChip","truncatedText","showLeadingIconInPlaceholder","showTrailingIconPlaceholder","showLabelsOnMoreHover","value","showSelected"]);const[N,U]=i(!1),[V,q]=i(!1),B=null!=O?O:"default",F=l(),[G,J]=i(null!=y?y:[]);r((()=>{var e;const o=[];null===(e=null==_?void 0:_.options)||void 0===e||e.forEach((e=>{e.options?e.options.forEach((e=>{e.selected&&o.push(Object.assign(Object.assign({},e),{label:e.label}))})):e.selected&&o.push(e)})),J([...o])}),[_.options]),r((()=>{y&&J([...y])}),[y]);const K=u(G),Q=D?j:null!==(g=null!=K?K:j)&&void 0!==g?g:"Select an option",R=_.buttonWidth,X=null!==(f=null!=R?R:_.width)&&void 0!==f?f:"100%",Y=null!==(w=_.dropdownWidth)&&void 0!==w?w:X;return o(n,{children:o(c.Provider,Object.assign({value:{InputWrapper:Object.assign(Object.assign(Object.assign({height:T||("x-small"===B?24:"small"===B?32:48),width:X},R?{maxWidth:R}:{}),{zIndex:1,cursor:"pointer",padding:"x-small"===B?"4px 8px":"6px 8px",backgroundColor:A&&void 0!==z?s.background.positive.light:V?"#E0E0E0":"#ffffff",transition:"background-color 0.3s ease"}),E),input:{minHeight:"100%",maxWidth:"100%",color:A&&void 0!==z?s.content.positive:"inherit"}}},{children:o("div",Object.assign({onMouseEnter:()=>q(!0),onMouseLeave:()=>q(!1),style:_.width?{width:_.width}:void 0},{children:t(h,Object.assign({"data-test":_["data-test"],ref:F,onSelect:function(e){Array.isArray(e)?J([...e]):J([e]),null==I||I(e)},disabled:S,onDropdownVisbilityChange:e=>U(e)},_,{width:Y},{children:["default"==P&&o(d,{version:_.version,noErrorHint:H,state:S?"disabled":"none",value:void 0===z?Q:z,errorMessage:_.error,variant:B,placeholder:null!=j?j:"Select an option",onChangeText:v,leftIcon:W&&(null===(b=G[0])||void 0===b?void 0:b.leadingIcon)?{icon:()=>{var e;return o(n,{children:null===(e=G[0])||void 0===e?void 0:e.leadingIcon})}}:void 0,rightIcon:{icon:()=>{var e;return t("div",Object.assign({style:{display:"flex"}},{children:[L&&(null===(e=G[0])||void 0===e?void 0:e.trailingIcon),o(a,{style:{transform:N?"rotate(180deg)":"rotate(0deg)"},onClick:v,width:"x-small"===B?16:"small"===B?20:24,height:"x-small"===B?16:"small"===B?20:24,color:A?s.content.positive:s.content.primary})]}))}},truncateText:null==M||M}),"chip"==P&&o(p,{placeholder:null!=j?j:"Select options",chips:G,onDeleteChip:e=>{null==C||C(e)},errorMessage:_.error,isDropdownOpened:N,sizeToUse:B,containerStyle:{width:null!==(x=_.width)&&void 0!==x?x:"100%",cursor:"pointer"},showLabelsOnMoreHover:k})]}))}))}))})};m.displayName="Dropdown";export{m as Dropdown};
1
+ import{__rest as e}from"../../_virtual/_tslib.js";import{jsx as o,Fragment as n,jsxs as t}from"react/jsx-runtime";import{useState as i,useRef as r,useEffect as l}from"react";import{COLORS as s,BASE_COLORS as a}from"../../constants/Theme.js";import d from"../../assets/icons/chevronDown.svg.js";import{Input as c}from"../input/Input.js";import{InputStyleContext as p}from"../input/context/InputStyleProvider.js";import h from"./ChipInput.js";import{DropdownPopover as u}from"./DropdownPopover/index.js";import{getSelectedOptionsAsText as v}from"./OpenedDropdown/utils/iterationOnOptions.js";function m(){}const g=g=>{var w,f,b,x,j,{placeHolder:O,size:I,onSelect:y,defaultOptions:S,disabled:H,noErrorHint:T,placeHolderHeight:D,showPlaceholderWhenSelected:P=!1,inputStyle:C={},inputType:M="default",onDeleteChip:W,truncatedText:E,showLeadingIconInPlaceholder:L=!1,showTrailingIconPlaceholder:k=!1,showLabelsOnMoreHover:z=!1,value:A,showSelected:_=!1}=g,N=e(g,["placeHolder","size","onSelect","defaultOptions","disabled","noErrorHint","placeHolderHeight","showPlaceholderWhenSelected","inputStyle","inputType","onDeleteChip","truncatedText","showLeadingIconInPlaceholder","showTrailingIconPlaceholder","showLabelsOnMoreHover","value","showSelected"]);const[U,V]=i(!1),[q,B]=i(!1),F=null!=I?I:"default",G=r(),[J,K]=i(null!=S?S:[]);l((()=>{var e;const o=[];null===(e=null==N?void 0:N.options)||void 0===e||e.forEach((e=>{e.options?e.options.forEach((e=>{e.selected&&o.push(Object.assign(Object.assign({},e),{label:e.label}))})):e.selected&&o.push(e)})),K([...o])}),[N.options]),l((()=>{S&&K([...S])}),[S]);const Q=v(J),R=P?O:null!==(w=null!=Q?Q:O)&&void 0!==w?w:"Select an option",X=N.buttonWidth,Y=null!==(f=null!=X?X:N.width)&&void 0!==f?f:"100%",Z=null!==(b=N.dropdownWidth)&&void 0!==b?b:Y;return o(n,{children:o(p.Provider,Object.assign({value:{InputWrapper:Object.assign(Object.assign(Object.assign({height:D||("x-small"===F?24:"small"===F?32:48),width:Y},X?{maxWidth:X}:{}),{zIndex:1,cursor:"pointer",padding:"x-small"===F?"4px 8px":"6px 8px",backgroundColor:"3.0"===N.version?U||q?s.surface.hovered:s.surface.standard:_&&void 0!==A?a.positive[100]:q?s.background.inactive:s.surface.standard,transition:"background-color 0.3s ease"}),C),input:{minHeight:"100%",maxWidth:"100%",color:_&&void 0!==A?s.content.positive:"inherit"}}},{children:o("div",Object.assign({onMouseEnter:()=>B(!0),onMouseLeave:()=>B(!1),style:N.width?{width:N.width}:void 0},{children:t(u,Object.assign({"data-test":N["data-test"],ref:G,onSelect:function(e){Array.isArray(e)?K([...e]):K([e]),null==y||y(e)},disabled:H,onDropdownVisbilityChange:e=>V(e)},N,{width:Z},{children:["default"==M&&o(c,{version:N.version,noErrorHint:T,state:H?"disabled":"none",value:void 0===A?R:A,errorMessage:N.error,variant:F,placeholder:null!=O?O:"Select an option",onChangeText:m,leftIcon:L&&(null===(x=J[0])||void 0===x?void 0:x.leadingIcon)?{icon:()=>{var e;return o(n,{children:null===(e=J[0])||void 0===e?void 0:e.leadingIcon})}}:void 0,rightIcon:{icon:()=>{var e;return t("div",Object.assign({style:{display:"flex"}},{children:[k&&(null===(e=J[0])||void 0===e?void 0:e.trailingIcon),o(d,{style:{transform:U?"rotate(180deg)":"rotate(0deg)"},onClick:m,width:"x-small"===F?16:"small"===F?20:24,height:"x-small"===F?16:"small"===F?20:24,color:_?s.content.positive:s.content.primary})]}))}},truncateText:null==E||E}),"chip"==M&&o(h,{placeholder:null!=O?O:"Select options",chips:J,onDeleteChip:e=>{null==W||W(e)},errorMessage:N.error,isDropdownOpened:U,sizeToUse:F,containerStyle:{width:null!==(j=N.width)&&void 0!==j?j:"100%",cursor:"pointer"},showLabelsOnMoreHover:z})]}))}))}))})};g.displayName="Dropdown";export{g as Dropdown};
@@ -1 +1 @@
1
- import{__rest as o}from"../../../_virtual/_tslib.js";import{jsx as e,Fragment as t,jsxs as n}from"react/jsx-runtime";import l,{useState as r,useRef as i,useImperativeHandle as s,useEffect as d}from"react";import{usePopper as a}from"react-popper";import{DropShadow as p}from"../../dropShadow/DropShadow.js";import{Tooltip as c}from"../../tooltips/Tooltip.js";import{OverLapAbs as v,OpenDropdownContainer as u}from"../Common.styled.js";import{OpenedDropdown as m}from"../OpenedDropdown/components/OpennedDropdown.js";const w=l.forwardRef(((l,w)=>{var{children:h,onDropdownVisbilityChange:b,version:g="1.0",tooltipContent:f,tooltipDirection:O,showTooltipArrow:j,isChildLoading:D,forceOpen:y}=l,C=o(l,["children","onDropdownVisbilityChange","version","tooltipContent","tooltipDirection","showTooltipArrow","isChildLoading","forceOpen"]);const S=w,[R,x]=r(!1),[z,E]=r(null),[A,L]=r(null),T=i(null),{styles:I,attributes:M}=a(z,A,{placement:C.placement,strategy:C.strategy}),V=o=>{var e,t;"2.0"===g&&C.isMultiSelect&&o&&(null===(e=C.onSelect)||void 0===e||e.call(C,[...o])),x(!1),null===(t=null==C?void 0:C.onClose)||void 0===t||t.call(C)};s(S,(()=>({openDropdown:R})),[]),d((()=>{(null==S?void 0:S.current)&&(S.current.openDropdown=R)}),[R]),d((()=>{null==b||b(R)}),[R]);const _=()=>{var o;return n(t,{children:[n("div",Object.assign({style:{position:"relative"},ref:E},{children:[e(v,Object.assign({ref:T,allowEvents:C.allowEvents,disabled:C.disabled,onClick:o=>{var e;null===(e=C.onDropdownOpen)||void 0===e||e.call(C),R?(x(!1),o.preventDefault()):C.disabled||x(!0)},isChildLoading:D},{children:C.allowEvents?h:null})),C.allowEvents?null:h]})),(R||y)&&e(u,Object.assign({ref:L,style:Object.assign(Object.assign({},I.popper),{zIndex:null!==(o=C.dropdownZIndex)&&void 0!==o?o:3})},M.popper,{"data-test":C["data-test"]},{children:e(p,Object.assign({level:"z2",position:"down",style:{borderRadius:8}},{children:e(m,Object.assign({},C,{onSelect:o=>{var e;"2.0"===g&&C.isMultiSelect||(null===(e=C.onSelect)||void 0===e||e.call(C,o),x(!1))},onClose:V,version:g,headerRef:T,zeroState:null==C?void 0:C.zeroState,isDraggable:C.isDraggable,onOptionsReorder:C.onOptionsReorder}))}))}))]})};return e(t,{children:R||y||void 0===f?_():e(c,Object.assign({body:f,placement:O,hideArrow:!j},{children:e("div",Object.assign({"data-test":C["data-test"]},{children:_()}))}))})}));w.displayName="DropdownPopover";export{w as DropdownPopover};
1
+ import{__rest as o}from"../../../_virtual/_tslib.js";import{jsx as e,Fragment as n,jsxs as t}from"react/jsx-runtime";import r,{useState as i,useRef as l,useImperativeHandle as s,useEffect as a}from"react";import{usePopper as d}from"react-popper";import{DropShadow as p}from"../../dropShadow/DropShadow.js";import{Tooltip as c}from"../../tooltips/Tooltip.js";import{COLORS as u}from"../../../constants/Theme.js";import{OverLapAbs as v,OpenDropdownContainer as m}from"../Common.styled.js";import{OpenedDropdown as b}from"../OpenedDropdown/components/OpennedDropdown.js";const g=r.forwardRef(((r,g)=>{var{children:h,onDropdownVisbilityChange:w,version:f="1.0",tooltipContent:j,tooltipDirection:O,showTooltipArrow:D,isChildLoading:C,forceOpen:y}=r,S=o(r,["children","onDropdownVisbilityChange","version","tooltipContent","tooltipDirection","showTooltipArrow","isChildLoading","forceOpen"]);const x=g,[R,E]=i(!1),[z,L]=i(!1),[M,T]=i(null),[k,A]=i(null),I=l(null),{styles:V,attributes:_}=d(M,k,{placement:S.placement,strategy:S.strategy}),N=o=>{var e,n;"2.0"===f&&S.isMultiSelect&&o&&(null===(e=S.onSelect)||void 0===e||e.call(S,[...o])),E(!1),null===(n=null==S?void 0:S.onClose)||void 0===n||n.call(S)};s(x,(()=>({openDropdown:R})),[]),a((()=>{(null==x?void 0:x.current)&&(x.current.openDropdown=R)}),[R]),a((()=>{null==w||w(R)}),[R]);const P=()=>{var o;return t(n,{children:[t("div",Object.assign({style:Object.assign({position:"relative"},"3.0"===f&&{backgroundColor:R||z?u.surface.hovered:u.surface.standard,transition:"background-color 0.3s ease",borderRadius:4}),ref:T,onMouseEnter:"3.0"===f?()=>L(!0):void 0,onMouseLeave:"3.0"===f?()=>L(!1):void 0},{children:[e(v,Object.assign({ref:I,allowEvents:S.allowEvents,disabled:S.disabled,onClick:o=>{var e;null===(e=S.onDropdownOpen)||void 0===e||e.call(S),R?(E(!1),o.preventDefault()):S.disabled||E(!0)},isChildLoading:C},{children:S.allowEvents?h:null})),S.allowEvents?null:h]})),(R||y)&&e(m,Object.assign({ref:A,style:Object.assign(Object.assign({},V.popper),{zIndex:null!==(o=S.dropdownZIndex)&&void 0!==o?o:3})},_.popper,{"data-test":S["data-test"]},{children:e(p,Object.assign({level:"z2",position:"down",style:{borderRadius:"3.0"===f?4:8,boxShadow:"0 2px 8px 0 rgba(0, 0, 0, 0.12)"}},{children:e(b,Object.assign({},S,{onSelect:o=>{var e;"2.0"===f&&S.isMultiSelect||(null===(e=S.onSelect)||void 0===e||e.call(S,o),E(!1))},onClose:N,version:f,headerRef:I,zeroState:null==S?void 0:S.zeroState,isDraggable:S.isDraggable,onOptionsReorder:S.onOptionsReorder}))}))}))]})};return e(n,{children:R||y||void 0===j?P():e(c,Object.assign({body:j,placement:O,hideArrow:!D},{children:e("div",Object.assign({"data-test":S["data-test"]},{children:P()}))}))})}));g.displayName="DropdownPopover";export{g as DropdownPopover};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import o from"../../../../assets/icons/errorInfo.svg.js";import n from"../../../../assets/icons/refresh-purple.svg.js";import{useCallback as r,useState as i,useRef as s,useEffect as l}from"react";import{ZeroState as c}from"../../../zeroState/ZeroState.js";import{useOutside as a}from"../../../../hooks/useOutside.js";import{COLORS as u}from"../../../../constants/Theme.js";import{useDropdown as d}from"../../hooks/useDropdown.js";import{Description as p}from"./description/Description.js";import{FreeFormMenu as h}from"./menu/FreeFormMenu.js";import{MenuList as g}from"./menu/MenuList.js";import{SelectAllMenu as m}from"./menu/SelectAllMenu.js";import f from"./multiSelect/MultiSelectDropdownBottomBar.js";import{OpennedDropdownContainer as b,MenuListContainer as v}from"./OpennedDropdown.styled.js";import{SearchBox as S}from"./searchbox/SearchBox.js";import{SearchZeroState as j}from"./searchbox/SearchZeroState.js";const w=304,O=290,y=y=>{let{options:x,isSearchable:C,isMultiSelect:k,maxSelections:D,width:L,allowFreeForm:I,height:T,onClose:E,onSelect:M,onSearch:F,version:A,skipSorting:B,headerRef:H,hideSelectAll:R,primaryButtonText:q,onInfiniteScroll:z,onMultiSelectClear:P,onDropdownItemClick:V,buttonOptions:W,isSearchLoading:Z,isOptionsLoading:$,optionsErrorState:K,disableSearchOptions:N,disableSearchedOptionExcept:U,useDefaultCursor:G,containerStyle:J={},zeroState:Q,isDraggable:X=!1,onOptionsReorder:Y,hideClearButton:_=!1,showCheckboxForCustomElement:ee=!1}=y;var te;const oe=r((e=>{if(!X||!k)return e;const t=[],o=[];return e.forEach((e=>{if(e.options)o.push(e);else{e.selected?t.push(e):o.push(e)}})),[...t,...o]}),[X,k]),[ne,re]=i((()=>oe(x))),ie=s(ne),se=s(!1),le=s(Y);l((()=>{re(oe(x))}),[x,oe]),l((()=>{ie.current=ne}),[ne]),l((()=>{le.current=Y}),[Y]),l((()=>()=>{se.current&&le.current&&le.current(ie.current)}),[]);const ce=r((e=>{re(e),"2.0"===A?null==Y||Y(e):se.current=!0}),[Y,A]),ae=X?ne:x,{dropdownOptions:ue,search:de,searchedString:pe,searchedOptions:he,searchError:ge,retrySearch:me,onApplyHandler:fe,selectAllHandler:be,onMultiSelectClear:ve,onFreeFormSelect:Se,onMultiSelectApply:je,latestDropdownOptionsRef:we,getSelectedOptions:Oe,getCurrentSelectionCount:ye}=d(A,ae,M,B||X,k,F,N,U,D),[xe,Ce]=i(null!=L?L:O),[ke,De]=i(null),[Le,Ie]=i(-1),Te=s(null),Ee=s([]),Me=s(null);a(Te,(()=>{if(De(null),k&&"2.0"===A){const e=Oe(we.current);null==E||E(e)}else null==E||E(ue)}),[H,Ee]),l((()=>{const e=setTimeout((()=>{Te.current&&Te.current.focus({preventScroll:!0})}),0);return()=>clearTimeout(e)}),[]);l((()=>{const e=e=>{const t=(e=>{const t=[];return e.forEach((e=>{if(e.options)e.options.forEach((e=>{e.disabled||t.push(e)}));else{const o=e;o.disabled||t.push(o)}})),t})(pe&&F?he:ue);if(0!==t.length)if("ArrowDown"===e.key)e.preventDefault(),Ie((e=>{const o=e<t.length-1?e+1:0;return setTimeout((()=>{var e;const t=null===(e=Me.current)||void 0===e?void 0:e.querySelector(`[data-option-index="${o}"]`);t&&t.scrollIntoView({block:"nearest",behavior:"smooth"})}),0),o}));else if("ArrowUp"===e.key)e.preventDefault(),Ie((e=>{const o=e>0?e-1:t.length-1;return setTimeout((()=>{var e;const t=null===(e=Me.current)||void 0===e?void 0:e.querySelector(`[data-option-index="${o}"]`);t&&t.scrollIntoView({block:"nearest",behavior:"smooth"})}),0),o}));else if("Enter"===e.key&&Le>=0){e.preventDefault();const o=t[Le];o&&(fe(Object.assign(Object.assign({},o),{selected:!o.selected})),V&&V(o))}},t=Te.current;if(t)return t.addEventListener("keydown",e),()=>{t.removeEventListener("keydown",e)}}),[Le,pe,he,ue,F,fe,V]);const Fe=null!=T?T:w,Ae="number"==typeof Fe?C&&k?Fe-96:C&&!k||!C&&k?Fe-48:Fe:Fe;l((()=>{const e=null!=L?L:O;if(null===ke)Ce(e);else if("number"==typeof e)Ce(2*e);else if("string"==typeof e&&e.endsWith("px")){const t=2*parseInt(e.replace("px",""));Ce(t)}}),[ke]);const Be=[],He=(e=>{if(!k||!D&&0!==D)return e;const t=ye(ue)>=D;return t?e.map((e=>{if(e.options)return Object.assign(Object.assign({},e),{options:e.options.map((e=>Object.assign(Object.assign({},e),{disabled:e.disabled||!e.selected&&t})))});{const o=e;return Object.assign(Object.assign({},o),{disabled:o.disabled||!o.selected&&t})}})):e})((pe&&F?he:ue).map((e=>{var t,o;if(pe&&!F){if(e.options){const t=Object.assign({},e);return t.options=t.options.filter((e=>{var t;return!!(null===(t=e.label)||void 0===t?void 0:t.toLowerCase().includes(pe.toLowerCase()))&&(Be.push(!pe||e.label===pe),!0)})),t.options.length>0?t:null}return(null===(t=e.label)||void 0===t?void 0:t.toLowerCase().includes(pe.toLowerCase()))||(null===(o=e.searchKey)||void 0===o?void 0:o.toLowerCase().includes(pe.toLowerCase()))?(Be.push(!pe||e.label===pe),e):null}return e})).filter((e=>null!==e))),Re=!!C&&pe&&0===He.length,qe=!pe&&!!$,ze=!pe&&!!K&&!qe,Pe=!(pe||He.length||qe||ze),Ve=qe||ze||Pe,We=(null==Q?void 0:Q.title)||"No results found",Ze=(null==Q?void 0:Q.subTitle)||"Please try again later or contact us at support@bik.ai if you require further assistance.",$e=(null==K?void 0:K.title)||"Failed to load options",Ke=(null==K?void 0:K.subTitle)||"Something went wrong while fetching the list. Please try again",Ne={buttonText:"Try again",buttonType:"text",size:"small",buttonTextColor:u.background.inverseLight,customIconColor:u.background.inverseLight,LeadingIcon:n},Ue=Object.assign({IconHolderStyle:{background:u.background.negative.light},Icon:e(o,{color:u.content.negative,width:24,height:24})},K);Ue.actionButton=Object.assign(Object.assign({},Ne),null!==(te=null==K?void 0:K.actionButton)&&void 0!==te?te:{});const Ge=qe?void 0:ze?Ue:Q;return t(b,Object.assign({version:A,ref:Te,tabIndex:-1,style:Object.assign(Object.assign({width:xe},J),{outline:"none"})},{children:[t("div",Object.assign({style:{width:ke?"50%":"100%",display:"flex",flexDirection:"column",background:"white"}},{children:[!!C&&e(S,{onSearch:de,version:A}),Ve?e("div",Object.assign({style:{height:Fe,display:"flex",background:u.background.base}},{children:e(c,Object.assign({},null!=Ge?Ge:{},{isLoading:qe,title:ze?$e:We,subTitle:ze?Ke:Ze}))})):t(v,Object.assign({minHeight:Fe,maxHeight:Ae,ref:Me},{children:[!!k&&!Re&&!R&&e(m,{version:A,options:pe&&F?he:ue,onSelect:be}),!I&&Re&&e(j,{isLoading:Z,errorMessage:ge,onRetry:me,height:Ae,searchedString:pe,containerWidth:L}),I&&(Re||!!Be.length&&Be.every((e=>!1===e)))&&e(h,{version:A,isMultiSelect:k,onSelect:Se,searchedString:pe}),e(g,{onInfiniteScroll:z,onDropdownItemClick:V,version:A,onSelect:fe,showDescription:function(e,t){De(e&&t?{title:e,description:t}:null)},isMultiSelect:k,options:He,useDefaultCursor:G,ref:Ee,focusedIndex:Le,isDraggable:X,onOptionsReorder:ce,showCheckboxForCustomElement:ee})]})),!!k&&!Ve&&"2.0"!==A&&e(f,{onClear:()=>{ve(),null==P||P()},onApply:je,list:pe&&F?he:ue,buttonText:q,buttonOptions:W,hideClearButton:_})]})),!!ke&&e(p,{title:ke.title,description:ke.description,version:A})]}))};export{y as OpenedDropdown};
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import o from"../../../../assets/icons/errorInfo.svg.js";import n from"../../../../assets/icons/refresh-purple.svg.js";import{useCallback as r,useState as i,useRef as s,useEffect as l}from"react";import{ZeroState as c}from"../../../zeroState/ZeroState.js";import{useOutside as a}from"../../../../hooks/useOutside.js";import{COLORS as u}from"../../../../constants/Theme.js";import{useDropdown as d}from"../../hooks/useDropdown.js";import{Description as p}from"./description/Description.js";import{FreeFormMenu as h}from"./menu/FreeFormMenu.js";import{MenuList as g}from"./menu/MenuList.js";import{SelectAllMenu as m}from"./menu/SelectAllMenu.js";import f from"./multiSelect/MultiSelectDropdownBottomBar.js";import{OpennedDropdownContainer as b,MenuListContainer as v}from"./OpennedDropdown.styled.js";import{SearchBox as S}from"./searchbox/SearchBox.js";import{SearchZeroState as j}from"./searchbox/SearchZeroState.js";const w=304,O=290,y=y=>{let{options:x,isSearchable:C,isMultiSelect:k,maxSelections:D,width:L,allowFreeForm:I,height:T,onClose:E,onSelect:M,onSearch:F,version:A,skipSorting:B,headerRef:H,hideSelectAll:R,primaryButtonText:q,onInfiniteScroll:z,onMultiSelectClear:P,onDropdownItemClick:V,buttonOptions:W,isSearchLoading:Z,isOptionsLoading:$,optionsErrorState:K,disableSearchOptions:N,disableSearchedOptionExcept:U,useDefaultCursor:G,containerStyle:J={},zeroState:Q,isDraggable:X=!1,onOptionsReorder:Y,hideClearButton:_=!1,showCheckboxForCustomElement:ee=!1}=y;var te;const oe=r((e=>{if(!X||!k)return e;const t=[],o=[];return e.forEach((e=>{if(e.options)o.push(e);else{e.selected?t.push(e):o.push(e)}})),[...t,...o]}),[X,k]),[ne,re]=i((()=>oe(x))),ie=s(ne),se=s(!1),le=s(Y);l((()=>{re(oe(x))}),[x,oe]),l((()=>{ie.current=ne}),[ne]),l((()=>{le.current=Y}),[Y]),l((()=>()=>{se.current&&le.current&&le.current(ie.current)}),[]);const ce=r((e=>{re(e),"2.0"===A?null==Y||Y(e):se.current=!0}),[Y,A]),ae=X?ne:x,{dropdownOptions:ue,search:de,searchedString:pe,searchedOptions:he,searchError:ge,retrySearch:me,onApplyHandler:fe,selectAllHandler:be,onMultiSelectClear:ve,onFreeFormSelect:Se,onMultiSelectApply:je,latestDropdownOptionsRef:we,getSelectedOptions:Oe,getCurrentSelectionCount:ye}=d(A,ae,M,B||X,k,F,N,U,D),[xe,Ce]=i(null!=L?L:O),[ke,De]=i(null),[Le,Ie]=i(-1),Te=s(null),Ee=s([]),Me=s(null);a(Te,(()=>{if(De(null),k&&"2.0"===A){const e=Oe(we.current);null==E||E(e)}else null==E||E(ue)}),[H,Ee]),l((()=>{const e=setTimeout((()=>{Te.current&&Te.current.focus({preventScroll:!0})}),0);return()=>clearTimeout(e)}),[]);l((()=>{const e=e=>{const t=(e=>{const t=[];return e.forEach((e=>{if(e.options)e.options.forEach((e=>{e.disabled||t.push(e)}));else{const o=e;o.disabled||t.push(o)}})),t})(pe&&F?he:ue);if(0!==t.length)if("ArrowDown"===e.key)e.preventDefault(),Ie((e=>{const o=e<t.length-1?e+1:0;return setTimeout((()=>{var e;const t=null===(e=Me.current)||void 0===e?void 0:e.querySelector(`[data-option-index="${o}"]`);t&&t.scrollIntoView({block:"nearest",behavior:"smooth"})}),0),o}));else if("ArrowUp"===e.key)e.preventDefault(),Ie((e=>{const o=e>0?e-1:t.length-1;return setTimeout((()=>{var e;const t=null===(e=Me.current)||void 0===e?void 0:e.querySelector(`[data-option-index="${o}"]`);t&&t.scrollIntoView({block:"nearest",behavior:"smooth"})}),0),o}));else if("Enter"===e.key&&Le>=0){e.preventDefault();const o=t[Le];o&&(fe(Object.assign(Object.assign({},o),{selected:!o.selected})),V&&V(o))}},t=Te.current;if(t)return t.addEventListener("keydown",e),()=>{t.removeEventListener("keydown",e)}}),[Le,pe,he,ue,F,fe,V]);const Fe=null!=T?T:w,Ae="number"==typeof Fe?C&&k?Fe-96:C&&!k||!C&&k?Fe-48:Fe:Fe;l((()=>{const e=null!=L?L:O;if(null===ke)Ce(e);else if("number"==typeof e)Ce(2*e);else if("string"==typeof e&&e.endsWith("px")){const t=2*parseInt(e.replace("px",""));Ce(t)}}),[ke]);const Be=[],He=(e=>{if(!k||!D&&0!==D)return e;const t=ye(ue)>=D;return t?e.map((e=>{if(e.options)return Object.assign(Object.assign({},e),{options:e.options.map((e=>Object.assign(Object.assign({},e),{disabled:e.disabled||!e.selected&&t})))});{const o=e;return Object.assign(Object.assign({},o),{disabled:o.disabled||!o.selected&&t})}})):e})((pe&&F?he:ue).map((e=>{var t,o;if(pe&&!F){if(e.options){const t=Object.assign({},e);return t.options=t.options.filter((e=>{var t;return!!(null===(t=e.label)||void 0===t?void 0:t.toLowerCase().includes(pe.toLowerCase()))&&(Be.push(!pe||e.label===pe),!0)})),t.options.length>0?t:null}return(null===(t=e.label)||void 0===t?void 0:t.toLowerCase().includes(pe.toLowerCase()))||(null===(o=e.searchKey)||void 0===o?void 0:o.toLowerCase().includes(pe.toLowerCase()))?(Be.push(!pe||e.label===pe),e):null}return e})).filter((e=>null!==e))),Re=!!C&&pe&&0===He.length,qe=!pe&&!!$,ze=!pe&&!!K&&!qe,Pe=!(pe||He.length||qe||ze),Ve=qe||ze||Pe,We=(null==Q?void 0:Q.title)||"No results found",Ze=(null==Q?void 0:Q.subTitle)||"Please try again later or contact us at support@bik.ai if you require further assistance.",$e=(null==K?void 0:K.title)||"Failed to load options",Ke=(null==K?void 0:K.subTitle)||"Something went wrong while fetching the list. Please try again",Ne={buttonText:"Try again",buttonType:"text",size:"small",buttonTextColor:u.background.inverseLight,customIconColor:u.background.inverseLight,LeadingIcon:n},Ue=Object.assign({IconHolderStyle:{background:u.background.negative.light},Icon:e(o,{color:u.content.negative,width:24,height:24})},K);Ue.actionButton=Object.assign(Object.assign({},Ne),null!==(te=null==K?void 0:K.actionButton)&&void 0!==te?te:{});const Ge=qe?void 0:ze?Ue:Q;return t(b,Object.assign({version:A,ref:Te,tabIndex:-1,style:Object.assign(Object.assign({width:xe},J),{outline:"none"})},{children:[t("div",Object.assign({style:{width:ke?"50%":"100%",display:"flex",flexDirection:"column",background:"white"}},{children:[!!C&&e(S,{onSearch:de,version:A}),Ve?e("div",Object.assign({style:{height:Fe,display:"flex",background:u.background.base}},{children:e(c,Object.assign({},null!=Ge?Ge:{},{isLoading:qe,title:ze?$e:We,subTitle:ze?Ke:Ze}))})):t(v,Object.assign({minHeight:Fe,maxHeight:Ae,ref:Me},{children:[!!k&&!Re&&!R&&e(m,{version:A,options:pe&&F?he:ue,onSelect:be}),!I&&Re&&e(j,{isLoading:Z,errorMessage:ge,onRetry:me,height:Ae,searchedString:pe,containerWidth:L,version:A}),I&&(Re||!!Be.length&&Be.every((e=>!1===e)))&&e(h,{version:A,isMultiSelect:k,onSelect:Se,searchedString:pe}),e(g,{onInfiniteScroll:z,onDropdownItemClick:V,version:A,onSelect:fe,showDescription:function(e,t){De(e&&t?{title:e,description:t}:null)},isMultiSelect:k,options:He,useDefaultCursor:G,ref:Ee,focusedIndex:Le,isDraggable:X,onOptionsReorder:ce,showCheckboxForCustomElement:ee})]})),!!k&&!Ve&&"2.0"!==A&&e(f,{onClear:()=>{ve(),null==P||P()},onApply:je,list:pe&&F?he:ue,buttonText:q,buttonOptions:W,hideClearButton:_})]})),!!ke&&e(p,{title:ke.title,description:ke.description,version:A})]}))};export{y as OpenedDropdown};
@@ -1,5 +1,5 @@
1
1
  export declare const OpennedDropdownContainer: import("styled-components").StyledComponent<"div", any, {
2
- version?: "1.0" | "2.0" | undefined;
2
+ version?: "1.0" | "2.0" | "3.0" | undefined;
3
3
  }, never>;
4
4
  export declare const ItemContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
5
5
  export declare const MenuListContainer: import("styled-components").StyledComponent<"div", any, {
@@ -1,7 +1,8 @@
1
1
  import o from"styled-components";import{COLORS as r}from"../../../../constants/Theme.js";const e=o.div`
2
2
  border-radius: ${o=>"2.0"===o.version?8:4}px;
3
- border: ${o=>"2.0"===o.version?0:1}px solid
4
- ${r.stroke.primary};
3
+ border: ${o=>"2.0"===o.version||"3.0"===o.version?0:1}px
4
+ solid ${r.stroke.primary};
5
+ box-shadow: ${o=>"3.0"===o.version?"0px 2px 8px 0px rgba(0, 0, 0, 0.12)":"none"};
5
6
  max-height: 480px;
6
7
  overflow: hidden;
7
8
  display: flex;
@@ -2,5 +2,5 @@ import React from 'react';
2
2
  export declare const Description: React.FC<{
3
3
  title: string;
4
4
  description: string;
5
- version?: '1.0' | '2.0';
5
+ version?: '1.0' | '2.0' | '3.0';
6
6
  }>;
@@ -1,3 +1,3 @@
1
1
  export declare const DescriptionContainer: import("styled-components").StyledComponent<"div", any, {
2
- version?: "1.0" | "2.0" | undefined;
2
+ version?: "1.0" | "2.0" | "3.0" | undefined;
3
3
  }, never>;
@@ -3,5 +3,5 @@ export declare const FreeFormMenu: React.FC<{
3
3
  isMultiSelect?: boolean;
4
4
  searchedString: string;
5
5
  onSelect: (isChecked: boolean) => void;
6
- version?: '1.0' | '2.0';
6
+ version?: '1.0' | '2.0' | '3.0';
7
7
  }>;