@greenbone/ui-lib 1.5.0 → 1.5.1-alpha0
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.
- package/lib/cjs/api/error/libs.js.map +1 -1
- package/lib/cjs/components/Accordion/Accordion.js +1 -1
- package/lib/cjs/components/Accordion/Accordion.js.map +1 -1
- package/lib/cjs/components/Alert/Alert.js +1 -1
- package/lib/cjs/components/Alert/Alert.js.map +1 -1
- package/lib/cjs/components/Badge/Badge.js.map +1 -1
- package/lib/cjs/components/BadgeIconHoverCard/BadgeIconHoverCard.js.map +1 -1
- package/lib/cjs/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/lib/cjs/components/ConfirmationDialog/ConfirmationDialog.js +1 -1
- package/lib/cjs/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
- package/lib/cjs/components/DateInline/DateInline.js.map +1 -1
- package/lib/cjs/components/Drawer/Drawer.js +1 -1
- package/lib/cjs/components/Drawer/Drawer.js.map +1 -1
- package/lib/cjs/components/Filter/TermContainer/Term/TermBadge.js +1 -1
- package/lib/cjs/components/Filter/TermContainer/Term/TermBadge.js.map +1 -1
- package/lib/cjs/components/Filter/TermContainer/index.js +1 -1
- package/lib/cjs/components/Filter/TermContainer/index.js.map +1 -1
- package/lib/cjs/components/Filter/persistence/FilterPersistent.js +1 -1
- package/lib/cjs/components/Filter/persistence/FilterPersistent.js.map +1 -1
- package/lib/cjs/components/Filter/utils/FilterSelect.js +1 -1
- package/lib/cjs/components/Filter/utils/FilterSelect.js.map +1 -1
- package/lib/cjs/components/Filter/utils/Select.js +1 -1
- package/lib/cjs/components/Filter/utils/Select.js.map +1 -1
- package/lib/cjs/components/Form/Button/Button.js +1 -1
- package/lib/cjs/components/Form/Button/Button.js.map +1 -1
- package/lib/cjs/components/Form/Checkbox/Checkbox.js +1 -1
- package/lib/cjs/components/Form/Checkbox/Checkbox.js.map +1 -1
- package/lib/cjs/components/Form/DateTimePicker/DateTimePicker.js +1 -1
- package/lib/cjs/components/Form/DateTimePicker/DateTimePicker.js.map +1 -1
- package/lib/cjs/components/Form/DateTimePicker/TimePicker.js +1 -1
- package/lib/cjs/components/Form/DateTimePicker/TimePicker.js.map +1 -1
- package/lib/cjs/components/Form/FileInput/FileInput.js +1 -1
- package/lib/cjs/components/Form/FileInput/FileInput.js.map +1 -1
- package/lib/cjs/components/Form/Form/Form.js +1 -1
- package/lib/cjs/components/Form/Form/Form.js.map +1 -1
- package/lib/cjs/components/Form/FormItemGroup.js.map +1 -1
- package/lib/cjs/components/Form/Input/Input.js +1 -1
- package/lib/cjs/components/Form/Input/Input.js.map +1 -1
- package/lib/cjs/components/Form/Labels/InfoLabel.js.map +1 -1
- package/lib/cjs/components/Form/Labels/LabelWithIcon.js.map +1 -1
- package/lib/cjs/components/Form/MenuButton/index.js +1 -1
- package/lib/cjs/components/Form/MenuButton/index.js.map +1 -1
- package/lib/cjs/components/Form/PasswordInput/PasswordInput.js +1 -1
- package/lib/cjs/components/Form/PasswordInput/PasswordInput.js.map +1 -1
- package/lib/cjs/components/Form/RadioButton/RadioButton.js +1 -1
- package/lib/cjs/components/Form/RadioButton/RadioButton.js.map +1 -1
- package/lib/cjs/components/Form/Select/Cascade/CascadeMenu.js +1 -1
- package/lib/cjs/components/Form/Select/Cascade/CascadeMenu.js.map +1 -1
- package/lib/cjs/components/Form/Select/Cascade/CascadeOption.js +1 -1
- package/lib/cjs/components/Form/Select/Cascade/CascadeOption.js.map +1 -1
- package/lib/cjs/components/Form/Select/Cascade/index.js +1 -1
- package/lib/cjs/components/Form/Select/Cascade/index.js.map +1 -1
- package/lib/cjs/components/Form/Select/CreatableSelect.js +1 -1
- package/lib/cjs/components/Form/Select/CreatableSelect.js.map +1 -1
- package/lib/cjs/components/Form/Select/Select.js +1 -1
- package/lib/cjs/components/Form/Select/Select.js.map +1 -1
- package/lib/cjs/components/Form/Switch/Switch.js +1 -1
- package/lib/cjs/components/Form/Switch/Switch.js.map +1 -1
- package/lib/cjs/components/Form/Textarea/Textarea.js +1 -1
- package/lib/cjs/components/Form/Textarea/Textarea.js.map +1 -1
- package/lib/cjs/components/HighlightBox/HighlightBox.js +2 -0
- package/lib/cjs/components/HighlightBox/HighlightBox.js.map +1 -0
- package/lib/cjs/components/HighlightBox/HighlightBox.module.css +1 -0
- package/lib/cjs/components/HighlightBox/index.js +2 -0
- package/lib/cjs/components/HighlightBox/index.js.map +1 -0
- package/lib/cjs/components/HoverCard/HoverCard.js.map +1 -1
- package/lib/cjs/components/Icon/Icon.js +1 -1
- package/lib/cjs/components/Icon/Icon.js.map +1 -1
- package/lib/cjs/components/InfoTip/InfoTip.js +1 -1
- package/lib/cjs/components/InfoTip/InfoTip.js.map +1 -1
- package/lib/cjs/components/InformationList/InformationList.js +1 -1
- package/lib/cjs/components/InformationList/InformationList.js.map +1 -1
- package/lib/cjs/components/Layout/AppHeader/AppHeader.js +1 -1
- package/lib/cjs/components/Layout/AppHeader/AppHeader.js.map +1 -1
- package/lib/cjs/components/Layout/AppHeader/TimeZone.js.map +1 -1
- package/lib/cjs/components/Layout/AppHeader/languageSwitch/LanguageSwitch.js.map +1 -1
- package/lib/cjs/components/Layout/AppHeader/manual/Manual.js.map +1 -1
- package/lib/cjs/components/Layout/AppHeader/themeSwitch/ThemeSwitch.js.map +1 -1
- package/lib/cjs/components/Layout/AppHeader/userNav/NavItem.js +1 -1
- package/lib/cjs/components/Layout/AppHeader/userNav/NavItem.js.map +1 -1
- package/lib/cjs/components/Layout/AppHeader/userNav/UserNav.js.map +1 -1
- package/lib/cjs/components/Layout/AppNavigation/AppNavigationLink.js +1 -1
- package/lib/cjs/components/Layout/AppNavigation/AppNavigationLink.js.map +1 -1
- package/lib/cjs/components/Layout/SimplePageLayout/SimpleGrid.js +1 -1
- package/lib/cjs/components/Layout/SimplePageLayout/SimpleGrid.js.map +1 -1
- package/lib/cjs/components/Layout/SimplePageLayout/index.js +1 -1
- package/lib/cjs/components/Layout/SimplePageLayout/index.js.map +1 -1
- package/lib/cjs/components/Modal/Modal.js +1 -1
- package/lib/cjs/components/Modal/Modal.js.map +1 -1
- package/lib/cjs/components/Notification/notifications.js +1 -1
- package/lib/cjs/components/Notification/notifications.js.map +1 -1
- package/lib/cjs/components/Table/TableClientSide/TableClientSidePersistent/index.js +1 -1
- package/lib/cjs/components/Table/TableClientSide/TableClientSidePersistent/index.js.map +1 -1
- package/lib/cjs/components/Table/TableServerSide/TableServerSidePersistent/index.js +1 -1
- package/lib/cjs/components/Table/TableServerSide/TableServerSidePersistent/index.js.map +1 -1
- package/lib/cjs/components/Table/components/ActionMenu/ActionMenu.js +1 -1
- package/lib/cjs/components/Table/components/ActionMenu/ActionMenu.js.map +1 -1
- package/lib/cjs/components/Tag/Tag.js +1 -1
- package/lib/cjs/components/Tag/Tag.js.map +1 -1
- package/lib/cjs/components/TextWithTooltip/TextWithTooltip.js.map +1 -1
- package/lib/cjs/components/TimeZoneInfo/index.js +1 -1
- package/lib/cjs/components/TimeZoneInfo/index.js.map +1 -1
- package/lib/cjs/components/Tooltip/Tooltip.js +1 -1
- package/lib/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/lib/cjs/components/Typo/Typo.js +1 -1
- package/lib/cjs/components/Typo/Typo.js.map +1 -1
- package/lib/cjs/icons/StatusIcon/StatusIcon.js +1 -1
- package/lib/cjs/icons/StatusIcon/StatusIcon.js.map +1 -1
- package/lib/cjs/index.js +1 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/esm/api/error/libs.js.map +1 -1
- package/lib/esm/components/Accordion/Accordion.js +1 -1
- package/lib/esm/components/Accordion/Accordion.js.map +1 -1
- package/lib/esm/components/Alert/Alert.js +1 -1
- package/lib/esm/components/Alert/Alert.js.map +1 -1
- package/lib/esm/components/Badge/Badge.js.map +1 -1
- package/lib/esm/components/BadgeIconHoverCard/BadgeIconHoverCard.js.map +1 -1
- package/lib/esm/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/lib/esm/components/ConfirmationDialog/ConfirmationDialog.js +1 -1
- package/lib/esm/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
- package/lib/esm/components/DateInline/DateInline.js.map +1 -1
- package/lib/esm/components/Drawer/Drawer.js +1 -1
- package/lib/esm/components/Drawer/Drawer.js.map +1 -1
- package/lib/esm/components/Filter/TermContainer/Term/TermBadge.js +1 -1
- package/lib/esm/components/Filter/TermContainer/Term/TermBadge.js.map +1 -1
- package/lib/esm/components/Filter/TermContainer/index.js +1 -1
- package/lib/esm/components/Filter/TermContainer/index.js.map +1 -1
- package/lib/esm/components/Filter/persistence/FilterPersistent.js +1 -1
- package/lib/esm/components/Filter/persistence/FilterPersistent.js.map +1 -1
- package/lib/esm/components/Filter/utils/FilterSelect.js +1 -1
- package/lib/esm/components/Filter/utils/FilterSelect.js.map +1 -1
- package/lib/esm/components/Filter/utils/Select.js +1 -1
- package/lib/esm/components/Filter/utils/Select.js.map +1 -1
- package/lib/esm/components/Form/Button/Button.js +1 -1
- package/lib/esm/components/Form/Button/Button.js.map +1 -1
- package/lib/esm/components/Form/Checkbox/Checkbox.js +1 -1
- package/lib/esm/components/Form/Checkbox/Checkbox.js.map +1 -1
- package/lib/esm/components/Form/DateTimePicker/DateTimePicker.js +1 -1
- package/lib/esm/components/Form/DateTimePicker/DateTimePicker.js.map +1 -1
- package/lib/esm/components/Form/DateTimePicker/TimePicker.js +1 -1
- package/lib/esm/components/Form/DateTimePicker/TimePicker.js.map +1 -1
- package/lib/esm/components/Form/FileInput/FileInput.js +1 -1
- package/lib/esm/components/Form/FileInput/FileInput.js.map +1 -1
- package/lib/esm/components/Form/Form/Form.js +1 -1
- package/lib/esm/components/Form/Form/Form.js.map +1 -1
- package/lib/esm/components/Form/FormItemGroup.js.map +1 -1
- package/lib/esm/components/Form/Input/Input.js +1 -1
- package/lib/esm/components/Form/Input/Input.js.map +1 -1
- package/lib/esm/components/Form/Labels/InfoLabel.js.map +1 -1
- package/lib/esm/components/Form/Labels/LabelWithIcon.js.map +1 -1
- package/lib/esm/components/Form/MenuButton/index.js +1 -1
- package/lib/esm/components/Form/MenuButton/index.js.map +1 -1
- package/lib/esm/components/Form/PasswordInput/PasswordInput.js +1 -1
- package/lib/esm/components/Form/PasswordInput/PasswordInput.js.map +1 -1
- package/lib/esm/components/Form/RadioButton/RadioButton.js +1 -1
- package/lib/esm/components/Form/RadioButton/RadioButton.js.map +1 -1
- package/lib/esm/components/Form/Select/Cascade/CascadeMenu.js +1 -1
- package/lib/esm/components/Form/Select/Cascade/CascadeMenu.js.map +1 -1
- package/lib/esm/components/Form/Select/Cascade/CascadeOption.js +1 -1
- package/lib/esm/components/Form/Select/Cascade/CascadeOption.js.map +1 -1
- package/lib/esm/components/Form/Select/Cascade/index.js +1 -1
- package/lib/esm/components/Form/Select/Cascade/index.js.map +1 -1
- package/lib/esm/components/Form/Select/CreatableSelect.js +1 -1
- package/lib/esm/components/Form/Select/CreatableSelect.js.map +1 -1
- package/lib/esm/components/Form/Select/Select.js +1 -1
- package/lib/esm/components/Form/Select/Select.js.map +1 -1
- package/lib/esm/components/Form/Switch/Switch.js +1 -1
- package/lib/esm/components/Form/Switch/Switch.js.map +1 -1
- package/lib/esm/components/Form/Textarea/Textarea.js +1 -1
- package/lib/esm/components/Form/Textarea/Textarea.js.map +1 -1
- package/lib/esm/components/HighlightBox/HighlightBox.js +2 -0
- package/lib/esm/components/HighlightBox/HighlightBox.js.map +1 -0
- package/lib/esm/components/HighlightBox/HighlightBox.module.css +1 -0
- package/lib/esm/components/HighlightBox/index.js +2 -0
- package/lib/esm/components/HighlightBox/index.js.map +1 -0
- package/lib/esm/components/HoverCard/HoverCard.js.map +1 -1
- package/lib/esm/components/Icon/Icon.js +1 -1
- package/lib/esm/components/Icon/Icon.js.map +1 -1
- package/lib/esm/components/InfoTip/InfoTip.js +1 -1
- package/lib/esm/components/InfoTip/InfoTip.js.map +1 -1
- package/lib/esm/components/InformationList/InformationList.js +1 -1
- package/lib/esm/components/InformationList/InformationList.js.map +1 -1
- package/lib/esm/components/Layout/AppHeader/AppHeader.js +1 -1
- package/lib/esm/components/Layout/AppHeader/AppHeader.js.map +1 -1
- package/lib/esm/components/Layout/AppHeader/TimeZone.js.map +1 -1
- package/lib/esm/components/Layout/AppHeader/languageSwitch/LanguageSwitch.js.map +1 -1
- package/lib/esm/components/Layout/AppHeader/manual/Manual.js.map +1 -1
- package/lib/esm/components/Layout/AppHeader/themeSwitch/ThemeSwitch.js.map +1 -1
- package/lib/esm/components/Layout/AppHeader/userNav/NavItem.js +1 -1
- package/lib/esm/components/Layout/AppHeader/userNav/NavItem.js.map +1 -1
- package/lib/esm/components/Layout/AppHeader/userNav/UserNav.js.map +1 -1
- package/lib/esm/components/Layout/AppNavigation/AppNavigationLink.js +1 -1
- package/lib/esm/components/Layout/AppNavigation/AppNavigationLink.js.map +1 -1
- package/lib/esm/components/Layout/SimplePageLayout/SimpleGrid.js +1 -1
- package/lib/esm/components/Layout/SimplePageLayout/SimpleGrid.js.map +1 -1
- package/lib/esm/components/Layout/SimplePageLayout/index.js +1 -1
- package/lib/esm/components/Layout/SimplePageLayout/index.js.map +1 -1
- package/lib/esm/components/Modal/Modal.js +1 -1
- package/lib/esm/components/Modal/Modal.js.map +1 -1
- package/lib/esm/components/Notification/notifications.js +1 -1
- package/lib/esm/components/Notification/notifications.js.map +1 -1
- package/lib/esm/components/Table/TableClientSide/TableClientSidePersistent/index.js +1 -1
- package/lib/esm/components/Table/TableClientSide/TableClientSidePersistent/index.js.map +1 -1
- package/lib/esm/components/Table/TableServerSide/TableServerSidePersistent/index.js +1 -1
- package/lib/esm/components/Table/TableServerSide/TableServerSidePersistent/index.js.map +1 -1
- package/lib/esm/components/Table/components/ActionMenu/ActionMenu.js +1 -1
- package/lib/esm/components/Table/components/ActionMenu/ActionMenu.js.map +1 -1
- package/lib/esm/components/Tag/Tag.js +1 -1
- package/lib/esm/components/Tag/Tag.js.map +1 -1
- package/lib/esm/components/TextWithTooltip/TextWithTooltip.js.map +1 -1
- package/lib/esm/components/TimeZoneInfo/index.js +1 -1
- package/lib/esm/components/TimeZoneInfo/index.js.map +1 -1
- package/lib/esm/components/Tooltip/Tooltip.js +1 -1
- package/lib/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/lib/esm/components/Typo/Typo.js +1 -1
- package/lib/esm/components/Typo/Typo.js.map +1 -1
- package/lib/esm/icons/StatusIcon/StatusIcon.js +1 -1
- package/lib/esm/icons/StatusIcon/StatusIcon.js.map +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/index.js.map +1 -1
- package/package.json +1 -1
- package/types/src/api/error/libs.d.ts.map +1 -1
- package/types/src/components/Alert/Alert.d.ts.map +1 -1
- package/types/src/components/Badge/Badge.d.ts +0 -1
- package/types/src/components/Badge/Badge.d.ts.map +1 -1
- package/types/src/components/BadgeIconHoverCard/BadgeIconHoverCard.d.ts.map +1 -1
- package/types/src/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/types/src/components/DateInline/DateInline.d.ts.map +1 -1
- package/types/src/components/Drawer/Drawer.d.ts.map +1 -1
- package/types/src/components/Form/Button/Button.d.ts.map +1 -1
- package/types/src/components/Form/Checkbox/Checkbox.d.ts.map +1 -1
- package/types/src/components/Form/DateTimePicker/DateTimePicker.d.ts.map +1 -1
- package/types/src/components/Form/DateTimePicker/TimePicker.d.ts.map +1 -1
- package/types/src/components/Form/FileInput/FileInput.d.ts.map +1 -1
- package/types/src/components/Form/FormItemGroup.d.ts.map +1 -1
- package/types/src/components/Form/Labels/InfoLabel.d.ts.map +1 -1
- package/types/src/components/Form/Labels/LabelWithIcon.d.ts.map +1 -1
- package/types/src/components/Form/MenuButton/index.d.ts.map +1 -1
- package/types/src/components/Form/RadioButton/RadioButton.d.ts.map +1 -1
- package/types/src/components/HighlightBox/HighlightBox.d.ts +3 -0
- package/types/src/components/HighlightBox/HighlightBox.d.ts.map +1 -0
- package/types/src/components/HighlightBox/index.d.ts +2 -0
- package/types/src/components/HighlightBox/index.d.ts.map +1 -0
- package/types/src/components/HoverCard/HoverCard.d.ts.map +1 -1
- package/types/src/components/Icon/Icon.d.ts.map +1 -1
- package/types/src/components/InformationList/InformationList.d.ts.map +1 -1
- package/types/src/components/Layout/AppHeader/AppHeader.d.ts.map +1 -1
- package/types/src/components/Layout/AppHeader/TimeZone.d.ts.map +1 -1
- package/types/src/components/Layout/AppHeader/languageSwitch/LanguageSwitch.d.ts.map +1 -1
- package/types/src/components/Layout/AppHeader/manual/Manual.d.ts.map +1 -1
- package/types/src/components/Layout/AppHeader/themeSwitch/ThemeSwitch.d.ts.map +1 -1
- package/types/src/components/Layout/AppHeader/userNav/NavItem.d.ts.map +1 -1
- package/types/src/components/Layout/AppHeader/userNav/UserNav.d.ts.map +1 -1
- package/types/src/index.d.ts +1 -0
- package/types/src/index.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/api/error/libs.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { EHTTP_STATUS } from \"../base/EHttpStatus\"\n\nexport const getErrorName = (statusCode: EHTTP_STATUS) => {\n return (\n Object.keys(EHTTP_STATUS)[Object.values(EHTTP_STATUS).indexOf(statusCode)]?.toString() ||\n \"Error\"\n )\n .toLowerCase()\n .split(\"_\")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \")\n}\n"],"names":["getErrorName","statusCode","Object","keys","EHTTP_STATUS","values","indexOf","toString","toLowerCase","split","map","word","charAt","toUpperCase","slice","join"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/api/error/libs.ts"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { EHTTP_STATUS } from \"../base/EHttpStatus\"\n\n/**\n * Returns a formatted error name\n * @param statusCode Error name constant as defined in EHTTP_STATUS\n *\n * @returns String Parsed name of the error\n */\nexport const getErrorName = (statusCode: EHTTP_STATUS) => {\n return (\n Object.keys(EHTTP_STATUS)[Object.values(EHTTP_STATUS).indexOf(statusCode)]?.toString() ||\n \"Error\"\n )\n .toLowerCase()\n .split(\"_\")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \")\n}\n"],"names":["getErrorName","statusCode","Object","keys","EHTTP_STATUS","values","indexOf","toString","toLowerCase","split","map","word","charAt","toUpperCase","slice","join"],"mappings":"oGAYaA,sDAAAA,2CARgB,uBAQtB,MAAMA,aAAe,AAACC,iBAEzBC,mCADF,MAAO,AACLA,CAAAA,EAAAA,mCAAAA,OAAOC,IAAI,CAACC,yBAAY,CAAC,CAACF,OAAOG,MAAM,CAACD,yBAAY,EAAEE,OAAO,CAACL,YAAY,UAA1EC,mDAAAA,mCAA4EK,QAAQ,KACpF,OAAM,EAELC,WAAW,GACXC,KAAK,CAAC,KACNC,GAAG,CAAC,AAACC,MAASA,KAAKC,MAAM,CAAC,GAAGC,WAAW,GAAKF,KAAKG,KAAK,CAAC,IACxDC,IAAI,CAAC,IACV"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get AccordionItem(){return AccordionItem},get AccordionWrapper(){return AccordionWrapper},get AccordionWrapperMultiple(){return AccordionWrapperMultiple}});const _jsxruntime=require("react/jsx-runtime");const _core=require("@mantine/core");const _Accordionmodulecss=/*#__PURE__*/_interop_require_default(require("./Accordion.module.css"));const _Typo=require("../Typo");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get AccordionItem(){return AccordionItem},get AccordionWrapper(){return AccordionWrapper},get AccordionWrapperMultiple(){return AccordionWrapperMultiple}});const _jsxruntime=require("react/jsx-runtime");const _core=require("@mantine/core");const _Accordionmodulecss=/*#__PURE__*/_interop_require_default(require("./Accordion.module.css"));const _Typo=require("../Typo");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target={},sourceKeys,key,i;if(typeof Reflect!=="undefined"&&Reflect.ownKeys){sourceKeys=Reflect.ownKeys(source);for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}return target}target=_object_without_properties_loose(source,excluded);if(Object.getOwnPropertySymbols){sourceKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={},sourceKeys=Object.getOwnPropertyNames(source),key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}return target}const AccordionWrapper=_0=>{let{children}=_0,props=_object_without_properties(_0,["children"]);return(0,_jsxruntime.jsx)(_core.Accordion,_object_spread_props(_object_spread({chevronPosition:"left",variant:"contained"},props),{children:children}))};const AccordionWrapperMultiple=_0=>{let{children}=_0,props=_object_without_properties(_0,["children"]);return(0,_jsxruntime.jsx)(_core.Accordion,_object_spread_props(_object_spread({multiple:true,chevronPosition:"left",variant:"contained"},props),{children:children}))};const AccordionItem=({children,controlTitle,itemValue})=>{return(0,_jsxruntime.jsxs)(_core.Accordion.Item,{value:itemValue,children:[(0,_jsxruntime.jsx)(_core.Accordion.Control,{className:_Accordionmodulecss.default.label,children:(0,_jsxruntime.jsx)(_Typo.Typo,{display:"inline",type:"heading4",children:controlTitle})}),(0,_jsxruntime.jsx)(_core.Accordion.Panel,{children:children})]})};
|
|
2
2
|
//# sourceMappingURL=Accordion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Accordion as MantineAccordion, AccordionProps } from \"@mantine/core\"\nimport { ReactNode } from \"react\"\nimport classes from \"./Accordion.module.css\"\nimport { Typo } from \"../Typo\"\n\n/**\n * Wrapper around Mantine Accordion with default styling.\n * Single-open behavior (use AccordionWrapperMultiple for multi-open).\n * - chevronPosition defaults to \"left\"\n * - variant defaults to \"contained\"\n * @param children AccordionItem elements to render.\n * @param props Mantine Accordion props in single mode:\n * - value | defaultValue: string | null\n * - onChange: (value: string | null) => void\n * - chevronPosition: 'left' | 'right' (default 'left')\n * - variant: 'default' | 'contained' | 'filled' | 'separated' (default 'contained')\n * - className, disabled, id, styles, classNames, etc.\n * Note: 'multiple' is managed internally and not applicable here.\n */\nexport const AccordionWrapper: React.FC<\n {\n children: ReactNode\n } & AccordionProps\n> = ({ children, ...props }) => {\n return (\n <MantineAccordion chevronPosition=\"left\" variant=\"contained\" {...props}>\n {children}\n </MantineAccordion>\n )\n}\n\n/**\n * Wrapper around Mantine Accordion that allows multiple items open.\n * - Sets multiple\n * - chevronPosition defaults to \"left\"\n * - variant defaults to \"contained\"\n * @param children AccordionItem elements to render.\n * @param props Mantine Accordion props in multiple mode:\n * - value | defaultValue: string[]\n * - onChange: (value: string[]) => void\n * - chevronPosition: 'left' | 'right' (default 'left')\n * - variant: 'default' | 'contained' | 'filled' | 'separated' (default 'contained')\n * - className, disabled, id, styles, classNames, etc.\n * Note: 'multiple' is set by this wrapper.\n */\nexport const AccordionWrapperMultiple: React.FC<\n {\n children: ReactNode\n } & AccordionProps<true>\n> = ({ children, ...props }) => {\n return (\n <MantineAccordion multiple chevronPosition=\"left\" variant=\"contained\" {...props}>\n {children}\n </MantineAccordion>\n )\n}\n\n/**\n * Single accordion item composed of a Control and Panel following UI styling.\n * @param controlTitle Title displayed in the control header.\n * @param itemValue Unique value used for controlled/uncontrolled state.\n * @param children Content rendered inside the panel.\n */\nexport const AccordionItem: React.FC<{\n children: ReactNode\n controlTitle: string\n itemValue: string\n}> = ({ children, controlTitle, itemValue }) => {\n return (\n <MantineAccordion.Item value={itemValue}>\n <MantineAccordion.Control className={classes.label}>\n <Typo display={\"inline\"} type={\"heading4\"}>\n {controlTitle}\n </Typo>\n </MantineAccordion.Control>\n <MantineAccordion.Panel>{children}</MantineAccordion.Panel>\n </MantineAccordion.Item>\n )\n}\n"],"names":["AccordionItem","AccordionWrapper","AccordionWrapperMultiple","children","props","MantineAccordion","chevronPosition","variant","multiple","controlTitle","itemValue","Item","value","Control","className","classes","label","Typo","display","type","Panel"],"mappings":"mPAmEaA,uBAAAA,mBA5CAC,0BAAAA,sBA0BAC,kCAAAA,+FA7CiD,yFAE1C,+CACC,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Accordion as MantineAccordion, AccordionProps } from \"@mantine/core\"\nimport { ReactNode } from \"react\"\nimport classes from \"./Accordion.module.css\"\nimport { Typo } from \"../Typo\"\n\n/**\n * Wrapper around Mantine Accordion with default styling.\n * Single-open behavior (use AccordionWrapperMultiple for multi-open).\n * - chevronPosition defaults to \"left\"\n * - variant defaults to \"contained\"\n * @param children AccordionItem elements to render.\n * @param props Mantine Accordion props in single mode:\n * - value | defaultValue: string | null\n * - onChange: (value: string | null) => void\n * - chevronPosition: 'left' | 'right' (default 'left')\n * - variant: 'default' | 'contained' | 'filled' | 'separated' (default 'contained')\n * - className, disabled, id, styles, classNames, etc.\n * Note: 'multiple' is managed internally and not applicable here.\n */\nexport const AccordionWrapper: React.FC<\n {\n children: ReactNode\n } & AccordionProps\n> = ({ children, ...props }) => {\n return (\n <MantineAccordion chevronPosition=\"left\" variant=\"contained\" {...props}>\n {children}\n </MantineAccordion>\n )\n}\n\n/**\n * Wrapper around Mantine Accordion that allows multiple items open.\n * - Sets multiple\n * - chevronPosition defaults to \"left\"\n * - variant defaults to \"contained\"\n * @param children AccordionItem elements to render.\n * @param props Mantine Accordion props in multiple mode:\n * - value | defaultValue: string[]\n * - onChange: (value: string[]) => void\n * - chevronPosition: 'left' | 'right' (default 'left')\n * - variant: 'default' | 'contained' | 'filled' | 'separated' (default 'contained')\n * - className, disabled, id, styles, classNames, etc.\n * Note: 'multiple' is set by this wrapper.\n */\nexport const AccordionWrapperMultiple: React.FC<\n {\n children: ReactNode\n } & AccordionProps<true>\n> = ({ children, ...props }) => {\n return (\n <MantineAccordion multiple chevronPosition=\"left\" variant=\"contained\" {...props}>\n {children}\n </MantineAccordion>\n )\n}\n\n/**\n * Single accordion item composed of a Control and Panel following UI styling.\n * @param controlTitle Title displayed in the control header.\n * @param itemValue Unique value used for controlled/uncontrolled state.\n * @param children Content rendered inside the panel.\n */\nexport const AccordionItem: React.FC<{\n children: ReactNode\n controlTitle: string\n itemValue: string\n}> = ({ children, controlTitle, itemValue }) => {\n return (\n <MantineAccordion.Item value={itemValue}>\n <MantineAccordion.Control className={classes.label}>\n <Typo display={\"inline\"} type={\"heading4\"}>\n {controlTitle}\n </Typo>\n </MantineAccordion.Control>\n <MantineAccordion.Panel>{children}</MantineAccordion.Panel>\n </MantineAccordion.Item>\n )\n}\n"],"names":["AccordionItem","AccordionWrapper","AccordionWrapperMultiple","children","props","MantineAccordion","chevronPosition","variant","multiple","controlTitle","itemValue","Item","value","Control","className","classes","label","Typo","display","type","Panel"],"mappings":"mPAmEaA,uBAAAA,mBA5CAC,0BAAAA,sBA0BAC,kCAAAA,+FA7CiD,yFAE1C,+CACC,+2EAgBd,MAAMD,iBAIT,QAAC,CAAEE,QAAQ,CAAY,IAAPC,kDAClB,MACE,oBAACC,eAAgB,sCAACC,gBAAgB,OAAOC,QAAQ,aAAgBH,iBAC9DD,WAGP,EAgBO,MAAMD,yBAIT,QAAC,CAAEC,QAAQ,CAAY,IAAPC,kDAClB,MACE,oBAACC,eAAgB,sCAACG,QAAQ,MAACF,gBAAgB,OAAOC,QAAQ,aAAgBH,iBACvED,WAGP,EAQO,MAAMH,cAIR,CAAC,CAAEG,QAAQ,CAAEM,YAAY,CAAEC,SAAS,CAAE,IACzC,MACE,qBAACL,eAAgB,CAACM,IAAI,EAACC,MAAOF,oBAC5B,oBAACL,eAAgB,CAACQ,OAAO,EAACC,UAAWC,2BAAO,CAACC,KAAK,UAChD,oBAACC,UAAI,EAACC,QAAS,SAAUC,KAAM,oBAC5BV,iBAGL,oBAACJ,eAAgB,CAACe,KAAK,WAAEjB,aAG/B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Alert",{enumerable:true,get:function(){return Alert}});const _jsxruntime=require("react/jsx-runtime");const _core=require("@mantine/core");const _Form=require("../Form");const _Typo=require("../Typo");const _icons=require("../../icons");const _react=require("react");const _Alertmodulecss=/*#__PURE__*/_interop_require_default(require("./Alert.module.css"));const _conventions=require("../../theme/conventions");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Alert",{enumerable:true,get:function(){return Alert}});const _jsxruntime=require("react/jsx-runtime");const _core=require("@mantine/core");const _Form=require("../Form");const _Typo=require("../Typo");const _icons=require("../../icons");const _react=require("react");const _Alertmodulecss=/*#__PURE__*/_interop_require_default(require("./Alert.module.css"));const _conventions=require("../../theme/conventions");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target={},sourceKeys,key,i;if(typeof Reflect!=="undefined"&&Reflect.ownKeys){sourceKeys=Reflect.ownKeys(source);for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}return target}target=_object_without_properties_loose(source,excluded);if(Object.getOwnPropertySymbols){sourceKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={},sourceKeys=Object.getOwnPropertyNames(source),key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}return target}const Alert=_0=>{let{type,text,dismissible,defaultButton,filledButton,onClose,width="auto",content,buttonAligned="left",open:_open=true,classNames,title}=_0,alertProps=_object_without_properties(_0,["type","text","dismissible","defaultButton","filledButton","onClose","width","content","buttonAligned","open","classNames","title"]);const[open,setOpen]=(0,_react.useState)(_open);const body=text?(0,_jsxruntime.jsx)(_Typo.Typo,{type:"body",children:text}):content||null;(0,_react.useEffect)(()=>{if(_open!==undefined){setOpen(_open)}},[_open]);const handleClose=()=>{setOpen(false);onClose===null||onClose===void 0?void 0:onClose()};if(!open)return null;return(0,_jsxruntime.jsx)("div",{children:(0,_jsxruntime.jsxs)(_core.Alert,_object_spread_props(_object_spread({icon:(0,_jsxruntime.jsx)(_icons.StatusIcon,{size:_conventions.ICON_SIZES.MEDIUM_LARGE,status:type}),withCloseButton:dismissible,closeButtonLabel:"close",onClose:handleClose,style:{width},classNames:_object_spread({root:_Alertmodulecss.default[`alert-${type}`],closeButton:_Alertmodulecss.default["alert-close-button"],title:_Alertmodulecss.default["alert-title"],icon:_Alertmodulecss.default["alert-icon"],message:_Alertmodulecss.default["alert-message"]},classNames),title:title?(0,_jsxruntime.jsx)(_Typo.Typo,{type:"heading3",children:title}):null},alertProps),{children:[body,(0,_jsxruntime.jsxs)("div",{className:`${_Alertmodulecss.default["alert-button-wrapper"]} ${buttonAligned==="left"?_Alertmodulecss.default["alert-button-wrapper-left"]:_Alertmodulecss.default["alert-button-wrapper-right"]}`,children:[filledButton&&(0,_jsxruntime.jsx)(_Form.Button,_object_spread_props(_object_spread({className:_Alertmodulecss.default["alert-button"],variant:"filled"},filledButton),{onClick:e=>{var _filledButton_onClick;filledButton===null||filledButton===void 0?void 0:(_filledButton_onClick=filledButton.onClick)===null||_filledButton_onClick===void 0?void 0:_filledButton_onClick.call(filledButton,e);if(filledButton===null||filledButton===void 0?void 0:filledButton.closeOnClick)handleClose()}})),defaultButton&&(0,_jsxruntime.jsx)(_Form.Button,_object_spread_props(_object_spread({className:_Alertmodulecss.default["alert-button"],variant:"default"},defaultButton),{onClick:e=>{var _defaultButton_onClick;defaultButton===null||defaultButton===void 0?void 0:(_defaultButton_onClick=defaultButton.onClick)===null||_defaultButton_onClick===void 0?void 0:_defaultButton_onClick.call(defaultButton,e);if(defaultButton===null||defaultButton===void 0?void 0:defaultButton.closeOnClick)handleClose()}}))]})]}))})};
|
|
2
2
|
//# sourceMappingURL=Alert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Alert as AlertMantine, AlertProps } from \"@mantine/core\"\nimport { Button, TButtonProps } from \"../Form\"\nimport { Typo } from \"../Typo\"\nimport { StatusIcon } from \"../../icons\"\nimport { ReactNode, useEffect, useState } from \"react\"\nimport { EStatus, Modify } from \"../../genericTypes\"\nimport classes from \"./Alert.module.css\"\nimport { ICON_SIZES } from \"../../theme/conventions\"\n\ntype TAlertProps = Modify<\n Partial<AlertProps>,\n {\n type: EStatus\n title?: ReactNode\n text?: string\n content?: ReactNode\n dismissible?: boolean\n defaultButton?: TButtonProps & { closeOnClick?: boolean }\n filledButton?: TButtonProps & { closeOnClick?: boolean }\n onClose?: () => void\n width?: string\n buttonAligned?: \"left\" | \"right\"\n initiallyOpen?: boolean\n open?: boolean\n }\n>\n\nconst Alert: React.FC<TAlertProps> = ({\n type,\n text,\n dismissible,\n defaultButton,\n filledButton,\n onClose,\n width = \"auto\",\n content,\n buttonAligned = \"left\",\n open: _open = true,\n classNames,\n title,\n ...alertProps\n}) => {\n const [open, setOpen] = useState(_open)\n const body = text ? <Typo type=\"body\">{text}</Typo> : content || null\n\n useEffect(() => {\n if (_open !== undefined) {\n setOpen(_open)\n }\n }, [_open])\n\n const handleClose = () => {\n setOpen(false)\n onClose?.()\n }\n\n if (!open) return null\n\n return (\n <div>\n <AlertMantine\n icon={<StatusIcon size={ICON_SIZES.MEDIUM_LARGE} status={type} />}\n withCloseButton={dismissible}\n closeButtonLabel=\"close\"\n onClose={handleClose}\n style={{\n width,\n }}\n classNames={{\n root: classes[`alert-${type}`],\n closeButton: classes[\"alert-close-button\"],\n title: classes[\"alert-title\"],\n icon: classes[\"alert-icon\"],\n message: classes[\"alert-message\"],\n ...classNames,\n }}\n title={title ? <Typo type={\"heading3\"}>{title}</Typo> : null}\n {...alertProps}\n >\n {body}\n <div\n className={`${classes[\"alert-button-wrapper\"]} ${buttonAligned === \"left\" ? classes[\"alert-button-wrapper-left\"] : classes[\"alert-button-wrapper-right\"]}`}\n >\n {filledButton && (\n <Button\n className={classes[\"alert-button\"]}\n variant=\"filled\"\n {...filledButton}\n onClick={(e) => {\n filledButton?.onClick?.(e)\n if (filledButton?.closeOnClick) handleClose()\n }}\n />\n )}\n {defaultButton && (\n <Button\n className={classes[\"alert-button\"]}\n variant=\"default\"\n {...defaultButton}\n onClick={(e) => {\n defaultButton?.onClick?.(e)\n if (defaultButton?.closeOnClick) handleClose()\n }}\n />\n )}\n </div>\n </AlertMantine>\n </div>\n )\n}\n\nexport { Alert }\n"],"names":["Alert","type","text","dismissible","defaultButton","filledButton","onClose","width","content","buttonAligned","open","_open","classNames","title","alertProps","setOpen","useState","body","Typo","useEffect","undefined","handleClose","div","AlertMantine","icon","StatusIcon","size","ICON_SIZES","MEDIUM_LARGE","status","withCloseButton","closeButtonLabel","style","root","classes","closeButton","message","className","Button","variant","onClick","e","closeOnClick"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Alert as AlertMantine, AlertProps } from \"@mantine/core\"\nimport { Button, TButtonProps } from \"../Form\"\nimport { Typo } from \"../Typo\"\nimport { StatusIcon } from \"../../icons\"\nimport { ReactNode, useEffect, useState } from \"react\"\nimport { EStatus, Modify } from \"../../genericTypes\"\nimport classes from \"./Alert.module.css\"\nimport { ICON_SIZES } from \"../../theme/conventions\"\n\ntype TAlertProps = Modify<\n Partial<AlertProps>,\n {\n type: EStatus\n title?: ReactNode\n text?: string\n content?: ReactNode\n dismissible?: boolean\n defaultButton?: TButtonProps & { closeOnClick?: boolean }\n filledButton?: TButtonProps & { closeOnClick?: boolean }\n onClose?: () => void\n width?: string\n buttonAligned?: \"left\" | \"right\"\n initiallyOpen?: boolean\n open?: boolean\n }\n>\n\n/**\n * Provides an alert with customizable content and buttons\n * @param type Type of the alert based on status of StatusIcons TButtonProps\n * @param text The text to be shown in the alert\n * @param dismissible Controls if the alert should be dismissible\n * @param defaulButton Button component that should be used as default\n * @param filledButton Button component that should be filled\n * @param onClose Callback when alert is closed\n * @param width Width of the alert\n * @param content Component to be included in the alert. If text is defined, this will not be shown.\n * @param buttonAligned Button component to be aligned left or right\n * @param open Controls if alert is open\n * @param title Title of the alert\n * @param classNames Class names for additional styles\n */\nconst Alert: React.FC<TAlertProps> = ({\n type,\n text,\n dismissible,\n defaultButton,\n filledButton,\n onClose,\n width = \"auto\",\n content,\n buttonAligned = \"left\",\n open: _open = true,\n classNames,\n title,\n ...alertProps\n}) => {\n const [open, setOpen] = useState(_open)\n const body = text ? <Typo type=\"body\">{text}</Typo> : content || null\n\n useEffect(() => {\n if (_open !== undefined) {\n setOpen(_open)\n }\n }, [_open])\n\n const handleClose = () => {\n setOpen(false)\n onClose?.()\n }\n\n if (!open) return null\n\n return (\n <div>\n <AlertMantine\n icon={<StatusIcon size={ICON_SIZES.MEDIUM_LARGE} status={type} />}\n withCloseButton={dismissible}\n closeButtonLabel=\"close\"\n onClose={handleClose}\n style={{\n width,\n }}\n classNames={{\n root: classes[`alert-${type}`],\n closeButton: classes[\"alert-close-button\"],\n title: classes[\"alert-title\"],\n icon: classes[\"alert-icon\"],\n message: classes[\"alert-message\"],\n ...classNames,\n }}\n title={title ? <Typo type={\"heading3\"}>{title}</Typo> : null}\n {...alertProps}\n >\n {body}\n <div\n className={`${classes[\"alert-button-wrapper\"]} ${buttonAligned === \"left\" ? classes[\"alert-button-wrapper-left\"] : classes[\"alert-button-wrapper-right\"]}`}\n >\n {filledButton && (\n <Button\n className={classes[\"alert-button\"]}\n variant=\"filled\"\n {...filledButton}\n onClick={(e) => {\n filledButton?.onClick?.(e)\n if (filledButton?.closeOnClick) handleClose()\n }}\n />\n )}\n {defaultButton && (\n <Button\n className={classes[\"alert-button\"]}\n variant=\"default\"\n {...defaultButton}\n onClick={(e) => {\n defaultButton?.onClick?.(e)\n if (defaultButton?.closeOnClick) handleClose()\n }}\n />\n )}\n </div>\n </AlertMantine>\n </div>\n )\n}\n\nexport { Alert }\n"],"names":["Alert","type","text","dismissible","defaultButton","filledButton","onClose","width","content","buttonAligned","open","_open","classNames","title","alertProps","setOpen","useState","body","Typo","useEffect","undefined","handleClose","div","AlertMantine","icon","StatusIcon","size","ICON_SIZES","MEDIUM_LARGE","status","withCloseButton","closeButtonLabel","style","root","classes","closeButton","message","className","Button","variant","onClick","e","closeOnClick"],"mappings":"oGAkISA,+CAAAA,4EA9HyC,qCACb,+BAChB,gCACM,oCACoB,6EAE3B,kDACO,+3EAmC3B,MAAMA,MAA+B,QAAC,CACpCC,IAAI,CACJC,IAAI,CACJC,WAAW,CACXC,aAAa,CACbC,YAAY,CACZC,OAAO,CACPC,MAAQ,MAAM,CACdC,OAAO,CACPC,cAAgB,MAAM,CACtBC,KAAMC,MAAQ,IAAI,CAClBC,UAAU,CACVC,KAAK,CAEN,IADIC,+KAEH,KAAM,CAACJ,KAAMK,QAAQ,CAAGC,GAAAA,eAAQ,EAACL,OACjC,MAAMM,KAAOf,KAAO,oBAACgB,UAAI,EAACjB,KAAK,gBAAQC,OAAeM,SAAW,KAEjEW,GAAAA,gBAAS,EAAC,KACR,GAAIR,QAAUS,UAAW,CACvBL,QAAQJ,MACV,CACF,EAAG,CAACA,MAAM,EAEV,MAAMU,YAAc,KAClBN,QAAQ,OACRT,gBAAAA,wBAAAA,SACF,EAEA,GAAI,CAACI,KAAM,OAAO,KAElB,MACE,oBAACY,gBACC,qBAACC,WAAY,sCACXC,KAAM,oBAACC,iBAAU,EAACC,KAAMC,uBAAU,CAACC,YAAY,CAAEC,OAAQ5B,OACzD6B,gBAAiB3B,YACjB4B,iBAAiB,QACjBzB,QAASe,YACTW,MAAO,CACLzB,KACF,EACAK,WAAY,gBACVqB,KAAMC,uBAAO,CAAC,CAAC,MAAM,EAAEjC,KAAK,CAAC,CAAC,CAC9BkC,YAAaD,uBAAO,CAAC,qBAAqB,CAC1CrB,MAAOqB,uBAAO,CAAC,cAAc,CAC7BV,KAAMU,uBAAO,CAAC,aAAa,CAC3BE,QAASF,uBAAO,CAAC,gBAAgB,EAC9BtB,YAELC,MAAOA,MAAQ,oBAACK,UAAI,EAACjB,KAAM,oBAAaY,QAAgB,MACpDC,uBAEHG,KACD,qBAACK,OACCe,UAAW,CAAC,EAAEH,uBAAO,CAAC,uBAAuB,CAAC,CAAC,EAAEzB,gBAAkB,OAASyB,uBAAO,CAAC,4BAA4B,CAAGA,uBAAO,CAAC,6BAA6B,CAAC,CAAC,WAEzJ7B,cACC,oBAACiC,YAAM,sCACLD,UAAWH,uBAAO,CAAC,eAAe,CAClCK,QAAQ,UACJlC,eACJmC,QAAS,AAACC,QACRpC,sBAAAA,qBAAAA,8BAAAA,sBAAAA,aAAcmC,OAAO,UAArBnC,sCAAAA,2BAAAA,aAAwBoC,GACxB,GAAIpC,qBAAAA,6BAAAA,aAAcqC,YAAY,CAAErB,aAClC,KAGHjB,eACC,oBAACkC,YAAM,sCACLD,UAAWH,uBAAO,CAAC,eAAe,CAClCK,QAAQ,WACJnC,gBACJoC,QAAS,AAACC,QACRrC,uBAAAA,sBAAAA,+BAAAA,uBAAAA,cAAeoC,OAAO,UAAtBpC,uCAAAA,4BAAAA,cAAyBqC,GACzB,GAAIrC,sBAAAA,8BAAAA,cAAesC,YAAY,CAAErB,aACnC,aAOd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { forwardRef, MouseEventHandler, PropsWithChildren } from \"react\"\nimport classes from \"./Badge.module.css\"\nimport { EThemeColors } from \"../../theme\"\nimport { cx } from \"../../helper/cx\"\n\nexport type TBadgeProps = {\n color: EThemeColors\n className?: string\n size?: \"sm\" | \"md\" | \"lg\"\n onClick?: MouseEventHandler\n
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { forwardRef, MouseEventHandler, PropsWithChildren } from \"react\"\nimport classes from \"./Badge.module.css\"\nimport { EThemeColors } from \"../../theme\"\nimport { cx } from \"../../helper/cx\"\n\nexport type TBadgeProps = {\n color: EThemeColors\n className?: string\n size?: \"sm\" | \"md\" | \"lg\"\n onClick?: MouseEventHandler\n}\n\n/**\n * Provides a badge component\n * @param color Color of the Badge based on EThemeColors\n * @param size String for the size of the Badge (sm, md, lg)\n * @param onClick Callback when Badge is clicked\n * @param className Class name for additional styles\n */\nconst Badge = forwardRef<HTMLSpanElement, PropsWithChildren<TBadgeProps>>(\n ({ onClick, className, color, children, size = \"md\" }, ref) => {\n return (\n <span\n className={cx(\n classes.root,\n classes[`${color}-root`],\n className,\n classes[`badge-size-${size}`],\n onClick ? classes[\"with-cursor-pointer\"] : undefined\n )}\n onClick={onClick}\n ref={ref}\n >\n {children}\n </span>\n )\n }\n)\n\nBadge.displayName = \"BadgeForwardRef\"\n\nexport { Badge }\n"],"names":["Badge","forwardRef","onClick","className","color","children","size","ref","span","cx","classes","root","undefined","displayName"],"mappings":"oGA6CSA,+CAAAA,6EAzCwD,6EAC7C,yCAED,uGAgBnB,MAAMA,MAAQC,GAAAA,iBAAU,EACtB,CAAC,CAAEC,OAAO,CAAEC,SAAS,CAAEC,KAAK,CAAEC,QAAQ,CAAEC,KAAO,IAAI,CAAE,CAAEC,OACrD,MACE,oBAACC,QACCL,UAAWM,GAAAA,MAAE,EACXC,uBAAO,CAACC,IAAI,CACZD,uBAAO,CAAC,CAAC,EAAEN,MAAM,KAAK,CAAC,CAAC,CACxBD,UACAO,uBAAO,CAAC,CAAC,WAAW,EAAEJ,KAAK,CAAC,CAAC,CAC7BJ,QAAUQ,uBAAO,CAAC,sBAAsB,CAAGE,WAE7CV,QAASA,QACTK,IAAKA,aAEJF,UAGP,EAGFL,CAAAA,MAAMa,WAAW,CAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/BadgeIconHoverCard/BadgeIconHoverCard.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { ReactNode } from \"react\"\nimport { Group, useMantineTheme } from \"@mantine/core\"\nimport { Badge, TBadgeProps } from \"../Badge\"\nimport { LucideIcon } from \"lucide-react\"\nimport { EStatus } from \"../../genericTypes\"\nimport { HoverCard } from \"../HoverCard\"\nimport { StatusIcon } from \"../../icons\"\nimport classes from \"./BadgeIconHoverCard.module.css\"\nimport { EThemeColors } from \"../../theme\"\n\nexport type TBadgeIconHoverCardProps = {\n badgeProps?: TBadgeProps\n badgeLabel: ReactNode\n type: EStatus\n dropDownContent?: ReactNode\n icon?: LucideIcon\n}\n\nconst getColor = (status: EStatus): EThemeColors => {\n switch (status) {\n case EStatus.ERROR:\n return EThemeColors.RedLight\n case EStatus.INFO:\n return EThemeColors.Blue\n case EStatus.SUCCESS:\n return EThemeColors.Green\n case EStatus.WARNING:\n return EThemeColors.Orange\n }\n}\n\nexport const BadgeIconHoverCard = ({\n badgeProps,\n type,\n dropDownContent,\n badgeLabel,\n}: TBadgeIconHoverCardProps) => {\n const theme = useMantineTheme()\n const badgeColor = getColor(type)\n return (\n <Group className={classes.group}>\n <Badge {...badgeProps} color={badgeColor}>\n {badgeLabel}\n </Badge>\n <HoverCard\n type={type}\n target={\n <StatusIcon\n status={type}\n data-testid=\"badge-info-icon\"\n size={theme.other.iconSizes.MEDIUM}\n display={dropDownContent ? \"block\" : \"none\"}\n className={classes.icon}\n />\n }\n dropDownContent={dropDownContent}\n />\n </Group>\n )\n}\n"],"names":["BadgeIconHoverCard","getColor","status","EStatus","ERROR","EThemeColors","RedLight","INFO","Blue","SUCCESS","Green","WARNING","Orange","badgeProps","type","dropDownContent","badgeLabel","theme","useMantineTheme","badgeColor","Group","className","classes","group","Badge","color","HoverCard","target","StatusIcon","data-testid","size","other","iconSizes","MEDIUM","display","icon"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/BadgeIconHoverCard/BadgeIconHoverCard.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { ReactNode } from \"react\"\nimport { Group, useMantineTheme } from \"@mantine/core\"\nimport { Badge, TBadgeProps } from \"../Badge\"\nimport { LucideIcon } from \"lucide-react\"\nimport { EStatus } from \"../../genericTypes\"\nimport { HoverCard } from \"../HoverCard\"\nimport { StatusIcon } from \"../../icons\"\nimport classes from \"./BadgeIconHoverCard.module.css\"\nimport { EThemeColors } from \"../../theme\"\n\nexport type TBadgeIconHoverCardProps = {\n badgeProps?: TBadgeProps\n badgeLabel: ReactNode\n type: EStatus\n dropDownContent?: ReactNode\n icon?: LucideIcon\n}\n\nconst getColor = (status: EStatus): EThemeColors => {\n switch (status) {\n case EStatus.ERROR:\n return EThemeColors.RedLight\n case EStatus.INFO:\n return EThemeColors.Blue\n case EStatus.SUCCESS:\n return EThemeColors.Green\n case EStatus.WARNING:\n return EThemeColors.Orange\n }\n}\n/**\n * Provides a Badge component with icon and HoverCard\n * @param badgeProps Props describing the Badge base component\n * @param type Type of the Badge based on EStatus (error, info, success, or warning)\n * @param dropDownContent ReactNode with the content to be shown in the HoverCard\n * @param badgeLabel ReactNode used as label for the Badge\n */\nexport const BadgeIconHoverCard = ({\n badgeProps,\n type,\n dropDownContent,\n badgeLabel,\n}: TBadgeIconHoverCardProps) => {\n const theme = useMantineTheme()\n const badgeColor = getColor(type)\n return (\n <Group className={classes.group}>\n <Badge {...badgeProps} color={badgeColor}>\n {badgeLabel}\n </Badge>\n <HoverCard\n type={type}\n target={\n <StatusIcon\n status={type}\n data-testid=\"badge-info-icon\"\n size={theme.other.iconSizes.MEDIUM}\n display={dropDownContent ? \"block\" : \"none\"}\n className={classes.icon}\n />\n }\n dropDownContent={dropDownContent}\n />\n </Group>\n )\n}\n"],"names":["BadgeIconHoverCard","getColor","status","EStatus","ERROR","EThemeColors","RedLight","INFO","Blue","SUCCESS","Green","WARNING","Orange","badgeProps","type","dropDownContent","badgeLabel","theme","useMantineTheme","badgeColor","Group","className","classes","group","Badge","color","HoverCard","target","StatusIcon","data-testid","size","other","iconSizes","MEDIUM","display","icon"],"mappings":"oGAyCaA,4DAAAA,yFApC0B,sCACJ,wCAEX,+CACE,qCACC,gGACP,yDACS,00CAU7B,MAAMC,SAAW,AAACC,SAChB,OAAQA,QACN,KAAKC,qBAAO,CAACC,KAAK,CAChB,OAAOC,mBAAY,CAACC,QAAQ,AAC9B,MAAKH,qBAAO,CAACI,IAAI,CACf,OAAOF,mBAAY,CAACG,IAAI,AAC1B,MAAKL,qBAAO,CAACM,OAAO,CAClB,OAAOJ,mBAAY,CAACK,KAAK,AAC3B,MAAKP,qBAAO,CAACQ,OAAO,CAClB,OAAON,mBAAY,CAACO,MAAM,AAC9B,CACF,EAQO,MAAMZ,mBAAqB,CAAC,CACjCa,UAAU,CACVC,IAAI,CACJC,eAAe,CACfC,UAAU,CACe,IACzB,MAAMC,MAAQC,GAAAA,qBAAe,IAC7B,MAAMC,WAAalB,SAASa,MAC5B,MACE,qBAACM,WAAK,EAACC,UAAWC,oCAAO,CAACC,KAAK,WAC7B,oBAACC,YAAK,wCAAKX,aAAYY,MAAON,oBAC3BH,cAEH,oBAACU,oBAAS,EACRZ,KAAMA,KACNa,OACE,oBAACC,iBAAU,EACT1B,OAAQY,KACRe,cAAY,kBACZC,KAAMb,MAAMc,KAAK,CAACC,SAAS,CAACC,MAAM,CAClCC,QAASnB,gBAAkB,QAAU,OACrCM,UAAWC,oCAAO,CAACa,IAAI,GAG3BpB,gBAAiBA,oBAIzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport {\n Breadcrumbs as MantineBreadcrumbs,\n BreadcrumbsProps,\n useMantineColorScheme,\n} from \"@mantine/core\"\nimport { ChevronRight } from \"lucide-react\"\nimport { TextWithTooltip } from \"../TextWithTooltip\"\nimport { Typo } from \"../Typo\"\nimport { PropsWithChildren, ReactElement } from \"react\"\nimport classes from \"./Breadcrumbs.module.css\"\n\nexport type TBreadcrumbItem = {\n title: string\n component?: React.FC<{\n title: string\n classes: Record<string, string>\n }>\n href?: string\n as?: ({ to, children }: { to: string } & PropsWithChildren) => ReactElement\n}\n\nexport type TBreadcrumbsProps = {\n originalProps?: Partial<BreadcrumbsProps>\n items: TBreadcrumbItem[]\n}\n\nconst BreadcrumbComponent: React.FC<{ item: TBreadcrumbItem }> = ({ item }) => {\n if (item.component)\n return <item.component title={item.title} key={item.title} classes={classes} />\n\n if (item.href) {\n const content = (\n <Typo wrapperProps={{ noFullWidth: true }} className={classes.link} type={\"small\"}>\n {item.title}\n </Typo>\n )\n if (item.as) return <item.as to={item.href}>{content}</item.as>\n return <a href={item.href}>{content}</a>\n }\n return (\n <Typo wrapperProps={{ noFullWidth: true }} className={classes[\"normal-text\"]} type={\"small\"}>\n {item.title}\n </Typo>\n )\n}\n\nexport const Breadcrumbs: React.FC<TBreadcrumbsProps> = ({ originalProps, items }) => {\n const { colorScheme } = useMantineColorScheme()\n const itemsClone = [...items]\n const lastChildRaw = itemsClone.pop()\n const children = itemsClone.map((c) => <BreadcrumbComponent key={c.title} item={c} />)\n const lastChild = (\n <span>\n <TextWithTooltip\n textProps={{ className: classes[\"breadcrumb-end\"] }}\n typoType={\"small\"}\n text={lastChildRaw?.title || \"\"}\n />\n </span>\n )\n\n return (\n <MantineBreadcrumbs\n classNames={{\n breadcrumb: classes.breadcrumbs,\n root: classes.root,\n }}\n w={\"100%\"}\n separator={\n <ChevronRight\n style={{ paddingBottom: \"1px\" }}\n color={colorScheme === \"dark\" ? \"white\" : \"black\"}\n size={16}\n strokeWidth={1.5}\n />\n }\n {...originalProps}\n >\n {children}\n {lastChildRaw?.component ? <BreadcrumbComponent item={lastChildRaw} /> : lastChild}\n </MantineBreadcrumbs>\n )\n}\n"],"names":["Breadcrumbs","BreadcrumbComponent","item","component","title","classes","href","content","Typo","wrapperProps","noFullWidth","className","link","type","as","to","a","originalProps","items","colorScheme","useMantineColorScheme","itemsClone","lastChildRaw","pop","children","map","c","lastChild","span","TextWithTooltip","textProps","typoType","text","MantineBreadcrumbs","classNames","breadcrumb","breadcrumbs","root","w","separator","ChevronRight","style","paddingBottom","color","size","strokeWidth"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport {\n Breadcrumbs as MantineBreadcrumbs,\n BreadcrumbsProps,\n useMantineColorScheme,\n} from \"@mantine/core\"\nimport { ChevronRight } from \"lucide-react\"\nimport { TextWithTooltip } from \"../TextWithTooltip\"\nimport { Typo } from \"../Typo\"\nimport { PropsWithChildren, ReactElement } from \"react\"\nimport classes from \"./Breadcrumbs.module.css\"\n\nexport type TBreadcrumbItem = {\n title: string\n component?: React.FC<{\n title: string\n classes: Record<string, string>\n }>\n href?: string\n as?: ({ to, children }: { to: string } & PropsWithChildren) => ReactElement\n}\n\nexport type TBreadcrumbsProps = {\n originalProps?: Partial<BreadcrumbsProps>\n items: TBreadcrumbItem[]\n}\n/**\n * Provides a breadcrumb item to be used in the Breadcrumb component\n * @param title Text content of the breadcrumb item\n * @param component Custom component used as breadcrumb item including title and classes\n * @param href URL to which to link via the breadcrumb item\n */\nconst BreadcrumbComponent: React.FC<{ item: TBreadcrumbItem }> = ({ item }) => {\n if (item.component)\n return <item.component title={item.title} key={item.title} classes={classes} />\n\n if (item.href) {\n const content = (\n <Typo wrapperProps={{ noFullWidth: true }} className={classes.link} type={\"small\"}>\n {item.title}\n </Typo>\n )\n if (item.as) return <item.as to={item.href}>{content}</item.as>\n return <a href={item.href}>{content}</a>\n }\n return (\n <Typo wrapperProps={{ noFullWidth: true }} className={classes[\"normal-text\"]} type={\"small\"}>\n {item.title}\n </Typo>\n )\n}\n\n/**\n * Provides Breadcrumbs for navigation\n * @param originalProps Props to be used from as defined by Mantine\n * @param items Array of breadcrumb items\n */\nexport const Breadcrumbs: React.FC<TBreadcrumbsProps> = ({ originalProps, items }) => {\n const { colorScheme } = useMantineColorScheme()\n const itemsClone = [...items]\n const lastChildRaw = itemsClone.pop()\n const children = itemsClone.map((c) => <BreadcrumbComponent key={c.title} item={c} />)\n const lastChild = (\n <span>\n <TextWithTooltip\n textProps={{ className: classes[\"breadcrumb-end\"] }}\n typoType={\"small\"}\n text={lastChildRaw?.title || \"\"}\n />\n </span>\n )\n\n return (\n <MantineBreadcrumbs\n classNames={{\n breadcrumb: classes.breadcrumbs,\n root: classes.root,\n }}\n w={\"100%\"}\n separator={\n <ChevronRight\n style={{ paddingBottom: \"1px\" }}\n color={colorScheme === \"dark\" ? \"white\" : \"black\"}\n size={16}\n strokeWidth={1.5}\n />\n }\n {...originalProps}\n >\n {children}\n {lastChildRaw?.component ? <BreadcrumbComponent item={lastChildRaw} /> : lastChild}\n </MantineBreadcrumbs>\n )\n}\n"],"names":["Breadcrumbs","BreadcrumbComponent","item","component","title","classes","href","content","Typo","wrapperProps","noFullWidth","className","link","type","as","to","a","originalProps","items","colorScheme","useMantineColorScheme","itemsClone","lastChildRaw","pop","children","map","c","lastChild","span","TextWithTooltip","textProps","typoType","text","MantineBreadcrumbs","classNames","breadcrumb","breadcrumbs","root","w","separator","ChevronRight","style","paddingBottom","color","size","strokeWidth"],"mappings":"oGA4DaA,qDAAAA,kFApDN,4CACsB,+CACG,0CACX,qFAED,w1CAsBpB,MAAMC,oBAA2D,CAAC,CAAEC,IAAI,CAAE,IACxE,GAAIA,KAAKC,SAAS,CAChB,MAAO,oBAACD,KAAKC,SAAS,EAACC,MAAOF,KAAKE,KAAK,CAAmBC,QAASA,6BAAO,EAA5BH,KAAKE,KAAK,EAE3D,GAAIF,KAAKI,IAAI,CAAE,CACb,MAAMC,QACJ,oBAACC,UAAI,EAACC,aAAc,CAAEC,YAAa,IAAK,EAAGC,UAAWN,6BAAO,CAACO,IAAI,CAAEC,KAAM,iBACvEX,KAAKE,KAAK,GAGf,GAAIF,KAAKY,EAAE,CAAE,MAAO,oBAACZ,KAAKY,EAAE,EAACC,GAAIb,KAAKI,IAAI,UAAGC,UAC7C,MAAO,oBAACS,KAAEV,KAAMJ,KAAKI,IAAI,UAAGC,SAC9B,CACA,MACE,oBAACC,UAAI,EAACC,aAAc,CAAEC,YAAa,IAAK,EAAGC,UAAWN,6BAAO,CAAC,cAAc,CAAEQ,KAAM,iBACjFX,KAAKE,KAAK,EAGjB,EAOO,MAAMJ,YAA2C,CAAC,CAAEiB,aAAa,CAAEC,KAAK,CAAE,IAC/E,KAAM,CAAEC,WAAW,CAAE,CAAGC,GAAAA,2BAAqB,IAC7C,MAAMC,WAAa,IAAIH,MAAM,CAC7B,MAAMI,aAAeD,WAAWE,GAAG,GACnC,MAAMC,SAAWH,WAAWI,GAAG,CAAC,AAACC,GAAM,oBAACzB,qBAAkCC,KAAMwB,GAAfA,EAAEtB,KAAK,GACxE,MAAMuB,UACJ,oBAACC,iBACC,oBAACC,gCAAe,EACdC,UAAW,CAAEnB,UAAWN,6BAAO,CAAC,iBAAiB,AAAC,EAClD0B,SAAU,QACVC,KAAMV,CAAAA,qBAAAA,6BAAAA,aAAclB,KAAK,GAAI,OAKnC,MACE,qBAAC6B,iBAAkB,sCACjBC,WAAY,CACVC,WAAY9B,6BAAO,CAAC+B,WAAW,CAC/BC,KAAMhC,6BAAO,CAACgC,IAAI,AACpB,EACAC,EAAG,OACHC,UACE,oBAACC,yBAAY,EACXC,MAAO,CAAEC,cAAe,KAAM,EAC9BC,MAAOxB,cAAgB,OAAS,QAAU,QAC1CyB,KAAM,GACNC,YAAa,OAGb5B,0BAEHO,SACAF,CAAAA,qBAAAA,6BAAAA,aAAcnB,SAAS,EAAG,oBAACF,qBAAoBC,KAAMoB,eAAmBK,aAG/E"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get ConfirmationDialog(){return ConfirmationDialog},get ConfirmationDialogBody(){return ConfirmationDialogBody}});const _jsxruntime=require("react/jsx-runtime");const _Modal=require("../Modal");const _Form=require("../Form");const _Alert=require("../Alert");const _genericTypes=require("../../genericTypes");const _core=require("@mantine/core");const _InformationList=require("../InformationList");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get ConfirmationDialog(){return ConfirmationDialog},get ConfirmationDialogBody(){return ConfirmationDialogBody}});const _jsxruntime=require("react/jsx-runtime");const _Modal=require("../Modal");const _Form=require("../Form");const _Alert=require("../Alert");const _genericTypes=require("../../genericTypes");const _core=require("@mantine/core");const _InformationList=require("../InformationList");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target={},sourceKeys,key,i;if(typeof Reflect!=="undefined"&&Reflect.ownKeys){sourceKeys=Reflect.ownKeys(source);for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}return target}target=_object_without_properties_loose(source,excluded);if(Object.getOwnPropertySymbols){sourceKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={},sourceKeys=Object.getOwnPropertyNames(source),key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}return target}const mapInformationToInformationList=information=>{return(information===null||information===void 0?void 0:information.map(x=>[x.key,x.value]))||[]};const ConfirmationDialogBody=({text,content,onSubmit,onClose,cancelButtonText,confirmationButtonText,confirmationButtonVariant="danger",information,gridListProps,alertStatus=_genericTypes.EStatus.ERROR})=>{const theme=(0,_core.useMantineTheme)();return(0,_jsxruntime.jsxs)(_jsxruntime.Fragment,{children:[(0,_jsxruntime.jsx)(_Alert.Alert,{type:alertStatus,dismissible:false,text:text,content:content,mb:information?theme.spacing.md:undefined}),(0,_jsxruntime.jsx)(_InformationList.InformationList,_object_spread({items:mapInformationToInformationList(information)},gridListProps)),(0,_jsxruntime.jsxs)(_Modal.ModalActions,{children:[(0,_jsxruntime.jsx)(_Form.Button,{"data-testid":"confirmation-dialog-cancel-button",variant:"default",onClick:onClose,children:cancelButtonText}),(0,_jsxruntime.jsx)(_Form.Button,{"data-testid":"confirmation-dialog-confirm-button",variant:confirmationButtonVariant,type:"submit",onClick:onSubmit,children:confirmationButtonText})]})]})};const ConfirmationDialog=_0=>{let{title,opened,onClose,closeOnEscape=true,closeOnClickOutside=false}=_0,bodyProps=_object_without_properties(_0,["title","opened","onClose","closeOnEscape","closeOnClickOutside"]);return(0,_jsxruntime.jsx)(_Modal.Modal,{title:title,opened:opened,onClose:onClose,closeOnEscape:closeOnEscape,closeOnClickOutside:closeOnClickOutside,children:(0,_jsxruntime.jsx)(ConfirmationDialogBody,_object_spread_props(_object_spread({},bodyProps),{onClose:onClose}))})};
|
|
2
2
|
//# sourceMappingURL=ConfirmationDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ConfirmationDialog/ConfirmationDialog.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Modal, ModalActions } from \"../Modal\"\nimport { Button, TButtonProps } from \"../Form\"\nimport { Alert } from \"../Alert\"\nimport { EStatus } from \"../../genericTypes\"\nimport { useMantineTheme } from \"@mantine/core\"\nimport { InformationList, TInformationListItems, TInformationListProps } from \"../InformationList\"\nimport { ReactNode } from \"react\"\n\ntype TConfirmationDialogBodyProps = {\n text?: string\n content?: ReactNode\n cancelButtonText: string\n confirmationButtonText: string\n confirmationButtonVariant?: TButtonProps[\"variant\"]\n information?: { key: string; value: ReactNode }[]\n gridListProps?: Omit<TInformationListProps, \"items\">\n onSubmit: () => void\n onClose: () => void\n alertStatus?: EStatus\n}\n\ntype TConfirmationDialogProps = TConfirmationDialogBodyProps & {\n opened: boolean\n closeOnEscape?: boolean\n closeOnClickOutside?: boolean\n title: string\n}\n\nconst mapInformationToInformationList = (\n information: TConfirmationDialogProps[\"information\"]\n): TInformationListItems => {\n return information?.map((x) => [x.key, x.value]) || []\n}\n\n/**\n * ConfirmationDialog implementation according to the UI guidelines.\n * This component uses the Modal, ModalActions and the Alert components.\n * @param title the title show in the Modal Header\n * @param text the message shown in the Alert\n * @param content optional component to display custom content instead of text\n * @param onSubmit function that should be called, when the confirm button is clicked\n * @param alertStatus status of the Alert, default is error\n * @param onClose function that should be called, when the cancel button is clicked\n * @param cancelButtonText text the cancel (left) button should be labeled with\n * @param confirmationButtonText text the confirmation (right) button should be labeled with\n * @param confirmationButtonColor color of the confirmation (right) button\n * @param gridListProps, props to adjust the underlying GridList component, default is undefined\n * @param information optional parameter for displaying a key,value information list, default is undefined\n * @constructor\n */\nconst ConfirmationDialogBody = ({\n text,\n content,\n onSubmit,\n onClose,\n cancelButtonText,\n confirmationButtonText,\n confirmationButtonVariant = \"danger\",\n information,\n gridListProps,\n alertStatus = EStatus.ERROR,\n}: TConfirmationDialogBodyProps) => {\n const theme = useMantineTheme()\n return (\n <>\n <Alert\n type={alertStatus}\n dismissible={false}\n text={text}\n content={content}\n mb={information ? theme.spacing.md : undefined}\n />\n <InformationList items={mapInformationToInformationList(information)} {...gridListProps} />\n <ModalActions>\n <Button\n data-testid=\"confirmation-dialog-cancel-button\"\n variant={\"default\"}\n onClick={onClose}\n >\n {cancelButtonText}\n </Button>\n <Button\n data-testid=\"confirmation-dialog-confirm-button\"\n variant={confirmationButtonVariant}\n type={\"submit\"}\n onClick={onSubmit}\n >\n {confirmationButtonText}\n </Button>\n </ModalActions>\n </>\n )\n}\n\n/**\n * ConfirmationDialog implementation according to the UI guidelines.\n * This component uses the Modal, ModalActions and the Alert components.\n * @param title the title show in the Modal Header\n * @param text the message shown in the Alert\n * @param onSubmit function that should be called, when the confirm button is clicked\n * @param opened determines if the ConfirmationDialog is rendered\n * @param onClose function that should be called, when the cancel button is clicked\n * @param cancelButtonText text the cancel (left) button should be labeled with\n * @param confirmationButtonText text the confirmation (right) button should be labeled with\n * @param confirmationButtonColor color of the confirmation (right) button\n * @param closeOnEscape optional parameter for Modal closing behaviour, default is true\n * @param closeOnClickOutside optional parameter for Modal closing behaviour, default is false\n * @param gridListProps, props to adjust the underlying GridList component, default is undefined\n * @param information optional parameter for displaying a key,value information list, default is undefined\n * @constructor\n */\nconst ConfirmationDialog = ({\n title,\n opened,\n onClose,\n closeOnEscape = true,\n closeOnClickOutside = false,\n ...bodyProps\n}: TConfirmationDialogProps) => {\n return (\n <Modal\n title={title}\n opened={opened}\n onClose={onClose}\n closeOnEscape={closeOnEscape}\n closeOnClickOutside={closeOnClickOutside}\n >\n <ConfirmationDialogBody {...bodyProps} onClose={onClose} />\n </Modal>\n )\n}\n\nexport { ConfirmationDialog, ConfirmationDialogBody }\n"],"names":["ConfirmationDialog","ConfirmationDialogBody","mapInformationToInformationList","information","map","x","key","value","text","content","onSubmit","onClose","cancelButtonText","confirmationButtonText","confirmationButtonVariant","gridListProps","alertStatus","EStatus","ERROR","theme","useMantineTheme","Alert","type","dismissible","mb","spacing","md","undefined","InformationList","items","ModalActions","Button","data-testid","variant","onClick","title","opened","closeOnEscape","closeOnClickOutside","bodyProps","Modal"],"mappings":"mPAwISA,4BAAAA,wBAAoBC,gCAAAA,8FApIO,gCACC,gCACf,wCACE,0CACQ,gDAC8C,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ConfirmationDialog/ConfirmationDialog.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Modal, ModalActions } from \"../Modal\"\nimport { Button, TButtonProps } from \"../Form\"\nimport { Alert } from \"../Alert\"\nimport { EStatus } from \"../../genericTypes\"\nimport { useMantineTheme } from \"@mantine/core\"\nimport { InformationList, TInformationListItems, TInformationListProps } from \"../InformationList\"\nimport { ReactNode } from \"react\"\n\ntype TConfirmationDialogBodyProps = {\n text?: string\n content?: ReactNode\n cancelButtonText: string\n confirmationButtonText: string\n confirmationButtonVariant?: TButtonProps[\"variant\"]\n information?: { key: string; value: ReactNode }[]\n gridListProps?: Omit<TInformationListProps, \"items\">\n onSubmit: () => void\n onClose: () => void\n alertStatus?: EStatus\n}\n\ntype TConfirmationDialogProps = TConfirmationDialogBodyProps & {\n opened: boolean\n closeOnEscape?: boolean\n closeOnClickOutside?: boolean\n title: string\n}\n\nconst mapInformationToInformationList = (\n information: TConfirmationDialogProps[\"information\"]\n): TInformationListItems => {\n return information?.map((x) => [x.key, x.value]) || []\n}\n\n/**\n * ConfirmationDialog implementation according to the UI guidelines.\n * This component uses the Modal, ModalActions and the Alert components.\n * @param title the title show in the Modal Header\n * @param text the message shown in the Alert\n * @param content optional component to display custom content instead of text\n * @param onSubmit function that should be called, when the confirm button is clicked\n * @param alertStatus status of the Alert, default is error\n * @param onClose function that should be called, when the cancel button is clicked\n * @param cancelButtonText text the cancel (left) button should be labeled with\n * @param confirmationButtonText text the confirmation (right) button should be labeled with\n * @param confirmationButtonColor color of the confirmation (right) button\n * @param gridListProps, props to adjust the underlying GridList component, default is undefined\n * @param information optional parameter for displaying a key,value information list, default is undefined\n * @constructor\n */\nconst ConfirmationDialogBody = ({\n text,\n content,\n onSubmit,\n onClose,\n cancelButtonText,\n confirmationButtonText,\n confirmationButtonVariant = \"danger\",\n information,\n gridListProps,\n alertStatus = EStatus.ERROR,\n}: TConfirmationDialogBodyProps) => {\n const theme = useMantineTheme()\n return (\n <>\n <Alert\n type={alertStatus}\n dismissible={false}\n text={text}\n content={content}\n mb={information ? theme.spacing.md : undefined}\n />\n <InformationList items={mapInformationToInformationList(information)} {...gridListProps} />\n <ModalActions>\n <Button\n data-testid=\"confirmation-dialog-cancel-button\"\n variant={\"default\"}\n onClick={onClose}\n >\n {cancelButtonText}\n </Button>\n <Button\n data-testid=\"confirmation-dialog-confirm-button\"\n variant={confirmationButtonVariant}\n type={\"submit\"}\n onClick={onSubmit}\n >\n {confirmationButtonText}\n </Button>\n </ModalActions>\n </>\n )\n}\n\n/**\n * ConfirmationDialog implementation according to the UI guidelines.\n * This component uses the Modal, ModalActions and the Alert components.\n * @param title the title show in the Modal Header\n * @param text the message shown in the Alert\n * @param onSubmit function that should be called, when the confirm button is clicked\n * @param opened determines if the ConfirmationDialog is rendered\n * @param onClose function that should be called, when the cancel button is clicked\n * @param cancelButtonText text the cancel (left) button should be labeled with\n * @param confirmationButtonText text the confirmation (right) button should be labeled with\n * @param confirmationButtonColor color of the confirmation (right) button\n * @param closeOnEscape optional parameter for Modal closing behaviour, default is true\n * @param closeOnClickOutside optional parameter for Modal closing behaviour, default is false\n * @param gridListProps, props to adjust the underlying GridList component, default is undefined\n * @param information optional parameter for displaying a key,value information list, default is undefined\n * @constructor\n */\nconst ConfirmationDialog = ({\n title,\n opened,\n onClose,\n closeOnEscape = true,\n closeOnClickOutside = false,\n ...bodyProps\n}: TConfirmationDialogProps) => {\n return (\n <Modal\n title={title}\n opened={opened}\n onClose={onClose}\n closeOnEscape={closeOnEscape}\n closeOnClickOutside={closeOnClickOutside}\n >\n <ConfirmationDialogBody {...bodyProps} onClose={onClose} />\n </Modal>\n )\n}\n\nexport { ConfirmationDialog, ConfirmationDialogBody }\n"],"names":["ConfirmationDialog","ConfirmationDialogBody","mapInformationToInformationList","information","map","x","key","value","text","content","onSubmit","onClose","cancelButtonText","confirmationButtonText","confirmationButtonVariant","gridListProps","alertStatus","EStatus","ERROR","theme","useMantineTheme","Alert","type","dismissible","mb","spacing","md","undefined","InformationList","items","ModalActions","Button","data-testid","variant","onClick","title","opened","closeOnEscape","closeOnClickOutside","bodyProps","Modal"],"mappings":"mPAwISA,4BAAAA,wBAAoBC,gCAAAA,8FApIO,gCACC,gCACf,wCACE,0CACQ,gDAC8C,syEAuB9E,MAAMC,gCAAkC,AACtCC,cAEA,MAAOA,CAAAA,oBAAAA,4BAAAA,YAAaC,GAAG,CAAC,AAACC,GAAM,CAACA,EAAEC,GAAG,CAAED,EAAEE,KAAK,CAAC,IAAK,EAAE,AACxD,EAkBA,MAAMN,uBAAyB,CAAC,CAC9BO,IAAI,CACJC,OAAO,CACPC,QAAQ,CACRC,OAAO,CACPC,gBAAgB,CAChBC,sBAAsB,CACtBC,0BAA4B,QAAQ,CACpCX,WAAW,CACXY,aAAa,CACbC,YAAcC,qBAAO,CAACC,KAAK,CACE,IAC7B,MAAMC,MAAQC,GAAAA,qBAAe,IAC7B,MACE,qDACE,oBAACC,YAAK,EACJC,KAAMN,YACNO,YAAa,MACbf,KAAMA,KACNC,QAASA,QACTe,GAAIrB,YAAcgB,MAAMM,OAAO,CAACC,EAAE,CAAGC,YAEvC,oBAACC,gCAAe,iBAACC,MAAO3B,gCAAgCC,cAAkBY,gBAC1E,qBAACe,mBAAY,YACX,oBAACC,YAAM,EACLC,cAAY,oCACZC,QAAS,UACTC,QAASvB,iBAERC,mBAEH,oBAACmB,YAAM,EACLC,cAAY,qCACZC,QAASnB,0BACTQ,KAAM,SACNY,QAASxB,kBAERG,8BAKX,EAmBA,MAAMb,mBAAqB,QAAC,CAC1BmC,KAAK,CACLC,MAAM,CACNzB,OAAO,CACP0B,cAAgB,IAAI,CACpBC,oBAAsB,KAAK,CAEF,IADtBC,4GAEH,MACE,oBAACC,YAAK,EACJL,MAAOA,MACPC,OAAQA,OACRzB,QAASA,QACT0B,cAAeA,cACfC,oBAAqBA,6BAErB,oBAACrC,8DAA2BsC,YAAW5B,QAASA,YAGtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/DateInline/DateInline.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { useTranslation } from \"react-i18next\"\nimport { TTypoProps, Typo } from \"../Typo\"\nimport { getIntlDate, TDateOptions } from \"../../helper\"\nimport { ELanguage } from \"../../helper/Language\"\nimport { InfoI } from \"../InfoTip\"\nimport { Clock4 } from \"lucide-react\"\nimport { getTimeZoneInformation, TimeZoneInfo } from \"../TimeZoneInfo\"\nimport classes from \"./DateInline.module.css\"\n\nexport type TDate = TDateOptions & {\n date: Date\n language?: ELanguage\n withTimeZoneInfo?: boolean\n className?: string\n typoProps?: Partial<TTypoProps>\n}\n\nconst DateInline: React.FC<TDate> = (props) => {\n const { i18n } = useTranslation()\n\n return (\n <span>\n <Typo display={\"inline\"} type=\"body\" className={props.className} {...props.typoProps}>\n {getIntlDate(props.date, props.language || (i18n.language as ELanguage), {\n removeTime: props.removeTime,\n })}\n </Typo>\n {props.withTimeZoneInfo && (\n <InfoI\n dropDownContent={<TimeZoneInfo timezone={getTimeZoneInformation()} />}\n className={classes.icon}\n icon={Clock4}\n />\n )}\n </span>\n )\n}\n\nexport { DateInline }\n"],"names":["DateInline","props","i18n","useTranslation","span","Typo","display","type","className","typoProps","getIntlDate","date","language","removeTime","withTimeZoneInfo","InfoI","dropDownContent","TimeZoneInfo","timezone","getTimeZoneInformation","classes","icon","Clock4"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/DateInline/DateInline.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { useTranslation } from \"react-i18next\"\nimport { TTypoProps, Typo } from \"../Typo\"\nimport { getIntlDate, TDateOptions } from \"../../helper\"\nimport { ELanguage } from \"../../helper/Language\"\nimport { InfoI } from \"../InfoTip\"\nimport { Clock4 } from \"lucide-react\"\nimport { getTimeZoneInformation, TimeZoneInfo } from \"../TimeZoneInfo\"\nimport classes from \"./DateInline.module.css\"\n\nexport type TDate = TDateOptions & {\n date: Date\n language?: ELanguage\n withTimeZoneInfo?: boolean\n className?: string\n typoProps?: Partial<TTypoProps>\n}\n\n/**\n * Provides a formatted date for inline use\n * @param date Date to be shown\n * @param typoProps Props describing formatting based on TTypoProps\n * @param language Language string based on ELanguage\n * @param removeTime Controls if the time information should be shown\n * @param withTimeZoneInfo Controls if timezone information should be shown\n * @param className Classname for additional styling\n */\nconst DateInline: React.FC<TDate> = (props) => {\n const { i18n } = useTranslation()\n\n return (\n <span>\n <Typo display={\"inline\"} type=\"body\" className={props.className} {...props.typoProps}>\n {getIntlDate(props.date, props.language || (i18n.language as ELanguage), {\n removeTime: props.removeTime,\n })}\n </Typo>\n {props.withTimeZoneInfo && (\n <InfoI\n dropDownContent={<TimeZoneInfo timezone={getTimeZoneInformation()} />}\n className={classes.icon}\n icon={Clock4}\n />\n )}\n </span>\n )\n}\n\nexport { DateInline }\n"],"names":["DateInline","props","i18n","useTranslation","span","Typo","display","type","className","typoProps","getIntlDate","date","language","removeTime","withTimeZoneInfo","InfoI","dropDownContent","TimeZoneInfo","timezone","getTimeZoneInformation","classes","icon","Clock4"],"mappings":"oGAmDSA,oDAAAA,yFA/CsB,qCACE,iCACS,uCAEpB,yCACC,4CAC8B,4FACjC,u1CAmBpB,MAAMA,WAA8B,AAACC,QACnC,KAAM,CAAEC,IAAI,CAAE,CAAGC,GAAAA,4BAAc,IAE/B,MACE,qBAACC,kBACC,oBAACC,UAAI,sCAACC,QAAS,SAAUC,KAAK,OAAOC,UAAWP,MAAMO,SAAS,EAAMP,MAAMQ,SAAS,YACjFC,GAAAA,mBAAW,EAACT,MAAMU,IAAI,CAAEV,MAAMW,QAAQ,EAAKV,KAAKU,QAAQ,CAAgB,CACvEC,WAAYZ,MAAMY,UAAU,AAC9B,MAEDZ,MAAMa,gBAAgB,EACrB,oBAACC,cAAK,EACJC,gBAAiB,oBAACC,0BAAY,EAACC,SAAUC,GAAAA,oCAAsB,MAC/DX,UAAWY,4BAAO,CAACC,IAAI,CACvBA,KAAMC,mBAAM,KAKtB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get Drawer(){return Drawer},get DrawerWithOpener(){return DrawerWithOpener}});const _jsxruntime=require("react/jsx-runtime");const _react=require("react");const _core=require("@mantine/core");const _lucidereact=require("lucide-react");const _reactdom=require("react-dom");const _Drawermodulecss=/*#__PURE__*/_interop_require_default(require("./Drawer.module.css"));const _theme=require("../../theme");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get Drawer(){return Drawer},get DrawerWithOpener(){return DrawerWithOpener}});const _jsxruntime=require("react/jsx-runtime");const _react=require("react");const _core=require("@mantine/core");const _lucidereact=require("lucide-react");const _reactdom=require("react-dom");const _Drawermodulecss=/*#__PURE__*/_interop_require_default(require("./Drawer.module.css"));const _theme=require("../../theme");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target={},sourceKeys,key,i;if(typeof Reflect!=="undefined"&&Reflect.ownKeys){sourceKeys=Reflect.ownKeys(source);for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}return target}target=_object_without_properties_loose(source,excluded);if(Object.getOwnPropertySymbols){sourceKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={},sourceKeys=Object.getOwnPropertyNames(source),key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}return target}const Drawer=(0,_react.forwardRef)(({children,invisibleWhenClosed=false,width=500,closedWidth=30,title,showChevronBtn=true,isOpen=false,drawerProps,onClose},ref)=>{const[opened,setOpened]=(0,_react.useState)(false);(0,_react.useEffect)(()=>{setOpened(isOpen)},[isOpen]);(0,_react.useImperativeHandle)(ref,()=>({setOpen(){setOpened(true)},setClose(){setOpened(false)}}),[setOpened]);const handleDrawerClose=()=>{setOpened(false);if(onClose){onClose()}};return(0,_jsxruntime.jsxs)(_jsxruntime.Fragment,{children:[(0,_jsxruntime.jsx)(_core.Drawer,_object_spread_props(_object_spread({opened:opened,onClose:handleDrawerClose,title:title,position:"right",size:width,classNames:{root:_Drawermodulecss.default.root,overlay:_Drawermodulecss.default.overlay,close:_Drawermodulecss.default["close-button"],content:_Drawermodulecss.default.content,inner:_Drawermodulecss.default.inner,body:_Drawermodulecss.default.body,header:_Drawermodulecss.default.header,title:_Drawermodulecss.default.title}},drawerProps),{children:children})),(0,_jsxruntime.jsx)("div",{className:_Drawermodulecss.default["open-drawer"],style:{transform:opened?"translateX(-20px)":`translateX(${width-closedWidth}px)`,visibility:invisibleWhenClosed?opened?"visible":"hidden":"visible",zIndex:_theme.Z_INDEX_LAYER.GROUND.HIGHEST,width},children:showChevronBtn&&(opened?(0,_jsxruntime.jsx)(_lucidereact.ChevronRight,{"data-testid":"drawer-close",size:32,strokeWidth:1.5,className:_Drawermodulecss.default.chevron,color:"white",onClick:handleDrawerClose}):(0,_jsxruntime.jsx)(_lucidereact.ChevronLeft,{"data-testid":"drawer-open",size:32,className:_Drawermodulecss.default.chevron,color:"white",onClick:()=>setOpened(true)}))})]})});const DrawerWithOpener=_0=>{let{Opener}=_0,props=_object_without_properties(_0,["Opener"]);const drawerRef=(0,_react.useRef)(null);const DrawerPortal=(0,_reactdom.createPortal)((0,_jsxruntime.jsx)(Drawer,_object_spread_props(_object_spread({},props),{ref:drawerRef})),document.body);return(0,_jsxruntime.jsxs)(_jsxruntime.Fragment,{children:[(0,_jsxruntime.jsx)(Opener,{setOpen:()=>{var _drawerRef_current;return drawerRef===null||drawerRef===void 0?void 0:(_drawerRef_current=drawerRef.current)===null||_drawerRef_current===void 0?void 0:_drawerRef_current.setOpen()}}),DrawerPortal]})};
|
|
2
2
|
//# sourceMappingURL=Drawer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport {\n forwardRef,\n PropsWithChildren,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\"\nimport { Drawer as MantineDrawer, DrawerProps } from \"@mantine/core\"\nimport { ChevronRight, ChevronLeft } from \"lucide-react\"\nimport { createPortal } from \"react-dom\"\nimport classes from \"./Drawer.module.css\"\nimport { Z_INDEX_LAYER } from \"../../theme\"\ntype TDrawerProps = {\n width?: number\n closedWidth?: number\n title: string\n showChevronBtn?: boolean\n isOpen?: boolean\n onClose?: () => void\n invisibleWhenClosed?: boolean\n drawerProps?: Partial<DrawerProps>\n}\n\ntype TDrawerHandle = {\n setOpen: () => void\n setClose: () => void\n}\n\n// eslint-disable-next-line react/display-name\nconst Drawer = forwardRef<TDrawerHandle, React.PropsWithChildren<TDrawerProps>>(\n (\n {\n children,\n invisibleWhenClosed = false,\n width = 500,\n closedWidth = 30,\n title,\n showChevronBtn = true,\n isOpen = false,\n drawerProps,\n onClose,\n },\n ref\n ) => {\n const [opened, setOpened] = useState(false)\n\n useEffect(() => {\n setOpened(isOpen)\n }, [isOpen])\n\n useImperativeHandle(\n ref,\n () => ({\n setOpen() {\n setOpened(true)\n },\n setClose() {\n setOpened(false)\n },\n }),\n [setOpened]\n )\n\n const handleDrawerClose = () => {\n setOpened(false)\n if (onClose) {\n onClose()\n }\n }\n\n return (\n <>\n <MantineDrawer\n opened={opened}\n onClose={handleDrawerClose}\n title={title}\n position=\"right\"\n size={width}\n classNames={{\n root: classes.root,\n overlay: classes.overlay,\n close: classes[\"close-button\"],\n content: classes.content,\n inner: classes.inner,\n body: classes.body,\n header: classes.header,\n title: classes.title,\n }}\n {...drawerProps}\n >\n {children}\n </MantineDrawer>\n <div\n className={classes[\"open-drawer\"]}\n style={{\n transform: opened ? \"translateX(-20px)\" : `translateX(${width - closedWidth}px)`,\n visibility: invisibleWhenClosed ? (opened ? \"visible\" : \"hidden\") : \"visible\",\n zIndex: Z_INDEX_LAYER.GROUND.HIGHEST,\n width,\n }}\n >\n {showChevronBtn &&\n (opened ? (\n <ChevronRight\n data-testid={\"drawer-close\"}\n size={32}\n strokeWidth={1.5}\n className={classes.chevron}\n color={\"white\"}\n onClick={handleDrawerClose}\n />\n ) : (\n <ChevronLeft\n data-testid={\"drawer-open\"}\n size={32}\n className={classes.chevron}\n color={\"white\"}\n onClick={() => setOpened(true)}\n />\n ))}\n </div>\n </>\n )\n }\n)\n\ntype TDrawerWithOpenerProps = PropsWithChildren<{\n Opener: React.FC<{ setOpen: () => void }>\n}> &\n TDrawerProps\n\nconst DrawerWithOpener = ({ Opener, ...props }: TDrawerWithOpenerProps) => {\n const drawerRef = useRef<TDrawerHandle>(null)\n const DrawerPortal = createPortal(<Drawer {...props} ref={drawerRef} />, document.body)\n return (\n <>\n <Opener setOpen={() => drawerRef?.current?.setOpen()}></Opener>\n {DrawerPortal}\n </>\n )\n}\n\nexport { Drawer, DrawerWithOpener }\n"],"names":["Drawer","DrawerWithOpener","forwardRef","children","invisibleWhenClosed","width","closedWidth","title","showChevronBtn","isOpen","drawerProps","onClose","ref","opened","setOpened","useState","useEffect","useImperativeHandle","setOpen","setClose","handleDrawerClose","MantineDrawer","position","size","classNames","root","classes","overlay","close","content","inner","body","header","div","className","style","transform","visibility","zIndex","Z_INDEX_LAYER","GROUND","HIGHEST","ChevronRight","data-testid","strokeWidth","chevron","color","onClick","ChevronLeft","Opener","props","drawerRef","useRef","DrawerPortal","createPortal","document","current"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport {\n forwardRef,\n PropsWithChildren,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\"\nimport { Drawer as MantineDrawer, DrawerProps } from \"@mantine/core\"\nimport { ChevronRight, ChevronLeft } from \"lucide-react\"\nimport { createPortal } from \"react-dom\"\nimport classes from \"./Drawer.module.css\"\nimport { Z_INDEX_LAYER } from \"../../theme\"\ntype TDrawerProps = {\n width?: number\n closedWidth?: number\n title: string\n showChevronBtn?: boolean\n isOpen?: boolean\n onClose?: () => void\n invisibleWhenClosed?: boolean\n drawerProps?: Partial<DrawerProps>\n}\n\ntype TDrawerHandle = {\n setOpen: () => void\n setClose: () => void\n}\n\n/**\n * Provides a Drawer component that slides into view from the corner of the window\n * @param width Width of the opened Drawer\n * @param closedWidth Width of the closed Drawer\n * @param title Title string of the Drawer\n * @param showChevronBtn Controls if chevron button should be shown\n * @param isOpen Controls if Drawer is opened\n * @param onClose Callback when Drawer is closed\n * @param invisibleWhenClosed Controls if the Drawer is visible when closed\n * @param drawerProps Original props from library to be used additionally\n */\n// eslint-disable-next-line react/display-name\nconst Drawer = forwardRef<TDrawerHandle, React.PropsWithChildren<TDrawerProps>>(\n (\n {\n children,\n invisibleWhenClosed = false,\n width = 500,\n closedWidth = 30,\n title,\n showChevronBtn = true,\n isOpen = false,\n drawerProps,\n onClose,\n },\n ref\n ) => {\n const [opened, setOpened] = useState(false)\n\n useEffect(() => {\n setOpened(isOpen)\n }, [isOpen])\n\n useImperativeHandle(\n ref,\n () => ({\n setOpen() {\n setOpened(true)\n },\n setClose() {\n setOpened(false)\n },\n }),\n [setOpened]\n )\n\n const handleDrawerClose = () => {\n setOpened(false)\n if (onClose) {\n onClose()\n }\n }\n\n return (\n <>\n <MantineDrawer\n opened={opened}\n onClose={handleDrawerClose}\n title={title}\n position=\"right\"\n size={width}\n classNames={{\n root: classes.root,\n overlay: classes.overlay,\n close: classes[\"close-button\"],\n content: classes.content,\n inner: classes.inner,\n body: classes.body,\n header: classes.header,\n title: classes.title,\n }}\n {...drawerProps}\n >\n {children}\n </MantineDrawer>\n <div\n className={classes[\"open-drawer\"]}\n style={{\n transform: opened ? \"translateX(-20px)\" : `translateX(${width - closedWidth}px)`,\n visibility: invisibleWhenClosed ? (opened ? \"visible\" : \"hidden\") : \"visible\",\n zIndex: Z_INDEX_LAYER.GROUND.HIGHEST,\n width,\n }}\n >\n {showChevronBtn &&\n (opened ? (\n <ChevronRight\n data-testid={\"drawer-close\"}\n size={32}\n strokeWidth={1.5}\n className={classes.chevron}\n color={\"white\"}\n onClick={handleDrawerClose}\n />\n ) : (\n <ChevronLeft\n data-testid={\"drawer-open\"}\n size={32}\n className={classes.chevron}\n color={\"white\"}\n onClick={() => setOpened(true)}\n />\n ))}\n </div>\n </>\n )\n }\n)\n\ntype TDrawerWithOpenerProps = PropsWithChildren<{\n Opener: React.FC<{ setOpen: () => void }>\n}> &\n TDrawerProps\n\nconst DrawerWithOpener = ({ Opener, ...props }: TDrawerWithOpenerProps) => {\n const drawerRef = useRef<TDrawerHandle>(null)\n const DrawerPortal = createPortal(<Drawer {...props} ref={drawerRef} />, document.body)\n return (\n <>\n <Opener setOpen={() => drawerRef?.current?.setOpen()}></Opener>\n {DrawerPortal}\n </>\n )\n}\n\nexport { Drawer, DrawerWithOpener }\n"],"names":["Drawer","DrawerWithOpener","forwardRef","children","invisibleWhenClosed","width","closedWidth","title","showChevronBtn","isOpen","drawerProps","onClose","ref","opened","setOpened","useState","useEffect","useImperativeHandle","setOpen","setClose","handleDrawerClose","MantineDrawer","position","size","classNames","root","classes","overlay","close","content","inner","body","header","div","className","style","transform","visibility","zIndex","Z_INDEX_LAYER","GROUND","HIGHEST","ChevronRight","data-testid","strokeWidth","chevron","color","onClick","ChevronLeft","Opener","props","drawerRef","useRef","DrawerPortal","createPortal","document","current"],"mappings":"mPA8JSA,gBAAAA,YAAQC,0BAAAA,wFAnJV,6BAC8C,4CACX,wCACb,kFACT,6CACU,m3EA6B9B,MAAMD,OAASE,GAAAA,iBAAU,EACvB,CACE,CACEC,QAAQ,CACRC,oBAAsB,KAAK,CAC3BC,MAAQ,GAAG,CACXC,YAAc,EAAE,CAChBC,KAAK,CACLC,eAAiB,IAAI,CACrBC,OAAS,KAAK,CACdC,WAAW,CACXC,OAAO,CACR,CACDC,OAEA,KAAM,CAACC,OAAQC,UAAU,CAAGC,GAAAA,eAAQ,EAAC,OAErCC,GAAAA,gBAAS,EAAC,KACRF,UAAUL,OACZ,EAAG,CAACA,OAAO,EAEXQ,GAAAA,0BAAmB,EACjBL,IACA,IAAO,CAAA,CACLM,UACEJ,UAAU,KACZ,EACAK,WACEL,UAAU,MACZ,CACF,CAAA,EACA,CAACA,UAAU,EAGb,MAAMM,kBAAoB,KACxBN,UAAU,OACV,GAAIH,QAAS,CACXA,SACF,CACF,EAEA,MACE,qDACE,oBAACU,YAAa,sCACZR,OAAQA,OACRF,QAASS,kBACTb,MAAOA,MACPe,SAAS,QACTC,KAAMlB,MACNmB,WAAY,CACVC,KAAMC,wBAAO,CAACD,IAAI,CAClBE,QAASD,wBAAO,CAACC,OAAO,CACxBC,MAAOF,wBAAO,CAAC,eAAe,CAC9BG,QAASH,wBAAO,CAACG,OAAO,CACxBC,MAAOJ,wBAAO,CAACI,KAAK,CACpBC,KAAML,wBAAO,CAACK,IAAI,CAClBC,OAAQN,wBAAO,CAACM,MAAM,CACtBzB,MAAOmB,wBAAO,CAACnB,KAAK,AACtB,GACIG,uBAEHP,YAEH,oBAAC8B,OACCC,UAAWR,wBAAO,CAAC,cAAc,CACjCS,MAAO,CACLC,UAAWvB,OAAS,oBAAsB,CAAC,WAAW,EAAER,MAAQC,YAAY,GAAG,CAAC,CAChF+B,WAAYjC,oBAAuBS,OAAS,UAAY,SAAY,UACpEyB,OAAQC,oBAAa,CAACC,MAAM,CAACC,OAAO,CACpCpC,KACF,WAECG,gBACEK,CAAAA,OACC,oBAAC6B,yBAAY,EACXC,cAAa,eACbpB,KAAM,GACNqB,YAAa,IACbV,UAAWR,wBAAO,CAACmB,OAAO,CAC1BC,MAAO,QACPC,QAAS3B,oBAGX,oBAAC4B,wBAAW,EACVL,cAAa,cACbpB,KAAM,GACNW,UAAWR,wBAAO,CAACmB,OAAO,CAC1BC,MAAO,QACPC,QAAS,IAAMjC,UAAU,OAE7B,MAIV,GAQF,MAAMb,iBAAmB,QAAC,CAAEgD,MAAM,CAAoC,IAA/BC,gDACrC,MAAMC,UAAYC,GAAAA,aAAM,EAAgB,MACxC,MAAMC,aAAeC,GAAAA,sBAAY,EAAC,oBAACtD,8CAAWkD,QAAOtC,IAAKuC,aAAeI,SAASxB,IAAI,EACtF,MACE,qDACE,oBAACkB,QAAO/B,QAAS,SAAMiC,0BAAAA,kBAAAA,2BAAAA,mBAAAA,UAAWK,OAAO,UAAlBL,mCAAAA,mBAAoBjC,OAAO,MACjDmC,eAGP"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"TermBadge",{enumerable:true,get:function(){return TermBadge}});const _jsxruntime=require("react/jsx-runtime");const _react=/*#__PURE__*/_interop_require_default(require("react"));const _FilterBadge=require("../../utils/FilterBadge");const _lucidereact=require("lucide-react");const _core=require("@mantine/core");const _TermBadgemodulecss=/*#__PURE__*/_interop_require_default(require("./TermBadge.module.css"));const _cx=require("../../../../helper/cx");const _NumberInline=require("../../../NumberInline");const _utils=require("../../utils");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"TermBadge",{enumerable:true,get:function(){return TermBadge}});const _jsxruntime=require("react/jsx-runtime");const _react=/*#__PURE__*/_interop_require_default(require("react"));const _FilterBadge=require("../../utils/FilterBadge");const _lucidereact=require("lucide-react");const _core=require("@mantine/core");const _TermBadgemodulecss=/*#__PURE__*/_interop_require_default(require("./TermBadge.module.css"));const _cx=require("../../../../helper/cx");const _NumberInline=require("../../../NumberInline");const _utils=require("../../utils");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target={},sourceKeys,key,i;if(typeof Reflect!=="undefined"&&Reflect.ownKeys){sourceKeys=Reflect.ownKeys(source);for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}return target}target=_object_without_properties_loose(source,excluded);if(Object.getOwnPropertySymbols){sourceKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={},sourceKeys=Object.getOwnPropertyNames(source),key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}return target}const TermBadge=_0=>{let{label,controlType,onDelete,showDeleteButton,className}=_0,badgeProps=_object_without_properties(_0,["label","controlType","onDelete","showDeleteButton","className"]);const DeleteButton=()=>(0,_jsxruntime.jsx)("span",{className:_TermBadgemodulecss.default["delete-button"],"data-testid":"filter-badge-delete-button",onClick:e=>{e.stopPropagation();onDelete(e)},children:(0,_jsxruntime.jsx)(_lucidereact.X,{size:16})});const labelLength=label.toString().length;if(labelLength>20){return(0,_jsxruntime.jsxs)(_FilterBadge.FilterBadge,_object_spread_props(_object_spread({},badgeProps),{className:className,borderRadius:"2px",children:[(0,_jsxruntime.jsx)(_core.Tooltip,{label:label,"data-readonly-clickable":true,styles:{tooltip:{maxWidth:"50vw",wordBreak:"break-all",height:"auto",position:"fixed"}},multiline:true,children:(0,_jsxruntime.jsxs)("span",{"data-testid":"filter-term-badge-label",style:{pointerEvents:"all"},children:[label.toString().substring(0,20),"..."]})}),showDeleteButton&&(0,_jsxruntime.jsx)(DeleteButton,{})]}))}return(0,_jsxruntime.jsxs)(_FilterBadge.FilterBadge,_object_spread_props(_object_spread({},badgeProps),{className:(0,_cx.cx)(className,_TermBadgemodulecss.default.container),borderRadius:"2px",children:[controlType!=undefined&&(controlType==_utils.TFilter.EControlType.FLOAT||controlType==_utils.TFilter.EControlType.INTEGER)?(0,_jsxruntime.jsx)("span",{"data-testid":"filter-term-badge-label",children:(0,_jsxruntime.jsx)(_NumberInline.NumberInline,{number:label})}):(0,_jsxruntime.jsx)("span",{"data-testid":"filter-term-badge-label",children:label}),showDeleteButton&&(0,_jsxruntime.jsx)(DeleteButton,{})]}))};
|
|
2
2
|
//# sourceMappingURL=TermBadge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/components/Filter/TermContainer/Term/TermBadge.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport React, { MouseEventHandler } from \"react\"\nimport { FilterBadge } from \"../../utils/FilterBadge\"\nimport { X as CrossIcon } from \"lucide-react\"\nimport { Tooltip } from \"@mantine/core\"\nimport classes from \"./TermBadge.module.css\"\nimport { cx } from \"../../../../helper/cx\"\nimport { NumberInline } from \"../../../NumberInline\"\nimport { TFilter } from \"../../utils\"\n\ntype TTermBadgeProps = {\n label: string | number\n controlType?: TFilter.EControlType\n onDelete: MouseEventHandler<HTMLSpanElement>\n color: string\n bgColor: string\n showDeleteButton: boolean\n className?: string\n border?: string\n}\n\nconst TermBadge: React.FC<TTermBadgeProps> = ({\n label,\n controlType,\n onDelete,\n showDeleteButton,\n className,\n ...badgeProps\n}) => {\n const DeleteButton = () => (\n <span\n className={classes[\"delete-button\"]}\n data-testid={\"filter-badge-delete-button\"}\n onClick={(e) => {\n e.stopPropagation()\n onDelete(e)\n }}\n >\n {/* the icon's foreground color needs to be set to match the font color of the badge which depends\n on the theme and the background color of the badge. Currently, not setting the color fulfills this\n requirement for the light theme. */}\n <CrossIcon size={16} />\n </span>\n )\n\n const labelLength = label.toString().length\n\n if (labelLength > 20) {\n return (\n <FilterBadge {...badgeProps} className={className} borderRadius={\"2px\"}>\n <Tooltip\n label={label}\n data-readonly-clickable\n styles={{\n tooltip: {\n maxWidth: \"50vw\",\n wordBreak: \"break-all\",\n height: \"auto\",\n position: \"fixed\",\n },\n }}\n multiline\n >\n <span data-testid={\"filter-term-badge-label\"} style={{ pointerEvents: \"all\" }}>\n {label.toString().substring(0, 20)}...\n </span>\n </Tooltip>\n {showDeleteButton && <DeleteButton />}\n </FilterBadge>\n )\n }\n\n return (\n <FilterBadge {...badgeProps} className={cx(className, classes.container)} borderRadius={\"2px\"}>\n {controlType != undefined &&\n (controlType == TFilter.EControlType.FLOAT || controlType == TFilter.EControlType.INTEGER) ? (\n <span data-testid={\"filter-term-badge-label\"}>\n <NumberInline number={label as number} />\n </span>\n ) : (\n <span data-testid={\"filter-term-badge-label\"}>{label}</span>\n )}\n {showDeleteButton && <DeleteButton />}\n </FilterBadge>\n )\n}\n\nexport { TermBadge }\n"],"names":["TermBadge","label","controlType","onDelete","showDeleteButton","className","badgeProps","DeleteButton","span","classes","data-testid","onClick","e","stopPropagation","CrossIcon","size","labelLength","toString","length","FilterBadge","borderRadius","Tooltip","data-readonly-clickable","styles","tooltip","maxWidth","wordBreak","height","position","multiline","style","pointerEvents","substring","cx","container","undefined","TFilter","EControlType","FLOAT","INTEGER","NumberInline","number"],"mappings":"oGA0FSA,mDAAAA,uHAtFgC,qCACb,sDACG,oCACP,yFACJ,6CACD,qDACU,8CACL,
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/components/Filter/TermContainer/Term/TermBadge.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport React, { MouseEventHandler } from \"react\"\nimport { FilterBadge } from \"../../utils/FilterBadge\"\nimport { X as CrossIcon } from \"lucide-react\"\nimport { Tooltip } from \"@mantine/core\"\nimport classes from \"./TermBadge.module.css\"\nimport { cx } from \"../../../../helper/cx\"\nimport { NumberInline } from \"../../../NumberInline\"\nimport { TFilter } from \"../../utils\"\n\ntype TTermBadgeProps = {\n label: string | number\n controlType?: TFilter.EControlType\n onDelete: MouseEventHandler<HTMLSpanElement>\n color: string\n bgColor: string\n showDeleteButton: boolean\n className?: string\n border?: string\n}\n\nconst TermBadge: React.FC<TTermBadgeProps> = ({\n label,\n controlType,\n onDelete,\n showDeleteButton,\n className,\n ...badgeProps\n}) => {\n const DeleteButton = () => (\n <span\n className={classes[\"delete-button\"]}\n data-testid={\"filter-badge-delete-button\"}\n onClick={(e) => {\n e.stopPropagation()\n onDelete(e)\n }}\n >\n {/* the icon's foreground color needs to be set to match the font color of the badge which depends\n on the theme and the background color of the badge. Currently, not setting the color fulfills this\n requirement for the light theme. */}\n <CrossIcon size={16} />\n </span>\n )\n\n const labelLength = label.toString().length\n\n if (labelLength > 20) {\n return (\n <FilterBadge {...badgeProps} className={className} borderRadius={\"2px\"}>\n <Tooltip\n label={label}\n data-readonly-clickable\n styles={{\n tooltip: {\n maxWidth: \"50vw\",\n wordBreak: \"break-all\",\n height: \"auto\",\n position: \"fixed\",\n },\n }}\n multiline\n >\n <span data-testid={\"filter-term-badge-label\"} style={{ pointerEvents: \"all\" }}>\n {label.toString().substring(0, 20)}...\n </span>\n </Tooltip>\n {showDeleteButton && <DeleteButton />}\n </FilterBadge>\n )\n }\n\n return (\n <FilterBadge {...badgeProps} className={cx(className, classes.container)} borderRadius={\"2px\"}>\n {controlType != undefined &&\n (controlType == TFilter.EControlType.FLOAT || controlType == TFilter.EControlType.INTEGER) ? (\n <span data-testid={\"filter-term-badge-label\"}>\n <NumberInline number={label as number} />\n </span>\n ) : (\n <span data-testid={\"filter-term-badge-label\"}>{label}</span>\n )}\n {showDeleteButton && <DeleteButton />}\n </FilterBadge>\n )\n}\n\nexport { TermBadge }\n"],"names":["TermBadge","label","controlType","onDelete","showDeleteButton","className","badgeProps","DeleteButton","span","classes","data-testid","onClick","e","stopPropagation","CrossIcon","size","labelLength","toString","length","FilterBadge","borderRadius","Tooltip","data-readonly-clickable","styles","tooltip","maxWidth","wordBreak","height","position","multiline","style","pointerEvents","substring","cx","container","undefined","TFilter","EControlType","FLOAT","INTEGER","NumberInline","number"],"mappings":"oGA0FSA,mDAAAA,uHAtFgC,qCACb,sDACG,oCACP,yFACJ,6CACD,qDACU,8CACL,m3EAaxB,MAAMA,UAAuC,QAAC,CAC5CC,KAAK,CACLC,WAAW,CACXC,QAAQ,CACRC,gBAAgB,CAChBC,SAAS,CAEV,IADIC,4GAEH,MAAMC,aAAe,IACnB,oBAACC,QACCH,UAAWI,2BAAO,CAAC,gBAAgB,CACnCC,cAAa,6BACbC,QAAS,AAACC,IACRA,EAAEC,eAAe,GACjBV,SAASS,EACX,WAKA,oBAACE,cAAS,EAACC,KAAM,OAIrB,MAAMC,YAAcf,MAAMgB,QAAQ,GAAGC,MAAM,CAE3C,GAAIF,YAAc,GAAI,CACpB,MACE,qBAACG,wBAAW,wCAAKb,aAAYD,UAAWA,UAAWe,aAAc,gBAC/D,oBAACC,aAAO,EACNpB,MAAOA,MACPqB,yBAAuB,MACvBC,OAAQ,CACNC,QAAS,CACPC,SAAU,OACVC,UAAW,YACXC,OAAQ,OACRC,SAAU,OACZ,CACF,EACAC,SAAS,eAET,qBAACrB,QAAKE,cAAa,0BAA2BoB,MAAO,CAAEC,cAAe,KAAM,YACzE9B,MAAMgB,QAAQ,GAAGe,SAAS,CAAC,EAAG,IAAI,WAGtC5B,kBAAoB,oBAACG,oBAG5B,CAEA,MACE,qBAACY,wBAAW,wCAAKb,aAAYD,UAAW4B,GAAAA,MAAE,EAAC5B,UAAWI,2BAAO,CAACyB,SAAS,EAAGd,aAAc,gBACrFlB,aAAeiC,WACfjC,CAAAA,aAAekC,cAAO,CAACC,YAAY,CAACC,KAAK,EAAIpC,aAAekC,cAAO,CAACC,YAAY,CAACE,OAAO,AAAD,EACtF,oBAAC/B,QAAKE,cAAa,mCACjB,oBAAC8B,0BAAY,EAACC,OAAQxC,UAGxB,oBAACO,QAAKE,cAAa,mCAA4BT,QAEhDG,kBAAoB,oBAACG,oBAG5B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"TermContainer",{enumerable:true,get:function(){return TermContainer}});const _jsxruntime=require("react/jsx-runtime");const _useFilter=require("../utils/hooks/useFilter");const _CircleCrossIcon=require("./CircleCrossIcon");const _Term=require("./Term");const _libs=require("../utils/libs");const _reacti18next=require("react-i18next");const _indexmodulecss=/*#__PURE__*/_interop_require_default(require("./index.module.css"));const _cx=require("../../../helper/cx");const _theme=require("../../../theme");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"TermContainer",{enumerable:true,get:function(){return TermContainer}});const _jsxruntime=require("react/jsx-runtime");const _useFilter=require("../utils/hooks/useFilter");const _CircleCrossIcon=require("./CircleCrossIcon");const _Term=require("./Term");const _libs=require("../utils/libs");const _reacti18next=require("react-i18next");const _indexmodulecss=/*#__PURE__*/_interop_require_default(require("./index.module.css"));const _cx=require("../../../helper/cx");const _theme=require("../../../theme");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}const TermContainer=({className})=>{const{state,setState,deleteAllTerms}=(0,_useFilter.useFilter)();const{t}=(0,_reacti18next.useTranslation)();const handleContainerClick=e=>{e.stopPropagation();const target=e.target;if(state.terms.every(t=>t.completed)){setState(_object_spread_props(_object_spread({},state),{termsCollapsed:false,terms:(0,_libs.termsMachine)(state.terms).setAllInactive().pushNewTerm().build()}))}target.focus()};const handleRemoveAllFilterTerms=()=>{deleteAllTerms()};return(0,_jsxruntime.jsxs)("div",{className:(0,_cx.cx)(_indexmodulecss.default.terms,className,state.termsCollapsed?_indexmodulecss.default["collapsed"]:_indexmodulecss.default["not-collapsed"],_indexmodulecss.default["container"]),style:{zIndex:_theme.Z_INDEX_LAYER.GROUND.HIGH},"data-testid":"filter-term-container",onClick:handleContainerClick,tabIndex:0,children:[state.terms.map(_0=>{let{}=_0,term=_extends({},_0);return(0,_jsxruntime.jsx)(_Term.Term,{id:term.id},term.id)}),state.terms.length>0&&(0,_jsxruntime.jsx)(_CircleCrossIcon.CircleCrossIcon,{title:t("Remove all filter criteria"),onClick:e=>{e.stopPropagation();handleRemoveAllFilterTerms()}})]})};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Filter/TermContainer/index.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { useFilter } from \"../utils/hooks/useFilter\"\nimport { CircleCrossIcon } from \"./CircleCrossIcon\"\nimport { Term } from \"./Term\"\nimport { termsMachine } from \"../utils/libs\"\nimport { MouseEventHandler } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport classes from \"./index.module.css\"\nimport { cx } from \"../../../helper/cx\"\nimport { Z_INDEX_LAYER } from \"../../../theme\"\n\nconst TermContainer = ({ className }: { className?: string }) => {\n const { state, setState, deleteAllTerms } = useFilter()\n const { t } = useTranslation()\n\n const handleContainerClick: MouseEventHandler = (e) => {\n e.stopPropagation()\n const target: any = e.target\n if (state.terms.every((t) => t.completed)) {\n setState({\n ...state,\n termsCollapsed: false,\n terms: termsMachine(state.terms).setAllInactive().pushNewTerm().build(),\n })\n }\n target.focus()\n }\n\n const handleRemoveAllFilterTerms = () => {\n deleteAllTerms()\n }\n\n return (\n <div\n className={cx(\n classes.terms,\n className,\n state.termsCollapsed ? classes[\"collapsed\"] : classes[\"not-collapsed\"],\n classes[\"container\"]\n )}\n style={{\n zIndex: Z_INDEX_LAYER.GROUND.HIGH,\n }}\n data-testid={\"filter-term-container\"}\n onClick={handleContainerClick}\n tabIndex={0}\n >\n {state.terms.map(({ ...term }) => (\n <Term key={term.id} id={term.id} />\n ))}\n {state.terms.length > 0 && (\n <CircleCrossIcon\n title={t(\"Remove all filter criteria\")}\n onClick={(e) => {\n e.stopPropagation()\n handleRemoveAllFilterTerms()\n }}\n />\n )}\n </div>\n )\n}\n\nexport { TermContainer }\n"],"names":["TermContainer","className","state","setState","deleteAllTerms","useFilter","t","useTranslation","handleContainerClick","e","stopPropagation","target","terms","every","completed","termsCollapsed","termsMachine","setAllInactive","pushNewTerm","build","focus","handleRemoveAllFilterTerms","div","cx","classes","style","zIndex","Z_INDEX_LAYER","GROUND","HIGH","data-testid","onClick","tabIndex","map","term","Term","id","length","CircleCrossIcon","title"],"mappings":"oGAkESA,uDAAAA,yFA9DiB,2DACM,yCACX,8BACQ,6CAEE,qFACX,yCACD,2CACW,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Filter/TermContainer/index.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { useFilter } from \"../utils/hooks/useFilter\"\nimport { CircleCrossIcon } from \"./CircleCrossIcon\"\nimport { Term } from \"./Term\"\nimport { termsMachine } from \"../utils/libs\"\nimport { MouseEventHandler } from \"react\"\nimport { useTranslation } from \"react-i18next\"\nimport classes from \"./index.module.css\"\nimport { cx } from \"../../../helper/cx\"\nimport { Z_INDEX_LAYER } from \"../../../theme\"\n\nconst TermContainer = ({ className }: { className?: string }) => {\n const { state, setState, deleteAllTerms } = useFilter()\n const { t } = useTranslation()\n\n const handleContainerClick: MouseEventHandler = (e) => {\n e.stopPropagation()\n const target: any = e.target\n if (state.terms.every((t) => t.completed)) {\n setState({\n ...state,\n termsCollapsed: false,\n terms: termsMachine(state.terms).setAllInactive().pushNewTerm().build(),\n })\n }\n target.focus()\n }\n\n const handleRemoveAllFilterTerms = () => {\n deleteAllTerms()\n }\n\n return (\n <div\n className={cx(\n classes.terms,\n className,\n state.termsCollapsed ? classes[\"collapsed\"] : classes[\"not-collapsed\"],\n classes[\"container\"]\n )}\n style={{\n zIndex: Z_INDEX_LAYER.GROUND.HIGH,\n }}\n data-testid={\"filter-term-container\"}\n onClick={handleContainerClick}\n tabIndex={0}\n >\n {state.terms.map(({ ...term }) => (\n <Term key={term.id} id={term.id} />\n ))}\n {state.terms.length > 0 && (\n <CircleCrossIcon\n title={t(\"Remove all filter criteria\")}\n onClick={(e) => {\n e.stopPropagation()\n handleRemoveAllFilterTerms()\n }}\n />\n )}\n </div>\n )\n}\n\nexport { TermContainer }\n"],"names":["TermContainer","className","state","setState","deleteAllTerms","useFilter","t","useTranslation","handleContainerClick","e","stopPropagation","target","terms","every","completed","termsCollapsed","termsMachine","setAllInactive","pushNewTerm","build","focus","handleRemoveAllFilterTerms","div","cx","classes","style","zIndex","Z_INDEX_LAYER","GROUND","HIGH","data-testid","onClick","tabIndex","map","term","Term","id","length","CircleCrossIcon","title"],"mappings":"oGAkESA,uDAAAA,yFA9DiB,2DACM,yCACX,8BACQ,6CAEE,qFACX,yCACD,2CACW,imDAE9B,MAAMA,cAAgB,CAAC,CAAEC,SAAS,CAA0B,IAC1D,KAAM,CAAEC,KAAK,CAAEC,QAAQ,CAAEC,cAAc,CAAE,CAAGC,GAAAA,oBAAS,IACrD,KAAM,CAAEC,CAAC,CAAE,CAAGC,GAAAA,4BAAc,IAE5B,MAAMC,qBAA0C,AAACC,IAC/CA,EAAEC,eAAe,GACjB,MAAMC,OAAcF,EAAEE,MAAM,CAC5B,GAAIT,MAAMU,KAAK,CAACC,KAAK,CAAC,AAACP,GAAMA,EAAEQ,SAAS,EAAG,CACzCX,SAAS,uCACJD,QACHa,eAAgB,MAChBH,MAAOI,GAAAA,kBAAY,EAACd,MAAMU,KAAK,EAAEK,cAAc,GAAGC,WAAW,GAAGC,KAAK,KAEzE,CACAR,OAAOS,KAAK,EACd,EAEA,MAAMC,2BAA6B,KACjCjB,gBACF,EAEA,MACE,qBAACkB,OACCrB,UAAWsB,GAAAA,MAAE,EACXC,uBAAO,CAACZ,KAAK,CACbX,UACAC,MAAMa,cAAc,CAAGS,uBAAO,CAAC,YAAY,CAAGA,uBAAO,CAAC,gBAAgB,CACtEA,uBAAO,CAAC,YAAY,EAEtBC,MAAO,CACLC,OAAQC,oBAAa,CAACC,MAAM,CAACC,IAAI,AACnC,EACAC,cAAa,wBACbC,QAASvB,qBACTwB,SAAU,YAET9B,MAAMU,KAAK,CAACqB,GAAG,CAAC,QAAC,EAAW,IAANC,2BACrB,oBAACC,UAAI,EAAeC,GAAIF,KAAKE,EAAE,EAApBF,KAAKE,EAAE,IAEnBlC,MAAMU,KAAK,CAACyB,MAAM,CAAG,GACpB,oBAACC,gCAAe,EACdC,MAAOjC,EAAE,8BACTyB,QAAS,AAACtB,IACRA,EAAEC,eAAe,GACjBW,4BACF,MAKV"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"FilterPersistent",{enumerable:true,get:function(){return FilterPersistent}});const _jsxruntime=require("react/jsx-runtime");const _Filter=require("../Filter");const _useFilterStorage=require("./useFilterStorage");const _utils=require("../utils");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"FilterPersistent",{enumerable:true,get:function(){return FilterPersistent}});const _jsxruntime=require("react/jsx-runtime");const _Filter=require("../Filter");const _useFilterStorage=require("./useFilterStorage");const _utils=require("../utils");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target={},sourceKeys,key,i;if(typeof Reflect!=="undefined"&&Reflect.ownKeys){sourceKeys=Reflect.ownKeys(source);for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}return target}target=_object_without_properties_loose(source,excluded);if(Object.getOwnPropertySymbols){sourceKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={},sourceKeys=Object.getOwnPropertyNames(source),key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}return target}const FilterPersistent=_0=>{let{sessionStorageId,skipLoadingFromStorage=false}=_0,filterProps=_object_without_properties(_0,["sessionStorageId","skipLoadingFromStorage"]);const storage=(0,_useFilterStorage.useFilterStorage)({filterName:sessionStorageId,onApply:filterProps.onApply,transformers:filterProps.transformer,initialState:filterProps.initialState,skipLoadingFromStorage});return(0,_jsxruntime.jsx)(_Filter.Filter,_object_spread_props(_object_spread({},filterProps),{initialState:filterProps.initialState||storage.initialState||_utils.emptyFilterInternal,onApply:(_,internal,meta)=>storage.handleFilterApply(internal,meta)}))};
|
|
2
2
|
//# sourceMappingURL=FilterPersistent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Filter/persistence/FilterPersistent.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Filter, TFilterProps } from \"../Filter\"\nimport { useFilterStorage } from \"./useFilterStorage\"\nimport { emptyFilterInternal } from \"../utils\"\n\nexport type TFilterPersistent = TFilterProps & {\n sessionStorageId: string\n skipLoadingFromStorage?: boolean\n}\n\n/**\n * This is a wrapper for the Filter that intercepts the onApply callback to save the applied internal state into the sessionStorage.\n * If no initialState is passed, it loads the saved state into the Filter by passing it as the initialState itself.\n * Uses the same props as the filter including:\n * @param sessionStorageId unique id for correct persistence in the session storage\n * @param onApply Callback that gets called with arguments: DTO State (simpler state for API communication),\n * Internal State (Used for addons like SessionStorage persistance) and metadata (the event that triggered the apply)\n * @param config Configuration for the filter. Determines the **Attributes** with their corresponding **operators** and **value** types.\n * Both the **Attribute** and **Operator** can specify a *ControlType*.\n * When both have one specified, the **Operator** takes precedence over the **Attribute**\n * @param initialState Initial filter state on mount. If **undefined** it will load the stored Filter, otherwise it will use the *initialState*\n * @param readonly Boolean flag whether the filter is readonly\n * @param transformer Built-in data transformers to adjust the data based on specific needs.\n * This removes the hustle of going through individual terms after receiving the data through the onApply callback,\n * @param transformer.dtoValueTransformMap this transformer is a Record<string, function> type and is used to transform values based on their unique attribute name.\n * E.g. if you need to set a prefix before user-defined values in the Autocomplete, you can set this transformer to\n * { tag: (term) => term.values.map(x => \"tag-prefix-\"+x) } * @constructor\n */\nconst FilterPersistent: React.FC<TFilterPersistent> = ({\n sessionStorageId,\n skipLoadingFromStorage = false,\n ...filterProps\n}) => {\n const storage = useFilterStorage({\n filterName: sessionStorageId,\n onApply: filterProps.onApply,\n transformers: filterProps.transformer,\n initialState: filterProps.initialState,\n skipLoadingFromStorage,\n })\n return (\n <Filter\n {...filterProps}\n initialState={filterProps.initialState || storage.initialState || emptyFilterInternal}\n onApply={(_, internal, meta) => storage.handleFilterApply(internal, meta)}\n />\n )\n}\n\nexport { FilterPersistent }\n"],"names":["FilterPersistent","sessionStorageId","skipLoadingFromStorage","filterProps","storage","useFilterStorage","filterName","onApply","transformers","transformer","initialState","Filter","emptyFilterInternal","_","internal","meta","handleFilterApply"],"mappings":"oGAoDSA,0DAAAA,yFAhD4B,6CACJ,2CACG
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Filter/persistence/FilterPersistent.tsx"],"sourcesContent":["/* Copyright (C) Greenbone AG\n *\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { Filter, TFilterProps } from \"../Filter\"\nimport { useFilterStorage } from \"./useFilterStorage\"\nimport { emptyFilterInternal } from \"../utils\"\n\nexport type TFilterPersistent = TFilterProps & {\n sessionStorageId: string\n skipLoadingFromStorage?: boolean\n}\n\n/**\n * This is a wrapper for the Filter that intercepts the onApply callback to save the applied internal state into the sessionStorage.\n * If no initialState is passed, it loads the saved state into the Filter by passing it as the initialState itself.\n * Uses the same props as the filter including:\n * @param sessionStorageId unique id for correct persistence in the session storage\n * @param onApply Callback that gets called with arguments: DTO State (simpler state for API communication),\n * Internal State (Used for addons like SessionStorage persistance) and metadata (the event that triggered the apply)\n * @param config Configuration for the filter. Determines the **Attributes** with their corresponding **operators** and **value** types.\n * Both the **Attribute** and **Operator** can specify a *ControlType*.\n * When both have one specified, the **Operator** takes precedence over the **Attribute**\n * @param initialState Initial filter state on mount. If **undefined** it will load the stored Filter, otherwise it will use the *initialState*\n * @param readonly Boolean flag whether the filter is readonly\n * @param transformer Built-in data transformers to adjust the data based on specific needs.\n * This removes the hustle of going through individual terms after receiving the data through the onApply callback,\n * @param transformer.dtoValueTransformMap this transformer is a Record<string, function> type and is used to transform values based on their unique attribute name.\n * E.g. if you need to set a prefix before user-defined values in the Autocomplete, you can set this transformer to\n * { tag: (term) => term.values.map(x => \"tag-prefix-\"+x) } * @constructor\n */\nconst FilterPersistent: React.FC<TFilterPersistent> = ({\n sessionStorageId,\n skipLoadingFromStorage = false,\n ...filterProps\n}) => {\n const storage = useFilterStorage({\n filterName: sessionStorageId,\n onApply: filterProps.onApply,\n transformers: filterProps.transformer,\n initialState: filterProps.initialState,\n skipLoadingFromStorage,\n })\n return (\n <Filter\n {...filterProps}\n initialState={filterProps.initialState || storage.initialState || emptyFilterInternal}\n onApply={(_, internal, meta) => storage.handleFilterApply(internal, meta)}\n />\n )\n}\n\nexport { FilterPersistent }\n"],"names":["FilterPersistent","sessionStorageId","skipLoadingFromStorage","filterProps","storage","useFilterStorage","filterName","onApply","transformers","transformer","initialState","Filter","emptyFilterInternal","_","internal","meta","handleFilterApply"],"mappings":"oGAoDSA,0DAAAA,yFAhD4B,6CACJ,2CACG,4xEAyBpC,MAAMA,iBAAgD,QAAC,CACrDC,gBAAgB,CAChBC,uBAAyB,KAAK,CAE/B,IADIC,yFAEH,MAAMC,QAAUC,GAAAA,kCAAgB,EAAC,CAC/BC,WAAYL,iBACZM,QAASJ,YAAYI,OAAO,CAC5BC,aAAcL,YAAYM,WAAW,CACrCC,aAAcP,YAAYO,YAAY,CACtCR,sBACF,GACA,MACE,oBAACS,cAAM,wCACDR,cACJO,aAAcP,YAAYO,YAAY,EAAIN,QAAQM,YAAY,EAAIE,0BAAmB,CACrFL,QAAS,CAACM,EAAGC,SAAUC,OAASX,QAAQY,iBAAiB,CAACF,SAAUC,QAG1E"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get FilterInputWrapper(){return FilterInputWrapper},get FilterSelect(){return FilterSelect}});const _jsxruntime=require("react/jsx-runtime");const _core=require("@mantine/core");const _reactselect=require("react-select");const _react=/*#__PURE__*/_interop_require_default(require("react"));const _Select=require("./Select");const _useFilter=require("./hooks/useFilter");const _reacti18next=require("react-i18next");const _TextWithTooltip=require("../../TextWithTooltip");const _FilterSelectmodulecss=/*#__PURE__*/_interop_require_default(require("./FilterSelect.module.css"));const _theme=require("../../../theme");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get FilterInputWrapper(){return FilterInputWrapper},get FilterSelect(){return FilterSelect}});const _jsxruntime=require("react/jsx-runtime");const _core=require("@mantine/core");const _reactselect=require("react-select");const _react=/*#__PURE__*/_interop_require_default(require("react"));const _Select=require("./Select");const _useFilter=require("./hooks/useFilter");const _reacti18next=require("react-i18next");const _TextWithTooltip=require("../../TextWithTooltip");const _FilterSelectmodulecss=/*#__PURE__*/_interop_require_default(require("./FilterSelect.module.css"));const _theme=require("../../../theme");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target={},sourceKeys,key,i;if(typeof Reflect!=="undefined"&&Reflect.ownKeys){sourceKeys=Reflect.ownKeys(source);for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}return target}target=_object_without_properties_loose(source,excluded);if(Object.getOwnPropertySymbols){sourceKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={},sourceKeys=Object.getOwnPropertyNames(source),key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}return target}const FilterInputWrapper=({children})=>{return(0,_jsxruntime.jsx)("div",{className:_FilterSelectmodulecss.default.container,"data-testid":"filter-select-container",onClick:e=>{e.stopPropagation()},children:children})};const MultiValueLabelWithTranslation=props=>{const{t}=(0,_reacti18next.useTranslation)();const toRender=typeof props.children==="string"?(0,_jsxruntime.jsx)(_TextWithTooltip.TextWithTooltip,{typoType:"body",text:t(props.children)}):props.children;return(0,_jsxruntime.jsx)(_reactselect.components.MultiValueLabel,_object_spread_props(_object_spread({},props),{children:toRender}))};const FilterSelect=_0=>{let{creatable,onBlur,onChange,onKeyDown,multiple,withTranslation,value,options}=_0,props=_object_without_properties(_0,["creatable","onBlur","onChange","onKeyDown","multiple","withTranslation","value","options"]);const theme=(0,_core.useMantineTheme)();const{colorScheme}=(0,_core.useMantineColorScheme)();const isDarkScheme=colorScheme==="dark";const{portalTargetRef}=(0,_useFilter.useFilter)();return(0,_jsxruntime.jsx)(FilterInputWrapper,{children:(0,_jsxruntime.jsx)(_Select.Select,_object_spread_props(_object_spread({multiple:multiple,menuPortalTarget:portalTargetRef===null||portalTargetRef===void 0?void 0:portalTargetRef.current,onChange:(newValue,actionMeta)=>{if(Array.isArray(newValue)){onChange===null||onChange===void 0?void 0:onChange(newValue,actionMeta)}const value=newValue;onChange===null||onChange===void 0?void 0:onChange(value,actionMeta)}},props),{onKeyDown:onKeyDown,onBlur:onBlur,menuIsOpen:true,value:Array.isArray(value)?value.map(x=>({value:x,label:x})):value,closeMenuOnSelect:!multiple,autoFocus:true,styles:{control:base=>_object_spread_props(_object_spread({},base),{minHeight:30,backgroundColor:isDarkScheme?theme.colors.gray[8]:base.backgroundColor,color:isDarkScheme?theme.white:base.backgroundColor}),option:(base,{isFocused})=>{return _object_spread_props(_object_spread({},base),{backgroundColor:isFocused?isDarkScheme?theme.colors.green[7]:theme.colors.green[0]:isDarkScheme?theme.colors.gray[9]:base.backgroundColor,"&:active":{backgroundColor:isDarkScheme?theme.colors.green[7]:theme.colors.green[0]},color:isDarkScheme?theme.white:base.color})},multiValue:base=>_object_spread_props(_object_spread({},base),{borderRadius:"2px",backgroundColor:isDarkScheme?theme.colors.gray[7]:theme.colors.gray[1],color:isDarkScheme?theme.white:theme.colors.gray[9]}),multiValueLabel:base=>_object_spread_props(_object_spread({},base),{color:isDarkScheme?theme.white:theme.colors.gray[9]}),multiValueRemove:base=>_object_spread_props(_object_spread({},base),{color:isDarkScheme?theme.white:theme.colors.gray[9],"&:hover":{backgroundColor:"inherit",borderRadius:"2px",cursor:"pointer",color:isDarkScheme?theme.black:theme.white}}),input:base=>isDarkScheme?_object_spread_props(_object_spread({},base),{color:theme.white}):base,dropdownIndicator:base=>_object_spread_props(_object_spread({},base),{paddingTop:0,paddingBottom:0}),clearIndicator:base=>_object_spread_props(_object_spread({},base),{paddingTop:0,paddingBottom:0}),menu:base=>_object_spread_props(_object_spread({},base),{overflow:"visible",border:`1px solid ${isDarkScheme?theme.colors.gray[8]:theme.colors.gray[2]}`,borderRadius:"2px",backgroundColor:isDarkScheme?theme.colors.gray[9]:base.backgroundColor}),menuPortal:base=>_object_spread_props(_object_spread({},base),{zIndex:_theme.Z_INDEX_LAYER.GROUND.HIGHEST})},options:options,creatable:creatable,hideSelectedOptions:true,noOptionsMessage:()=>null,isClearable:true,components:{DropdownIndicator:()=>null,IndicatorSeparator:()=>null,MultiValueLabel:withTranslation?MultiValueLabelWithTranslation:_reactselect.components.MultiValueLabel}}))})};
|
|
2
2
|
//# sourceMappingURL=FilterSelect.js.map
|