diff --git a/packages/manager/modules/manager-pci-common/package.json b/packages/manager/modules/manager-pci-common/package.json index 703d7c5cb739..6399043eb5b9 100644 --- a/packages/manager/modules/manager-pci-common/package.json +++ b/packages/manager/modules/manager-pci-common/package.json @@ -37,7 +37,8 @@ "@ovh-ux/manager-tailwind-config": "^0.2.1", "clsx": "2.1.1", "date-fns": "^3.6.0", - "lodash.isequal": "^4.5.0" + "lodash.isequal": "^4.5.0", + "@ovh-ux/manager-core-utils": "^0.3.0" }, "devDependencies": { "@ovh-ux/manager-core-api": "^0.9.0", diff --git a/packages/manager/modules/manager-pci-common/src/components/flavor-selector/FlavorLocalzoneChip.tsx b/packages/manager/modules/manager-pci-common/src/components/flavor-selector/FlavorLocalzoneChip.tsx index fe0ae9aa9741..659d2083a721 100644 --- a/packages/manager/modules/manager-pci-common/src/components/flavor-selector/FlavorLocalzoneChip.tsx +++ b/packages/manager/modules/manager-pci-common/src/components/flavor-selector/FlavorLocalzoneChip.tsx @@ -17,10 +17,12 @@ const URL_INFO = { export type TFlavorLocalzoneChip = { isLocalZone: boolean; + id: string; }; export function FlavorLocalzoneChip({ isLocalZone, + id, }: Readonly) { const { t } = useTranslation('pci-flavors'); const { ovhSubsidiary } = useContext(ShellContext).environment.getUser(); @@ -31,7 +33,7 @@ export function FlavorLocalzoneChip({ return ( <> -
+
event.stopPropagation()} />
- + {isLocalZone ? t('pci_project_flavors_zone_localzone_tooltip') diff --git a/packages/manager/modules/manager-pci-common/src/components/flavor-selector/FlavorSelector.component.tsx b/packages/manager/modules/manager-pci-common/src/components/flavor-selector/FlavorSelector.component.tsx index f0fced073525..babb08d87539 100644 --- a/packages/manager/modules/manager-pci-common/src/components/flavor-selector/FlavorSelector.component.tsx +++ b/packages/manager/modules/manager-pci-common/src/components/flavor-selector/FlavorSelector.component.tsx @@ -62,6 +62,7 @@ export function FlavorSelector({ .map((flavor) => (
- {flavorCompatibility.localzone && } + {flavorCompatibility.localzone && ( + + )} {flavorCompatibility.globalzone && ( - + )}

diff --git a/packages/manager/modules/manager-pci-common/src/components/logs/BlinkingCursor.component.tsx b/packages/manager/modules/manager-pci-common/src/components/logs/BlinkingCursor.component.tsx index 0855cca32e38..776540ed7942 100644 --- a/packages/manager/modules/manager-pci-common/src/components/logs/BlinkingCursor.component.tsx +++ b/packages/manager/modules/manager-pci-common/src/components/logs/BlinkingCursor.component.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import style from './blinking-cursor.module.scss'; export function BlinkingCursor() { diff --git a/packages/manager/modules/manager-pci-common/src/components/logs/DbaasLogsAccountSelector.component.tsx b/packages/manager/modules/manager-pci-common/src/components/logs/DbaasLogsAccountSelector.component.tsx index 02cbdc99a469..a497c1d8ce88 100644 --- a/packages/manager/modules/manager-pci-common/src/components/logs/DbaasLogsAccountSelector.component.tsx +++ b/packages/manager/modules/manager-pci-common/src/components/logs/DbaasLogsAccountSelector.component.tsx @@ -1,10 +1,6 @@ -import React, { useEffect } from 'react'; +import { useEffect } from 'react'; import { ODS_SPINNER_SIZE } from '@ovhcloud/ods-components'; -import { - OsdsSelect, - OsdsSelectOption, - OsdsSpinner, -} from '@ovhcloud/ods-components/react'; +import { OdsSelect, OdsSpinner } from '@ovhcloud/ods-components/react'; import { TDbaasLog } from '../../api/data/dbaas-logs'; import { useDbaasLogs } from '../../api/hook/useLogs'; @@ -26,7 +22,7 @@ export function DbaasLogsAccountSelector({ if (isPending) return (
- +
); @@ -34,24 +30,24 @@ export function DbaasLogsAccountSelector({ <> {dbaasLogs?.length && (
- + onOdsChange={(event) => onAccountChange( dbaasLogs.find( ({ serviceName }) => serviceName === `${event.detail.value}`, ), ) } - inline > {dbaasLogs.map((log) => ( - + + ))} - +
)} diff --git a/packages/manager/modules/manager-pci-common/src/components/logs/LogHowTo.component.tsx b/packages/manager/modules/manager-pci-common/src/components/logs/LogHowTo.component.tsx index ed3ce97e0209..b27e97bee674 100644 --- a/packages/manager/modules/manager-pci-common/src/components/logs/LogHowTo.component.tsx +++ b/packages/manager/modules/manager-pci-common/src/components/logs/LogHowTo.component.tsx @@ -1,24 +1,16 @@ -import React, { useContext } from 'react'; import { ShellContext } from '@ovh-ux/manager-react-shell-client'; -import { - ODS_THEME_COLOR_INTENT, - ODS_THEME_TYPOGRAPHY_LEVEL, -} from '@ovhcloud/ods-common-theming'; import { ODS_BUTTON_SIZE, ODS_BUTTON_VARIANT, ODS_ICON_NAME, - ODS_ICON_SIZE, - ODS_TEXT_SIZE, } from '@ovhcloud/ods-components'; import { - OsdsButton, - OsdsIcon, - OsdsLink, - OsdsText, - OsdsTile, + OdsButton, + OdsLink, + OdsText, + OdsCard, } from '@ovhcloud/ods-components/react'; -import { OdsHTMLAnchorElementTarget } from '@ovhcloud/ods-common-core'; +import { useContext } from 'react'; import { useTranslation } from 'react-i18next'; import { useAllStreamIds, useDbaasLogs } from '../../api/hook/useLogs'; import { LogContext } from './LogProvider.component'; @@ -69,64 +61,45 @@ export function LogHowTo({ onGotoStreams }: Readonly) { } }; + const getLogButtonLabel = () => { + if (!hasAccount) { + return t('log_button_create_account'); + } + if (hasAccount && !hasStream) { + return t('log_button_create_stream'); + } + return t('log_button_transfer_stream'); + }; + return ( <> - - {t('log_tile_section_title')} - - + {t('log_tile_section_title')} +
- - {t('log_tile_title')} - + {t('log_tile_title')} {t('log_tile_empty_state_description')} {!hasAccount &&

{t('log_tile_desc_create_account')}

} {hasAccount && !hasStream && (

{t('log_tile_desc_create_stream')}

)} {logsGuideURL && ( - - {t('log_data_platform_guide_link')} - - - + target="_blank" + /> )} - - {!hasAccount && t('log_button_create_account')} - {hasAccount && !hasStream && t('log_button_create_stream')} - {hasAccount && hasStream && t('log_button_transfer_stream')} - + label={getLogButtonLabel()} + />
-
+ ); } diff --git a/packages/manager/modules/manager-pci-common/src/components/logs/LogTileUnsubscribeAction.component.tsx b/packages/manager/modules/manager-pci-common/src/components/logs/LogTileUnsubscribeAction.component.tsx index 25398dc865df..ad7370e53c83 100644 --- a/packages/manager/modules/manager-pci-common/src/components/logs/LogTileUnsubscribeAction.component.tsx +++ b/packages/manager/modules/manager-pci-common/src/components/logs/LogTileUnsubscribeAction.component.tsx @@ -1,13 +1,12 @@ -import React, { useContext } from 'react'; +import { useContext } from 'react'; import { useTranslation } from 'react-i18next'; import { ApiError } from '@ovh-ux/manager-core-api'; -import { OsdsButton, OsdsSpinner } from '@ovhcloud/ods-components/react'; +import { OdsButton, OdsSpinner } from '@ovhcloud/ods-components/react'; import { ODS_BUTTON_SIZE, ODS_BUTTON_VARIANT, ODS_SPINNER_SIZE, } from '@ovhcloud/ods-components'; -import { ODS_THEME_COLOR_INTENT } from '@ovhcloud/ods-common-theming'; import { useRemoveSubscription } from '../../api/hook/useLogs'; import { LogContext } from './LogProvider.component'; @@ -36,20 +35,18 @@ export function LogTileUnsubscribeAction({ <> {isRemovePending && (
- +
)} {!isRemovePending && ( - - {t('list_button_unsubscribe')} - + /> )} ); diff --git a/packages/manager/modules/manager-pci-common/src/components/logs/LogTiles.component.tsx b/packages/manager/modules/manager-pci-common/src/components/logs/LogTiles.component.tsx index 5054561dceae..ad4043928539 100644 --- a/packages/manager/modules/manager-pci-common/src/components/logs/LogTiles.component.tsx +++ b/packages/manager/modules/manager-pci-common/src/components/logs/LogTiles.component.tsx @@ -1,30 +1,19 @@ -import React, { useContext } from 'react'; -import { ShellContext } from '@ovh-ux/manager-react-shell-client'; import { useNotifications } from '@ovh-ux/manager-react-components'; +import { ShellContext } from '@ovh-ux/manager-react-shell-client'; +import { ODS_BUTTON_SIZE, ODS_ICON_NAME } from '@ovhcloud/ods-components'; import { - ODS_THEME_COLOR_INTENT, - ODS_THEME_TYPOGRAPHY_LEVEL, -} from '@ovhcloud/ods-common-theming'; -import { - ODS_BUTTON_SIZE, - ODS_BUTTON_VARIANT, - ODS_ICON_NAME, - ODS_ICON_SIZE, - ODS_TEXT_SIZE, -} from '@ovhcloud/ods-components'; -import { - OsdsButton, - OsdsDivider, - OsdsIcon, - OsdsText, - OsdsTile, + OdsButton, + OdsCard, + OdsDivider, + OdsLink, + OdsText, } from '@ovhcloud/ods-components/react'; -import { OdsHTMLAnchorElementTarget } from '@ovhcloud/ods-common-core'; +import { useContext } from 'react'; import { Translation, useTranslation } from 'react-i18next'; -import { LogTileUnsubscribeAction } from './LogTileUnsubscribeAction.component'; -import { LogContext } from './LogProvider.component'; -import { LogHowTo } from './LogHowTo.component'; import { useLogsDetails } from '../../api/hook/useLogs'; +import { LogHowTo } from './LogHowTo.component'; +import { LogContext } from './LogProvider.component'; +import { LogTileUnsubscribeAction } from './LogTileUnsubscribeAction.component'; import '../../translations/logs'; @@ -51,88 +40,53 @@ export function LogTiles({ onGotoStreams }: Readonly) { {logs?.length === 0 && } {logs?.length > 0 && ( <> - + {t('log_tile_subscriptions_title')} - - + { clearNotifications(); onGotoStreams(); }} - > - - - - {t('log_tile_subscriptions_subscribe')} - + /> )} {logs?.map(({ data, log, stream, streamURL }) => ( - +
- + {t('log_title_subscriptions_title')} - +
- + {data?.displayName || log?.serviceName} - +
{log?.serviceName}
- + {t('log_title_subscriptions_user')} - +
{data?.username}
- + {t('logs_list_title')} - +
{stream?.title}
- - + { if (logsTracking?.graylogWatch) { tracking.trackClick({ @@ -140,21 +94,9 @@ export function LogTiles({ onGotoStreams }: Readonly) { }); } }} - target={OdsHTMLAnchorElementTarget._blank} - disabled={streamURL?.address ? undefined : true} - > - {t('log_title_subscriptions_button_watch')} - - - + target="_blank" + isDisabled={streamURL?.address ? undefined : true} + /> @@ -180,7 +122,7 @@ export function LogTiles({ onGotoStreams }: Readonly) { } />
-
+ ))} ); diff --git a/packages/manager/modules/manager-pci-common/src/components/logs/LogsView.component.tsx b/packages/manager/modules/manager-pci-common/src/components/logs/LogsView.component.tsx index 232e8b6b90b8..fe1b7a7f8548 100644 --- a/packages/manager/modules/manager-pci-common/src/components/logs/LogsView.component.tsx +++ b/packages/manager/modules/manager-pci-common/src/components/logs/LogsView.component.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import { useState } from 'react'; import clsx from 'clsx'; import { TailLogs, LogTiles } from '.'; diff --git a/packages/manager/modules/manager-pci-common/src/components/logs/StreamRetention.component.tsx b/packages/manager/modules/manager-pci-common/src/components/logs/StreamRetention.component.tsx index 34f529cc22c2..e07c63eb35e3 100644 --- a/packages/manager/modules/manager-pci-common/src/components/logs/StreamRetention.component.tsx +++ b/packages/manager/modules/manager-pci-common/src/components/logs/StreamRetention.component.tsx @@ -1,9 +1,9 @@ -import React, { useRef } from 'react'; +import { useRef } from 'react'; import { useTranslation } from 'react-i18next'; import { formatDuration } from 'date-fns'; import * as dateFnsLocales from 'date-fns/locale'; import { getDateFnsLocale } from '@ovh-ux/manager-core-utils'; -import { OsdsSkeleton } from '@ovhcloud/ods-components/react'; +import { OdsSkeleton } from '@ovhcloud/ods-components/react'; import { useRetention } from '../../api/hook/useDbaasLogs'; export interface StreamRetentionProps { @@ -41,7 +41,7 @@ export function StreamRetention({ ); return ( <> - {isPending && } + {isPending && } {!isPending && !retention?.duration && '-'} {!isPending && retention?.duration && diff --git a/packages/manager/modules/manager-pci-common/src/components/logs/StreamSubscriptions.component.tsx b/packages/manager/modules/manager-pci-common/src/components/logs/StreamSubscriptions.component.tsx index e7d57ac14571..9eca7abbe41e 100644 --- a/packages/manager/modules/manager-pci-common/src/components/logs/StreamSubscriptions.component.tsx +++ b/packages/manager/modules/manager-pci-common/src/components/logs/StreamSubscriptions.component.tsx @@ -1,28 +1,22 @@ -import React, { useContext, useEffect, useState } from 'react'; -import { useTranslation, Translation } from 'react-i18next'; -import { OdsHTMLAnchorElementTarget } from '@ovhcloud/ods-common-core'; -import { ODS_THEME_COLOR_INTENT } from '@ovhcloud/ods-common-theming'; -import { - OsdsButton, - OsdsIcon, - OsdsLink, - OsdsSkeleton, - OsdsSpinner, -} from '@ovhcloud/ods-components/react'; +import { ApiError } from '@ovh-ux/manager-core-api'; +import { useNotifications } from '@ovh-ux/manager-react-components'; +import { ShellContext } from '@ovh-ux/manager-react-shell-client'; import { ODS_BUTTON_SIZE, ODS_BUTTON_VARIANT, ODS_ICON_NAME, - ODS_ICON_SIZE, - ODS_SPINNER_SIZE, } from '@ovhcloud/ods-components'; -import { ShellContext } from '@ovh-ux/manager-react-shell-client'; -import { useNotifications } from '@ovh-ux/manager-react-components'; -import { ApiError } from '@ovh-ux/manager-core-api'; import { - useSubscriptions, + OdsButton, + OdsLink, + OdsSkeleton, +} from '@ovhcloud/ods-components/react'; +import { useContext, useEffect, useState } from 'react'; +import { Translation, useTranslation } from 'react-i18next'; +import { useCreateSubscription, useRemoveSubscription, + useSubscriptions, } from '../../api/hook/useDbaasLogs'; import { LogContext } from './LogProvider.component'; @@ -110,13 +104,12 @@ export function StreamSubscriptions({ .then(setSubscriptionsURL); }, []); - if (isPending) return ; + if (isPending) return ; return (
{subscriptionCount > 0 ? ( - { if (logsTracking?.ldpDetails) { @@ -125,28 +118,18 @@ export function StreamSubscriptions({ }); } }} - target={OdsHTMLAnchorElementTarget._blank} - > - {subscriptionCount} - - - + label={subscriptionCount.toString()} + icon={ODS_ICON_NAME.externalLink} + target="_blank" + /> ) : ( '-' )} {currentSubscription && ( - { if (!isRemovePending) { remove(currentSubscription.subscriptionId); @@ -157,22 +140,14 @@ export function StreamSubscriptions({ } } }} - disabled={isRemovePending ? true : undefined} - inline - > - {t('list_button_unsubscribe')} - {isRemovePending && ( - - - - )} - + isDisabled={isRemovePending} + /> )} {!currentSubscription && ( - { if (!isCreationPending) { create(); @@ -183,16 +158,9 @@ export function StreamSubscriptions({ } } }} - disabled={isCreationPending ? true : undefined} - inline - > - {t('list_button_subscribe')} - {isCreationPending && ( - - - - )} - + isLoading={isCreationPending} + isDisabled={isCreationPending ? true : undefined} + /> )}
); diff --git a/packages/manager/modules/manager-pci-common/src/components/logs/StreamsList.component.tsx b/packages/manager/modules/manager-pci-common/src/components/logs/StreamsList.component.tsx index 50242cb80808..6f69567732fa 100644 --- a/packages/manager/modules/manager-pci-common/src/components/logs/StreamsList.component.tsx +++ b/packages/manager/modules/manager-pci-common/src/components/logs/StreamsList.component.tsx @@ -1,5 +1,3 @@ -import React, { useRef } from 'react'; -import { useTranslation } from 'react-i18next'; import { FilterCategories } from '@ovh-ux/manager-core-api'; import { Datagrid, @@ -8,23 +6,20 @@ import { useColumnFilters, useDataGrid, } from '@ovh-ux/manager-react-components'; -import { ODS_THEME_COLOR_INTENT } from '@ovhcloud/ods-common-theming'; import { ODS_BUTTON_SIZE, ODS_BUTTON_VARIANT, ODS_ICON_NAME, - ODS_ICON_SIZE, ODS_SPINNER_SIZE, } from '@ovhcloud/ods-components'; import { - OsdsButton, - OsdsIcon, - OsdsPopover, - OsdsPopoverContent, - OsdsSpinner, + OdsButton, + OdsPopover, + OdsSpinner, } from '@ovhcloud/ods-components/react'; -import { useStreams } from '../../api/hook/useDbaasLogs'; +import { useTranslation } from 'react-i18next'; import { TDbaasLog } from '../../api/data/dbaas-logs'; +import { useStreams } from '../../api/hook/useDbaasLogs'; import { useStreamsListColumns } from './useStreamsListColumns'; import '../../translations/logs'; @@ -51,55 +46,47 @@ export function StreamsList({ account, serviceName, }); - const filterPopoverRef = useRef(undefined); if (isPending) return (
- +
); return ( <>
- - + - - {tFilter('common_criteria_adder_filter_label')} - - - { - setPagination({ - pageIndex: 0, - pageSize: pagination.pageSize, - }); - addFilter({ - ...addedFilter, - label: column.label, - }); - filterPopoverRef.current?.closeSurface(); - }} - /> - - + variant={ODS_BUTTON_VARIANT.outline} + icon={ODS_ICON_NAME.filter} + label={tFilter('common_criteria_adder_filter_label')} + /> +
+ + + { + setPagination({ + pageIndex: 0, + pageSize: pagination.pageSize, + }); + addFilter({ + ...addedFilter, + label: column.label, + }); + }} + /> +
diff --git a/packages/manager/modules/manager-pci-common/src/components/logs/TailLogs.component.tsx b/packages/manager/modules/manager-pci-common/src/components/logs/TailLogs.component.tsx index 7b61568028d6..59eefcdb864c 100644 --- a/packages/manager/modules/manager-pci-common/src/components/logs/TailLogs.component.tsx +++ b/packages/manager/modules/manager-pci-common/src/components/logs/TailLogs.component.tsx @@ -1,15 +1,9 @@ -import React, { useContext, useEffect, useMemo, useRef, useState } from 'react'; -import { - OsdsButton, - OsdsIcon, - OsdsSearchBar, -} from '@ovhcloud/ods-components/react'; -import { ODS_THEME_COLOR_INTENT } from '@ovhcloud/ods-common-theming'; +import { useContext, useEffect, useMemo, useRef, useState } from 'react'; +import { OdsButton, OdsInput } from '@ovhcloud/ods-components/react'; import { ODS_BUTTON_SIZE, ODS_BUTTON_VARIANT, ODS_ICON_NAME, - ODS_ICON_SIZE, } from '@ovhcloud/ods-components'; import { useTranslation } from 'react-i18next'; import { useTailLogs } from '../../api/hook/useLogs'; @@ -104,47 +98,38 @@ export function TailLogs({
- { + type="search" + value={search} + onOdsChange={({ detail }) => { setSearch(detail.value); }} - onOdsSearchSubmit={({ detail }) => { - setSearch(detail.inputValue); - }} /> - setIsPolling((state) => !state)} - > - {isPolling ? '⏸︎' : '▶'} - - + - {t('clear_session')} - - + + - {isFullscreen ? '-' : '⛶'} - + label={isFullscreen ? '-' : '⛶'} + />
{output && (
- - - + />
)}
diff --git a/packages/manager/modules/manager-pci-common/src/components/logs/useStreamsListColumns.tsx b/packages/manager/modules/manager-pci-common/src/components/logs/useStreamsListColumns.tsx index d42e87739efc..1606e5d761cc 100644 --- a/packages/manager/modules/manager-pci-common/src/components/logs/useStreamsListColumns.tsx +++ b/packages/manager/modules/manager-pci-common/src/components/logs/useStreamsListColumns.tsx @@ -1,11 +1,8 @@ -import React, { useContext, useEffect, useState } from 'react'; +import { useContext, useEffect, useState } from 'react'; import { ShellContext } from '@ovh-ux/manager-react-shell-client'; import { DataGridTextCell } from '@ovh-ux/manager-react-components'; -import { ODS_TEXT_LEVEL } from '@ovhcloud/ods-components'; import { useTranslation } from 'react-i18next'; -import { OsdsChip, OsdsLink, OsdsText } from '@ovhcloud/ods-components/react'; -import { ODS_THEME_COLOR_INTENT } from '@ovhcloud/ods-common-theming'; -import { OdsHTMLAnchorElementTarget } from '@ovhcloud/ods-common-core'; +import { OdsBadge, OdsLink, OdsText } from '@ovhcloud/ods-components/react'; import { TDbaasLog, TDbaasStream } from '../../api/data/dbaas-logs'; import { StreamRetention } from './StreamRetention.component'; import { StreamSubscriptions } from './StreamSubscriptions.component'; @@ -36,17 +33,13 @@ export const useStreamsListColumns = ({ id: 'name', cell: () => ( - + {account.displayName || account.serviceName} - + {account.displayName && ( - + {account.serviceName} - + )} ), @@ -70,16 +63,10 @@ export const useStreamsListColumns = ({ id: 'indexation', cell: (stream: TDbaasStream) => ( - - {t(`list_indexation_status_${stream.indexingEnabled}`)} - + ), label: t('list_column_stream_indexation'), diff --git a/packages/manager/modules/manager-pci-common/src/components/quantity-selector/QuantitySelector.component.spec.tsx b/packages/manager/modules/manager-pci-common/src/components/quantity-selector/QuantitySelector.component.spec.tsx index 0718dbf0d542..5dbaaa27aa5a 100644 --- a/packages/manager/modules/manager-pci-common/src/components/quantity-selector/QuantitySelector.component.spec.tsx +++ b/packages/manager/modules/manager-pci-common/src/components/quantity-selector/QuantitySelector.component.spec.tsx @@ -14,7 +14,12 @@ describe('QuantitySelector', () => { it('shows error message when value is below minimum', () => { const { getByText } = render( - {}} />, + {}} + id="selector" + />, { wrapper, }, @@ -24,7 +29,12 @@ describe('QuantitySelector', () => { it('shows error message when value is above maximum', () => { const { getByText } = render( - {}} />, + {}} + id="selector" + />, ); expect(getByText('common_field_error_max')).toBeInTheDocument(); }); diff --git a/packages/manager/modules/manager-pci-common/src/components/quantity-selector/QuantitySelector.component.tsx b/packages/manager/modules/manager-pci-common/src/components/quantity-selector/QuantitySelector.component.tsx index db2cd44c34bb..8959c54b8821 100644 --- a/packages/manager/modules/manager-pci-common/src/components/quantity-selector/QuantitySelector.component.tsx +++ b/packages/manager/modules/manager-pci-common/src/components/quantity-selector/QuantitySelector.component.tsx @@ -20,6 +20,7 @@ export interface QuantitySelectorProps { max?: number; className?: string; contentClassName?: string; + id?: string; } export function QuantitySelector({ @@ -32,6 +33,7 @@ export function QuantitySelector({ max, className, contentClassName, + id = 'popover-trigger', ...props }: Readonly) { const { t } = useTranslation('pci-quantity-selector'); @@ -44,7 +46,7 @@ export function QuantitySelector({ return (
-
+
{label && ( {label} @@ -52,13 +54,13 @@ export function QuantitySelector({ )} {labelHelpText && ( <> -
+
- + {labelHelpText}