@cloudscape-design/components-themeable 3.0.1312 → 3.0.1313

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/button-dropdown/category-elements/styles.scss +5 -0
  3. package/lib/internal/scss/button-dropdown/styles.scss +14 -0
  4. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
  5. package/lib/internal/scss/internal/styles/utils/theming.scss +6 -0
  6. package/lib/internal/scss/segmented-control/styles.scss +2 -2
  7. package/lib/internal/scss/steps/styles.scss +39 -0
  8. package/lib/internal/scss/table/header-cell/styles.scss +13 -2
  9. package/lib/internal/scss/table/resizer/styles.scss +9 -1
  10. package/lib/internal/scss/toggle/styles.scss +1 -1
  11. package/lib/internal/scss/toggle-button/styles.scss +7 -1
  12. package/lib/internal/scss/token/mixins.scss +4 -4
  13. package/lib/internal/scss/token/styles.scss +7 -0
  14. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.d.ts.map +1 -1
  15. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js +4 -2
  16. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  17. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.d.ts.map +1 -1
  18. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js +4 -2
  19. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  20. package/lib/internal/template/button-dropdown/category-elements/styles.css.js +19 -18
  21. package/lib/internal/template/button-dropdown/category-elements/styles.scoped.css +32 -28
  22. package/lib/internal/template/button-dropdown/category-elements/styles.selectors.js +19 -18
  23. package/lib/internal/template/button-dropdown/index.d.ts.map +1 -1
  24. package/lib/internal/template/button-dropdown/index.js +4 -3
  25. package/lib/internal/template/button-dropdown/index.js.map +1 -1
  26. package/lib/internal/template/button-dropdown/interfaces.d.ts +22 -0
  27. package/lib/internal/template/button-dropdown/interfaces.d.ts.map +1 -1
  28. package/lib/internal/template/button-dropdown/interfaces.js.map +1 -1
  29. package/lib/internal/template/button-dropdown/internal.d.ts.map +1 -1
  30. package/lib/internal/template/button-dropdown/internal.js +14 -6
  31. package/lib/internal/template/button-dropdown/internal.js.map +1 -1
  32. package/lib/internal/template/button-dropdown/styles.css.js +23 -22
  33. package/lib/internal/template/button-dropdown/styles.scoped.css +36 -30
  34. package/lib/internal/template/button-dropdown/styles.selectors.js +23 -22
  35. package/lib/internal/template/button-group/interfaces.d.ts +12 -1
  36. package/lib/internal/template/button-group/interfaces.d.ts.map +1 -1
  37. package/lib/internal/template/button-group/interfaces.js.map +1 -1
  38. package/lib/internal/template/button-group/menu-dropdown-item.d.ts.map +1 -1
  39. package/lib/internal/template/button-group/menu-dropdown-item.js +2 -1
  40. package/lib/internal/template/button-group/menu-dropdown-item.js.map +1 -1
  41. package/lib/internal/template/internal/base-component/styles.scoped.css +59 -1
  42. package/lib/internal/template/internal/components/checkbox-icon/index.d.ts.map +1 -1
  43. package/lib/internal/template/internal/components/checkbox-icon/index.js +11 -2
  44. package/lib/internal/template/internal/components/checkbox-icon/index.js.map +1 -1
  45. package/lib/internal/template/internal/environment.js +2 -2
  46. package/lib/internal/template/internal/environment.json +2 -2
  47. package/lib/internal/template/internal/generated/styles/tokens.d.ts +7 -0
  48. package/lib/internal/template/internal/generated/styles/tokens.js +7 -0
  49. package/lib/internal/template/internal/generated/theming/index.cjs +203 -0
  50. package/lib/internal/template/internal/generated/theming/index.cjs.d.ts +63 -0
  51. package/lib/internal/template/internal/generated/theming/index.d.ts +63 -0
  52. package/lib/internal/template/internal/generated/theming/index.js +203 -0
  53. package/lib/internal/template/internal/utils/throttle.d.ts.map +1 -1
  54. package/lib/internal/template/internal/utils/throttle.js +3 -1
  55. package/lib/internal/template/internal/utils/throttle.js.map +1 -1
  56. package/lib/internal/template/progress-bar/index.d.ts.map +1 -1
  57. package/lib/internal/template/progress-bar/index.js +1 -0
  58. package/lib/internal/template/progress-bar/index.js.map +1 -1
  59. package/lib/internal/template/segmented-control/styles.css.js +16 -16
  60. package/lib/internal/template/segmented-control/styles.scoped.css +34 -34
  61. package/lib/internal/template/segmented-control/styles.selectors.js +16 -16
  62. package/lib/internal/template/steps/internal.d.ts.map +1 -1
  63. package/lib/internal/template/steps/internal.js +20 -6
  64. package/lib/internal/template/steps/internal.js.map +1 -1
  65. package/lib/internal/template/steps/styles.css.js +12 -9
  66. package/lib/internal/template/steps/styles.scoped.css +43 -15
  67. package/lib/internal/template/steps/styles.selectors.js +12 -9
  68. package/lib/internal/template/table/header-cell/group-header-cell.d.ts.map +1 -1
  69. package/lib/internal/template/table/header-cell/group-header-cell.js +1 -1
  70. package/lib/internal/template/table/header-cell/group-header-cell.js.map +1 -1
  71. package/lib/internal/template/table/header-cell/index.d.ts.map +1 -1
  72. package/lib/internal/template/table/header-cell/index.js +2 -1
  73. package/lib/internal/template/table/header-cell/index.js.map +1 -1
  74. package/lib/internal/template/table/header-cell/styles.css.js +33 -33
  75. package/lib/internal/template/table/header-cell/styles.scoped.css +81 -74
  76. package/lib/internal/template/table/header-cell/styles.selectors.js +33 -33
  77. package/lib/internal/template/table/resizer/index.d.ts +4 -2
  78. package/lib/internal/template/table/resizer/index.d.ts.map +1 -1
  79. package/lib/internal/template/table/resizer/index.js +4 -4
  80. package/lib/internal/template/table/resizer/index.js.map +1 -1
  81. package/lib/internal/template/table/resizer/styles.css.js +17 -16
  82. package/lib/internal/template/table/resizer/styles.scoped.css +32 -24
  83. package/lib/internal/template/table/resizer/styles.selectors.js +17 -16
  84. package/lib/internal/template/table/selection/selection-cell.d.ts +2 -1
  85. package/lib/internal/template/table/selection/selection-cell.d.ts.map +1 -1
  86. package/lib/internal/template/table/selection/selection-cell.js +2 -2
  87. package/lib/internal/template/table/selection/selection-cell.js.map +1 -1
  88. package/lib/internal/template/table/thead.d.ts.map +1 -1
  89. package/lib/internal/template/table/thead.js +1 -1
  90. package/lib/internal/template/table/thead.js.map +1 -1
  91. package/lib/internal/template/toggle/styles.css.js +10 -10
  92. package/lib/internal/template/toggle/styles.scoped.css +18 -18
  93. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  94. package/lib/internal/template/toggle-button/internal.d.ts.map +1 -1
  95. package/lib/internal/template/toggle-button/internal.js +3 -1
  96. package/lib/internal/template/toggle-button/internal.js.map +1 -1
  97. package/lib/internal/template/toggle-button/styles.css.js +4 -3
  98. package/lib/internal/template/toggle-button/styles.scoped.css +8 -3
  99. package/lib/internal/template/toggle-button/styles.selectors.js +4 -3
  100. package/lib/internal/template/token/dismiss-button.d.ts.map +1 -1
  101. package/lib/internal/template/token/dismiss-button.js +3 -1
  102. package/lib/internal/template/token/dismiss-button.js.map +1 -1
  103. package/lib/internal/template/token/internal.d.ts.map +1 -1
  104. package/lib/internal/template/token/internal.js +11 -3
  105. package/lib/internal/template/token/internal.js.map +1 -1
  106. package/lib/internal/template/token/styles.css.js +14 -14
  107. package/lib/internal/template/token/styles.scoped.css +33 -30
  108. package/lib/internal/template/token/styles.selectors.js +14 -14
  109. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"thead.js","sourceRoot":"","sources":["../../../src/table/thead.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { findUpUntil } from '@cloudscape-design/component-toolkit/dom';\n\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport { getGroupColumnIds, getGroupSplit } from './column-groups/split-utils';\nimport { ColumnGroupsLayout } from './column-groups/utils';\nimport { TableHeaderCell } from './header-cell';\nimport { TableGroupHeaderCell } from './header-cell/group-header-cell';\nimport { InternalSelectionType, TableProps } from './interfaces';\nimport { focusMarkers, ItemSelectionProps } from './selection';\nimport { TableHeaderSelectionCell } from './selection/selection-cell';\nimport { StickyColumnsModel } from './sticky-columns';\nimport { getTableHeaderRowRoleProps, TableRole } from './table-role';\nimport { DEFAULT_COLUMN_WIDTH, useColumnWidths } from './use-column-widths';\nimport { getColumnKey } from './utils';\n\nimport styles from './styles.css.js';\n\nexport interface TheadProps {\n selectionType: undefined | InternalSelectionType;\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<any>>;\n groupDefinitions?: ReadonlyArray<TableProps.GroupDefinition>;\n columnGroupsLayout?: ColumnGroupsLayout<any>;\n sortingColumn: TableProps.SortingColumn<any> | undefined;\n sortingDescending: boolean | undefined;\n sortingDisabled: boolean | undefined;\n variant: TableProps.Variant;\n tableVariant?: TableProps.Variant;\n wrapLines: boolean | undefined;\n resizableColumns: boolean | undefined;\n getSelectAllProps?: () => ItemSelectionProps;\n onFocusMove: ((sourceElement: HTMLElement, fromIndex: number, direction: -1 | 1) => void) | undefined;\n onResizeFinish: (newWidths: Map<PropertyKey, number>) => void;\n onSortingChange: NonCancelableEventHandler<TableProps.SortingState<any>> | undefined;\n sticky?: boolean;\n hidden?: boolean;\n stuck?: boolean;\n singleSelectionHeaderAriaLabel?: string;\n resizerRoleDescription?: string;\n resizerTooltipText?: string;\n stripedRows?: boolean;\n stickyState: StickyColumnsModel;\n stickyColumnsFirst: number;\n stickyColumnsLast: number;\n selectionColumnId: PropertyKey;\n focusedComponent?: null | string;\n onFocusedComponentChange?: (focusId: null | string) => void;\n tableRole: TableRole;\n isExpandable?: boolean;\n setLastUserAction: (name: string) => void;\n}\n\nconst Thead = React.forwardRef(\n (\n {\n selectionType,\n getSelectAllProps,\n columnDefinitions,\n columnGroupsLayout,\n sortingColumn,\n sortingDisabled,\n sortingDescending,\n resizableColumns,\n variant,\n tableVariant,\n wrapLines,\n onFocusMove,\n onSortingChange,\n onResizeFinish,\n singleSelectionHeaderAriaLabel,\n stripedRows,\n sticky = false,\n hidden = false,\n stuck = false,\n stickyState,\n stickyColumnsFirst,\n stickyColumnsLast,\n selectionColumnId,\n focusedComponent,\n onFocusedComponentChange,\n tableRole,\n resizerRoleDescription,\n resizerTooltipText,\n isExpandable,\n setLastUserAction,\n }: TheadProps,\n outerRef: React.Ref<HTMLTableRowElement>\n ) => {\n const { getColumnStyles, columnWidths, updateColumn, updateGroup, setCell } = useColumnWidths();\n\n const handleSplitGroupResize = (columnIds: string[], newWidth: number) => {\n const lastColumn = columnIds[columnIds.length - 1];\n if (lastColumn) {\n const currentGroupWidth = columnIds.reduce(\n (sum, id) => sum + (columnWidths.get(id) || DEFAULT_COLUMN_WIDTH),\n 0\n );\n const delta = newWidth - currentGroupWidth;\n const currentColumnWidth = columnWidths.get(lastColumn) || DEFAULT_COLUMN_WIDTH;\n updateColumn(lastColumn, currentColumnWidth + delta);\n }\n };\n\n const commonCellProps = {\n stuck,\n sticky,\n hidden,\n stripedRows,\n tableRole,\n variant,\n tableVariant,\n stickyState,\n wrapLines,\n };\n\n const sharedTrProps = {\n onFocus: (event: React.FocusEvent) => {\n const focusControlElement = findUpUntil(\n event.target as HTMLElement,\n element => !!element.getAttribute('data-focus-id')\n );\n const focusId = focusControlElement?.getAttribute('data-focus-id') ?? null;\n onFocusedComponentChange?.(focusId);\n },\n onBlur: () => onFocusedComponentChange?.(null),\n };\n\n // No grouping - render single row\n if (!columnGroupsLayout || columnGroupsLayout.rows.length <= 1) {\n return (\n <thead className={clsx(!hidden && styles['thead-active'])}>\n <tr\n {...focusMarkers.all}\n ref={outerRef}\n aria-rowindex={1}\n {...getTableHeaderRowRoleProps({ tableRole })}\n {...sharedTrProps}\n >\n {selectionType ? (\n <TableHeaderSelectionCell\n {...commonCellProps}\n focusedComponent={focusedComponent}\n columnId={selectionColumnId}\n cellRef={node => setCell(sticky, selectionColumnId, node)}\n getSelectAllProps={getSelectAllProps}\n onFocusMove={onFocusMove}\n singleSelectionHeaderAriaLabel={singleSelectionHeaderAriaLabel}\n />\n ) : null}\n\n {columnDefinitions.map((column, colIndex) => {\n const columnId = getColumnKey(column, colIndex);\n return (\n <TableHeaderCell\n {...commonCellProps}\n key={columnId}\n tabIndex={sticky ? -1 : 0}\n focusedComponent={focusedComponent}\n column={column}\n activeSortingColumn={sortingColumn}\n sortingDescending={sortingDescending}\n sortingDisabled={sortingDisabled}\n wrapLines={wrapLines}\n colIndex={selectionType ? colIndex + 1 : colIndex}\n columnId={columnId}\n updateColumn={updateColumn}\n onResizeFinish={() => onResizeFinish(columnWidths)}\n resizableColumns={resizableColumns}\n resizableStyle={getColumnStyles(sticky, columnId)}\n onClick={detail => {\n setLastUserAction('sorting');\n fireNonCancelableEvent(onSortingChange, detail);\n }}\n isEditable={!!column.editConfig}\n cellRef={node => setCell(sticky, columnId, node)}\n tableRole={tableRole}\n resizerRoleDescription={resizerRoleDescription}\n resizerTooltipText={resizerTooltipText}\n isExpandable={colIndex === 0 && isExpandable}\n hasDynamicContent={hidden && !resizableColumns && column.hasDynamicContent}\n isLast={colIndex === columnDefinitions.length - 1}\n />\n );\n })}\n </tr>\n </thead>\n );\n }\n\n // Grouped columns\n const totalColumns = columnDefinitions.length;\n return (\n <thead className={clsx(!hidden && styles['thead-active'])}>\n {columnGroupsLayout.rows.map((row, rowIndex) => (\n <tr\n key={rowIndex}\n {...(rowIndex === 0 ? focusMarkers.all : {})}\n ref={rowIndex === 0 ? outerRef : undefined}\n aria-rowindex={rowIndex + 1}\n data-group-level={rowIndex}\n {...getTableHeaderRowRoleProps({ tableRole, rowIndex })}\n {...sharedTrProps}\n >\n {/* Selection column — render once in the first row with rowSpan covering all header rows */}\n {selectionType && rowIndex === 0 ? (\n <TableHeaderSelectionCell\n {...commonCellProps}\n focusedComponent={focusedComponent}\n columnId={selectionColumnId}\n cellRef={node => setCell(sticky, selectionColumnId, node)}\n getSelectAllProps={getSelectAllProps}\n onFocusMove={onFocusMove}\n singleSelectionHeaderAriaLabel={singleSelectionHeaderAriaLabel}\n rowSpan={columnGroupsLayout.rows.length}\n />\n ) : null}\n\n {row.columns.map((col, colIndexInRow) => {\n // A cell is the last child of its parent group when the next rendered cell\n // in the same row belongs to a different top-level parent, i.e. they don't\n // share the same immediate parent group.\n const nextCol = row.columns[colIndexInRow + 1];\n const thisParent = col.parentGroupIds[col.parentGroupIds.length - 1] ?? null;\n const nextParent = nextCol ? (nextCol.parentGroupIds[nextCol.parentGroupIds.length - 1] ?? null) : null;\n // A column is also considered last-child-of-group when the sticky boundary\n // bisects its parent group just after this column — visually it's the rightmost\n // column of the sticky half, so its resizer should span full-height like a\n // normal last-child-of-group.\n const isColumnAtStickyFirstBoundary =\n !col.isGroup &&\n thisParent !== null &&\n stickyColumnsFirst > 0 &&\n col.colIndex === stickyColumnsFirst - 1;\n const isColumnAtStickyLastBoundary =\n !col.isGroup &&\n thisParent !== null &&\n stickyColumnsLast > 0 &&\n col.colIndex === columnDefinitions.length - stickyColumnsLast - 1;\n const isLastChildOfGroup =\n (thisParent !== null && thisParent !== nextParent) ||\n isColumnAtStickyFirstBoundary ||\n isColumnAtStickyLastBoundary;\n\n if (col.isGroup) {\n // Group header cell\n const groupDefinition = col.groupDefinition!;\n const childIds = getGroupColumnIds(columnGroupsLayout!, col.id);\n const sharedGroupCellProps = {\n ...commonCellProps,\n tabIndex: sticky ? -1 : 0,\n focusedComponent,\n group: groupDefinition,\n rowspan: col.rowSpan,\n resizableColumns,\n onResizeFinish: () => onResizeFinish(columnWidths),\n columnGroupId:\n col.parentGroupIds.length > 0 ? col.parentGroupIds[col.parentGroupIds.length - 1] : undefined,\n };\n const splitFirst = getGroupSplit({\n col,\n stickyCount: stickyColumnsFirst,\n side: 'first',\n totalColumns,\n });\n const splitLast = getGroupSplit({\n col,\n stickyCount: stickyColumnsLast,\n side: 'last',\n totalColumns,\n });\n const split = splitFirst.stickyColspan > 0 ? splitFirst : splitLast;\n const isSplit = split.stickyColspan > 0;\n\n if (isSplit) {\n // Group is bisected by the sticky boundary — render two <th> elements.\n // Both halves get resizers. Each resizes its own rightmost column child.\n const isSplitFirst = splitFirst.stickyColspan > 0;\n\n // Left half is sticky for 'first', non-sticky for 'last'\n const leftColspan = isSplitFirst ? split.stickyColspan : split.staticColspan;\n const leftColIndex = col.colIndex;\n const leftGroupId = isSplitFirst ? col.id : `${col.id}__split`;\n const leftChildIds = childIds.slice(0, leftColspan);\n\n // Right half is non-sticky for 'first', sticky for 'last'\n const rightColspan = isSplitFirst ? split.staticColspan : split.stickyColspan;\n const rightColIndex = col.colIndex + leftColspan;\n const rightGroupId = isSplitFirst ? `${col.id}__split` : col.id;\n const rightChildIds = childIds.slice(leftColspan);\n\n return (\n <React.Fragment key={col.id}>\n {/* Left half */}\n <TableGroupHeaderCell\n {...sharedGroupCellProps}\n colspan={leftColspan}\n colIndex={selectionType ? leftColIndex + 1 : leftColIndex}\n groupId={leftGroupId}\n resizableStyle={undefined}\n updateGroupWidth={(_, newWidth) => {\n handleSplitGroupResize(leftChildIds, newWidth);\n }}\n childColumnIds={leftChildIds}\n firstChildColumnId={leftChildIds[0]}\n lastChildColumnId={leftChildIds[leftChildIds.length - 1]}\n cellRef={isSplitFirst ? node => setCell(sticky, col.id, node) : () => {}}\n isLast={false}\n stickyColumnId={isSplitFirst ? childIds[0] : undefined}\n stickyBoundaryColumnId={isSplitFirst ? leftChildIds[leftChildIds.length - 1] : undefined}\n />\n\n {/* Right half */}\n <TableGroupHeaderCell\n {...sharedGroupCellProps}\n colspan={rightColspan}\n colIndex={selectionType ? rightColIndex + 1 : rightColIndex}\n groupId={rightGroupId}\n resizableStyle={getColumnStyles(sticky, col.id)}\n updateGroupWidth={(_, newWidth) => {\n handleSplitGroupResize(rightChildIds, newWidth);\n }}\n childColumnIds={rightChildIds}\n firstChildColumnId={rightChildIds[0]}\n lastChildColumnId={rightChildIds[rightChildIds.length - 1]}\n cellRef={!isSplitFirst ? node => setCell(sticky, col.id, node) : () => {}}\n resizerRoleDescription={resizerRoleDescription}\n resizerTooltipText={resizerTooltipText}\n isLast={rightColIndex + rightColspan === totalColumns}\n stickyColumnId={!isSplitFirst ? childIds[childIds.length - 1] : undefined}\n stickyBoundaryColumnId={!isSplitFirst ? rightChildIds[0] : undefined}\n />\n </React.Fragment>\n );\n }\n\n // Determine if the entire group is sticky (all children on one side)\n const isFullyStickyFirst =\n stickyColumnsFirst > 0 && col.colIndex + col.colSpan - 1 < stickyColumnsFirst;\n const isFullyStickyLast =\n stickyColumnsLast > 0 && col.colIndex >= columnDefinitions.length - stickyColumnsLast;\n const fullyStickyColumnId = isFullyStickyFirst\n ? childIds[0]\n : isFullyStickyLast\n ? childIds[childIds.length - 1]\n : undefined;\n\n // When the group's last child is the sticky-first boundary, the group\n // needs the shadow from that child (but offset from the first child).\n const isAtStickyFirstBoundary =\n isFullyStickyFirst && col.colIndex + col.colSpan - 1 === stickyColumnsFirst - 1;\n const isAtStickyLastBoundary =\n isFullyStickyLast && col.colIndex === columnDefinitions.length - stickyColumnsLast;\n const fullyStickyBoundaryColumnId = isAtStickyFirstBoundary\n ? childIds[childIds.length - 1]\n : isAtStickyLastBoundary\n ? childIds[0]\n : undefined;\n\n return (\n <TableGroupHeaderCell\n {...sharedGroupCellProps}\n key={col.id}\n colspan={col.colSpan}\n colIndex={selectionType ? col.colIndex + 1 : col.colIndex}\n groupId={col.id}\n resizableStyle={getColumnStyles(sticky, col.id)}\n updateGroupWidth={(groupId, newWidth) => {\n updateGroup(groupId, newWidth);\n }}\n childColumnIds={childIds}\n firstChildColumnId={childIds[0]}\n lastChildColumnId={childIds[childIds.length - 1]}\n cellRef={node => setCell(sticky, col.id, node)}\n resizerRoleDescription={resizerRoleDescription}\n resizerTooltipText={resizerTooltipText}\n isLast={col.colIndex + col.colSpan === totalColumns}\n stickyColumnId={fullyStickyColumnId}\n stickyBoundaryColumnId={fullyStickyBoundaryColumnId}\n />\n );\n } else {\n // Regular column cell\n const column = col.columnDefinition!;\n const columnId = col.id;\n const colIndex = col.colIndex;\n\n return (\n <TableHeaderCell\n {...commonCellProps}\n key={columnId}\n tabIndex={sticky ? -1 : 0}\n focusedComponent={focusedComponent}\n column={column}\n activeSortingColumn={sortingColumn}\n sortingDescending={sortingDescending}\n sortingDisabled={sortingDisabled}\n wrapLines={wrapLines}\n colIndex={selectionType ? colIndex + 1 : colIndex}\n columnId={columnId}\n updateColumn={updateColumn}\n onResizeFinish={() => onResizeFinish(columnWidths)}\n resizableColumns={resizableColumns}\n resizableStyle={getColumnStyles(sticky, columnId)}\n onClick={detail => {\n setLastUserAction('sorting');\n fireNonCancelableEvent(onSortingChange, detail);\n }}\n isEditable={!!column.editConfig}\n cellRef={node => {\n setCell(sticky, columnId, node);\n }}\n tableRole={tableRole}\n resizerRoleDescription={resizerRoleDescription}\n resizerTooltipText={resizerTooltipText}\n isExpandable={colIndex === 0 && isExpandable}\n hasDynamicContent={hidden && !resizableColumns && column.hasDynamicContent}\n colSpan={col.colSpan}\n rowSpan={col.rowSpan}\n isLastChildOfGroup={isLastChildOfGroup}\n isLast={col.colIndex + col.colSpan === totalColumns}\n columnGroupId={\n col.parentGroupIds.length > 0 ? col.parentGroupIds[col.parentGroupIds.length - 1] : undefined\n }\n />\n );\n }\n })}\n </tr>\n ))}\n </thead>\n );\n }\n);\n\nexport default Thead;\n"]}
1
+ {"version":3,"file":"thead.js","sourceRoot":"","sources":["../../../src/table/thead.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { findUpUntil } from '@cloudscape-design/component-toolkit/dom';\n\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport { getGroupColumnIds, getGroupSplit } from './column-groups/split-utils';\nimport { ColumnGroupsLayout } from './column-groups/utils';\nimport { TableHeaderCell } from './header-cell';\nimport { TableGroupHeaderCell } from './header-cell/group-header-cell';\nimport { InternalSelectionType, TableProps } from './interfaces';\nimport { focusMarkers, ItemSelectionProps } from './selection';\nimport { TableHeaderSelectionCell } from './selection/selection-cell';\nimport { StickyColumnsModel } from './sticky-columns';\nimport { getTableHeaderRowRoleProps, TableRole } from './table-role';\nimport { DEFAULT_COLUMN_WIDTH, useColumnWidths } from './use-column-widths';\nimport { getColumnKey } from './utils';\n\nimport styles from './styles.css.js';\n\nexport interface TheadProps {\n selectionType: undefined | InternalSelectionType;\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<any>>;\n groupDefinitions?: ReadonlyArray<TableProps.GroupDefinition>;\n columnGroupsLayout?: ColumnGroupsLayout<any>;\n sortingColumn: TableProps.SortingColumn<any> | undefined;\n sortingDescending: boolean | undefined;\n sortingDisabled: boolean | undefined;\n variant: TableProps.Variant;\n tableVariant?: TableProps.Variant;\n wrapLines: boolean | undefined;\n resizableColumns: boolean | undefined;\n getSelectAllProps?: () => ItemSelectionProps;\n onFocusMove: ((sourceElement: HTMLElement, fromIndex: number, direction: -1 | 1) => void) | undefined;\n onResizeFinish: (newWidths: Map<PropertyKey, number>) => void;\n onSortingChange: NonCancelableEventHandler<TableProps.SortingState<any>> | undefined;\n sticky?: boolean;\n hidden?: boolean;\n stuck?: boolean;\n singleSelectionHeaderAriaLabel?: string;\n resizerRoleDescription?: string;\n resizerTooltipText?: string;\n stripedRows?: boolean;\n stickyState: StickyColumnsModel;\n stickyColumnsFirst: number;\n stickyColumnsLast: number;\n selectionColumnId: PropertyKey;\n focusedComponent?: null | string;\n onFocusedComponentChange?: (focusId: null | string) => void;\n tableRole: TableRole;\n isExpandable?: boolean;\n setLastUserAction: (name: string) => void;\n}\n\nconst Thead = React.forwardRef(\n (\n {\n selectionType,\n getSelectAllProps,\n columnDefinitions,\n columnGroupsLayout,\n sortingColumn,\n sortingDisabled,\n sortingDescending,\n resizableColumns,\n variant,\n tableVariant,\n wrapLines,\n onFocusMove,\n onSortingChange,\n onResizeFinish,\n singleSelectionHeaderAriaLabel,\n stripedRows,\n sticky = false,\n hidden = false,\n stuck = false,\n stickyState,\n stickyColumnsFirst,\n stickyColumnsLast,\n selectionColumnId,\n focusedComponent,\n onFocusedComponentChange,\n tableRole,\n resizerRoleDescription,\n resizerTooltipText,\n isExpandable,\n setLastUserAction,\n }: TheadProps,\n outerRef: React.Ref<HTMLTableRowElement>\n ) => {\n const { getColumnStyles, columnWidths, updateColumn, updateGroup, setCell } = useColumnWidths();\n\n const handleSplitGroupResize = (columnIds: string[], newWidth: number) => {\n const lastColumn = columnIds[columnIds.length - 1];\n if (lastColumn) {\n const currentGroupWidth = columnIds.reduce(\n (sum, id) => sum + (columnWidths.get(id) || DEFAULT_COLUMN_WIDTH),\n 0\n );\n const delta = newWidth - currentGroupWidth;\n const currentColumnWidth = columnWidths.get(lastColumn) || DEFAULT_COLUMN_WIDTH;\n updateColumn(lastColumn, currentColumnWidth + delta);\n }\n };\n\n const commonCellProps = {\n stuck,\n sticky,\n hidden,\n stripedRows,\n tableRole,\n variant,\n tableVariant,\n stickyState,\n wrapLines,\n };\n\n const sharedTrProps = {\n onFocus: (event: React.FocusEvent) => {\n const focusControlElement = findUpUntil(\n event.target as HTMLElement,\n element => !!element.getAttribute('data-focus-id')\n );\n const focusId = focusControlElement?.getAttribute('data-focus-id') ?? null;\n onFocusedComponentChange?.(focusId);\n },\n onBlur: () => onFocusedComponentChange?.(null),\n };\n\n // No grouping - render single row\n if (!columnGroupsLayout || columnGroupsLayout.rows.length <= 1) {\n return (\n <thead className={clsx(!hidden && styles['thead-active'])}>\n <tr\n {...focusMarkers.all}\n ref={outerRef}\n aria-rowindex={1}\n {...getTableHeaderRowRoleProps({ tableRole })}\n {...sharedTrProps}\n >\n {selectionType ? (\n <TableHeaderSelectionCell\n {...commonCellProps}\n focusedComponent={focusedComponent}\n columnId={selectionColumnId}\n cellRef={node => setCell(sticky, selectionColumnId, node)}\n getSelectAllProps={getSelectAllProps}\n onFocusMove={onFocusMove}\n singleSelectionHeaderAriaLabel={singleSelectionHeaderAriaLabel}\n />\n ) : null}\n\n {columnDefinitions.map((column, colIndex) => {\n const columnId = getColumnKey(column, colIndex);\n return (\n <TableHeaderCell\n {...commonCellProps}\n key={columnId}\n tabIndex={sticky ? -1 : 0}\n focusedComponent={focusedComponent}\n column={column}\n activeSortingColumn={sortingColumn}\n sortingDescending={sortingDescending}\n sortingDisabled={sortingDisabled}\n wrapLines={wrapLines}\n colIndex={selectionType ? colIndex + 1 : colIndex}\n columnId={columnId}\n updateColumn={updateColumn}\n onResizeFinish={() => onResizeFinish(columnWidths)}\n resizableColumns={resizableColumns}\n resizableStyle={getColumnStyles(sticky, columnId)}\n onClick={detail => {\n setLastUserAction('sorting');\n fireNonCancelableEvent(onSortingChange, detail);\n }}\n isEditable={!!column.editConfig}\n cellRef={node => setCell(sticky, columnId, node)}\n tableRole={tableRole}\n resizerRoleDescription={resizerRoleDescription}\n resizerTooltipText={resizerTooltipText}\n isExpandable={colIndex === 0 && isExpandable}\n hasDynamicContent={hidden && !resizableColumns && column.hasDynamicContent}\n isLast={colIndex === columnDefinitions.length - 1}\n />\n );\n })}\n </tr>\n </thead>\n );\n }\n\n // Grouped columns\n const totalColumns = columnDefinitions.length;\n return (\n <thead className={clsx(!hidden && styles['thead-active'])}>\n {columnGroupsLayout.rows.map((row, rowIndex) => (\n <tr\n key={rowIndex}\n {...(rowIndex === 0 ? focusMarkers.all : {})}\n ref={rowIndex === 0 ? outerRef : undefined}\n aria-rowindex={rowIndex + 1}\n data-group-level={rowIndex}\n {...getTableHeaderRowRoleProps({ tableRole, rowIndex })}\n {...sharedTrProps}\n >\n {/* Selection column — render once in the first row with rowSpan covering all header rows */}\n {selectionType && rowIndex === 0 ? (\n <TableHeaderSelectionCell\n {...commonCellProps}\n focusedComponent={focusedComponent}\n columnId={selectionColumnId}\n cellRef={node => setCell(sticky, selectionColumnId, node)}\n getSelectAllProps={getSelectAllProps}\n onFocusMove={onFocusMove}\n singleSelectionHeaderAriaLabel={singleSelectionHeaderAriaLabel}\n rowSpan={columnGroupsLayout.rows.length}\n isGrouped={true}\n />\n ) : null}\n\n {row.columns.map((col, colIndexInRow) => {\n // A cell is the last child of its parent group when the next rendered cell\n // in the same row belongs to a different top-level parent, i.e. they don't\n // share the same immediate parent group.\n const nextCol = row.columns[colIndexInRow + 1];\n const thisParent = col.parentGroupIds[col.parentGroupIds.length - 1] ?? null;\n const nextParent = nextCol ? (nextCol.parentGroupIds[nextCol.parentGroupIds.length - 1] ?? null) : null;\n // A column is also considered last-child-of-group when the sticky boundary\n // bisects its parent group just after this column — visually it's the rightmost\n // column of the sticky half, so its resizer should span full-height like a\n // normal last-child-of-group.\n const isColumnAtStickyFirstBoundary =\n !col.isGroup &&\n thisParent !== null &&\n stickyColumnsFirst > 0 &&\n col.colIndex === stickyColumnsFirst - 1;\n const isColumnAtStickyLastBoundary =\n !col.isGroup &&\n thisParent !== null &&\n stickyColumnsLast > 0 &&\n col.colIndex === columnDefinitions.length - stickyColumnsLast - 1;\n const isLastChildOfGroup =\n (thisParent !== null && thisParent !== nextParent) ||\n isColumnAtStickyFirstBoundary ||\n isColumnAtStickyLastBoundary;\n\n if (col.isGroup) {\n // Group header cell\n const groupDefinition = col.groupDefinition!;\n const childIds = getGroupColumnIds(columnGroupsLayout!, col.id);\n const sharedGroupCellProps = {\n ...commonCellProps,\n tabIndex: sticky ? -1 : 0,\n focusedComponent,\n group: groupDefinition,\n rowspan: col.rowSpan,\n resizableColumns,\n onResizeFinish: () => onResizeFinish(columnWidths),\n columnGroupId:\n col.parentGroupIds.length > 0 ? col.parentGroupIds[col.parentGroupIds.length - 1] : undefined,\n };\n const splitFirst = getGroupSplit({\n col,\n stickyCount: stickyColumnsFirst,\n side: 'first',\n totalColumns,\n });\n const splitLast = getGroupSplit({\n col,\n stickyCount: stickyColumnsLast,\n side: 'last',\n totalColumns,\n });\n const split = splitFirst.stickyColspan > 0 ? splitFirst : splitLast;\n const isSplit = split.stickyColspan > 0;\n\n if (isSplit) {\n // Group is bisected by the sticky boundary — render two <th> elements.\n // Both halves get resizers. Each resizes its own rightmost column child.\n const isSplitFirst = splitFirst.stickyColspan > 0;\n\n // Left half is sticky for 'first', non-sticky for 'last'\n const leftColspan = isSplitFirst ? split.stickyColspan : split.staticColspan;\n const leftColIndex = col.colIndex;\n const leftGroupId = isSplitFirst ? col.id : `${col.id}__split`;\n const leftChildIds = childIds.slice(0, leftColspan);\n\n // Right half is non-sticky for 'first', sticky for 'last'\n const rightColspan = isSplitFirst ? split.staticColspan : split.stickyColspan;\n const rightColIndex = col.colIndex + leftColspan;\n const rightGroupId = isSplitFirst ? `${col.id}__split` : col.id;\n const rightChildIds = childIds.slice(leftColspan);\n\n return (\n <React.Fragment key={col.id}>\n {/* Left half */}\n <TableGroupHeaderCell\n {...sharedGroupCellProps}\n colspan={leftColspan}\n colIndex={selectionType ? leftColIndex + 1 : leftColIndex}\n groupId={leftGroupId}\n resizableStyle={undefined}\n updateGroupWidth={(_, newWidth) => {\n handleSplitGroupResize(leftChildIds, newWidth);\n }}\n childColumnIds={leftChildIds}\n firstChildColumnId={leftChildIds[0]}\n lastChildColumnId={leftChildIds[leftChildIds.length - 1]}\n cellRef={isSplitFirst ? node => setCell(sticky, col.id, node) : () => {}}\n isLast={false}\n stickyColumnId={isSplitFirst ? childIds[0] : undefined}\n stickyBoundaryColumnId={isSplitFirst ? leftChildIds[leftChildIds.length - 1] : undefined}\n />\n\n {/* Right half */}\n <TableGroupHeaderCell\n {...sharedGroupCellProps}\n colspan={rightColspan}\n colIndex={selectionType ? rightColIndex + 1 : rightColIndex}\n groupId={rightGroupId}\n resizableStyle={getColumnStyles(sticky, col.id)}\n updateGroupWidth={(_, newWidth) => {\n handleSplitGroupResize(rightChildIds, newWidth);\n }}\n childColumnIds={rightChildIds}\n firstChildColumnId={rightChildIds[0]}\n lastChildColumnId={rightChildIds[rightChildIds.length - 1]}\n cellRef={!isSplitFirst ? node => setCell(sticky, col.id, node) : () => {}}\n resizerRoleDescription={resizerRoleDescription}\n resizerTooltipText={resizerTooltipText}\n isLast={rightColIndex + rightColspan === totalColumns}\n stickyColumnId={!isSplitFirst ? childIds[childIds.length - 1] : undefined}\n stickyBoundaryColumnId={!isSplitFirst ? rightChildIds[0] : undefined}\n />\n </React.Fragment>\n );\n }\n\n // Determine if the entire group is sticky (all children on one side)\n const isFullyStickyFirst =\n stickyColumnsFirst > 0 && col.colIndex + col.colSpan - 1 < stickyColumnsFirst;\n const isFullyStickyLast =\n stickyColumnsLast > 0 && col.colIndex >= columnDefinitions.length - stickyColumnsLast;\n const fullyStickyColumnId = isFullyStickyFirst\n ? childIds[0]\n : isFullyStickyLast\n ? childIds[childIds.length - 1]\n : undefined;\n\n // When the group's last child is the sticky-first boundary, the group\n // needs the shadow from that child (but offset from the first child).\n const isAtStickyFirstBoundary =\n isFullyStickyFirst && col.colIndex + col.colSpan - 1 === stickyColumnsFirst - 1;\n const isAtStickyLastBoundary =\n isFullyStickyLast && col.colIndex === columnDefinitions.length - stickyColumnsLast;\n const fullyStickyBoundaryColumnId = isAtStickyFirstBoundary\n ? childIds[childIds.length - 1]\n : isAtStickyLastBoundary\n ? childIds[0]\n : undefined;\n\n return (\n <TableGroupHeaderCell\n {...sharedGroupCellProps}\n key={col.id}\n colspan={col.colSpan}\n colIndex={selectionType ? col.colIndex + 1 : col.colIndex}\n groupId={col.id}\n resizableStyle={getColumnStyles(sticky, col.id)}\n updateGroupWidth={(groupId, newWidth) => {\n updateGroup(groupId, newWidth);\n }}\n childColumnIds={childIds}\n firstChildColumnId={childIds[0]}\n lastChildColumnId={childIds[childIds.length - 1]}\n cellRef={node => setCell(sticky, col.id, node)}\n resizerRoleDescription={resizerRoleDescription}\n resizerTooltipText={resizerTooltipText}\n isLast={col.colIndex + col.colSpan === totalColumns}\n stickyColumnId={fullyStickyColumnId}\n stickyBoundaryColumnId={fullyStickyBoundaryColumnId}\n />\n );\n } else {\n // Regular column cell\n const column = col.columnDefinition!;\n const columnId = col.id;\n const colIndex = col.colIndex;\n\n return (\n <TableHeaderCell\n {...commonCellProps}\n key={columnId}\n tabIndex={sticky ? -1 : 0}\n focusedComponent={focusedComponent}\n column={column}\n activeSortingColumn={sortingColumn}\n sortingDescending={sortingDescending}\n sortingDisabled={sortingDisabled}\n wrapLines={wrapLines}\n colIndex={selectionType ? colIndex + 1 : colIndex}\n columnId={columnId}\n updateColumn={updateColumn}\n onResizeFinish={() => onResizeFinish(columnWidths)}\n resizableColumns={resizableColumns}\n resizableStyle={getColumnStyles(sticky, columnId)}\n onClick={detail => {\n setLastUserAction('sorting');\n fireNonCancelableEvent(onSortingChange, detail);\n }}\n isEditable={!!column.editConfig}\n cellRef={node => {\n setCell(sticky, columnId, node);\n }}\n tableRole={tableRole}\n resizerRoleDescription={resizerRoleDescription}\n resizerTooltipText={resizerTooltipText}\n isExpandable={colIndex === 0 && isExpandable}\n hasDynamicContent={hidden && !resizableColumns && column.hasDynamicContent}\n colSpan={col.colSpan}\n rowSpan={col.rowSpan}\n isLastChildOfGroup={isLastChildOfGroup}\n isLast={col.colIndex + col.colSpan === totalColumns}\n columnGroupId={\n col.parentGroupIds.length > 0 ? col.parentGroupIds[col.parentGroupIds.length - 1] : undefined\n }\n />\n );\n }\n })}\n </tr>\n ))}\n </thead>\n );\n }\n);\n\nexport default Thead;\n"]}
@@ -1,15 +1,15 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "root": "awsui_root_4yi2u_qdtqc_145",
5
- "outline": "awsui_outline_4yi2u_qdtqc_178",
6
- "toggle-control": "awsui_toggle-control_4yi2u_qdtqc_201",
7
- "toggle-control-checked": "awsui_toggle-control-checked_4yi2u_qdtqc_214",
8
- "toggle-control-disabled": "awsui_toggle-control-disabled_4yi2u_qdtqc_217",
9
- "toggle-control-readonly": "awsui_toggle-control-readonly_4yi2u_qdtqc_223",
10
- "toggle-handle": "awsui_toggle-handle_4yi2u_qdtqc_227",
11
- "toggle-handle-checked": "awsui_toggle-handle-checked_4yi2u_qdtqc_252",
12
- "toggle-handle-disabled": "awsui_toggle-handle-disabled_4yi2u_qdtqc_259",
13
- "toggle-handle-readonly": "awsui_toggle-handle-readonly_4yi2u_qdtqc_263"
4
+ "root": "awsui_root_4yi2u_fioce_145",
5
+ "outline": "awsui_outline_4yi2u_fioce_178",
6
+ "toggle-control": "awsui_toggle-control_4yi2u_fioce_201",
7
+ "toggle-control-checked": "awsui_toggle-control-checked_4yi2u_fioce_214",
8
+ "toggle-control-disabled": "awsui_toggle-control-disabled_4yi2u_fioce_217",
9
+ "toggle-control-readonly": "awsui_toggle-control-readonly_4yi2u_fioce_223",
10
+ "toggle-handle": "awsui_toggle-handle_4yi2u_fioce_227",
11
+ "toggle-handle-checked": "awsui_toggle-handle-checked_4yi2u_fioce_252",
12
+ "toggle-handle-disabled": "awsui_toggle-handle-disabled_4yi2u_fioce_259",
13
+ "toggle-handle-readonly": "awsui_toggle-handle-readonly_4yi2u_fioce_263"
14
14
  };
15
15
 
@@ -142,7 +142,7 @@
142
142
  */
143
143
  /* Style used for links in slots/components that are text heavy, to help links stand out among
144
144
  surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
145
- .awsui_root_4yi2u_qdtqc_145:not(#\9) {
145
+ .awsui_root_4yi2u_fioce_145:not(#\9) {
146
146
  border-collapse: separate;
147
147
  border-spacing: 0;
148
148
  box-sizing: border-box;
@@ -175,15 +175,15 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
175
175
  display: flex;
176
176
  }
177
177
 
178
- .awsui_outline_4yi2u_qdtqc_178:not(#\9) {
178
+ .awsui_outline_4yi2u_fioce_178:not(#\9) {
179
179
  --awsui-style-focus-ring-box-shadow-6b9ypa: 0 0 0 var(--awsui-style-focus-ring-border-width-6b9ypa, 2px) var(--awsui-style-focus-ring-border-color-6b9ypa, var(--color-border-item-focused-r5f6xl, #0073bb));
180
180
  position: relative;
181
181
  }
182
- .awsui_outline_4yi2u_qdtqc_178:not(#\9) {
182
+ .awsui_outline_4yi2u_fioce_178:not(#\9) {
183
183
  outline: 2px dotted transparent;
184
184
  outline-offset: calc(2px - 1px);
185
185
  }
186
- .awsui_outline_4yi2u_qdtqc_178:not(#\9)::before {
186
+ .awsui_outline_4yi2u_fioce_178:not(#\9)::before {
187
187
  content: " ";
188
188
  display: block;
189
189
  position: absolute;
@@ -198,7 +198,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
198
198
  box-shadow: var(--awsui-style-focus-ring-box-shadow-6b9ypa);
199
199
  }
200
200
 
201
- .awsui_toggle-control_4yi2u_qdtqc_201:not(#\9) {
201
+ .awsui_toggle-control_4yi2u_fioce_201:not(#\9) {
202
202
  forced-color-adjust: none;
203
203
  margin-block-start: calc((var(--line-height-body-m-bedeoh, 22px) - 16px) / 2);
204
204
  min-block-size: 16px;
@@ -211,20 +211,20 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
211
211
  border-end-start-radius: 8px;
212
212
  border-end-end-radius: 8px;
213
213
  }
214
- .awsui_toggle-control-checked_4yi2u_qdtqc_214:not(#\9) {
214
+ .awsui_toggle-control-checked_4yi2u_fioce_214:not(#\9) {
215
215
  background: var(--color-background-control-checked-se0x0e, #0073bb);
216
216
  }
217
- .awsui_toggle-control-disabled_4yi2u_qdtqc_217:not(#\9) {
217
+ .awsui_toggle-control-disabled_4yi2u_fioce_217:not(#\9) {
218
218
  background: var(--color-background-control-disabled-2ixett, #d5dbdb);
219
219
  }
220
- .awsui_toggle-control-disabled_4yi2u_qdtqc_217.awsui_toggle-control-checked_4yi2u_qdtqc_214:not(#\9) {
220
+ .awsui_toggle-control-disabled_4yi2u_fioce_217.awsui_toggle-control-checked_4yi2u_fioce_214:not(#\9) {
221
221
  background: var(--color-background-toggle-checked-disabled-i9a3za, #99cbe4);
222
222
  }
223
- .awsui_toggle-control-readonly_4yi2u_qdtqc_223:not(#\9) {
223
+ .awsui_toggle-control-readonly_4yi2u_fioce_223:not(#\9) {
224
224
  background: var(--color-background-control-disabled-2ixett, #d5dbdb);
225
225
  }
226
226
 
227
- .awsui_toggle-handle_4yi2u_qdtqc_227:not(#\9) {
227
+ .awsui_toggle-handle_4yi2u_fioce_227:not(#\9) {
228
228
  display: block;
229
229
  position: absolute;
230
230
  border-start-start-radius: 6px;
@@ -232,7 +232,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
232
232
  border-end-start-radius: 6px;
233
233
  border-end-end-radius: 6px;
234
234
  background: var(--color-foreground-control-default-rf7v4a, #ffffff);
235
- box-shadow: 1px 1px rgba(0, 0, 0, 0.25);
235
+ box-shadow: 1px 1px var(--color-shadow-toggle-handle-3gekip, rgba(0, 0, 0, 0.25));
236
236
  inline-size: 12px;
237
237
  block-size: 12px;
238
238
  inset-block-start: 2px;
@@ -240,29 +240,29 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
240
240
  transition: transform var(--motion-duration-fast-okdxjh, 90ms) var(--motion-easing-ease-out-quart-x9fbvw, cubic-bezier(0.165, 0.84, 0.44, 1)), background-color var(--motion-duration-fast-okdxjh, 90ms) var(--motion-easing-ease-out-quart-x9fbvw, cubic-bezier(0.165, 0.84, 0.44, 1));
241
241
  }
242
242
  @media (prefers-reduced-motion: reduce) {
243
- .awsui_toggle-handle_4yi2u_qdtqc_227:not(#\9) {
243
+ .awsui_toggle-handle_4yi2u_fioce_227:not(#\9) {
244
244
  animation: none;
245
245
  transition: none;
246
246
  }
247
247
  }
248
- .awsui-motion-disabled .awsui_toggle-handle_4yi2u_qdtqc_227:not(#\9), .awsui-mode-entering .awsui_toggle-handle_4yi2u_qdtqc_227:not(#\9) {
248
+ .awsui-motion-disabled .awsui_toggle-handle_4yi2u_fioce_227:not(#\9), .awsui-mode-entering .awsui_toggle-handle_4yi2u_fioce_227:not(#\9) {
249
249
  animation: none;
250
250
  transition: none;
251
251
  }
252
- .awsui_toggle-handle-checked_4yi2u_qdtqc_252:not(#\9) {
252
+ .awsui_toggle-handle-checked_4yi2u_fioce_252:not(#\9) {
253
253
  transform: translateX(8px);
254
254
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
255
255
  }
256
- .awsui_toggle-handle-checked_4yi2u_qdtqc_252:not(#\9):dir(rtl) {
256
+ .awsui_toggle-handle-checked_4yi2u_fioce_252:not(#\9):dir(rtl) {
257
257
  transform: translateX(-8px);
258
258
  }
259
- .awsui_toggle-handle-disabled_4yi2u_qdtqc_259:not(#\9) {
259
+ .awsui_toggle-handle-disabled_4yi2u_fioce_259:not(#\9) {
260
260
  background: var(--color-foreground-control-disabled-kj751b, #ffffff);
261
261
  box-shadow: none;
262
262
  }
263
- .awsui_toggle-handle-readonly_4yi2u_qdtqc_263:not(#\9):not(.awsui_toggle-handle-disabled_4yi2u_qdtqc_259) {
263
+ .awsui_toggle-handle-readonly_4yi2u_fioce_263:not(#\9):not(.awsui_toggle-handle-disabled_4yi2u_fioce_259) {
264
264
  box-shadow: none;
265
265
  }
266
- .awsui_toggle-handle-readonly_4yi2u_qdtqc_263:not(#\9):not(.awsui_toggle-handle-disabled_4yi2u_qdtqc_259).awsui_toggle-handle-checked_4yi2u_qdtqc_252 {
266
+ .awsui_toggle-handle-readonly_4yi2u_fioce_263:not(#\9):not(.awsui_toggle-handle-disabled_4yi2u_fioce_259).awsui_toggle-handle-checked_4yi2u_fioce_252 {
267
267
  background: var(--color-foreground-control-read-only-cgy3yn, #687078);
268
268
  }
@@ -2,15 +2,15 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "root": "awsui_root_4yi2u_qdtqc_145",
6
- "outline": "awsui_outline_4yi2u_qdtqc_178",
7
- "toggle-control": "awsui_toggle-control_4yi2u_qdtqc_201",
8
- "toggle-control-checked": "awsui_toggle-control-checked_4yi2u_qdtqc_214",
9
- "toggle-control-disabled": "awsui_toggle-control-disabled_4yi2u_qdtqc_217",
10
- "toggle-control-readonly": "awsui_toggle-control-readonly_4yi2u_qdtqc_223",
11
- "toggle-handle": "awsui_toggle-handle_4yi2u_qdtqc_227",
12
- "toggle-handle-checked": "awsui_toggle-handle-checked_4yi2u_qdtqc_252",
13
- "toggle-handle-disabled": "awsui_toggle-handle-disabled_4yi2u_qdtqc_259",
14
- "toggle-handle-readonly": "awsui_toggle-handle-readonly_4yi2u_qdtqc_263"
5
+ "root": "awsui_root_4yi2u_fioce_145",
6
+ "outline": "awsui_outline_4yi2u_fioce_178",
7
+ "toggle-control": "awsui_toggle-control_4yi2u_fioce_201",
8
+ "toggle-control-checked": "awsui_toggle-control-checked_4yi2u_fioce_214",
9
+ "toggle-control-disabled": "awsui_toggle-control-disabled_4yi2u_fioce_217",
10
+ "toggle-control-readonly": "awsui_toggle-control-readonly_4yi2u_fioce_223",
11
+ "toggle-handle": "awsui_toggle-handle_4yi2u_fioce_227",
12
+ "toggle-handle-checked": "awsui_toggle-handle-checked_4yi2u_fioce_252",
13
+ "toggle-handle-disabled": "awsui_toggle-handle-disabled_4yi2u_fioce_259",
14
+ "toggle-handle-readonly": "awsui_toggle-handle-readonly_4yi2u_fioce_263"
15
15
  };
16
16
 
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/toggle-button/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAKjD,eAAO,MAAM,oBAAoB;cAgBM,MAAM;sBAAoB,MAAM;+CAsCtE,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/toggle-button/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAKjD,eAAO,MAAM,oBAAoB;cAgBM,MAAM;sBAAoB,MAAM;+CAwCtE,CAAC"}
@@ -20,7 +20,9 @@ export const InternalToggleButton = React.forwardRef(({ pressed, iconName: defau
20
20
  warnOnce('ToggleButton', '`pressedIconUrl` must be provided for `pressed` state.');
21
21
  }
22
22
  }
23
- return (React.createElement(InternalButton, { className: clsx(className, styles[`variant-${variant}`], { [styles.pressed]: pressed }), variant: variant, formAction: "none", iconName: getToggleIcon(pressed, defaultIconName, pressedIconName), iconUrl: getToggleIcon(pressed, defaultIconUrl, pressedIconUrl), iconSvg: getToggleIcon(pressed, defaultIconSvg, pressedIconSvg), "aria-pressed": pressed, onClick: event => {
23
+ return (React.createElement(InternalButton, { className: clsx(className, styles['toggle-button'], styles[`variant-${variant}`], {
24
+ [styles.pressed]: pressed,
25
+ }), variant: variant, formAction: "none", iconName: getToggleIcon(pressed, defaultIconName, pressedIconName), iconUrl: getToggleIcon(pressed, defaultIconUrl, pressedIconUrl), iconSvg: getToggleIcon(pressed, defaultIconSvg, pressedIconSvg), "aria-pressed": pressed, onClick: event => {
24
26
  event.preventDefault();
25
27
  fireNonCancelableEvent(onChange, { pressed: !pressed });
26
28
  }, ...rest, ref: ref, nativeButtonAttributes: nativeButtonAttributes, analyticsAction: analyticsAction }));
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/toggle-button/internal.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AAEzE,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAClD,CACE,EACE,OAAO,EACP,QAAQ,EAAE,eAAe,EACzB,eAAe,EACf,OAAO,EAAE,cAAc,EACvB,cAAc,EACd,OAAO,EAAE,cAAc,EACvB,cAAc,EACd,OAAO,EACP,sBAAsB,EACtB,QAAQ,EACR,SAAS,EACT,eAAe,GAAG,OAAO,EACzB,GAAG,IAAI,EAC4D,EACrE,GAAqC,EACrC,EAAE;IACF,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,eAAe,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,QAAQ,CAAC,cAAc,EAAE,yDAAyD,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,cAAc,IAAI,CAAC,cAAc,EAAE,CAAC;YACtC,QAAQ,CAAC,cAAc,EAAE,wDAAwD,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,cAAc,IAAI,CAAC,cAAc,EAAE,CAAC;YACtC,QAAQ,CAAC,cAAc,EAAE,wDAAwD,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED,OAAO,CACL,oBAAC,cAAc,IACb,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EACvF,OAAO,EAAE,OAAO,EAChB,UAAU,EAAC,MAAM,EACjB,QAAQ,EAAE,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC,EAClE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,CAAC,EAC/D,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,CAAC,kBACjD,OAAO,EACrB,OAAO,EAAE,KAAK,CAAC,EAAE;YACf,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,sBAAsB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC,KACG,IAAI,EACR,GAAG,EAAE,GAAG,EACR,sBAAsB,EAAE,sBAAsB,EAC9C,eAAe,EAAE,eAAe,GAChC,CACH,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport InternalButton from '../button/internal';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { isDevelopment } from '../internal/is-development';\nimport { ToggleButtonProps } from './interfaces';\nimport { getToggleIcon } from './util';\n\nimport styles from './styles.css.js';\n\nexport const InternalToggleButton = React.forwardRef(\n (\n {\n pressed,\n iconName: defaultIconName,\n pressedIconName,\n iconSvg: defaultIconSvg,\n pressedIconSvg,\n iconUrl: defaultIconUrl,\n pressedIconUrl,\n variant,\n nativeButtonAttributes,\n onChange,\n className,\n analyticsAction = 'click',\n ...rest\n }: ToggleButtonProps & { __title?: string; analyticsAction?: string },\n ref: React.Ref<ToggleButtonProps.Ref>\n ) => {\n if (isDevelopment) {\n if (defaultIconName && !pressedIconName) {\n warnOnce('ToggleButton', '`pressedIconName` must be provided for `pressed` state.');\n }\n\n if (defaultIconSvg && !pressedIconSvg) {\n warnOnce('ToggleButton', '`pressedIconSvg` must be provided for `pressed` state.');\n }\n\n if (defaultIconUrl && !pressedIconUrl) {\n warnOnce('ToggleButton', '`pressedIconUrl` must be provided for `pressed` state.');\n }\n }\n\n return (\n <InternalButton\n className={clsx(className, styles[`variant-${variant}`], { [styles.pressed]: pressed })}\n variant={variant}\n formAction=\"none\"\n iconName={getToggleIcon(pressed, defaultIconName, pressedIconName)}\n iconUrl={getToggleIcon(pressed, defaultIconUrl, pressedIconUrl)}\n iconSvg={getToggleIcon(pressed, defaultIconSvg, pressedIconSvg)}\n aria-pressed={pressed}\n onClick={event => {\n event.preventDefault();\n\n fireNonCancelableEvent(onChange, { pressed: !pressed });\n }}\n {...rest}\n ref={ref}\n nativeButtonAttributes={nativeButtonAttributes}\n analyticsAction={analyticsAction}\n />\n );\n }\n);\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/toggle-button/internal.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AAEzE,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAClD,CACE,EACE,OAAO,EACP,QAAQ,EAAE,eAAe,EACzB,eAAe,EACf,OAAO,EAAE,cAAc,EACvB,cAAc,EACd,OAAO,EAAE,cAAc,EACvB,cAAc,EACd,OAAO,EACP,sBAAsB,EACtB,QAAQ,EACR,SAAS,EACT,eAAe,GAAG,OAAO,EACzB,GAAG,IAAI,EAC4D,EACrE,GAAqC,EACrC,EAAE;IACF,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,eAAe,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,QAAQ,CAAC,cAAc,EAAE,yDAAyD,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,cAAc,IAAI,CAAC,cAAc,EAAE,CAAC;YACtC,QAAQ,CAAC,cAAc,EAAE,wDAAwD,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,cAAc,IAAI,CAAC,cAAc,EAAE,CAAC;YACtC,QAAQ,CAAC,cAAc,EAAE,wDAAwD,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED,OAAO,CACL,oBAAC,cAAc,IACb,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAAE;YAChF,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO;SAC1B,CAAC,EACF,OAAO,EAAE,OAAO,EAChB,UAAU,EAAC,MAAM,EACjB,QAAQ,EAAE,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC,EAClE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,CAAC,EAC/D,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,CAAC,kBACjD,OAAO,EACrB,OAAO,EAAE,KAAK,CAAC,EAAE;YACf,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,sBAAsB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC,KACG,IAAI,EACR,GAAG,EAAE,GAAG,EACR,sBAAsB,EAAE,sBAAsB,EAC9C,eAAe,EAAE,eAAe,GAChC,CACH,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport InternalButton from '../button/internal';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { isDevelopment } from '../internal/is-development';\nimport { ToggleButtonProps } from './interfaces';\nimport { getToggleIcon } from './util';\n\nimport styles from './styles.css.js';\n\nexport const InternalToggleButton = React.forwardRef(\n (\n {\n pressed,\n iconName: defaultIconName,\n pressedIconName,\n iconSvg: defaultIconSvg,\n pressedIconSvg,\n iconUrl: defaultIconUrl,\n pressedIconUrl,\n variant,\n nativeButtonAttributes,\n onChange,\n className,\n analyticsAction = 'click',\n ...rest\n }: ToggleButtonProps & { __title?: string; analyticsAction?: string },\n ref: React.Ref<ToggleButtonProps.Ref>\n ) => {\n if (isDevelopment) {\n if (defaultIconName && !pressedIconName) {\n warnOnce('ToggleButton', '`pressedIconName` must be provided for `pressed` state.');\n }\n\n if (defaultIconSvg && !pressedIconSvg) {\n warnOnce('ToggleButton', '`pressedIconSvg` must be provided for `pressed` state.');\n }\n\n if (defaultIconUrl && !pressedIconUrl) {\n warnOnce('ToggleButton', '`pressedIconUrl` must be provided for `pressed` state.');\n }\n }\n\n return (\n <InternalButton\n className={clsx(className, styles['toggle-button'], styles[`variant-${variant}`], {\n [styles.pressed]: pressed,\n })}\n variant={variant}\n formAction=\"none\"\n iconName={getToggleIcon(pressed, defaultIconName, pressedIconName)}\n iconUrl={getToggleIcon(pressed, defaultIconUrl, pressedIconUrl)}\n iconSvg={getToggleIcon(pressed, defaultIconSvg, pressedIconSvg)}\n aria-pressed={pressed}\n onClick={event => {\n event.preventDefault();\n\n fireNonCancelableEvent(onChange, { pressed: !pressed });\n }}\n {...rest}\n ref={ref}\n nativeButtonAttributes={nativeButtonAttributes}\n analyticsAction={analyticsAction}\n />\n );\n }\n);\n"]}
@@ -1,8 +1,9 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "variant-normal": "awsui_variant-normal_1a743_gqo8z_9",
5
- "pressed": "awsui_pressed_1a743_gqo8z_13",
6
- "variant-icon": "awsui_variant-icon_1a743_gqo8z_19"
4
+ "toggle-button": "awsui_toggle-button_1a743_10app_9",
5
+ "variant-normal": "awsui_variant-normal_1a743_10app_9",
6
+ "pressed": "awsui_pressed_1a743_10app_18",
7
+ "variant-icon": "awsui_variant-icon_1a743_10app_24"
7
8
  };
8
9
 
@@ -6,17 +6,22 @@
6
6
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
7
  SPDX-License-Identifier: Apache-2.0
8
8
  */
9
- .awsui_variant-normal_1a743_gqo8z_9:not(#\9) {
9
+ .awsui_toggle-button_1a743_10app_9.awsui_variant-normal_1a743_10app_9:not(#\9) {
10
10
  background: var(--color-background-toggle-button-normal-default-5asu3x, #ffffff);
11
+ border-color: var(--color-border-toggle-button-normal-default-0ram7p, #545b64);
12
+ }
13
+ .awsui_toggle-button_1a743_10app_9.awsui_variant-normal_1a743_10app_9:not(#\9):hover {
14
+ background: var(--color-background-toggle-button-normal-hover-snalpc, #fafafa);
15
+ border-color: var(--color-border-toggle-button-normal-hover-44pc5g, #16191f);
11
16
  }
12
17
 
13
- .awsui_variant-normal_1a743_gqo8z_9.awsui_pressed_1a743_gqo8z_13:not(#\9) {
18
+ .awsui_variant-normal_1a743_10app_9.awsui_pressed_1a743_10app_18:not(#\9) {
14
19
  background: var(--color-background-toggle-button-normal-pressed-mt5i6m, #eaeded);
15
20
  border-color: var(--color-border-toggle-button-normal-pressed-9nd6i4, #545b64);
16
21
  color: var(--color-text-toggle-button-normal-pressed-9l4rx5, #16191f);
17
22
  }
18
23
 
19
- .awsui_variant-icon_1a743_gqo8z_19.awsui_pressed_1a743_gqo8z_13:not(#\9) {
24
+ .awsui_variant-icon_1a743_10app_24.awsui_pressed_1a743_10app_18:not(#\9) {
20
25
  background: transparent;
21
26
  border-color: transparent;
22
27
  color: var(--color-text-toggle-button-icon-pressed-3m48et, #16191f);
@@ -2,8 +2,9 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "variant-normal": "awsui_variant-normal_1a743_gqo8z_9",
6
- "pressed": "awsui_pressed_1a743_gqo8z_13",
7
- "variant-icon": "awsui_variant-icon_1a743_gqo8z_19"
5
+ "toggle-button": "awsui_toggle-button_1a743_10app_9",
6
+ "variant-normal": "awsui_variant-normal_1a743_10app_9",
7
+ "pressed": "awsui_pressed_1a743_10app_18",
8
+ "variant-icon": "awsui_variant-icon_1a743_10app_24"
8
9
  };
9
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"dismiss-button.d.ts","sourceRoot":"","sources":["../../../src/token/dismiss-button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAM/C,OAAO,EAA0B,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAOvF,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;;AAED,wBAAyC"}
1
+ {"version":3,"file":"dismiss-button.d.ts","sourceRoot":"","sources":["../../../src/token/dismiss-button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAO/C,OAAO,EAA0B,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAOvF,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;;AAED,wBAAyC"}
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import React, { forwardRef } from 'react';
4
4
  import clsx from 'clsx';
5
+ import { isThemeActive, Theme } from '@cloudscape-design/component-toolkit/internal';
5
6
  import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
6
7
  import InternalIcon from '../icon/internal';
7
8
  import { fireNonCancelableEvent } from '../internal/events';
@@ -10,6 +11,7 @@ import styles from './styles.css.js';
10
11
  import testUtilStyles from './test-classes/styles.css.js';
11
12
  export default forwardRef(DismissButton);
12
13
  function DismissButton({ disabled, dismissLabel, onDismiss, readOnly, inline }, ref) {
14
+ const isOneTheme = isThemeActive(Theme.OneTheme);
13
15
  const analyticsMetadata = {
14
16
  action: 'dismiss',
15
17
  detail: {
@@ -22,6 +24,6 @@ function DismissButton({ disabled, dismissLabel, onDismiss, readOnly, inline },
22
24
  }
23
25
  fireNonCancelableEvent(onDismiss);
24
26
  }, "aria-label": dismissLabel, ...(disabled || readOnly ? {} : getAnalyticsMetadataAttribute(analyticsMetadata)) },
25
- React.createElement(InternalIcon, { name: "close" })));
27
+ React.createElement(InternalIcon, { name: "close", size: isOneTheme ? 'x-small' : undefined })));
26
28
  }
27
29
  //# sourceMappingURL=dismiss-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dismiss-button.js","sourceRoot":"","sources":["../../../src/token/dismiss-button.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAO,MAAM,OAAO,CAAC;AAC/C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAA6B,MAAM,oBAAoB,CAAC;AAGvF,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAU1D,eAAe,UAAU,CAAC,aAAa,CAAC,CAAC;AAEzC,SAAS,aAAa,CACpB,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAsB,EAC3E,GAA2B;IAE3B,MAAM,iBAAiB,GAA2C;QAChE,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE;YACN,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACxB;KACF,CAAC;IACF,OAAO,CACL,gCACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,gBAAgB,CAAC,EACxB,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,cAAc,CAAC,gBAAgB,CAAC,EAChC,MAAM,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAC1C,mBACc,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EACtD,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,QAAQ,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvC,OAAO;YACT,CAAC;YAED,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC,gBACW,YAAY,KACpB,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,CAAC;QAElF,oBAAC,YAAY,IAAC,IAAI,EAAC,OAAO,GAAG,CACtB,CACV,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { forwardRef, Ref } from 'react';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalIcon from '../icon/internal';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport { GeneratedAnalyticsMetadataTokenDismiss } from './analytics-metadata/interfaces';\n\nimport legacyTestingStyles from '../token-group/styles.css.js';\nimport styles from './styles.css.js';\nimport testUtilStyles from './test-classes/styles.css.js';\n\ninterface DismissButtonProps {\n disabled?: boolean;\n readOnly?: boolean;\n onDismiss?: NonCancelableEventHandler;\n dismissLabel?: string;\n inline?: boolean;\n}\n\nexport default forwardRef(DismissButton);\n\nfunction DismissButton(\n { disabled, dismissLabel, onDismiss, readOnly, inline }: DismissButtonProps,\n ref: Ref<HTMLButtonElement>\n) {\n const analyticsMetadata: GeneratedAnalyticsMetadataTokenDismiss = {\n action: 'dismiss',\n detail: {\n label: { root: 'self' },\n },\n };\n return (\n <button\n ref={ref}\n type=\"button\"\n className={clsx(\n styles['dismiss-button'],\n legacyTestingStyles['dismiss-button'],\n testUtilStyles['dismiss-button'],\n inline && styles['dismiss-button-inline']\n )}\n aria-disabled={disabled || readOnly ? true : undefined}\n onClick={() => {\n if (disabled || readOnly || !onDismiss) {\n return;\n }\n\n fireNonCancelableEvent(onDismiss);\n }}\n aria-label={dismissLabel}\n {...(disabled || readOnly ? {} : getAnalyticsMetadataAttribute(analyticsMetadata))}\n >\n <InternalIcon name=\"close\" />\n </button>\n );\n}\n"]}
1
+ {"version":3,"file":"dismiss-button.js","sourceRoot":"","sources":["../../../src/token/dismiss-button.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAO,MAAM,OAAO,CAAC;AAC/C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAA6B,MAAM,oBAAoB,CAAC;AAGvF,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAU1D,eAAe,UAAU,CAAC,aAAa,CAAC,CAAC;AAEzC,SAAS,aAAa,CACpB,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAsB,EAC3E,GAA2B;IAE3B,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,iBAAiB,GAA2C;QAChE,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE;YACN,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACxB;KACF,CAAC;IACF,OAAO,CACL,gCACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,gBAAgB,CAAC,EACxB,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,cAAc,CAAC,gBAAgB,CAAC,EAChC,MAAM,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAC1C,mBACc,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EACtD,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,QAAQ,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvC,OAAO;YACT,CAAC;YAED,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC,gBACW,YAAY,KACpB,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,CAAC;QAElF,oBAAC,YAAY,IAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAI,CAChE,CACV,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { forwardRef, Ref } from 'react';\nimport clsx from 'clsx';\n\nimport { isThemeActive, Theme } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalIcon from '../icon/internal';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport { GeneratedAnalyticsMetadataTokenDismiss } from './analytics-metadata/interfaces';\n\nimport legacyTestingStyles from '../token-group/styles.css.js';\nimport styles from './styles.css.js';\nimport testUtilStyles from './test-classes/styles.css.js';\n\ninterface DismissButtonProps {\n disabled?: boolean;\n readOnly?: boolean;\n onDismiss?: NonCancelableEventHandler;\n dismissLabel?: string;\n inline?: boolean;\n}\n\nexport default forwardRef(DismissButton);\n\nfunction DismissButton(\n { disabled, dismissLabel, onDismiss, readOnly, inline }: DismissButtonProps,\n ref: Ref<HTMLButtonElement>\n) {\n const isOneTheme = isThemeActive(Theme.OneTheme);\n const analyticsMetadata: GeneratedAnalyticsMetadataTokenDismiss = {\n action: 'dismiss',\n detail: {\n label: { root: 'self' },\n },\n };\n return (\n <button\n ref={ref}\n type=\"button\"\n className={clsx(\n styles['dismiss-button'],\n legacyTestingStyles['dismiss-button'],\n testUtilStyles['dismiss-button'],\n inline && styles['dismiss-button-inline']\n )}\n aria-disabled={disabled || readOnly ? true : undefined}\n onClick={() => {\n if (disabled || readOnly || !onDismiss) {\n return;\n }\n\n fireNonCancelableEvent(onDismiss);\n }}\n aria-label={dismissLabel}\n {...(disabled || readOnly ? {} : getAnalyticsMetadataAttribute(analyticsMetadata))}\n >\n <InternalIcon name=\"close\" size={isOneTheme ? 'x-small' : undefined} />\n </button>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/token/internal.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAIlF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ1C,KAAK,kBAAkB,GAAG,UAAU,GAClC,0BAA0B,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEJ,iBAAS,aAAa,CAAC,EAErB,KAAK,EACL,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,cAAc,EAGd,IAAI,EACJ,mBAAmB,EAGnB,iBAAiB,EACjB,GAAG,SAAS,EACb,EAAE,kBAAkB,eAmIpB;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/token/internal.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAIlF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ1C,KAAK,kBAAkB,GAAG,UAAU,GAClC,0BAA0B,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEJ,iBAAS,aAAa,CAAC,EAErB,KAAK,EACL,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,cAAc,EAGd,IAAI,EACJ,mBAAmB,EAGnB,iBAAiB,EACjB,GAAG,SAAS,EACb,EAAE,kBAAkB,eA2IpB;AAED,eAAe,aAAa,CAAC"}
@@ -2,7 +2,8 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import React, { useRef, useState } from 'react';
4
4
  import clsx from 'clsx';
5
- import { useResizeObserver, useUniqueId, warnOnce } from '@cloudscape-design/component-toolkit/internal';
5
+ import { isThemeActive, Theme, useResizeObserver, useUniqueId, warnOnce, } from '@cloudscape-design/component-toolkit/internal';
6
+ import InternalIcon from '../icon/internal';
6
7
  import { getBaseProps } from '../internal/base-component';
7
8
  import Option from '../internal/components/option';
8
9
  import { TokenInlineContext } from '../internal/context/token-inline-context';
@@ -28,6 +29,7 @@ __internalRootRef, ...restProps }) {
28
29
  const [showTooltip, setShowTooltip] = useState(false);
29
30
  const [isEllipsisActive, setIsEllipsisActive] = useState(false);
30
31
  const isInline = variant === 'inline';
32
+ const isOneTheme = isThemeActive(Theme.OneTheme);
31
33
  const ariaLabelledbyId = useUniqueId();
32
34
  const isLabelOverflowing = () => {
33
35
  const labelContent = labelRef.current;
@@ -42,6 +44,12 @@ __internalRootRef, ...restProps }) {
42
44
  setIsEllipsisActive((_a = isLabelOverflowing()) !== null && _a !== void 0 ? _a : false);
43
45
  }
44
46
  });
47
+ const sizedIcon = (iconNode) => {
48
+ if (isInline && isOneTheme && React.isValidElement(iconNode) && iconNode.type === InternalIcon) {
49
+ return React.cloneElement(iconNode, { size: 'x-small' });
50
+ }
51
+ return iconNode;
52
+ };
45
53
  const buildOptionDefinition = () => {
46
54
  const isLabelStringOrNumber = typeof label === 'string' || typeof label === 'number';
47
55
  const labelObject = isLabelStringOrNumber ? { label: String(label) } : { labelContent: label };
@@ -52,7 +60,7 @@ __internalRootRef, ...restProps }) {
52
60
  return {
53
61
  ...labelObject,
54
62
  disabled,
55
- __customIcon: icon && React.createElement("span", { className: clsx(styles.icon, styles['icon-inline']) }, icon),
63
+ __customIcon: icon && React.createElement("span", { className: clsx(styles.icon, styles['icon-inline']) }, sizedIcon(icon)),
56
64
  };
57
65
  }
58
66
  else {
@@ -62,7 +70,7 @@ __internalRootRef, ...restProps }) {
62
70
  labelTag,
63
71
  description,
64
72
  tags,
65
- __customIcon: icon && React.createElement("span", { className: styles.icon }, icon),
73
+ __customIcon: icon && React.createElement("span", { className: styles.icon }, sizedIcon(icon)),
66
74
  };
67
75
  }
68
76
  };
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/token/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useResizeObserver, useUniqueId, warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { getBaseProps } from '../internal/base-component';\nimport Option from '../internal/components/option';\nimport { TokenInlineContext } from '../internal/context/token-inline-context';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport LiveRegion from '../live-region/internal';\nimport Tooltip from '../tooltip/internal.js';\nimport DismissButton from './dismiss-button';\nimport { TokenProps } from './interfaces';\nimport { getTokenRootStyles } from './styles';\n\nimport legacyTestingStyles from '../token-group/styles.css.js';\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\nimport testUtilStyles from './test-classes/styles.css.js';\n\ntype InternalTokenProps = TokenProps &\n InternalBaseComponentProps & {\n role?: string;\n disableInnerPadding?: boolean;\n };\n\nfunction InternalToken({\n // External\n label,\n ariaLabel,\n labelTag,\n description,\n variant = 'normal',\n disabled,\n readOnly,\n icon,\n tags,\n dismissLabel,\n onDismiss,\n tooltipContent,\n\n // Internal\n role,\n disableInnerPadding,\n\n // Base\n __internalRootRef,\n ...restProps\n}: InternalTokenProps) {\n const baseProps = getBaseProps(restProps);\n const tokenRootStyleProps = getTokenRootStyles(restProps.style);\n const labelContainerRef = useRef<HTMLSpanElement>(null);\n const labelRef = useRef<HTMLSpanElement>(null);\n const [showTooltip, setShowTooltip] = useState(false);\n const [isEllipsisActive, setIsEllipsisActive] = useState(false);\n const isInline = variant === 'inline';\n const ariaLabelledbyId = useUniqueId();\n\n const isLabelOverflowing = () => {\n const labelContent = labelRef.current;\n const labelContainer = labelContainerRef.current;\n\n if (labelContent && labelContainer) {\n return labelContent.offsetWidth > labelContainer.offsetWidth;\n }\n };\n\n useResizeObserver(labelContainerRef, () => {\n if (isInline) {\n setIsEllipsisActive(isLabelOverflowing() ?? false);\n }\n });\n\n const buildOptionDefinition = () => {\n const isLabelStringOrNumber = typeof label === 'string' || typeof label === 'number';\n const labelObject = isLabelStringOrNumber ? { label: String(label) } : { labelContent: label };\n\n if (isInline) {\n if (!isLabelStringOrNumber) {\n warnOnce('Label', `Only plain text (strings or numbers) are supported when variant=\"inline\".`);\n }\n\n return {\n ...labelObject,\n disabled,\n __customIcon: icon && <span className={clsx(styles.icon, styles['icon-inline'])}>{icon}</span>,\n };\n } else {\n return {\n ...labelObject,\n disabled,\n labelTag,\n description,\n tags,\n __customIcon: icon && <span className={styles.icon}>{icon}</span>,\n };\n }\n };\n\n // Use span for inline tokens (e.g. inside contentEditable) to avoid block-level elements breaking text flow.\n const SpanOrDivTag = isInline ? 'span' : 'div';\n\n return (\n <TokenInlineContext.Provider value={{ isInlineToken: isInline }}>\n <SpanOrDivTag\n {...baseProps}\n ref={__internalRootRef}\n className={clsx(\n styles.root,\n legacyTestingStyles.token,\n testUtilStyles.root,\n !isInline ? styles['token-normal'] : styles['token-inline'],\n analyticsSelectors.token,\n baseProps.className\n )}\n aria-label={ariaLabel}\n aria-labelledby={!ariaLabel ? ariaLabelledbyId : undefined}\n aria-disabled={!!disabled}\n role={role ?? 'group'}\n onFocus={() => {\n setShowTooltip(true);\n }}\n onBlur={() => {\n setShowTooltip(false);\n }}\n onMouseEnter={() => {\n setShowTooltip(true);\n }}\n onMouseLeave={() => {\n setShowTooltip(false);\n }}\n tabIndex={!!tooltipContent && isInline && isEllipsisActive ? 0 : undefined}\n >\n <SpanOrDivTag\n className={clsx(\n !isInline ? styles['token-box'] : styles['token-box-inline'],\n disabled && styles['token-box-disabled'],\n readOnly && styles['token-box-readonly'],\n !isInline && !onDismiss && styles['token-box-without-dismiss'],\n disableInnerPadding && styles['disable-padding']\n )}\n style={tokenRootStyleProps}\n >\n <Option\n className={clsx(isInline && styles['token-option-inline'])}\n triggerVariant={isInline}\n option={buildOptionDefinition()}\n disableTitleTooltip={!!tooltipContent}\n labelContainerRef={labelContainerRef}\n labelRef={labelRef}\n labelId={ariaLabelledbyId}\n />\n {onDismiss && (\n <DismissButton\n disabled={disabled}\n dismissLabel={dismissLabel}\n onDismiss={onDismiss}\n readOnly={readOnly}\n inline={isInline}\n />\n )}\n </SpanOrDivTag>\n {!!tooltipContent && isInline && isEllipsisActive && showTooltip && (\n <Tooltip\n data-testid=\"token-tooltip\"\n getTrack={() => labelContainerRef.current}\n content={\n <LiveRegion>\n <span data-testid=\"tooltip-live-region-content\">{tooltipContent}</span>\n </LiveRegion>\n }\n onEscape={() => {\n setShowTooltip(false);\n }}\n />\n )}\n </SpanOrDivTag>\n </TokenInlineContext.Provider>\n );\n}\n\nexport default InternalToken;\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/token/internal.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EACL,aAAa,EACb,KAAK,EACL,iBAAiB,EACjB,WAAW,EACX,QAAQ,GACT,MAAM,+CAA+C,CAAC;AAEvD,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,MAAM,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AACpE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAQ1D,SAAS,aAAa,CAAC;AACrB,WAAW;AACX,KAAK,EACL,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAO,GAAG,QAAQ,EAClB,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,cAAc;AAEd,WAAW;AACX,IAAI,EACJ,mBAAmB;AAEnB,OAAO;AACP,iBAAiB,EACjB,GAAG,SAAS,EACO;IACnB,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,iBAAiB,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,OAAO,KAAK,QAAQ,CAAC;IACtC,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,WAAW,EAAE,CAAC;IAEvC,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;QACtC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC;QAEjD,IAAI,YAAY,IAAI,cAAc,EAAE,CAAC;YACnC,OAAO,YAAY,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC;IAEF,iBAAiB,CAAC,iBAAiB,EAAE,GAAG,EAAE;;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,mBAAmB,CAAC,MAAA,kBAAkB,EAAE,mCAAI,KAAK,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,CAAC,QAAyB,EAAE,EAAE;QAC9C,IAAI,QAAQ,IAAI,UAAU,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC/F,OAAO,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE;QACjC,MAAM,qBAAqB,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;QACrF,MAAM,WAAW,GAAG,qBAAqB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QAE/F,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,QAAQ,CAAC,OAAO,EAAE,2EAA2E,CAAC,CAAC;YACjG,CAAC;YAED,OAAO;gBACL,GAAG,WAAW;gBACd,QAAQ;gBACR,YAAY,EAAE,IAAI,IAAI,8BAAM,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,IAAG,SAAS,CAAC,IAAI,CAAC,CAAQ;aAC1G,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,GAAG,WAAW;gBACd,QAAQ;gBACR,QAAQ;gBACR,WAAW;gBACX,IAAI;gBACJ,YAAY,EAAE,IAAI,IAAI,8BAAM,SAAS,EAAE,MAAM,CAAC,IAAI,IAAG,SAAS,CAAC,IAAI,CAAC,CAAQ;aAC7E,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,6GAA6G;IAC7G,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IAE/C,OAAO,CACL,oBAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE;QAC7D,oBAAC,YAAY,OACP,SAAS,EACb,GAAG,EAAE,iBAAiB,EACtB,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,IAAI,EACX,mBAAmB,CAAC,KAAK,EACzB,cAAc,CAAC,IAAI,EACnB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,EAC3D,kBAAkB,CAAC,KAAK,EACxB,SAAS,CAAC,SAAS,CACpB,gBACW,SAAS,qBACJ,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,mBAC3C,CAAC,CAAC,QAAQ,EACzB,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,OAAO,EACrB,OAAO,EAAE,GAAG,EAAE;gBACZ,cAAc,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC,EACD,MAAM,EAAE,GAAG,EAAE;gBACX,cAAc,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC,EACD,YAAY,EAAE,GAAG,EAAE;gBACjB,cAAc,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC,EACD,YAAY,EAAE,GAAG,EAAE;gBACjB,cAAc,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC,EACD,QAAQ,EAAE,CAAC,CAAC,cAAc,IAAI,QAAQ,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAE1E,oBAAC,YAAY,IACX,SAAS,EAAE,IAAI,CACb,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAC5D,QAAQ,IAAI,MAAM,CAAC,oBAAoB,CAAC,EACxC,QAAQ,IAAI,MAAM,CAAC,oBAAoB,CAAC,EACxC,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,2BAA2B,CAAC,EAC9D,mBAAmB,IAAI,MAAM,CAAC,iBAAiB,CAAC,CACjD,EACD,KAAK,EAAE,mBAAmB;gBAE1B,oBAAC,MAAM,IACL,SAAS,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAAC,EAC1D,cAAc,EAAE,QAAQ,EACxB,MAAM,EAAE,qBAAqB,EAAE,EAC/B,mBAAmB,EAAE,CAAC,CAAC,cAAc,EACrC,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,gBAAgB,GACzB;gBACD,SAAS,IAAI,CACZ,oBAAC,aAAa,IACZ,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,QAAQ,GAChB,CACH,CACY;YACd,CAAC,CAAC,cAAc,IAAI,QAAQ,IAAI,gBAAgB,IAAI,WAAW,IAAI,CAClE,oBAAC,OAAO,mBACM,eAAe,EAC3B,QAAQ,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,EACzC,OAAO,EACL,oBAAC,UAAU;oBACT,6CAAkB,6BAA6B,IAAE,cAAc,CAAQ,CAC5D,EAEf,QAAQ,EAAE,GAAG,EAAE;oBACb,cAAc,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC,GACD,CACH,CACY,CACa,CAC/B,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport {\n isThemeActive,\n Theme,\n useResizeObserver,\n useUniqueId,\n warnOnce,\n} from '@cloudscape-design/component-toolkit/internal';\n\nimport InternalIcon from '../icon/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport Option from '../internal/components/option';\nimport { TokenInlineContext } from '../internal/context/token-inline-context';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport LiveRegion from '../live-region/internal';\nimport Tooltip from '../tooltip/internal.js';\nimport DismissButton from './dismiss-button';\nimport { TokenProps } from './interfaces';\nimport { getTokenRootStyles } from './styles';\n\nimport legacyTestingStyles from '../token-group/styles.css.js';\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\nimport testUtilStyles from './test-classes/styles.css.js';\n\ntype InternalTokenProps = TokenProps &\n InternalBaseComponentProps & {\n role?: string;\n disableInnerPadding?: boolean;\n };\n\nfunction InternalToken({\n // External\n label,\n ariaLabel,\n labelTag,\n description,\n variant = 'normal',\n disabled,\n readOnly,\n icon,\n tags,\n dismissLabel,\n onDismiss,\n tooltipContent,\n\n // Internal\n role,\n disableInnerPadding,\n\n // Base\n __internalRootRef,\n ...restProps\n}: InternalTokenProps) {\n const baseProps = getBaseProps(restProps);\n const tokenRootStyleProps = getTokenRootStyles(restProps.style);\n const labelContainerRef = useRef<HTMLSpanElement>(null);\n const labelRef = useRef<HTMLSpanElement>(null);\n const [showTooltip, setShowTooltip] = useState(false);\n const [isEllipsisActive, setIsEllipsisActive] = useState(false);\n const isInline = variant === 'inline';\n const isOneTheme = isThemeActive(Theme.OneTheme);\n const ariaLabelledbyId = useUniqueId();\n\n const isLabelOverflowing = () => {\n const labelContent = labelRef.current;\n const labelContainer = labelContainerRef.current;\n\n if (labelContent && labelContainer) {\n return labelContent.offsetWidth > labelContainer.offsetWidth;\n }\n };\n\n useResizeObserver(labelContainerRef, () => {\n if (isInline) {\n setIsEllipsisActive(isLabelOverflowing() ?? false);\n }\n });\n\n const sizedIcon = (iconNode: React.ReactNode) => {\n if (isInline && isOneTheme && React.isValidElement(iconNode) && iconNode.type === InternalIcon) {\n return React.cloneElement(iconNode, { size: 'x-small' });\n }\n return iconNode;\n };\n\n const buildOptionDefinition = () => {\n const isLabelStringOrNumber = typeof label === 'string' || typeof label === 'number';\n const labelObject = isLabelStringOrNumber ? { label: String(label) } : { labelContent: label };\n\n if (isInline) {\n if (!isLabelStringOrNumber) {\n warnOnce('Label', `Only plain text (strings or numbers) are supported when variant=\"inline\".`);\n }\n\n return {\n ...labelObject,\n disabled,\n __customIcon: icon && <span className={clsx(styles.icon, styles['icon-inline'])}>{sizedIcon(icon)}</span>,\n };\n } else {\n return {\n ...labelObject,\n disabled,\n labelTag,\n description,\n tags,\n __customIcon: icon && <span className={styles.icon}>{sizedIcon(icon)}</span>,\n };\n }\n };\n\n // Use span for inline tokens (e.g. inside contentEditable) to avoid block-level elements breaking text flow.\n const SpanOrDivTag = isInline ? 'span' : 'div';\n\n return (\n <TokenInlineContext.Provider value={{ isInlineToken: isInline }}>\n <SpanOrDivTag\n {...baseProps}\n ref={__internalRootRef}\n className={clsx(\n styles.root,\n legacyTestingStyles.token,\n testUtilStyles.root,\n !isInline ? styles['token-normal'] : styles['token-inline'],\n analyticsSelectors.token,\n baseProps.className\n )}\n aria-label={ariaLabel}\n aria-labelledby={!ariaLabel ? ariaLabelledbyId : undefined}\n aria-disabled={!!disabled}\n role={role ?? 'group'}\n onFocus={() => {\n setShowTooltip(true);\n }}\n onBlur={() => {\n setShowTooltip(false);\n }}\n onMouseEnter={() => {\n setShowTooltip(true);\n }}\n onMouseLeave={() => {\n setShowTooltip(false);\n }}\n tabIndex={!!tooltipContent && isInline && isEllipsisActive ? 0 : undefined}\n >\n <SpanOrDivTag\n className={clsx(\n !isInline ? styles['token-box'] : styles['token-box-inline'],\n disabled && styles['token-box-disabled'],\n readOnly && styles['token-box-readonly'],\n !isInline && !onDismiss && styles['token-box-without-dismiss'],\n disableInnerPadding && styles['disable-padding']\n )}\n style={tokenRootStyleProps}\n >\n <Option\n className={clsx(isInline && styles['token-option-inline'])}\n triggerVariant={isInline}\n option={buildOptionDefinition()}\n disableTitleTooltip={!!tooltipContent}\n labelContainerRef={labelContainerRef}\n labelRef={labelRef}\n labelId={ariaLabelledbyId}\n />\n {onDismiss && (\n <DismissButton\n disabled={disabled}\n dismissLabel={dismissLabel}\n onDismiss={onDismiss}\n readOnly={readOnly}\n inline={isInline}\n />\n )}\n </SpanOrDivTag>\n {!!tooltipContent && isInline && isEllipsisActive && showTooltip && (\n <Tooltip\n data-testid=\"token-tooltip\"\n getTrack={() => labelContainerRef.current}\n content={\n <LiveRegion>\n <span data-testid=\"tooltip-live-region-content\">{tooltipContent}</span>\n </LiveRegion>\n }\n onEscape={() => {\n setShowTooltip(false);\n }}\n />\n )}\n </SpanOrDivTag>\n </TokenInlineContext.Provider>\n );\n}\n\nexport default InternalToken;\n"]}