@laerdal/life-react-components 2.1.0 → 2.1.1-dev.15

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 (220) hide show
  1. package/dist/AuthPage/AuthPage.d.ts +1 -1
  2. package/dist/Banners/Banner.d.ts +1 -1
  3. package/dist/Banners/OverviewBanner.d.ts +1 -1
  4. package/dist/Breadcrumb/Breadcrumb.d.ts +1 -1
  5. package/dist/Button/BackButton.cjs +3 -1
  6. package/dist/Button/BackButton.cjs.map +1 -1
  7. package/dist/Button/BackButton.d.ts +2 -2
  8. package/dist/Button/BackButton.js +3 -1
  9. package/dist/Button/BackButton.js.map +1 -1
  10. package/dist/Button/Button.cjs.map +1 -1
  11. package/dist/Button/Button.js.map +1 -1
  12. package/dist/Button/DualFunctionButton.cjs +1 -0
  13. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  14. package/dist/Button/DualFunctionButton.js +1 -0
  15. package/dist/Button/DualFunctionButton.js.map +1 -1
  16. package/dist/Button/Iconbutton.cjs +9 -6
  17. package/dist/Button/Iconbutton.cjs.map +1 -1
  18. package/dist/Button/Iconbutton.d.ts +3 -1
  19. package/dist/Button/Iconbutton.js +9 -6
  20. package/dist/Button/Iconbutton.js.map +1 -1
  21. package/dist/Card/HorizontalCard/HorizontalCardActions.d.ts +1 -1
  22. package/dist/Card/HorizontalCard/HorizontalCardBody.d.ts +1 -1
  23. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.d.ts +1 -1
  24. package/dist/Card/HorizontalCard/types.d.ts +4 -4
  25. package/dist/Chips/ActionChip.cjs +3 -1
  26. package/dist/Chips/ActionChip.cjs.map +1 -1
  27. package/dist/Chips/ActionChip.js +3 -1
  28. package/dist/Chips/ActionChip.js.map +1 -1
  29. package/dist/Chips/ChipTypes.cjs.map +1 -1
  30. package/dist/Chips/ChipTypes.d.ts +5 -5
  31. package/dist/Chips/ChipTypes.js.map +1 -1
  32. package/dist/Chips/ChoiceChips.cjs +3 -1
  33. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  34. package/dist/Chips/ChoiceChips.js +3 -1
  35. package/dist/Chips/ChoiceChips.js.map +1 -1
  36. package/dist/Chips/FilterChip.cjs +3 -1
  37. package/dist/Chips/FilterChip.cjs.map +1 -1
  38. package/dist/Chips/FilterChip.js +3 -1
  39. package/dist/Chips/FilterChip.js.map +1 -1
  40. package/dist/Chips/InputChip.cjs +3 -1
  41. package/dist/Chips/InputChip.cjs.map +1 -1
  42. package/dist/Chips/InputChip.js +3 -1
  43. package/dist/Chips/InputChip.js.map +1 -1
  44. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
  45. package/dist/ChipsInput/ChipDropdownInput.d.ts +1 -1
  46. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
  47. package/dist/ChipsInput/ChipInput.cjs +13 -2
  48. package/dist/ChipsInput/ChipInput.cjs.map +1 -1
  49. package/dist/ChipsInput/ChipInput.js +14 -3
  50. package/dist/ChipsInput/ChipInput.js.map +1 -1
  51. package/dist/ChipsInput/ChipInputField.cjs +3 -1
  52. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  53. package/dist/ChipsInput/ChipInputField.js +3 -1
  54. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  55. package/dist/ChipsInput/ChipInputTypes.cjs.map +1 -1
  56. package/dist/ChipsInput/ChipInputTypes.d.ts +2 -1
  57. package/dist/ChipsInput/ChipInputTypes.js.map +1 -1
  58. package/dist/Dropdown/BasicDropdown.cjs +4 -1
  59. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  60. package/dist/Dropdown/BasicDropdown.d.ts +5 -5
  61. package/dist/Dropdown/BasicDropdown.js +4 -1
  62. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  63. package/dist/Dropdown/CommonStyling.cjs +1 -1
  64. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  65. package/dist/Dropdown/CommonStyling.js +1 -1
  66. package/dist/Dropdown/CommonStyling.js.map +1 -1
  67. package/dist/Dropdown/DropdownButton.cjs +6 -1
  68. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  69. package/dist/Dropdown/DropdownButton.js +6 -1
  70. package/dist/Dropdown/DropdownButton.js.map +1 -1
  71. package/dist/Dropdown/DropdownButtonTypes.cjs.map +1 -1
  72. package/dist/Dropdown/DropdownButtonTypes.d.ts +5 -5
  73. package/dist/Dropdown/DropdownButtonTypes.js.map +1 -1
  74. package/dist/Dropdown/DropdownContent.cjs +20 -5
  75. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  76. package/dist/Dropdown/DropdownContent.js +20 -5
  77. package/dist/Dropdown/DropdownContent.js.map +1 -1
  78. package/dist/Dropdown/DropdownFilter.cjs +4 -2
  79. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  80. package/dist/Dropdown/DropdownFilter.d.ts +2 -2
  81. package/dist/Dropdown/DropdownFilter.js +4 -2
  82. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  83. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +13 -7
  84. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
  85. package/dist/GlobalNavigationBar/GlobalNavigationBar.d.ts +3 -2
  86. package/dist/GlobalNavigationBar/GlobalNavigationBar.js +13 -7
  87. package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  88. package/dist/GlobalNavigationBar/Logo.d.ts +1 -1
  89. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +3 -1
  90. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
  91. package/dist/GlobalNavigationBar/desktop/DesktopActions.d.ts +1 -0
  92. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +3 -1
  93. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
  94. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.d.ts +1 -1
  95. package/dist/GlobalNavigationBar/desktop/MainMenu.d.ts +1 -1
  96. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +14 -4
  97. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  98. package/dist/GlobalNavigationBar/desktop/RightSideNav.d.ts +1 -1
  99. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +14 -4
  100. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  101. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +4 -2
  102. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  103. package/dist/GlobalNavigationBar/desktop/UserMenu.js +4 -2
  104. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  105. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs +2 -2
  106. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs.map +1 -1
  107. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js +2 -2
  108. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js.map +1 -1
  109. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +3 -0
  110. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  111. package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +1 -1
  112. package/dist/GlobalNavigationBar/mobile/MobileMenu.js +3 -0
  113. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  114. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs +2 -2
  115. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs.map +1 -1
  116. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js +3 -2
  117. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js.map +1 -1
  118. package/dist/GlobalNavigationBar/types.cjs.map +1 -1
  119. package/dist/GlobalNavigationBar/types.d.ts +11 -12
  120. package/dist/GlobalNavigationBar/types.js.map +1 -1
  121. package/dist/HyperLink/index.cjs +10 -2
  122. package/dist/HyperLink/index.cjs.map +1 -1
  123. package/dist/HyperLink/index.d.ts +2 -2
  124. package/dist/HyperLink/index.js +2 -2
  125. package/dist/HyperLink/index.js.map +1 -1
  126. package/dist/Image/ImageWithFallbacks.d.ts +1 -1
  127. package/dist/InputFields/Checkbox.cjs +3 -1
  128. package/dist/InputFields/Checkbox.cjs.map +1 -1
  129. package/dist/InputFields/Checkbox.js +3 -1
  130. package/dist/InputFields/Checkbox.js.map +1 -1
  131. package/dist/InputFields/DatepickerField.cjs +5 -1
  132. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  133. package/dist/InputFields/DatepickerField.d.ts +2 -1
  134. package/dist/InputFields/DatepickerField.js +5 -1
  135. package/dist/InputFields/DatepickerField.js.map +1 -1
  136. package/dist/InputFields/Label.cjs +39 -6
  137. package/dist/InputFields/Label.cjs.map +1 -1
  138. package/dist/InputFields/Label.d.ts +2 -1
  139. package/dist/InputFields/Label.js +41 -9
  140. package/dist/InputFields/Label.js.map +1 -1
  141. package/dist/InputFields/NumberField.cjs +5 -2
  142. package/dist/InputFields/NumberField.cjs.map +1 -1
  143. package/dist/InputFields/NumberField.d.ts +2 -2
  144. package/dist/InputFields/NumberField.js +5 -2
  145. package/dist/InputFields/NumberField.js.map +1 -1
  146. package/dist/InputFields/PasswordField.cjs +3 -1
  147. package/dist/InputFields/PasswordField.cjs.map +1 -1
  148. package/dist/InputFields/PasswordField.d.ts +2 -2
  149. package/dist/InputFields/PasswordField.js +3 -1
  150. package/dist/InputFields/PasswordField.js.map +1 -1
  151. package/dist/InputFields/QuickSearch.cjs +2 -0
  152. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  153. package/dist/InputFields/QuickSearch.d.ts +1 -1
  154. package/dist/InputFields/QuickSearch.js +2 -0
  155. package/dist/InputFields/QuickSearch.js.map +1 -1
  156. package/dist/InputFields/RadioButton.cjs +3 -1
  157. package/dist/InputFields/RadioButton.cjs.map +1 -1
  158. package/dist/InputFields/RadioButton.d.ts +2 -2
  159. package/dist/InputFields/RadioButton.js +3 -1
  160. package/dist/InputFields/RadioButton.js.map +1 -1
  161. package/dist/InputFields/ResponsiveComponentWrapper.d.ts +1 -1
  162. package/dist/InputFields/SearchBar.d.ts +1 -1
  163. package/dist/InputFields/TextField.cjs +3 -1
  164. package/dist/InputFields/TextField.cjs.map +1 -1
  165. package/dist/InputFields/TextField.d.ts +2 -2
  166. package/dist/InputFields/TextField.js +3 -1
  167. package/dist/InputFields/TextField.js.map +1 -1
  168. package/dist/InputFields/Textarea.cjs +3 -1
  169. package/dist/InputFields/Textarea.cjs.map +1 -1
  170. package/dist/InputFields/Textarea.d.ts +1 -1
  171. package/dist/InputFields/Textarea.js +3 -1
  172. package/dist/InputFields/Textarea.js.map +1 -1
  173. package/dist/InputFields/components/SearchBarInput.d.ts +1 -1
  174. package/dist/InputFields/types.cjs.map +1 -1
  175. package/dist/InputFields/types.d.ts +5 -5
  176. package/dist/InputFields/types.js.map +1 -1
  177. package/dist/List/ListRow.d.ts +1 -1
  178. package/dist/LoadingIndicator/LoadingIndicator.d.ts +1 -1
  179. package/dist/MiniProductCard/MiniProductCard.d.ts +1 -1
  180. package/dist/Modals/Modal.d.ts +1 -1
  181. package/dist/Modals/ModalContainer.d.ts +2 -2
  182. package/dist/Modals/ModalContent.cjs +1 -0
  183. package/dist/Modals/ModalContent.cjs.map +1 -1
  184. package/dist/Modals/ModalContent.js +1 -0
  185. package/dist/Modals/ModalContent.js.map +1 -1
  186. package/dist/Modals/ModalTypes.d.ts +1 -1
  187. package/dist/NavItem/NavItem.d.ts +1 -1
  188. package/dist/Paginator/Paginator.d.ts +1 -1
  189. package/dist/Popover/Popover.d.ts +4 -4
  190. package/dist/ProfileButton/ProfileButton.d.ts +1 -1
  191. package/dist/QuizButton/QuizButton.d.ts +1 -1
  192. package/dist/SideMenu/types.d.ts +3 -3
  193. package/dist/SkipToContent/SkipToContent.d.ts +1 -1
  194. package/dist/Table/TableTypes.d.ts +4 -4
  195. package/dist/Tabs/TabLink.d.ts +1 -1
  196. package/dist/Tabs/Tabs.d.ts +1 -1
  197. package/dist/Tag/Tag.cjs +3 -5
  198. package/dist/Tag/Tag.cjs.map +1 -1
  199. package/dist/Tag/Tag.d.ts +2 -2
  200. package/dist/Tag/Tag.js +3 -5
  201. package/dist/Tag/Tag.js.map +1 -1
  202. package/dist/Tile/TileTypes.d.ts +8 -8
  203. package/dist/Toasters/Toast.d.ts +2 -2
  204. package/dist/Toasters/ToastContext.d.ts +2 -2
  205. package/dist/Tooltips/TooltipStyles.cjs +3 -1
  206. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  207. package/dist/Tooltips/TooltipStyles.d.ts +1 -0
  208. package/dist/Tooltips/TooltipStyles.js +3 -1
  209. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  210. package/dist/assets/index.d.ts +1 -1
  211. package/dist/icons/index.d.ts +2 -2
  212. package/dist/styles/typography.cjs +2 -1
  213. package/dist/styles/typography.cjs.map +1 -1
  214. package/dist/styles/typography.d.ts +3 -2
  215. package/dist/styles/typography.js +1 -1
  216. package/dist/styles/typography.js.map +1 -1
  217. package/dist/types.cjs.map +1 -1
  218. package/dist/types.d.ts +3 -0
  219. package/dist/types.js.map +1 -1
  220. package/package.json +10 -13
@@ -1 +1 @@
1
- {"version":3,"file":"FilterChip.cjs","names":["FilterChip","selected","text","size","Size","Medium","disabled","onClick","className","rest","e","key","defaultOnMouseDownHandler"],"sources":["../../src/Chips/FilterChip.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\nimport {Size} from '../types';\n\n/**\n * Import custom components.\n */\nimport {SystemIcons} from '../icons/index';\n\n/**\n * Import custom styles.\n */\nimport {ChipContent, ChipContentContainer, ChipContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {FilterChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst FilterChip: React.FunctionComponent<FilterChipProps> = ({\n selected,\n text,\n size = Size.Medium,\n disabled,\n onClick,\n className,\n ...rest\n }: FilterChipProps) => {\n\n\n /**\n * Return Filter Chip component.\n */\n return (\n <ChipContainer\n role=\"checkbox\"\n className={`${size} ${disabled ? 'disabled' : ''} ${selected ? 'default' : 'outline'} ${!!onClick ? 'interactive' : ''} ${className || ''}`}\n tabIndex={disabled || !onClick ? -1 : 0}\n onKeyDown={e => (e.key === 'Enter' || e.key === ' ') && !disabled && onClick && onClick()}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => !disabled && onClick && onClick()}\n {...rest}>\n <ChipContentContainer>\n <ChipContent>\n {selected && <div className={'chip-icon icon-left'}><SystemIcons.CheckMark className={'icon'}/></div>}\n <div>{text}</div>\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n );\n};\n\nexport default FilterChip;\n"],"mappings":";;;;;;;;;;AAGA;AACA;AAKA;AAKA;AAMA;AAAoD;AAAA;AAAA;AAAA;AAAA;AAAA;AAEpD,IAAMA,UAAoD,GAAG,SAAvDA,UAAoD,OAQ2B;EAAA,IAPrBC,QAAQ,QAARA,QAAQ;IACRC,IAAI,QAAJA,IAAI;IAAA,iBACJC,IAAI;IAAJA,IAAI,0BAAGC,WAAI,CAACC,MAAM;IAClBC,QAAQ,QAARA,QAAQ;IACRC,QAAO,QAAPA,OAAO;IACPC,SAAS,QAATA,SAAS;IACNC,IAAI;EAIrE;AACF;AACA;EACE,oBACE,qBAAC,yBAAa;IACZ,IAAI,EAAC,UAAU;IACf,SAAS,YAAKN,IAAI,cAAIG,QAAQ,GAAG,UAAU,GAAG,EAAE,cAAIL,QAAQ,GAAG,SAAS,GAAG,SAAS,cAAI,CAAC,CAACM,QAAO,GAAG,aAAa,GAAG,EAAE,cAAIC,SAAS,IAAI,EAAE,CAAG;IAC5I,QAAQ,EAAEF,QAAQ,IAAI,CAACC,QAAO,GAAG,CAAC,CAAC,GAAG,CAAE;IACxC,SAAS,EAAE,mBAAAG,CAAC;MAAA,OAAI,CAACA,CAAC,CAACC,GAAG,KAAK,OAAO,IAAID,CAAC,CAACC,GAAG,KAAK,GAAG,KAAK,CAACL,QAAQ,IAAIC,QAAO,IAAIA,QAAO,EAAE;IAAA,CAAC;IAC1F,WAAW,EAAEK,iCAA0B;IACvC,OAAO,EAAE;MAAA,OAAM,CAACN,QAAQ,IAAIC,QAAO,IAAIA,QAAO,EAAE;IAAA;EAAC,GAC7CE,IAAI;IAAA,uBACR,qBAAC,gCAAoB;MAAA,uBACnB,sBAAC,uBAAW;QAAA,WACTR,QAAQ,iBAAI;UAAK,SAAS,EAAE,qBAAsB;UAAA,uBAAC,qBAAC,kBAAW,CAAC,SAAS;YAAC,SAAS,EAAE;UAAO;QAAE,EAAM,eACrG;UAAA,UAAMC;QAAI,EAAO;MAAA;IACL;EACO,GACT;AAEpB,CAAC;AAAC,eAEaF,UAAU;AAAA"}
1
+ {"version":3,"file":"FilterChip.cjs","names":["FilterChip","selected","text","size","Size","Medium","disabled","onClick","className","dataTestId","rest","e","key","defaultOnMouseDownHandler"],"sources":["../../src/Chips/FilterChip.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\nimport {Size} from '../types';\n\n/**\n * Import custom components.\n */\nimport {SystemIcons} from '../icons/index';\n\n/**\n * Import custom styles.\n */\nimport {ChipContent, ChipContentContainer, ChipContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {FilterChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst FilterChip: React.FunctionComponent<FilterChipProps> = ({\n selected,\n text,\n size = Size.Medium,\n disabled,\n onClick,\n className,\n dataTestId,\n ...rest\n }: FilterChipProps) => {\n\n\n /**\n * Return Filter Chip component.\n */\n return (\n <ChipContainer\n role=\"checkbox\"\n data-testid={dataTestId}\n className={`${size} ${disabled ? 'disabled' : ''} ${selected ? 'default' : 'outline'} ${!!onClick ? 'interactive' : ''} ${className || ''}`}\n tabIndex={disabled || !onClick ? -1 : 0}\n onKeyDown={e => (e.key === 'Enter' || e.key === ' ') && !disabled && onClick && onClick()}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => !disabled && onClick && onClick()}\n {...rest}>\n <ChipContentContainer>\n <ChipContent>\n {selected && <div className={'chip-icon icon-left'}><SystemIcons.CheckMark className={'icon'}/></div>}\n <div>{text}</div>\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n );\n};\n\nexport default FilterChip;\n"],"mappings":";;;;;;;;;;AAGA;AACA;AAKA;AAKA;AAMA;AAAoD;AAAA;AAAA;AAAA;AAAA;AAAA;AAEpD,IAAMA,UAAoD,GAAG,SAAvDA,UAAoD,OAS2B;EAAA,IARrBC,QAAQ,QAARA,QAAQ;IACRC,IAAI,QAAJA,IAAI;IAAA,iBACJC,IAAI;IAAJA,IAAI,0BAAGC,WAAI,CAACC,MAAM;IAClBC,QAAQ,QAARA,QAAQ;IACRC,QAAO,QAAPA,OAAO;IACPC,SAAS,QAATA,SAAS;IACTC,UAAU,QAAVA,UAAU;IACPC,IAAI;EAIrE;AACF;AACA;EACE,oBACE,qBAAC,yBAAa;IACZ,IAAI,EAAC,UAAU;IACf,eAAaD,UAAW;IACxB,SAAS,YAAKN,IAAI,cAAIG,QAAQ,GAAG,UAAU,GAAG,EAAE,cAAIL,QAAQ,GAAG,SAAS,GAAG,SAAS,cAAI,CAAC,CAACM,QAAO,GAAG,aAAa,GAAG,EAAE,cAAIC,SAAS,IAAI,EAAE,CAAG;IAC5I,QAAQ,EAAEF,QAAQ,IAAI,CAACC,QAAO,GAAG,CAAC,CAAC,GAAG,CAAE;IACxC,SAAS,EAAE,mBAAAI,CAAC;MAAA,OAAI,CAACA,CAAC,CAACC,GAAG,KAAK,OAAO,IAAID,CAAC,CAACC,GAAG,KAAK,GAAG,KAAK,CAACN,QAAQ,IAAIC,QAAO,IAAIA,QAAO,EAAE;IAAA,CAAC;IAC1F,WAAW,EAAEM,iCAA0B;IACvC,OAAO,EAAE;MAAA,OAAM,CAACP,QAAQ,IAAIC,QAAO,IAAIA,QAAO,EAAE;IAAA;EAAC,GAC7CG,IAAI;IAAA,uBACR,qBAAC,gCAAoB;MAAA,uBACnB,sBAAC,uBAAW;QAAA,WACTT,QAAQ,iBAAI;UAAK,SAAS,EAAE,qBAAsB;UAAA,uBAAC,qBAAC,kBAAW,CAAC,SAAS;YAAC,SAAS,EAAE;UAAO;QAAE,EAAM,eACrG;UAAA,UAAMC;QAAI,EAAO;MAAA;IACL;EACO,GACT;AAEpB,CAAC;AAAC,eAEaF,UAAU;AAAA"}
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["selected", "text", "size", "disabled", "onClick", "className"];
3
+ var _excluded = ["selected", "text", "size", "disabled", "onClick", "className", "dataTestId"];
4
4
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
  /**
@@ -34,12 +34,14 @@ var FilterChip = function FilterChip(_ref) {
34
34
  disabled = _ref.disabled,
35
35
  _onClick = _ref.onClick,
36
36
  className = _ref.className,
37
+ dataTestId = _ref.dataTestId,
37
38
  rest = _objectWithoutProperties(_ref, _excluded);
38
39
  /**
39
40
  * Return Filter Chip component.
40
41
  */
41
42
  return /*#__PURE__*/_jsx(ChipContainer, _objectSpread(_objectSpread({
42
43
  role: "checkbox",
44
+ "data-testid": dataTestId,
43
45
  className: "".concat(size, " ").concat(disabled ? 'disabled' : '', " ").concat(selected ? 'default' : 'outline', " ").concat(!!_onClick ? 'interactive' : '', " ").concat(className || ''),
44
46
  tabIndex: disabled || !_onClick ? -1 : 0,
45
47
  onKeyDown: function onKeyDown(e) {
@@ -1 +1 @@
1
- {"version":3,"file":"FilterChip.js","names":["React","Size","SystemIcons","ChipContent","ChipContentContainer","ChipContainer","defaultOnMouseDownHandler","FilterChip","selected","text","size","Medium","disabled","onClick","className","rest","e","key"],"sources":["../../src/Chips/FilterChip.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\nimport {Size} from '../types';\n\n/**\n * Import custom components.\n */\nimport {SystemIcons} from '../icons/index';\n\n/**\n * Import custom styles.\n */\nimport {ChipContent, ChipContentContainer, ChipContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {FilterChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst FilterChip: React.FunctionComponent<FilterChipProps> = ({\n selected,\n text,\n size = Size.Medium,\n disabled,\n onClick,\n className,\n ...rest\n }: FilterChipProps) => {\n\n\n /**\n * Return Filter Chip component.\n */\n return (\n <ChipContainer\n role=\"checkbox\"\n className={`${size} ${disabled ? 'disabled' : ''} ${selected ? 'default' : 'outline'} ${!!onClick ? 'interactive' : ''} ${className || ''}`}\n tabIndex={disabled || !onClick ? -1 : 0}\n onKeyDown={e => (e.key === 'Enter' || e.key === ' ') && !disabled && onClick && onClick()}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => !disabled && onClick && onClick()}\n {...rest}>\n <ChipContentContainer>\n <ChipContent>\n {selected && <div className={'chip-icon icon-left'}><SystemIcons.CheckMark className={'icon'}/></div>}\n <div>{text}</div>\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n );\n};\n\nexport default FilterChip;\n"],"mappings":";;;;;AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAAQC,IAAI,QAAO,UAAU;;AAE7B;AACA;AACA;AACA,SAAQC,WAAW,QAAO,gBAAgB;;AAE1C;AACA;AACA;AACA,SAAQC,WAAW,EAAEC,oBAAoB,EAAEC,aAAa,QAAO,cAAc;;AAE7E;AACA;AACA;;AAEA,SAAQC,yBAAyB,QAAO,WAAW;AAAC;AAAA;AAEpD,IAAMC,UAAoD,GAAG,SAAvDA,UAAoD,OAQ2B;EAAA,IAPrBC,QAAQ,QAARA,QAAQ;IACRC,IAAI,QAAJA,IAAI;IAAA,iBACJC,IAAI;IAAJA,IAAI,0BAAGT,IAAI,CAACU,MAAM;IAClBC,QAAQ,QAARA,QAAQ;IACRC,QAAO,QAAPA,OAAO;IACPC,SAAS,QAATA,SAAS;IACNC,IAAI;EAIrE;AACF;AACA;EACE,oBACE,KAAC,aAAa;IACZ,IAAI,EAAC,UAAU;IACf,SAAS,YAAKL,IAAI,cAAIE,QAAQ,GAAG,UAAU,GAAG,EAAE,cAAIJ,QAAQ,GAAG,SAAS,GAAG,SAAS,cAAI,CAAC,CAACK,QAAO,GAAG,aAAa,GAAG,EAAE,cAAIC,SAAS,IAAI,EAAE,CAAG;IAC5I,QAAQ,EAAEF,QAAQ,IAAI,CAACC,QAAO,GAAG,CAAC,CAAC,GAAG,CAAE;IACxC,SAAS,EAAE,mBAAAG,CAAC;MAAA,OAAI,CAACA,CAAC,CAACC,GAAG,KAAK,OAAO,IAAID,CAAC,CAACC,GAAG,KAAK,GAAG,KAAK,CAACL,QAAQ,IAAIC,QAAO,IAAIA,QAAO,EAAE;IAAA,CAAC;IAC1F,WAAW,EAAEP,yBAA0B;IACvC,OAAO,EAAE;MAAA,OAAM,CAACM,QAAQ,IAAIC,QAAO,IAAIA,QAAO,EAAE;IAAA;EAAC,GAC7CE,IAAI;IAAA,uBACR,KAAC,oBAAoB;MAAA,uBACnB,MAAC,WAAW;QAAA,WACTP,QAAQ,iBAAI;UAAK,SAAS,EAAE,qBAAsB;UAAA,uBAAC,KAAC,WAAW,CAAC,SAAS;YAAC,SAAS,EAAE;UAAO;QAAE,EAAM,eACrG;UAAA,UAAMC;QAAI,EAAO;MAAA;IACL;EACO,GACT;AAEpB,CAAC;AAED,eAAeF,UAAU"}
1
+ {"version":3,"file":"FilterChip.js","names":["React","Size","SystemIcons","ChipContent","ChipContentContainer","ChipContainer","defaultOnMouseDownHandler","FilterChip","selected","text","size","Medium","disabled","onClick","className","dataTestId","rest","e","key"],"sources":["../../src/Chips/FilterChip.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\nimport {Size} from '../types';\n\n/**\n * Import custom components.\n */\nimport {SystemIcons} from '../icons/index';\n\n/**\n * Import custom styles.\n */\nimport {ChipContent, ChipContentContainer, ChipContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {FilterChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst FilterChip: React.FunctionComponent<FilterChipProps> = ({\n selected,\n text,\n size = Size.Medium,\n disabled,\n onClick,\n className,\n dataTestId,\n ...rest\n }: FilterChipProps) => {\n\n\n /**\n * Return Filter Chip component.\n */\n return (\n <ChipContainer\n role=\"checkbox\"\n data-testid={dataTestId}\n className={`${size} ${disabled ? 'disabled' : ''} ${selected ? 'default' : 'outline'} ${!!onClick ? 'interactive' : ''} ${className || ''}`}\n tabIndex={disabled || !onClick ? -1 : 0}\n onKeyDown={e => (e.key === 'Enter' || e.key === ' ') && !disabled && onClick && onClick()}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => !disabled && onClick && onClick()}\n {...rest}>\n <ChipContentContainer>\n <ChipContent>\n {selected && <div className={'chip-icon icon-left'}><SystemIcons.CheckMark className={'icon'}/></div>}\n <div>{text}</div>\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n );\n};\n\nexport default FilterChip;\n"],"mappings":";;;;;AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAAQC,IAAI,QAAO,UAAU;;AAE7B;AACA;AACA;AACA,SAAQC,WAAW,QAAO,gBAAgB;;AAE1C;AACA;AACA;AACA,SAAQC,WAAW,EAAEC,oBAAoB,EAAEC,aAAa,QAAO,cAAc;;AAE7E;AACA;AACA;;AAEA,SAAQC,yBAAyB,QAAO,WAAW;AAAC;AAAA;AAEpD,IAAMC,UAAoD,GAAG,SAAvDA,UAAoD,OAS2B;EAAA,IARrBC,QAAQ,QAARA,QAAQ;IACRC,IAAI,QAAJA,IAAI;IAAA,iBACJC,IAAI;IAAJA,IAAI,0BAAGT,IAAI,CAACU,MAAM;IAClBC,QAAQ,QAARA,QAAQ;IACRC,QAAO,QAAPA,OAAO;IACPC,SAAS,QAATA,SAAS;IACTC,UAAU,QAAVA,UAAU;IACPC,IAAI;EAIrE;AACF;AACA;EACE,oBACE,KAAC,aAAa;IACZ,IAAI,EAAC,UAAU;IACf,eAAaD,UAAW;IACxB,SAAS,YAAKL,IAAI,cAAIE,QAAQ,GAAG,UAAU,GAAG,EAAE,cAAIJ,QAAQ,GAAG,SAAS,GAAG,SAAS,cAAI,CAAC,CAACK,QAAO,GAAG,aAAa,GAAG,EAAE,cAAIC,SAAS,IAAI,EAAE,CAAG;IAC5I,QAAQ,EAAEF,QAAQ,IAAI,CAACC,QAAO,GAAG,CAAC,CAAC,GAAG,CAAE;IACxC,SAAS,EAAE,mBAAAI,CAAC;MAAA,OAAI,CAACA,CAAC,CAACC,GAAG,KAAK,OAAO,IAAID,CAAC,CAACC,GAAG,KAAK,GAAG,KAAK,CAACN,QAAQ,IAAIC,QAAO,IAAIA,QAAO,EAAE;IAAA,CAAC;IAC1F,WAAW,EAAEP,yBAA0B;IACvC,OAAO,EAAE;MAAA,OAAM,CAACM,QAAQ,IAAIC,QAAO,IAAIA,QAAO,EAAE;IAAA;EAAC,GAC7CG,IAAI;IAAA,uBACR,KAAC,oBAAoB;MAAA,uBACnB,MAAC,WAAW;QAAA,WACTR,QAAQ,iBAAI;UAAK,SAAS,EAAE,qBAAsB;UAAA,uBAAC,KAAC,WAAW,CAAC,SAAS;YAAC,SAAS,EAAE;UAAO;QAAE,EAAM,eACrG;UAAA,UAAMC;QAAI,EAAO;MAAA;IACL;EACO,GACT;AAEpB,CAAC;AAED,eAAeF,UAAU"}
@@ -14,7 +14,7 @@ var _ChipStyles = require("./ChipStyles");
14
14
  var _common = require("../common");
15
15
  var _types = require("../types");
16
16
  var _jsxRuntime = require("react/jsx-runtime");
17
- var _excluded = ["icon", "text", "variant", "size", "disabled", "onClick", "disableRemove", "onRemove", "className"];
17
+ var _excluded = ["icon", "text", "variant", "size", "disabled", "onClick", "disableRemove", "dataTestId", "onRemove", "className"];
18
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
19
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
20
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -30,6 +30,7 @@ var InputChip = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30
30
  disabled = _ref.disabled,
31
31
  _onClick = _ref.onClick,
32
32
  disableRemove = _ref.disableRemove,
33
+ dataTestId = _ref.dataTestId,
33
34
  onRemove = _ref.onRemove,
34
35
  className = _ref.className,
35
36
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
@@ -60,6 +61,7 @@ var InputChip = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
60
61
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChipStyles.ChipContainer, _objectSpread(_objectSpread({
61
62
  ref: containerRef,
62
63
  role: "button",
64
+ "data-testid": dataTestId,
63
65
  "aria-roledescription": "Removable filter",
64
66
  className: "".concat(size, " ").concat(disabled ? 'disabled' : '', " ").concat(variant, " ").concat(!!_onClick ? 'interactive' : '', " ").concat(className || ''),
65
67
  tabIndex: disabled || !_onClick ? -1 : 0,
@@ -1 +1 @@
1
- {"version":3,"file":"InputChip.cjs","names":["InputChip","React","forwardRef","ref","icon","text","variant","States","Default","size","Size","Medium","disabled","onClick","disableRemove","onRemove","className","rest","containerRef","useRef","removeRef","useActionWithin","onRemoveClick","event","stopPropagation","handleContainerKeyDown","key","defaultOnMouseDownHandler","icons","e"],"sources":["../../src/Chips/InputChip.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {SystemIcons, SystemIcons as icons} from '../icons/index';\n\n/**\n * Import custom styles.\n */\nimport {ChipContainer, ChipContent, ChipContentContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {ChipVariant, InputChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler, useActionWithin} from '../common';\nimport {Size, States} from '../types';\n\nconst InputChip: React.FunctionComponent<InputChipProps> = React.forwardRef(({\n icon,\n text,\n variant = States.Default,\n size = Size.Medium,\n disabled,\n onClick,\n disableRemove,\n onRemove,\n className,\n ...rest\n }: InputChipProps, ref) => {\n\n const containerRef = ref as React.MutableRefObject<HTMLDivElement> ?? React.useRef<HTMLDivElement>(null);\n const removeRef = React.useRef<HTMLDivElement>(null);\n\n useActionWithin(containerRef, [removeRef]);\n\n /**\n * Calls onRemove action when remove button is clicked.\n * @param event - Event handler from the button click.\n */\n const onRemoveClick = (event?: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => {\n !!event && event.stopPropagation();\n onRemove(event);\n };\n\n const handleContainerKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n !disabled && onClick && onClick();\n }\n if (event.key === 'Backspace' && !disableRemove) {\n !disableRemove && onRemove && onRemove(event);\n }\n };\n\n /**\n * Return Input Chip component.\n */\n return (\n <ChipContainer ref={containerRef}\n role=\"button\"\n aria-roledescription='Removable filter'\n className={`${size} ${disabled ? 'disabled' : ''} ${variant} ${!!onClick ? 'interactive' : ''} ${className || ''}`}\n tabIndex={disabled || !onClick ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={handleContainerKeyDown}\n onClick={() => !disabled && onClick && onClick()}\n {...rest}>\n <ChipContentContainer>\n <ChipContent className={'with-action-right'}>\n {icon && <div className={'chip-icon icon-left'}>{icons[icon]({className: 'icon'})}</div>}\n\n <div>{text}</div>\n\n <div ref={removeRef}\n className={`action-right ${disableRemove ? 'disabled' : ''}`}\n tabIndex={disableRemove || disabled ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={e => !disableRemove && !disabled && onRemoveClick(e)}\n onKeyDown={e => (e.key === 'Enter' || e.key === ' ') && !disableRemove && !disabled && onRemoveClick(e)}>\n <div className={'chip-icon'}>\n <SystemIcons.Close className={'remove'}/>\n </div>\n </div>\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n );\n});\n\nexport default InputChip;\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputChip.cjs","names":["InputChip","React","forwardRef","ref","icon","text","variant","States","Default","size","Size","Medium","disabled","onClick","disableRemove","dataTestId","onRemove","className","rest","containerRef","useRef","removeRef","useActionWithin","onRemoveClick","event","stopPropagation","handleContainerKeyDown","key","defaultOnMouseDownHandler","icons","e"],"sources":["../../src/Chips/InputChip.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {SystemIcons, SystemIcons as icons} from '../icons/index';\n\n/**\n * Import custom styles.\n */\nimport {ChipContainer, ChipContent, ChipContentContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {ChipVariant, InputChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler, useActionWithin} from '../common';\nimport {Size, States} from '../types';\n\nconst InputChip: React.FunctionComponent<InputChipProps> = React.forwardRef(({\n icon,\n text,\n variant = States.Default,\n size = Size.Medium,\n disabled,\n onClick,\n disableRemove,\n dataTestId,\n onRemove,\n className,\n ...rest\n }: InputChipProps, ref) => {\n\n const containerRef = ref as React.MutableRefObject<HTMLDivElement> ?? React.useRef<HTMLDivElement>(null);\n const removeRef = React.useRef<HTMLDivElement>(null);\n\n useActionWithin(containerRef, [removeRef]);\n\n /**\n * Calls onRemove action when remove button is clicked.\n * @param event - Event handler from the button click.\n */\n const onRemoveClick = (event?: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => {\n !!event && event.stopPropagation();\n onRemove(event);\n };\n\n const handleContainerKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n !disabled && onClick && onClick();\n }\n if (event.key === 'Backspace' && !disableRemove) {\n !disableRemove && onRemove && onRemove(event);\n }\n };\n\n /**\n * Return Input Chip component.\n */\n return (\n <ChipContainer ref={containerRef}\n role=\"button\"\n data-testid={dataTestId}\n aria-roledescription='Removable filter'\n className={`${size} ${disabled ? 'disabled' : ''} ${variant} ${!!onClick ? 'interactive' : ''} ${className || ''}`}\n tabIndex={disabled || !onClick ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={handleContainerKeyDown}\n onClick={() => !disabled && onClick && onClick()}\n {...rest}>\n <ChipContentContainer>\n <ChipContent className={'with-action-right'}>\n {icon && <div className={'chip-icon icon-left'}>{icons[icon]({className: 'icon'})}</div>}\n\n <div>{text}</div>\n\n <div ref={removeRef}\n className={`action-right ${disableRemove ? 'disabled' : ''}`}\n tabIndex={disableRemove || disabled ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={e => !disableRemove && !disabled && onRemoveClick(e)}\n onKeyDown={e => (e.key === 'Enter' || e.key === ' ') && !disableRemove && !disabled && onRemoveClick(e)}>\n <div className={'chip-icon'}>\n <SystemIcons.Close className={'remove'}/>\n </div>\n </div>\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n );\n});\n\nexport default InputChip;\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["icon", "text", "variant", "size", "disabled", "onClick", "disableRemove", "onRemove", "className"];
3
+ var _excluded = ["icon", "text", "variant", "size", "disabled", "onClick", "disableRemove", "dataTestId", "onRemove", "className"];
4
4
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
  /**
@@ -37,6 +37,7 @@ var InputChip = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
37
37
  disabled = _ref.disabled,
38
38
  _onClick = _ref.onClick,
39
39
  disableRemove = _ref.disableRemove,
40
+ dataTestId = _ref.dataTestId,
40
41
  onRemove = _ref.onRemove,
41
42
  className = _ref.className,
42
43
  rest = _objectWithoutProperties(_ref, _excluded);
@@ -67,6 +68,7 @@ var InputChip = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
67
68
  return /*#__PURE__*/_jsx(ChipContainer, _objectSpread(_objectSpread({
68
69
  ref: containerRef,
69
70
  role: "button",
71
+ "data-testid": dataTestId,
70
72
  "aria-roledescription": "Removable filter",
71
73
  className: "".concat(size, " ").concat(disabled ? 'disabled' : '', " ").concat(variant, " ").concat(!!_onClick ? 'interactive' : '', " ").concat(className || ''),
72
74
  tabIndex: disabled || !_onClick ? -1 : 0,
@@ -1 +1 @@
1
- {"version":3,"file":"InputChip.js","names":["React","SystemIcons","icons","ChipContainer","ChipContent","ChipContentContainer","defaultOnMouseDownHandler","useActionWithin","Size","States","InputChip","forwardRef","ref","icon","text","variant","Default","size","Medium","disabled","onClick","disableRemove","onRemove","className","rest","containerRef","useRef","removeRef","onRemoveClick","event","stopPropagation","handleContainerKeyDown","key","e"],"sources":["../../src/Chips/InputChip.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {SystemIcons, SystemIcons as icons} from '../icons/index';\n\n/**\n * Import custom styles.\n */\nimport {ChipContainer, ChipContent, ChipContentContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {ChipVariant, InputChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler, useActionWithin} from '../common';\nimport {Size, States} from '../types';\n\nconst InputChip: React.FunctionComponent<InputChipProps> = React.forwardRef(({\n icon,\n text,\n variant = States.Default,\n size = Size.Medium,\n disabled,\n onClick,\n disableRemove,\n onRemove,\n className,\n ...rest\n }: InputChipProps, ref) => {\n\n const containerRef = ref as React.MutableRefObject<HTMLDivElement> ?? React.useRef<HTMLDivElement>(null);\n const removeRef = React.useRef<HTMLDivElement>(null);\n\n useActionWithin(containerRef, [removeRef]);\n\n /**\n * Calls onRemove action when remove button is clicked.\n * @param event - Event handler from the button click.\n */\n const onRemoveClick = (event?: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => {\n !!event && event.stopPropagation();\n onRemove(event);\n };\n\n const handleContainerKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n !disabled && onClick && onClick();\n }\n if (event.key === 'Backspace' && !disableRemove) {\n !disableRemove && onRemove && onRemove(event);\n }\n };\n\n /**\n * Return Input Chip component.\n */\n return (\n <ChipContainer ref={containerRef}\n role=\"button\"\n aria-roledescription='Removable filter'\n className={`${size} ${disabled ? 'disabled' : ''} ${variant} ${!!onClick ? 'interactive' : ''} ${className || ''}`}\n tabIndex={disabled || !onClick ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={handleContainerKeyDown}\n onClick={() => !disabled && onClick && onClick()}\n {...rest}>\n <ChipContentContainer>\n <ChipContent className={'with-action-right'}>\n {icon && <div className={'chip-icon icon-left'}>{icons[icon]({className: 'icon'})}</div>}\n\n <div>{text}</div>\n\n <div ref={removeRef}\n className={`action-right ${disableRemove ? 'disabled' : ''}`}\n tabIndex={disableRemove || disabled ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={e => !disableRemove && !disabled && onRemoveClick(e)}\n onKeyDown={e => (e.key === 'Enter' || e.key === ' ') && !disableRemove && !disabled && onRemoveClick(e)}>\n <div className={'chip-icon'}>\n <SystemIcons.Close className={'remove'}/>\n </div>\n </div>\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n );\n});\n\nexport default InputChip;\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputChip.js","names":["React","SystemIcons","icons","ChipContainer","ChipContent","ChipContentContainer","defaultOnMouseDownHandler","useActionWithin","Size","States","InputChip","forwardRef","ref","icon","text","variant","Default","size","Medium","disabled","onClick","disableRemove","dataTestId","onRemove","className","rest","containerRef","useRef","removeRef","onRemoveClick","event","stopPropagation","handleContainerKeyDown","key","e"],"sources":["../../src/Chips/InputChip.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {SystemIcons, SystemIcons as icons} from '../icons/index';\n\n/**\n * Import custom styles.\n */\nimport {ChipContainer, ChipContent, ChipContentContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {ChipVariant, InputChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler, useActionWithin} from '../common';\nimport {Size, States} from '../types';\n\nconst InputChip: React.FunctionComponent<InputChipProps> = React.forwardRef(({\n icon,\n text,\n variant = States.Default,\n size = Size.Medium,\n disabled,\n onClick,\n disableRemove,\n dataTestId,\n onRemove,\n className,\n ...rest\n }: InputChipProps, ref) => {\n\n const containerRef = ref as React.MutableRefObject<HTMLDivElement> ?? React.useRef<HTMLDivElement>(null);\n const removeRef = React.useRef<HTMLDivElement>(null);\n\n useActionWithin(containerRef, [removeRef]);\n\n /**\n * Calls onRemove action when remove button is clicked.\n * @param event - Event handler from the button click.\n */\n const onRemoveClick = (event?: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => {\n !!event && event.stopPropagation();\n onRemove(event);\n };\n\n const handleContainerKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n !disabled && onClick && onClick();\n }\n if (event.key === 'Backspace' && !disableRemove) {\n !disableRemove && onRemove && onRemove(event);\n }\n };\n\n /**\n * Return Input Chip component.\n */\n return (\n <ChipContainer ref={containerRef}\n role=\"button\"\n data-testid={dataTestId}\n aria-roledescription='Removable filter'\n className={`${size} ${disabled ? 'disabled' : ''} ${variant} ${!!onClick ? 'interactive' : ''} ${className || ''}`}\n tabIndex={disabled || !onClick ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={handleContainerKeyDown}\n onClick={() => !disabled && onClick && onClick()}\n {...rest}>\n <ChipContentContainer>\n <ChipContent className={'with-action-right'}>\n {icon && <div className={'chip-icon icon-left'}>{icons[icon]({className: 'icon'})}</div>}\n\n <div>{text}</div>\n\n <div ref={removeRef}\n className={`action-right ${disableRemove ? 'disabled' : ''}`}\n tabIndex={disableRemove || disabled ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={e => !disableRemove && !disabled && onRemoveClick(e)}\n onKeyDown={e => (e.key === 'Enter' || e.key === ' ') && !disableRemove && !disabled && onRemoveClick(e)}>\n <div className={'chip-icon'}>\n <SystemIcons.Close className={'remove'}/>\n </div>\n </div>\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n );\n});\n\nexport default InputChip;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChipDropdownInput.cjs","names":["Wrapper","styled","div","ChipInputContainer","Z_INDEXES","dropdown","ChipDropdownInput","React","forwardRef","ref","list","onInputChange","disableSorting","messageOnNoResults","values","inputId","variants","placeholder","validationMessage","onValueChange","suggestion","loading","maxSelectedItems","multiLine","size","Size","Medium","icon","disableFiltering","disabled","altPlaceholder","required","rest","useState","givenList","setGivenList","chips","setChips","activeDescendant","setActiveDescendant","value","setValue","restartFilter","setRestartFilter","filteredList","setFilteredList","dropdownIsOpen","setDropdownIsOpen","dropdownList","setDropdownList","dropdownValue","setDropdownValue","focused","setFocused","containerRef","useClickOutsideRef","useFocusOutsideRef","inputRef","useRef","useImperativeHandle","current","useEffect","map","a","find","b","label","index","variant","States","Default","newList","e","options","filter","option","toUpperCase","indexOf","secondaryLabel","sort","push","o","length","handleClickOutside","contains","target","document","addEventListener","removeEventListener","x","displayLabel","noteLabel","SystemIcons","addChip","newChip","handleInputValueChange","handleValueUpdate","item","focus","handleInputKeyDown","event","key","stopPropagation","handleOnChipRemoved","newChips","splice","chip","action","pinTopItem","itemsType","scrollable","actionLabel","multiSelect","onValueUpdate","items"],"sources":["../../src/ChipsInput/ChipDropdownInput.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom components.\n */\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\nimport {Size, States} from '../types';\nimport {DropdownContent, DropdownItem} from '../Dropdown';\nimport {SystemIcons} from '../icons';\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\nimport {useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {Z_INDEXES} from '../styles';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n width: 100%;\n\n ${ChipInputContainer} {\n position: relative;\n\n &:focus, &.focus-visible-within {\n z-index: ${Z_INDEXES.dropdown + 1} !important;\n }\n }\n`;\n\n\ninterface ListItem extends ChipItem {\n secondaryLabel?: string;\n value: string;\n}\n\ninterface ChipDropdownInputProps extends ChipInputProps {\n list: ListItem[] | string[];\n onInputChange?: (input: string) => void;\n messageOnNoResults?: string;\n suggestion?: ListItem;\n loading?: boolean;\n maxSelectedItems?: number;\n disableSorting?: boolean;\n disableFiltering?: boolean;\n}\n\nexport const ChipDropdownInput = React.forwardRef<HTMLInputElement | undefined, ChipDropdownInputProps>(({\n list,\n onInputChange,\n disableSorting,\n messageOnNoResults,\n values,\n inputId,\n variants,\n placeholder,\n validationMessage,\n onValueChange,\n suggestion,\n loading,\n maxSelectedItems,\n multiLine = true,\n size = Size.Medium,\n icon,\n disableFiltering,\n disabled,\n altPlaceholder,\n required,\n ...rest\n }: ChipDropdownInputProps, ref) => {\n // Initiate states\n const [givenList, setGivenList] = React.useState<ListItem[]>([]);\n const [chips, setChips] = React.useState<ListItem[]>([]);\n\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [value, setValue] = React.useState<string>('');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [filteredList, setFilteredList] = React.useState<ListItem[]>();\n\n const [dropdownIsOpen, setDropdownIsOpen] = React.useState<boolean>(false);\n const [dropdownList, setDropdownList] = React.useState<DropdownItem[]>([]);\n const [dropdownValue, setDropdownValue] = React.useState<string>('');\n\n const [focused, setFocused] = React.useState<number | null>(null);\n\n const containerRef = useClickOutsideRef(() => setDropdownIsOpen(false), [], useFocusOutsideRef(() => setDropdownIsOpen(false)));\n const inputRef = React.useRef<any>();\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n\n const list =\n values.map((a) => chips.find(b => b.value === a) || givenList.find(b => b.value === a) || {\n label: a,\n value: a,\n icon: icon\n })\n .map((a, index) => ({...a, variant: a.variant || (variants && variants[index]) || States.Default}))\n .map((a, index) => ({...a, icon: a.icon || icon}));\n\n setChips(list);\n }, [values, variants, icon, givenList]);\n\n /**\n * Convert string[] to List[] if necessary\n */\n React.useEffect(() => {\n if (typeof list[0] === 'string') {\n const newList: ListItem[] = (list as string[]).map((e: string) => ({label: e, value: e}));\n setGivenList(newList);\n } else {\n setGivenList(list as ListItem[]);\n }\n }, [list]);\n\n /**\n * filter and sort list if remoteOperations is false\n * */\n React.useEffect(() => {\n let options = [...givenList];\n if (!disableFiltering) {\n if (!restartFilter && value !== '') {\n options = options.filter((option) => option.label.toUpperCase().indexOf(value.toUpperCase()) !== -1 ||\n (option.secondaryLabel && option.secondaryLabel?.toUpperCase().indexOf(value.toUpperCase()) !== -1));\n }\n }\n\n if (!disableSorting) {\n options = options.sort();\n }\n\n suggestion && options.push(suggestion);\n\n options = options.filter((o) => !chips.find(a => a.value === o.value));\n setFilteredList(options);\n }, [value, givenList, chips, disableFiltering, disableSorting]);\n\n /**\n * if there is only one active item in dropdown mark it as focused\n * */\n React.useEffect(() => {\n if (dropdownIsOpen && !!value && dropdownList?.filter(a => !a.disabled).length === 1) {\n setDropdownValue(dropdownList.find(a => !a.disabled)!.value);\n } else {\n setDropdownValue('');\n }\n }, [dropdownList, dropdownIsOpen, value]);\n\n const handleClickOutside = (e: any) => {\n if (!containerRef.current?.contains(e.target)) {\n if (dropdownIsOpen) {\n setDropdownIsOpen(false);\n if (!givenList.find((e) => e.value === value)) {\n setValue('');\n }\n }\n }\n };\n\n /**\n * register click outside event listener\n * */\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, []);\n\n /**\n * update dropdown items when filtered list changes\n * */\n React.useEffect(() => {\n setDropdownList(filteredList?.map(x => ({\n value: x.value,\n displayLabel: x.label,\n noteLabel: x.secondaryLabel,\n icon: (x.icon ?? icon) && SystemIcons[(x.icon || icon)!]({}),\n disabled: x.disabled,\n })) ?? []);\n }, [filteredList]);\n\n const addChip = (newChip: ListItem) => {\n const newList = [...chips, newChip];\n // Let's add the chip\n setChips(newList);\n onValueChange(newList.map(a => a.value));\n\n setValue('');\n };\n\n const handleInputValueChange = (value: string) => {\n setValue(value);\n setRestartFilter(false);\n setDropdownIsOpen(true);\n onInputChange && onInputChange(value);\n }\n\n /**\n * Add chip from dropdown\n * */\n const handleValueUpdate = (values: string[]) => {\n const item = filteredList?.find(a => a.value === values[0]);\n item && addChip(item);\n setRestartFilter(true);\n inputRef?.current?.focus();\n }\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n // Let's trigger only on enter, comma and space key press\n if ((event.key === 'Enter' || event.key === ' ') && value) {\n if (dropdownList?.filter(a => !a.disabled).length === 1) {\n handleValueUpdate([dropdownList!.find(a => !a.disabled)!.value]);\n event.stopPropagation();\n }\n }\n\n if ((event.key === 'ArrowDown' || event.key === 'Down' || event.key === 'ArrowUp' || event.key === 'Up') && !!dropdownList?.length) {\n setDropdownIsOpen(true);\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n */\n const handleOnChipRemoved = (index: number): void => {\n // Let's copy the chips\n const newChips = [...chips];\n\n // Let's delete the chip\n // If necessary, let's replace it with a different chip\n newChips.splice(index, 1);\n\n // Let's update the chip list\n setChips([...newChips]);\n onValueChange(newChips.map((e) => e.value));\n };\n\n return (\n <Wrapper ref={containerRef}>\n <ChipInputField inputId={inputId}\n ref={inputRef}\n items={chips}\n required={required}\n inputValue={value}\n role=\"combobox\"\n aria-activedescendant={activeDescendant}\n size={size}\n placeholder={placeholder}\n altPlaceholder={altPlaceholder}\n disabled={disabled}\n multiLine={multiLine}\n validationMessage={validationMessage}\n loading={loading}\n onRemoveItem={(chip, index) => handleOnChipRemoved(index)}\n onInputValueChange={handleInputValueChange}\n onInputKeyDown={handleInputKeyDown}\n onActivationChange={(value) => setDropdownIsOpen(value)}\n {...rest}/>\n <DropdownContent\n containerRef={containerRef}\n customizationProps={{\n action: () => {\n },\n pinTopItem: true,\n\n itemsType: 'normal',\n scrollable: true,\n actionLabel: '',\n multiSelect: false,\n onValueUpdate: handleValueUpdate,\n items: dropdownList,\n }}\n ariaRolesType=\"input\"\n focused={focused}\n setFocused={setFocused}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n selectedValues={[dropdownValue]}\n messageOnNoResults={messageOnNoResults ?? ''}\n setSelectedValues={() => {\n }}\n isOpen={(!maxSelectedItems || (!!maxSelectedItems && chips.length < maxSelectedItems)) && dropdownIsOpen}\n setIsOpen={setDropdownIsOpen}\n filter={''}\n isButton={false}\n id={`${inputId}_dropdowncontent`}/>\n\n </Wrapper>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"ChipDropdownInput.cjs","names":["Wrapper","styled","div","ChipInputContainer","Z_INDEXES","dropdown","ChipDropdownInput","React","forwardRef","ref","list","onInputChange","disableSorting","messageOnNoResults","values","inputId","variants","placeholder","validationMessage","onValueChange","suggestion","loading","maxSelectedItems","multiLine","size","Size","Medium","icon","disableFiltering","disabled","altPlaceholder","required","rest","useState","givenList","setGivenList","chips","setChips","activeDescendant","setActiveDescendant","value","setValue","restartFilter","setRestartFilter","filteredList","setFilteredList","dropdownIsOpen","setDropdownIsOpen","dropdownList","setDropdownList","dropdownValue","setDropdownValue","focused","setFocused","containerRef","useClickOutsideRef","useFocusOutsideRef","inputRef","useRef","useImperativeHandle","current","useEffect","map","a","find","b","label","index","variant","States","Default","newList","e","options","filter","option","toUpperCase","indexOf","secondaryLabel","sort","push","o","length","handleClickOutside","contains","target","document","addEventListener","removeEventListener","x","displayLabel","noteLabel","SystemIcons","addChip","newChip","handleInputValueChange","handleValueUpdate","item","focus","handleInputKeyDown","event","key","stopPropagation","handleOnChipRemoved","newChips","splice","chip","action","pinTopItem","itemsType","scrollable","actionLabel","multiSelect","onValueUpdate","items"],"sources":["../../src/ChipsInput/ChipDropdownInput.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom components.\n */\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\nimport {Size, States} from '../types';\nimport {DropdownContent, DropdownItem} from '../Dropdown';\nimport {SystemIcons} from '../icons';\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\nimport {useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {Z_INDEXES} from '../styles';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n width: 100%;\n\n ${ChipInputContainer} {\n position: relative;\n\n &:focus, &.focus-visible-within {\n z-index: ${Z_INDEXES.dropdown + 1} !important;\n }\n }\n`;\n\n\ninterface ListItem extends ChipItem {\n secondaryLabel?: string;\n value: string;\n}\n\ninterface ChipDropdownInputProps extends Omit<ChipInputProps, 'autoSave'> {\n list: ListItem[] | string[];\n onInputChange?: (input: string) => void;\n messageOnNoResults?: string;\n suggestion?: ListItem;\n loading?: boolean;\n maxSelectedItems?: number;\n disableSorting?: boolean;\n disableFiltering?: boolean;\n}\n\nexport const ChipDropdownInput = React.forwardRef<HTMLInputElement | undefined, ChipDropdownInputProps>(({\n list,\n onInputChange,\n disableSorting,\n messageOnNoResults,\n values,\n inputId,\n variants,\n placeholder,\n validationMessage,\n onValueChange,\n suggestion,\n loading,\n maxSelectedItems,\n multiLine = true,\n size = Size.Medium,\n icon,\n disableFiltering,\n disabled,\n altPlaceholder,\n required,\n ...rest\n }: ChipDropdownInputProps, ref) => {\n // Initiate states\n const [givenList, setGivenList] = React.useState<ListItem[]>([]);\n const [chips, setChips] = React.useState<ListItem[]>([]);\n\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [value, setValue] = React.useState<string>('');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [filteredList, setFilteredList] = React.useState<ListItem[]>();\n\n const [dropdownIsOpen, setDropdownIsOpen] = React.useState<boolean>(false);\n const [dropdownList, setDropdownList] = React.useState<DropdownItem[]>([]);\n const [dropdownValue, setDropdownValue] = React.useState<string>('');\n\n const [focused, setFocused] = React.useState<number | null>(null);\n\n const containerRef = useClickOutsideRef(() => setDropdownIsOpen(false), [], useFocusOutsideRef(() => setDropdownIsOpen(false)));\n const inputRef = React.useRef<any>();\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n\n const list =\n values.map((a) => chips.find(b => b.value === a) || givenList.find(b => b.value === a) || {\n label: a,\n value: a,\n icon: icon\n })\n .map((a, index) => ({...a, variant: a.variant || (variants && variants[index]) || States.Default}))\n .map((a, index) => ({...a, icon: a.icon || icon}));\n\n setChips(list);\n }, [values, variants, icon, givenList]);\n\n /**\n * Convert string[] to List[] if necessary\n */\n React.useEffect(() => {\n if (typeof list[0] === 'string') {\n const newList: ListItem[] = (list as string[]).map((e: string) => ({label: e, value: e}));\n setGivenList(newList);\n } else {\n setGivenList(list as ListItem[]);\n }\n }, [list]);\n\n /**\n * filter and sort list if remoteOperations is false\n * */\n React.useEffect(() => {\n let options = [...givenList];\n if (!disableFiltering) {\n if (!restartFilter && value !== '') {\n options = options.filter((option) => option.label.toUpperCase().indexOf(value.toUpperCase()) !== -1 ||\n (option.secondaryLabel && option.secondaryLabel?.toUpperCase().indexOf(value.toUpperCase()) !== -1));\n }\n }\n\n if (!disableSorting) {\n options = options.sort();\n }\n\n suggestion && options.push(suggestion);\n\n options = options.filter((o) => !chips.find(a => a.value === o.value));\n setFilteredList(options);\n }, [value, givenList, chips, disableFiltering, disableSorting]);\n\n /**\n * if there is only one active item in dropdown mark it as focused\n * */\n React.useEffect(() => {\n if (dropdownIsOpen && !!value && dropdownList?.filter(a => !a.disabled).length === 1) {\n setDropdownValue(dropdownList.find(a => !a.disabled)!.value);\n } else {\n setDropdownValue('');\n }\n }, [dropdownList, dropdownIsOpen, value]);\n\n const handleClickOutside = (e: any) => {\n if (!containerRef.current?.contains(e.target)) {\n if (dropdownIsOpen) {\n setDropdownIsOpen(false);\n if (!givenList.find((e) => e.value === value)) {\n setValue('');\n }\n }\n }\n };\n\n /**\n * register click outside event listener\n * */\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, []);\n\n /**\n * update dropdown items when filtered list changes\n * */\n React.useEffect(() => {\n setDropdownList(filteredList?.map(x => ({\n value: x.value,\n displayLabel: x.label,\n noteLabel: x.secondaryLabel,\n icon: (x.icon ?? icon) && SystemIcons[(x.icon || icon)!]({}),\n disabled: x.disabled,\n })) ?? []);\n }, [filteredList]);\n\n const addChip = (newChip: ListItem) => {\n const newList = [...chips, newChip];\n // Let's add the chip\n setChips(newList);\n onValueChange(newList.map(a => a.value));\n\n setValue('');\n };\n\n const handleInputValueChange = (value: string) => {\n setValue(value);\n setRestartFilter(false);\n setDropdownIsOpen(true);\n onInputChange && onInputChange(value);\n }\n\n /**\n * Add chip from dropdown\n * */\n const handleValueUpdate = (values: string[]) => {\n const item = filteredList?.find(a => a.value === values[0]);\n item && addChip(item);\n setRestartFilter(true);\n inputRef?.current?.focus();\n }\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n // Let's trigger only on enter, comma and space key press\n if ((event.key === 'Enter' || event.key === ' ') && value) {\n if (dropdownList?.filter(a => !a.disabled).length === 1) {\n handleValueUpdate([dropdownList!.find(a => !a.disabled)!.value]);\n event.stopPropagation();\n }\n }\n\n if ((event.key === 'ArrowDown' || event.key === 'Down' || event.key === 'ArrowUp' || event.key === 'Up') && !!dropdownList?.length) {\n setDropdownIsOpen(true);\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n */\n const handleOnChipRemoved = (index: number): void => {\n // Let's copy the chips\n const newChips = [...chips];\n\n // Let's delete the chip\n // If necessary, let's replace it with a different chip\n newChips.splice(index, 1);\n\n // Let's update the chip list\n setChips([...newChips]);\n onValueChange(newChips.map((e) => e.value));\n };\n\n return (\n <Wrapper ref={containerRef}>\n <ChipInputField inputId={inputId}\n ref={inputRef}\n items={chips}\n required={required}\n inputValue={value}\n role=\"combobox\"\n aria-activedescendant={activeDescendant}\n size={size}\n placeholder={placeholder}\n altPlaceholder={altPlaceholder}\n disabled={disabled}\n multiLine={multiLine}\n validationMessage={validationMessage}\n loading={loading}\n onRemoveItem={(chip, index) => handleOnChipRemoved(index)}\n onInputValueChange={handleInputValueChange}\n onInputKeyDown={handleInputKeyDown}\n onActivationChange={(value) => setDropdownIsOpen(value)}\n {...rest}/>\n <DropdownContent\n containerRef={containerRef}\n customizationProps={{\n action: () => {\n },\n pinTopItem: true,\n\n itemsType: 'normal',\n scrollable: true,\n actionLabel: '',\n multiSelect: false,\n onValueUpdate: handleValueUpdate,\n items: dropdownList,\n }}\n ariaRolesType=\"input\"\n focused={focused}\n setFocused={setFocused}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n selectedValues={[dropdownValue]}\n messageOnNoResults={messageOnNoResults ?? ''}\n setSelectedValues={() => {\n }}\n isOpen={(!maxSelectedItems || (!!maxSelectedItems && chips.length < maxSelectedItems)) && dropdownIsOpen}\n setIsOpen={setDropdownIsOpen}\n filter={''}\n isButton={false}\n id={`${inputId}_dropdowncontent`}/>\n\n </Wrapper>\n );\n});\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ interface ListItem extends ChipItem {
7
7
  secondaryLabel?: string;
8
8
  value: string;
9
9
  }
10
- interface ChipDropdownInputProps extends ChipInputProps {
10
+ interface ChipDropdownInputProps extends Omit<ChipInputProps, 'autoSave'> {
11
11
  list: ListItem[] | string[];
12
12
  onInputChange?: (input: string) => void;
13
13
  messageOnNoResults?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ChipDropdownInput.js","names":["React","styled","ChipInputContainer","ChipInputField","Size","States","DropdownContent","SystemIcons","useClickOutsideRef","useFocusOutsideRef","Z_INDEXES","Wrapper","div","dropdown","ChipDropdownInput","forwardRef","ref","list","onInputChange","disableSorting","messageOnNoResults","values","inputId","variants","placeholder","validationMessage","onValueChange","suggestion","loading","maxSelectedItems","multiLine","size","Medium","icon","disableFiltering","disabled","altPlaceholder","required","rest","useState","givenList","setGivenList","chips","setChips","activeDescendant","setActiveDescendant","value","setValue","restartFilter","setRestartFilter","filteredList","setFilteredList","dropdownIsOpen","setDropdownIsOpen","dropdownList","setDropdownList","dropdownValue","setDropdownValue","focused","setFocused","containerRef","inputRef","useRef","useImperativeHandle","current","useEffect","map","a","find","b","label","index","variant","Default","newList","e","options","filter","option","toUpperCase","indexOf","secondaryLabel","sort","push","o","length","handleClickOutside","contains","target","document","addEventListener","removeEventListener","x","displayLabel","noteLabel","addChip","newChip","handleInputValueChange","handleValueUpdate","item","focus","handleInputKeyDown","event","key","stopPropagation","handleOnChipRemoved","newChips","splice","chip","action","pinTopItem","itemsType","scrollable","actionLabel","multiSelect","onValueUpdate","items"],"sources":["../../src/ChipsInput/ChipDropdownInput.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom components.\n */\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\nimport {Size, States} from '../types';\nimport {DropdownContent, DropdownItem} from '../Dropdown';\nimport {SystemIcons} from '../icons';\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\nimport {useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {Z_INDEXES} from '../styles';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n width: 100%;\n\n ${ChipInputContainer} {\n position: relative;\n\n &:focus, &.focus-visible-within {\n z-index: ${Z_INDEXES.dropdown + 1} !important;\n }\n }\n`;\n\n\ninterface ListItem extends ChipItem {\n secondaryLabel?: string;\n value: string;\n}\n\ninterface ChipDropdownInputProps extends ChipInputProps {\n list: ListItem[] | string[];\n onInputChange?: (input: string) => void;\n messageOnNoResults?: string;\n suggestion?: ListItem;\n loading?: boolean;\n maxSelectedItems?: number;\n disableSorting?: boolean;\n disableFiltering?: boolean;\n}\n\nexport const ChipDropdownInput = React.forwardRef<HTMLInputElement | undefined, ChipDropdownInputProps>(({\n list,\n onInputChange,\n disableSorting,\n messageOnNoResults,\n values,\n inputId,\n variants,\n placeholder,\n validationMessage,\n onValueChange,\n suggestion,\n loading,\n maxSelectedItems,\n multiLine = true,\n size = Size.Medium,\n icon,\n disableFiltering,\n disabled,\n altPlaceholder,\n required,\n ...rest\n }: ChipDropdownInputProps, ref) => {\n // Initiate states\n const [givenList, setGivenList] = React.useState<ListItem[]>([]);\n const [chips, setChips] = React.useState<ListItem[]>([]);\n\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [value, setValue] = React.useState<string>('');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [filteredList, setFilteredList] = React.useState<ListItem[]>();\n\n const [dropdownIsOpen, setDropdownIsOpen] = React.useState<boolean>(false);\n const [dropdownList, setDropdownList] = React.useState<DropdownItem[]>([]);\n const [dropdownValue, setDropdownValue] = React.useState<string>('');\n\n const [focused, setFocused] = React.useState<number | null>(null);\n\n const containerRef = useClickOutsideRef(() => setDropdownIsOpen(false), [], useFocusOutsideRef(() => setDropdownIsOpen(false)));\n const inputRef = React.useRef<any>();\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n\n const list =\n values.map((a) => chips.find(b => b.value === a) || givenList.find(b => b.value === a) || {\n label: a,\n value: a,\n icon: icon\n })\n .map((a, index) => ({...a, variant: a.variant || (variants && variants[index]) || States.Default}))\n .map((a, index) => ({...a, icon: a.icon || icon}));\n\n setChips(list);\n }, [values, variants, icon, givenList]);\n\n /**\n * Convert string[] to List[] if necessary\n */\n React.useEffect(() => {\n if (typeof list[0] === 'string') {\n const newList: ListItem[] = (list as string[]).map((e: string) => ({label: e, value: e}));\n setGivenList(newList);\n } else {\n setGivenList(list as ListItem[]);\n }\n }, [list]);\n\n /**\n * filter and sort list if remoteOperations is false\n * */\n React.useEffect(() => {\n let options = [...givenList];\n if (!disableFiltering) {\n if (!restartFilter && value !== '') {\n options = options.filter((option) => option.label.toUpperCase().indexOf(value.toUpperCase()) !== -1 ||\n (option.secondaryLabel && option.secondaryLabel?.toUpperCase().indexOf(value.toUpperCase()) !== -1));\n }\n }\n\n if (!disableSorting) {\n options = options.sort();\n }\n\n suggestion && options.push(suggestion);\n\n options = options.filter((o) => !chips.find(a => a.value === o.value));\n setFilteredList(options);\n }, [value, givenList, chips, disableFiltering, disableSorting]);\n\n /**\n * if there is only one active item in dropdown mark it as focused\n * */\n React.useEffect(() => {\n if (dropdownIsOpen && !!value && dropdownList?.filter(a => !a.disabled).length === 1) {\n setDropdownValue(dropdownList.find(a => !a.disabled)!.value);\n } else {\n setDropdownValue('');\n }\n }, [dropdownList, dropdownIsOpen, value]);\n\n const handleClickOutside = (e: any) => {\n if (!containerRef.current?.contains(e.target)) {\n if (dropdownIsOpen) {\n setDropdownIsOpen(false);\n if (!givenList.find((e) => e.value === value)) {\n setValue('');\n }\n }\n }\n };\n\n /**\n * register click outside event listener\n * */\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, []);\n\n /**\n * update dropdown items when filtered list changes\n * */\n React.useEffect(() => {\n setDropdownList(filteredList?.map(x => ({\n value: x.value,\n displayLabel: x.label,\n noteLabel: x.secondaryLabel,\n icon: (x.icon ?? icon) && SystemIcons[(x.icon || icon)!]({}),\n disabled: x.disabled,\n })) ?? []);\n }, [filteredList]);\n\n const addChip = (newChip: ListItem) => {\n const newList = [...chips, newChip];\n // Let's add the chip\n setChips(newList);\n onValueChange(newList.map(a => a.value));\n\n setValue('');\n };\n\n const handleInputValueChange = (value: string) => {\n setValue(value);\n setRestartFilter(false);\n setDropdownIsOpen(true);\n onInputChange && onInputChange(value);\n }\n\n /**\n * Add chip from dropdown\n * */\n const handleValueUpdate = (values: string[]) => {\n const item = filteredList?.find(a => a.value === values[0]);\n item && addChip(item);\n setRestartFilter(true);\n inputRef?.current?.focus();\n }\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n // Let's trigger only on enter, comma and space key press\n if ((event.key === 'Enter' || event.key === ' ') && value) {\n if (dropdownList?.filter(a => !a.disabled).length === 1) {\n handleValueUpdate([dropdownList!.find(a => !a.disabled)!.value]);\n event.stopPropagation();\n }\n }\n\n if ((event.key === 'ArrowDown' || event.key === 'Down' || event.key === 'ArrowUp' || event.key === 'Up') && !!dropdownList?.length) {\n setDropdownIsOpen(true);\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n */\n const handleOnChipRemoved = (index: number): void => {\n // Let's copy the chips\n const newChips = [...chips];\n\n // Let's delete the chip\n // If necessary, let's replace it with a different chip\n newChips.splice(index, 1);\n\n // Let's update the chip list\n setChips([...newChips]);\n onValueChange(newChips.map((e) => e.value));\n };\n\n return (\n <Wrapper ref={containerRef}>\n <ChipInputField inputId={inputId}\n ref={inputRef}\n items={chips}\n required={required}\n inputValue={value}\n role=\"combobox\"\n aria-activedescendant={activeDescendant}\n size={size}\n placeholder={placeholder}\n altPlaceholder={altPlaceholder}\n disabled={disabled}\n multiLine={multiLine}\n validationMessage={validationMessage}\n loading={loading}\n onRemoveItem={(chip, index) => handleOnChipRemoved(index)}\n onInputValueChange={handleInputValueChange}\n onInputKeyDown={handleInputKeyDown}\n onActivationChange={(value) => setDropdownIsOpen(value)}\n {...rest}/>\n <DropdownContent\n containerRef={containerRef}\n customizationProps={{\n action: () => {\n },\n pinTopItem: true,\n\n itemsType: 'normal',\n scrollable: true,\n actionLabel: '',\n multiSelect: false,\n onValueUpdate: handleValueUpdate,\n items: dropdownList,\n }}\n ariaRolesType=\"input\"\n focused={focused}\n setFocused={setFocused}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n selectedValues={[dropdownValue]}\n messageOnNoResults={messageOnNoResults ?? ''}\n setSelectedValues={() => {\n }}\n isOpen={(!maxSelectedItems || (!!maxSelectedItems && chips.length < maxSelectedItems)) && dropdownIsOpen}\n setIsOpen={setDropdownIsOpen}\n filter={''}\n isButton={false}\n id={`${inputId}_dropdowncontent`}/>\n\n </Wrapper>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"ChipDropdownInput.js","names":["React","styled","ChipInputContainer","ChipInputField","Size","States","DropdownContent","SystemIcons","useClickOutsideRef","useFocusOutsideRef","Z_INDEXES","Wrapper","div","dropdown","ChipDropdownInput","forwardRef","ref","list","onInputChange","disableSorting","messageOnNoResults","values","inputId","variants","placeholder","validationMessage","onValueChange","suggestion","loading","maxSelectedItems","multiLine","size","Medium","icon","disableFiltering","disabled","altPlaceholder","required","rest","useState","givenList","setGivenList","chips","setChips","activeDescendant","setActiveDescendant","value","setValue","restartFilter","setRestartFilter","filteredList","setFilteredList","dropdownIsOpen","setDropdownIsOpen","dropdownList","setDropdownList","dropdownValue","setDropdownValue","focused","setFocused","containerRef","inputRef","useRef","useImperativeHandle","current","useEffect","map","a","find","b","label","index","variant","Default","newList","e","options","filter","option","toUpperCase","indexOf","secondaryLabel","sort","push","o","length","handleClickOutside","contains","target","document","addEventListener","removeEventListener","x","displayLabel","noteLabel","addChip","newChip","handleInputValueChange","handleValueUpdate","item","focus","handleInputKeyDown","event","key","stopPropagation","handleOnChipRemoved","newChips","splice","chip","action","pinTopItem","itemsType","scrollable","actionLabel","multiSelect","onValueUpdate","items"],"sources":["../../src/ChipsInput/ChipDropdownInput.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom components.\n */\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\nimport {Size, States} from '../types';\nimport {DropdownContent, DropdownItem} from '../Dropdown';\nimport {SystemIcons} from '../icons';\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\nimport {useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {Z_INDEXES} from '../styles';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n width: 100%;\n\n ${ChipInputContainer} {\n position: relative;\n\n &:focus, &.focus-visible-within {\n z-index: ${Z_INDEXES.dropdown + 1} !important;\n }\n }\n`;\n\n\ninterface ListItem extends ChipItem {\n secondaryLabel?: string;\n value: string;\n}\n\ninterface ChipDropdownInputProps extends Omit<ChipInputProps, 'autoSave'> {\n list: ListItem[] | string[];\n onInputChange?: (input: string) => void;\n messageOnNoResults?: string;\n suggestion?: ListItem;\n loading?: boolean;\n maxSelectedItems?: number;\n disableSorting?: boolean;\n disableFiltering?: boolean;\n}\n\nexport const ChipDropdownInput = React.forwardRef<HTMLInputElement | undefined, ChipDropdownInputProps>(({\n list,\n onInputChange,\n disableSorting,\n messageOnNoResults,\n values,\n inputId,\n variants,\n placeholder,\n validationMessage,\n onValueChange,\n suggestion,\n loading,\n maxSelectedItems,\n multiLine = true,\n size = Size.Medium,\n icon,\n disableFiltering,\n disabled,\n altPlaceholder,\n required,\n ...rest\n }: ChipDropdownInputProps, ref) => {\n // Initiate states\n const [givenList, setGivenList] = React.useState<ListItem[]>([]);\n const [chips, setChips] = React.useState<ListItem[]>([]);\n\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [value, setValue] = React.useState<string>('');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [filteredList, setFilteredList] = React.useState<ListItem[]>();\n\n const [dropdownIsOpen, setDropdownIsOpen] = React.useState<boolean>(false);\n const [dropdownList, setDropdownList] = React.useState<DropdownItem[]>([]);\n const [dropdownValue, setDropdownValue] = React.useState<string>('');\n\n const [focused, setFocused] = React.useState<number | null>(null);\n\n const containerRef = useClickOutsideRef(() => setDropdownIsOpen(false), [], useFocusOutsideRef(() => setDropdownIsOpen(false)));\n const inputRef = React.useRef<any>();\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n\n const list =\n values.map((a) => chips.find(b => b.value === a) || givenList.find(b => b.value === a) || {\n label: a,\n value: a,\n icon: icon\n })\n .map((a, index) => ({...a, variant: a.variant || (variants && variants[index]) || States.Default}))\n .map((a, index) => ({...a, icon: a.icon || icon}));\n\n setChips(list);\n }, [values, variants, icon, givenList]);\n\n /**\n * Convert string[] to List[] if necessary\n */\n React.useEffect(() => {\n if (typeof list[0] === 'string') {\n const newList: ListItem[] = (list as string[]).map((e: string) => ({label: e, value: e}));\n setGivenList(newList);\n } else {\n setGivenList(list as ListItem[]);\n }\n }, [list]);\n\n /**\n * filter and sort list if remoteOperations is false\n * */\n React.useEffect(() => {\n let options = [...givenList];\n if (!disableFiltering) {\n if (!restartFilter && value !== '') {\n options = options.filter((option) => option.label.toUpperCase().indexOf(value.toUpperCase()) !== -1 ||\n (option.secondaryLabel && option.secondaryLabel?.toUpperCase().indexOf(value.toUpperCase()) !== -1));\n }\n }\n\n if (!disableSorting) {\n options = options.sort();\n }\n\n suggestion && options.push(suggestion);\n\n options = options.filter((o) => !chips.find(a => a.value === o.value));\n setFilteredList(options);\n }, [value, givenList, chips, disableFiltering, disableSorting]);\n\n /**\n * if there is only one active item in dropdown mark it as focused\n * */\n React.useEffect(() => {\n if (dropdownIsOpen && !!value && dropdownList?.filter(a => !a.disabled).length === 1) {\n setDropdownValue(dropdownList.find(a => !a.disabled)!.value);\n } else {\n setDropdownValue('');\n }\n }, [dropdownList, dropdownIsOpen, value]);\n\n const handleClickOutside = (e: any) => {\n if (!containerRef.current?.contains(e.target)) {\n if (dropdownIsOpen) {\n setDropdownIsOpen(false);\n if (!givenList.find((e) => e.value === value)) {\n setValue('');\n }\n }\n }\n };\n\n /**\n * register click outside event listener\n * */\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, []);\n\n /**\n * update dropdown items when filtered list changes\n * */\n React.useEffect(() => {\n setDropdownList(filteredList?.map(x => ({\n value: x.value,\n displayLabel: x.label,\n noteLabel: x.secondaryLabel,\n icon: (x.icon ?? icon) && SystemIcons[(x.icon || icon)!]({}),\n disabled: x.disabled,\n })) ?? []);\n }, [filteredList]);\n\n const addChip = (newChip: ListItem) => {\n const newList = [...chips, newChip];\n // Let's add the chip\n setChips(newList);\n onValueChange(newList.map(a => a.value));\n\n setValue('');\n };\n\n const handleInputValueChange = (value: string) => {\n setValue(value);\n setRestartFilter(false);\n setDropdownIsOpen(true);\n onInputChange && onInputChange(value);\n }\n\n /**\n * Add chip from dropdown\n * */\n const handleValueUpdate = (values: string[]) => {\n const item = filteredList?.find(a => a.value === values[0]);\n item && addChip(item);\n setRestartFilter(true);\n inputRef?.current?.focus();\n }\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n // Let's trigger only on enter, comma and space key press\n if ((event.key === 'Enter' || event.key === ' ') && value) {\n if (dropdownList?.filter(a => !a.disabled).length === 1) {\n handleValueUpdate([dropdownList!.find(a => !a.disabled)!.value]);\n event.stopPropagation();\n }\n }\n\n if ((event.key === 'ArrowDown' || event.key === 'Down' || event.key === 'ArrowUp' || event.key === 'Up') && !!dropdownList?.length) {\n setDropdownIsOpen(true);\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n */\n const handleOnChipRemoved = (index: number): void => {\n // Let's copy the chips\n const newChips = [...chips];\n\n // Let's delete the chip\n // If necessary, let's replace it with a different chip\n newChips.splice(index, 1);\n\n // Let's update the chip list\n setChips([...newChips]);\n onValueChange(newChips.map((e) => e.value));\n };\n\n return (\n <Wrapper ref={containerRef}>\n <ChipInputField inputId={inputId}\n ref={inputRef}\n items={chips}\n required={required}\n inputValue={value}\n role=\"combobox\"\n aria-activedescendant={activeDescendant}\n size={size}\n placeholder={placeholder}\n altPlaceholder={altPlaceholder}\n disabled={disabled}\n multiLine={multiLine}\n validationMessage={validationMessage}\n loading={loading}\n onRemoveItem={(chip, index) => handleOnChipRemoved(index)}\n onInputValueChange={handleInputValueChange}\n onInputKeyDown={handleInputKeyDown}\n onActivationChange={(value) => setDropdownIsOpen(value)}\n {...rest}/>\n <DropdownContent\n containerRef={containerRef}\n customizationProps={{\n action: () => {\n },\n pinTopItem: true,\n\n itemsType: 'normal',\n scrollable: true,\n actionLabel: '',\n multiSelect: false,\n onValueUpdate: handleValueUpdate,\n items: dropdownList,\n }}\n ariaRolesType=\"input\"\n focused={focused}\n setFocused={setFocused}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n selectedValues={[dropdownValue]}\n messageOnNoResults={messageOnNoResults ?? ''}\n setSelectedValues={() => {\n }}\n isOpen={(!maxSelectedItems || (!!maxSelectedItems && chips.length < maxSelectedItems)) && dropdownIsOpen}\n setIsOpen={setDropdownIsOpen}\n filter={''}\n isButton={false}\n id={`${inputId}_dropdowncontent`}/>\n\n </Wrapper>\n );\n});\n"],"mappings":"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"}
@@ -14,7 +14,7 @@ var React = _interopRequireWildcard(require("react"));
14
14
  var _types = require("../types");
15
15
  var _ChipInputField = require("./ChipInputField");
16
16
  var _jsxRuntime = require("react/jsx-runtime");
17
- var _excluded = ["values", "inputId", "variants", "icon", "placeholder", "disabled", "altPlaceholder", "validationMessage", "onValueChange", "multiLine", "size"];
17
+ var _excluded = ["values", "inputId", "variants", "icon", "placeholder", "disabled", "altPlaceholder", "validationMessage", "onValueChange", "multiLine", "size", "autoSave"];
18
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
19
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
20
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -33,6 +33,8 @@ var ChipInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
33
33
  multiLine = _ref$multiLine === void 0 ? true : _ref$multiLine,
34
34
  _ref$size = _ref.size,
35
35
  size = _ref$size === void 0 ? _types.Size.Medium : _ref$size,
36
+ _ref$autoSave = _ref.autoSave,
37
+ autoSave = _ref$autoSave === void 0 ? false : _ref$autoSave,
36
38
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
37
39
  var _React$useState = React.useState([]),
38
40
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
@@ -68,6 +70,14 @@ var ChipInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
68
70
  };
69
71
  }));
70
72
  }, [chips, variants, icon, size]);
73
+ var handleInputBlur = function handleInputBlur(event) {
74
+ var _event$target, _event$target$closest;
75
+ if (autoSave && value && !((_event$target = event.target) !== null && _event$target !== void 0 && (_event$target$closest = _event$target.closest("".concat(_ChipInputField.ChipInputContainer))) !== null && _event$target$closest !== void 0 && _event$target$closest.contains(event.relatedTarget))) {
76
+ setChips([].concat((0, _toConsumableArray2.default)(chips), [value]));
77
+ onValueChange([].concat((0, _toConsumableArray2.default)(chips), [value]));
78
+ setValue('');
79
+ }
80
+ };
71
81
 
72
82
  /**
73
83
  * Adds a chip to the chip list.
@@ -113,7 +123,8 @@ var ChipInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
113
123
  disabled: disabled,
114
124
  validationMessage: validationMessage,
115
125
  multiLine: multiLine,
116
- size: size
126
+ size: size,
127
+ onBlur: handleInputBlur
117
128
  }, rest));
118
129
  });
119
130
  var _default = ChipInput;
@@ -1 +1 @@
1
- {"version":3,"file":"ChipInput.cjs","names":["ChipInput","React","forwardRef","ref","values","inputId","variants","icon","placeholder","disabled","altPlaceholder","validationMessage","onValueChange","multiLine","size","Size","Medium","rest","useState","chips","setChips","value","setValue","chipItems","setChipItems","useEffect","map","chip","index","label","variant","handleInputKeyDown","event","key","preventDefault","onRemoveChip","newChips","splice","item"],"sources":["../../src/ChipsInput/ChipInput.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {Size} from '../types';\nimport {ChipInputField} from './ChipInputField';\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\n\n\nconst ChipInput = React.forwardRef<HTMLInputElement, ChipInputProps>(({\n values,\n inputId,\n variants,\n icon,\n placeholder,\n disabled,\n altPlaceholder,\n validationMessage,\n onValueChange,\n multiLine = true,\n size = Size.Medium,\n ...rest\n }: ChipInputProps, ref) => {\n\n const [chips, setChips] = React.useState<string[]>([]);\n const [value, setValue] = React.useState<string>('');\n const [chipItems, setChipItems] = React.useState<ChipItem[]>([]);\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n // Let's add initial chip values\n setChips(values);\n }, [values]);\n\n /**\n * Set chip items for chip input field\n * */\n React.useEffect(() => {\n setChipItems(chips.map((chip, index) => ({\n label: chip,\n icon: icon,\n disabled: false,\n variant: variants && variants[index],\n })));\n }, [chips, variants, icon, size]);\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n if ((event.key === 'Enter' || event.key === ' ') && value) {\n event.preventDefault();\n\n setChips([...chips, value]);\n onValueChange([...chips, value]);\n\n setValue('');\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n */\n const onRemoveChip = (index: number): void => {\n const newChips = [...chips];\n newChips.splice(index, 1);\n\n setChips(newChips);\n onValueChange(newChips);\n };\n\n /**\n * Return Chip Input component.\n */\n return (\n <ChipInputField inputId={inputId}\n ref={ref}\n items={chipItems}\n onRemoveItem={(item, index) => onRemoveChip(index)}\n inputValue={value}\n onInputValueChange={value => setValue(value)}\n onInputKeyDown={handleInputKeyDown}\n placeholder={placeholder}\n altPlaceholder={altPlaceholder}\n disabled={disabled}\n validationMessage={validationMessage}\n multiLine={multiLine}\n size={size}\n {...rest}\n />\n );\n});\n\nexport default ChipInput;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ChipInput.cjs","names":["ChipInput","React","forwardRef","ref","values","inputId","variants","icon","placeholder","disabled","altPlaceholder","validationMessage","onValueChange","multiLine","size","Size","Medium","autoSave","rest","useState","chips","setChips","value","setValue","chipItems","setChipItems","useEffect","map","chip","index","label","variant","handleInputBlur","event","target","closest","ChipInputContainer","contains","relatedTarget","handleInputKeyDown","key","preventDefault","onRemoveChip","newChips","splice","item"],"sources":["../../src/ChipsInput/ChipInput.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {Size} from '../types';\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\n\n\nconst ChipInput = React.forwardRef<HTMLInputElement, ChipInputProps>(({\n values,\n inputId,\n variants,\n icon,\n placeholder,\n disabled,\n altPlaceholder,\n validationMessage,\n onValueChange,\n multiLine = true,\n size = Size.Medium,\n autoSave = false,\n ...rest\n }: ChipInputProps, ref) => {\n\n const [chips, setChips] = React.useState<string[]>([]);\n const [value, setValue] = React.useState<string>('');\n const [chipItems, setChipItems] = React.useState<ChipItem[]>([]);\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n // Let's add initial chip values\n setChips(values);\n }, [values]);\n\n /**\n * Set chip items for chip input field\n * */\n React.useEffect(() => {\n setChipItems(chips.map((chip, index) => ({\n label: chip,\n icon: icon,\n disabled: false,\n variant: variants && variants[index],\n })));\n }, [chips, variants, icon, size]);\n\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (autoSave && value && !event.target?.closest(`${ChipInputContainer}`)?.contains(event.relatedTarget as Node)) {\n setChips([...chips, value]);\n onValueChange([...chips, value]);\n\n setValue('');\n }\n };\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n if ((event.key === 'Enter' || event.key === ' ') && value) {\n event.preventDefault();\n\n setChips([...chips, value]);\n onValueChange([...chips, value]);\n\n setValue('');\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n */\n const onRemoveChip = (index: number): void => {\n const newChips = [...chips];\n newChips.splice(index, 1);\n\n setChips(newChips);\n onValueChange(newChips);\n };\n\n /**\n * Return Chip Input component.\n */\n return (\n <ChipInputField inputId={inputId}\n ref={ref}\n items={chipItems}\n onRemoveItem={(item, index) => onRemoveChip(index)}\n inputValue={value}\n onInputValueChange={value => setValue(value)}\n onInputKeyDown={handleInputKeyDown}\n placeholder={placeholder}\n altPlaceholder={altPlaceholder}\n disabled={disabled}\n validationMessage={validationMessage}\n multiLine={multiLine}\n size={size}\n onBlur={handleInputBlur}\n {...rest}\n />\n );\n});\n\nexport default ChipInput;\n"],"mappings":"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"}
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
3
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- var _excluded = ["values", "inputId", "variants", "icon", "placeholder", "disabled", "altPlaceholder", "validationMessage", "onValueChange", "multiLine", "size"];
5
+ var _excluded = ["values", "inputId", "variants", "icon", "placeholder", "disabled", "altPlaceholder", "validationMessage", "onValueChange", "multiLine", "size", "autoSave"];
6
6
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7
7
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
8
  /**
@@ -14,7 +14,7 @@ import * as React from 'react';
14
14
  * Import custom components.
15
15
  */
16
16
  import { Size } from '../types';
17
- import { ChipInputField } from './ChipInputField';
17
+ import { ChipInputContainer, ChipInputField } from './ChipInputField';
18
18
  import { jsx as _jsx } from "react/jsx-runtime";
19
19
  var ChipInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
20
20
  var values = _ref.values,
@@ -30,6 +30,8 @@ var ChipInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30
30
  multiLine = _ref$multiLine === void 0 ? true : _ref$multiLine,
31
31
  _ref$size = _ref.size,
32
32
  size = _ref$size === void 0 ? Size.Medium : _ref$size,
33
+ _ref$autoSave = _ref.autoSave,
34
+ autoSave = _ref$autoSave === void 0 ? false : _ref$autoSave,
33
35
  rest = _objectWithoutProperties(_ref, _excluded);
34
36
  var _React$useState = React.useState([]),
35
37
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -65,6 +67,14 @@ var ChipInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
65
67
  };
66
68
  }));
67
69
  }, [chips, variants, icon, size]);
70
+ var handleInputBlur = function handleInputBlur(event) {
71
+ var _event$target, _event$target$closest;
72
+ if (autoSave && value && !((_event$target = event.target) !== null && _event$target !== void 0 && (_event$target$closest = _event$target.closest("".concat(ChipInputContainer))) !== null && _event$target$closest !== void 0 && _event$target$closest.contains(event.relatedTarget))) {
73
+ setChips([].concat(_toConsumableArray(chips), [value]));
74
+ onValueChange([].concat(_toConsumableArray(chips), [value]));
75
+ setValue('');
76
+ }
77
+ };
68
78
 
69
79
  /**
70
80
  * Adds a chip to the chip list.
@@ -110,7 +120,8 @@ var ChipInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
110
120
  disabled: disabled,
111
121
  validationMessage: validationMessage,
112
122
  multiLine: multiLine,
113
- size: size
123
+ size: size,
124
+ onBlur: handleInputBlur
114
125
  }, rest));
115
126
  });
116
127
  export default ChipInput;