From 65f0e150fafd1b17a6cf89523aa3516ca15c6758 Mon Sep 17 00:00:00 2001 From: Georgii Lobko Date: Tue, 24 Mar 2026 14:42:33 +0100 Subject: [PATCH 1/2] feat: Clickable token --- pages/token/clickable.page.tsx | 166 +++++++++++++++++++++++++++++++++ src/token/interfaces.ts | 2 + src/token/internal.tsx | 2 + src/token/styles.scss | 4 + 4 files changed, 174 insertions(+) create mode 100644 pages/token/clickable.page.tsx diff --git a/pages/token/clickable.page.tsx b/pages/token/clickable.page.tsx new file mode 100644 index 0000000000..626447e5dd --- /dev/null +++ b/pages/token/clickable.page.tsx @@ -0,0 +1,166 @@ +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. +// SPDX-License-Identifier: Apache-2.0 +import React from 'react'; + +import AppLayoutToolbar from '~components/app-layout-toolbar'; +import Box from '~components/box'; +import BreadcrumbGroup from '~components/breadcrumb-group'; +import Button from '~components/button'; +import Container from '~components/container'; +import Header from '~components/header'; +import Popover from '~components/popover'; +import SpaceBetween from '~components/space-between'; +import Token from '~components/token'; +interface FieldValue { + value: string; +} +interface FieldPopoverProps { + fieldName: string; + fieldValues: FieldValue[]; + onAddValue: (value: string) => void; + onAggregation: (aggregationType: string) => void; +} +function AggregationButtons({ onAggregation }: { onAggregation: (type: string) => void }) { + return ( + + + + + + + + + + + + ); +} +function FieldPopover({ fieldName, fieldValues, onAddValue, onAggregation }: FieldPopoverProps) { + return ( + + {fieldValues.map((field, index) => ( + + + {field.value} + +