@cloudscape-design/components-themeable 3.0.1202 → 3.0.1204

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 (59) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/file-token-group/styles.scss +15 -0
  3. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
  4. package/lib/internal/template/file-token-group/file-token.d.ts +1 -1
  5. package/lib/internal/template/file-token-group/file-token.d.ts.map +1 -1
  6. package/lib/internal/template/file-token-group/file-token.js +7 -5
  7. package/lib/internal/template/file-token-group/file-token.js.map +1 -1
  8. package/lib/internal/template/file-token-group/interfaces.d.ts +2 -2
  9. package/lib/internal/template/file-token-group/interfaces.d.ts.map +1 -1
  10. package/lib/internal/template/file-token-group/interfaces.js.map +1 -1
  11. package/lib/internal/template/file-token-group/internal.js +1 -1
  12. package/lib/internal/template/file-token-group/internal.js.map +1 -1
  13. package/lib/internal/template/file-token-group/styles.css.js +23 -22
  14. package/lib/internal/template/file-token-group/styles.scoped.css +59 -29
  15. package/lib/internal/template/file-token-group/styles.selectors.js +23 -22
  16. package/lib/internal/template/file-upload/interfaces.d.ts +1 -1
  17. package/lib/internal/template/file-upload/interfaces.d.ts.map +1 -1
  18. package/lib/internal/template/file-upload/interfaces.js.map +1 -1
  19. package/lib/internal/template/file-upload/internal.js +1 -1
  20. package/lib/internal/template/file-upload/internal.js.map +1 -1
  21. package/lib/internal/template/i18n/messages/all.all.js +1 -1
  22. package/lib/internal/template/i18n/messages/all.all.json +1 -1
  23. package/lib/internal/template/i18n/messages/all.ar.js +1 -1
  24. package/lib/internal/template/i18n/messages/all.ar.json +1 -1
  25. package/lib/internal/template/i18n/messages/all.de.js +1 -1
  26. package/lib/internal/template/i18n/messages/all.de.json +1 -1
  27. package/lib/internal/template/i18n/messages/all.en-GB.js +1 -1
  28. package/lib/internal/template/i18n/messages/all.en-GB.json +1 -1
  29. package/lib/internal/template/i18n/messages/all.en.js +1 -1
  30. package/lib/internal/template/i18n/messages/all.en.json +1 -1
  31. package/lib/internal/template/i18n/messages/all.es.js +1 -1
  32. package/lib/internal/template/i18n/messages/all.es.json +1 -1
  33. package/lib/internal/template/i18n/messages/all.fr.js +1 -1
  34. package/lib/internal/template/i18n/messages/all.fr.json +1 -1
  35. package/lib/internal/template/i18n/messages/all.id.js +1 -1
  36. package/lib/internal/template/i18n/messages/all.id.json +1 -1
  37. package/lib/internal/template/i18n/messages/all.it.js +1 -1
  38. package/lib/internal/template/i18n/messages/all.it.json +1 -1
  39. package/lib/internal/template/i18n/messages/all.ja.js +1 -1
  40. package/lib/internal/template/i18n/messages/all.ja.json +1 -1
  41. package/lib/internal/template/i18n/messages/all.ko.js +1 -1
  42. package/lib/internal/template/i18n/messages/all.ko.json +1 -1
  43. package/lib/internal/template/i18n/messages/all.pt-BR.js +1 -1
  44. package/lib/internal/template/i18n/messages/all.pt-BR.json +1 -1
  45. package/lib/internal/template/i18n/messages/all.tr.js +1 -1
  46. package/lib/internal/template/i18n/messages/all.tr.json +1 -1
  47. package/lib/internal/template/i18n/messages/all.zh-CN.js +1 -1
  48. package/lib/internal/template/i18n/messages/all.zh-CN.json +1 -1
  49. package/lib/internal/template/i18n/messages/all.zh-TW.js +1 -1
  50. package/lib/internal/template/i18n/messages/all.zh-TW.json +1 -1
  51. package/lib/internal/template/i18n/messages-types.d.ts +2 -0
  52. package/lib/internal/template/i18n/messages-types.d.ts.map +1 -1
  53. package/lib/internal/template/i18n/messages-types.js.map +1 -1
  54. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
  55. package/lib/internal/template/internal/environment.js +2 -2
  56. package/lib/internal/template/internal/environment.json +2 -2
  57. package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js +1 -1
  58. package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js.map +1 -1
  59. package/package.json +1 -1
@@ -18,8 +18,8 @@ export function useExpandableTableProps({ items, expandableRows, trackBy, ariaLa
18
18
  itemToDetail.set(item, { ...detail, children });
19
19
  if (visible) {
20
20
  visibleItems.push(item);
21
+ children.forEach((child, index) => traverse(child, { level: detail.level + 1, setSize: children.length, posInSet: index + 1, parent: item }, expandedSet.has(item)));
21
22
  }
22
- children.forEach((child, index) => traverse(child, { level: detail.level + 1, setSize: children.length, posInSet: index + 1, parent: item }, visible && expandedSet.has(item)));
23
23
  };
24
24
  items.forEach((item, index) => traverse(item, { level: 1, setSize: items.length, posInSet: index + 1, parent: null }, true));
25
25
  for (let index = 0; index < visibleItems.length; index++) {
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-rows-utils.js","sourceRoot":"","sources":["../../../../src/table/expandable-rows/expandable-rows-utils.ts"],"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 { useInternalI18n } from '../../i18n/context';\nimport { fireNonCancelableEvent } from '../../internal/events';\nimport { TableProps } from '../interfaces';\nimport { ItemSet } from '../selection/utils';\n\ninterface ExpandableItemProps<T> extends ExpandableItemDetail<T> {\n isExpandable: boolean;\n isExpanded: boolean;\n onExpandableItemToggle: () => void;\n expandButtonLabel?: string;\n collapseButtonLabel?: string;\n itemsCount?: number;\n selectedItemsCount?: number;\n}\n\ninterface ExpandableItemDetail<T> {\n level: number;\n setSize: number;\n posInSet: number;\n parent: null | T;\n children: readonly T[];\n}\n\nexport interface InternalExpandableRowsProps<T> {\n isExpandable: boolean;\n allItems: readonly T[];\n getExpandableItemProps(item: T): ExpandableItemProps<T>;\n hasGroupSelection: boolean;\n groupSelection: TableProps.GroupSelectionState<T>;\n onGroupSelectionChange?: TableProps.OnGroupSelectionChange<T>;\n totalItemsCount?: number;\n totalSelectedItemsCount?: number;\n}\n\nexport function useExpandableTableProps<T>({\n items,\n expandableRows,\n trackBy,\n ariaLabels,\n}: {\n items: readonly T[];\n expandableRows?: TableProps.ExpandableRows<T>;\n trackBy?: TableProps.TrackBy<T>;\n ariaLabels?: TableProps.AriaLabels<T>;\n}): InternalExpandableRowsProps<T> {\n const i18n = useInternalI18n('table');\n const isExpandable = !!expandableRows;\n\n const expandedSet = new ItemSet(trackBy, expandableRows?.expandedItems ?? []);\n\n let allItems = items;\n const itemToDetail = new Map<T, ExpandableItemDetail<T>>();\n const getItemLevel = (item: T) => itemToDetail.get(item)?.level ?? 0;\n\n if (isExpandable) {\n const visibleItems = new Array<T>();\n\n const traverse = (item: T, detail: Omit<ExpandableItemDetail<T>, 'children'>, visible: boolean) => {\n const children = expandableRows.getItemChildren(item);\n itemToDetail.set(item, { ...detail, children });\n\n if (visible) {\n visibleItems.push(item);\n }\n children.forEach((child, index) =>\n traverse(\n child,\n { level: detail.level + 1, setSize: children.length, posInSet: index + 1, parent: item },\n visible && expandedSet.has(item)\n )\n );\n };\n items.forEach((item, index) =>\n traverse(item, { level: 1, setSize: items.length, posInSet: index + 1, parent: null }, true)\n );\n\n for (let index = 0; index < visibleItems.length; index++) {\n const item = visibleItems[index];\n if (expandedSet.has(item)) {\n let insertionIndex = index + 1;\n for (insertionIndex; insertionIndex < visibleItems.length; insertionIndex++) {\n const insertionItem = visibleItems[insertionIndex];\n if (getItemLevel(item) >= getItemLevel(insertionItem)) {\n break;\n }\n }\n insertionIndex--;\n }\n }\n\n allItems = visibleItems;\n }\n\n const getExpandableItemProps = (item: T): ExpandableItemProps<T> => {\n const { level = 1, setSize = 1, posInSet = 1, parent = null, children = [] } = itemToDetail.get(item) ?? {};\n return {\n level,\n setSize,\n posInSet,\n isExpandable: expandableRows?.isItemExpandable(item) ?? true,\n isExpanded: expandedSet.has(item),\n onExpandableItemToggle: () =>\n fireNonCancelableEvent(expandableRows?.onExpandableItemToggle, { item, expanded: !expandedSet.has(item) }),\n expandButtonLabel: i18n('ariaLabels.expandButtonLabel', ariaLabels?.expandButtonLabel?.(item)),\n collapseButtonLabel: i18n('ariaLabels.collapseButtonLabel', ariaLabels?.collapseButtonLabel?.(item)),\n parent,\n children,\n itemsCount: expandableRows?.getItemsCount?.(item),\n selectedItemsCount: expandableRows?.getSelectedItemsCount?.(item),\n };\n };\n\n return {\n isExpandable,\n allItems,\n getExpandableItemProps,\n hasGroupSelection: !!expandableRows?.groupSelection,\n groupSelection: expandableRows?.groupSelection ?? { inverted: false, toggledItems: [] },\n onGroupSelectionChange: expandableRows?.onGroupSelectionChange,\n totalItemsCount: expandableRows?.totalItemsCount,\n totalSelectedItemsCount: expandableRows?.totalSelectedItemsCount,\n };\n}\n"]}
1
+ {"version":3,"file":"expandable-rows-utils.js","sourceRoot":"","sources":["../../../../src/table/expandable-rows/expandable-rows-utils.ts"],"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 { useInternalI18n } from '../../i18n/context';\nimport { fireNonCancelableEvent } from '../../internal/events';\nimport { TableProps } from '../interfaces';\nimport { ItemSet } from '../selection/utils';\n\ninterface ExpandableItemProps<T> extends ExpandableItemDetail<T> {\n isExpandable: boolean;\n isExpanded: boolean;\n onExpandableItemToggle: () => void;\n expandButtonLabel?: string;\n collapseButtonLabel?: string;\n itemsCount?: number;\n selectedItemsCount?: number;\n}\n\ninterface ExpandableItemDetail<T> {\n level: number;\n setSize: number;\n posInSet: number;\n parent: null | T;\n children: readonly T[];\n}\n\nexport interface InternalExpandableRowsProps<T> {\n isExpandable: boolean;\n allItems: readonly T[];\n getExpandableItemProps(item: T): ExpandableItemProps<T>;\n hasGroupSelection: boolean;\n groupSelection: TableProps.GroupSelectionState<T>;\n onGroupSelectionChange?: TableProps.OnGroupSelectionChange<T>;\n totalItemsCount?: number;\n totalSelectedItemsCount?: number;\n}\n\nexport function useExpandableTableProps<T>({\n items,\n expandableRows,\n trackBy,\n ariaLabels,\n}: {\n items: readonly T[];\n expandableRows?: TableProps.ExpandableRows<T>;\n trackBy?: TableProps.TrackBy<T>;\n ariaLabels?: TableProps.AriaLabels<T>;\n}): InternalExpandableRowsProps<T> {\n const i18n = useInternalI18n('table');\n const isExpandable = !!expandableRows;\n\n const expandedSet = new ItemSet(trackBy, expandableRows?.expandedItems ?? []);\n\n let allItems = items;\n const itemToDetail = new Map<T, ExpandableItemDetail<T>>();\n const getItemLevel = (item: T) => itemToDetail.get(item)?.level ?? 0;\n\n if (isExpandable) {\n const visibleItems = new Array<T>();\n\n const traverse = (item: T, detail: Omit<ExpandableItemDetail<T>, 'children'>, visible: boolean) => {\n const children = expandableRows.getItemChildren(item);\n itemToDetail.set(item, { ...detail, children });\n\n if (visible) {\n visibleItems.push(item);\n children.forEach((child, index) =>\n traverse(\n child,\n { level: detail.level + 1, setSize: children.length, posInSet: index + 1, parent: item },\n expandedSet.has(item)\n )\n );\n }\n };\n items.forEach((item, index) =>\n traverse(item, { level: 1, setSize: items.length, posInSet: index + 1, parent: null }, true)\n );\n\n for (let index = 0; index < visibleItems.length; index++) {\n const item = visibleItems[index];\n if (expandedSet.has(item)) {\n let insertionIndex = index + 1;\n for (insertionIndex; insertionIndex < visibleItems.length; insertionIndex++) {\n const insertionItem = visibleItems[insertionIndex];\n if (getItemLevel(item) >= getItemLevel(insertionItem)) {\n break;\n }\n }\n insertionIndex--;\n }\n }\n\n allItems = visibleItems;\n }\n\n const getExpandableItemProps = (item: T): ExpandableItemProps<T> => {\n const { level = 1, setSize = 1, posInSet = 1, parent = null, children = [] } = itemToDetail.get(item) ?? {};\n return {\n level,\n setSize,\n posInSet,\n isExpandable: expandableRows?.isItemExpandable(item) ?? true,\n isExpanded: expandedSet.has(item),\n onExpandableItemToggle: () =>\n fireNonCancelableEvent(expandableRows?.onExpandableItemToggle, { item, expanded: !expandedSet.has(item) }),\n expandButtonLabel: i18n('ariaLabels.expandButtonLabel', ariaLabels?.expandButtonLabel?.(item)),\n collapseButtonLabel: i18n('ariaLabels.collapseButtonLabel', ariaLabels?.collapseButtonLabel?.(item)),\n parent,\n children,\n itemsCount: expandableRows?.getItemsCount?.(item),\n selectedItemsCount: expandableRows?.getSelectedItemsCount?.(item),\n };\n };\n\n return {\n isExpandable,\n allItems,\n getExpandableItemProps,\n hasGroupSelection: !!expandableRows?.groupSelection,\n groupSelection: expandableRows?.groupSelection ?? { inverted: false, toggledItems: [] },\n onGroupSelectionChange: expandableRows?.onGroupSelectionChange,\n totalItemsCount: expandableRows?.totalItemsCount,\n totalSelectedItemsCount: expandableRows?.totalSelectedItemsCount,\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudscape-design/components-themeable",
3
- "version": "3.0.1202",
3
+ "version": "3.0.1204",
4
4
  "files": [
5
5
  "lib"
6
6
  ],