@terraware/web-components 1.0.3 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/Autocomplete.d.ts +16 -0
- package/components/Autocomplete.d.ts.map +1 -0
- package/components/Autocomplete.js +53 -0
- package/components/Button/Button.d.ts +18 -0
- package/components/Button/Button.d.ts.map +1 -0
- package/components/Button/Button.js +42 -0
- package/components/Button/button.test.d.ts +2 -0
- package/components/Button/button.test.d.ts.map +1 -0
- package/components/Button/button.test.js +33 -0
- package/components/Button/styles.scss +443 -0
- package/components/Checkbox.d.ts +12 -0
- package/components/Checkbox.d.ts.map +1 -0
- package/components/Checkbox.js +33 -0
- package/components/DatePicker.d.ts +19 -0
- package/components/DatePicker.d.ts.map +1 -0
- package/components/DatePicker.js +45 -0
- package/components/DialogBox/DialogBox.d.ts +16 -0
- package/components/DialogBox/DialogBox.d.ts.map +1 -0
- package/components/DialogBox/DialogBox.js +85 -0
- package/components/DialogBox/styles.scss +138 -0
- package/components/Divisor.d.ts +6 -0
- package/components/Divisor.d.ts.map +1 -0
- package/components/Divisor.js +24 -0
- package/components/Dropdown.d.ts +15 -0
- package/components/Dropdown.d.ts.map +1 -0
- package/components/Dropdown.js +59 -0
- package/components/Icon/Icon.d.ts +11 -0
- package/components/Icon/Icon.d.ts.map +1 -0
- package/components/Icon/Icon.js +25 -0
- package/components/Icon/icons/assets/BlobbyGrayIconUploadToTheCloud.d.ts +8 -0
- package/components/Icon/icons/assets/BlobbyGrayIconUploadToTheCloud.d.ts.map +1 -0
- package/components/Icon/icons/assets/BlobbyGrayIconUploadToTheCloud.js +41 -0
- package/components/Icon/icons/assets/BlobbyIconHappy.d.ts +8 -0
- package/components/Icon/icons/assets/BlobbyIconHappy.d.ts.map +1 -0
- package/components/Icon/icons/assets/BlobbyIconHappy.js +165 -0
- package/components/Icon/icons/assets/BlobbyIconHeartMonitor.d.ts +8 -0
- package/components/Icon/icons/assets/BlobbyIconHeartMonitor.d.ts.map +1 -0
- package/components/Icon/icons/assets/BlobbyIconHeartMonitor.js +165 -0
- package/components/Icon/icons/assets/BlobbyIconLeaf.d.ts +8 -0
- package/components/Icon/icons/assets/BlobbyIconLeaf.d.ts.map +1 -0
- package/components/Icon/icons/assets/BlobbyIconLeaf.js +165 -0
- package/components/Icon/icons/assets/BlobbyIconLibrary.d.ts +8 -0
- package/components/Icon/icons/assets/BlobbyIconLibrary.d.ts.map +1 -0
- package/components/Icon/icons/assets/BlobbyIconLibrary.js +165 -0
- package/components/Icon/icons/assets/BlobbyIconOrganization.d.ts +8 -0
- package/components/Icon/icons/assets/BlobbyIconOrganization.d.ts.map +1 -0
- package/components/Icon/icons/assets/BlobbyIconOrganization.js +158 -0
- package/components/Icon/icons/assets/BlobbyIconPeople.d.ts +8 -0
- package/components/Icon/icons/assets/BlobbyIconPeople.d.ts.map +1 -0
- package/components/Icon/icons/assets/BlobbyIconPeople.js +158 -0
- package/components/Icon/icons/assets/BlobbyIconSeedBank.d.ts +8 -0
- package/components/Icon/icons/assets/BlobbyIconSeedBank.d.ts.map +1 -0
- package/components/Icon/icons/assets/BlobbyIconSeedBank.js +165 -0
- package/components/Icon/icons/assets/BlobbyIconWrench.d.ts +8 -0
- package/components/Icon/icons/assets/BlobbyIconWrench.d.ts.map +1 -0
- package/components/Icon/icons/assets/BlobbyIconWrench.js +165 -0
- package/components/Icon/icons/assets/Bug.d.ts +8 -0
- package/components/Icon/icons/assets/Bug.d.ts.map +1 -0
- package/components/Icon/icons/assets/Bug.js +36 -0
- package/components/Icon/icons/assets/Calendar.d.ts +8 -0
- package/components/Icon/icons/assets/Calendar.d.ts.map +1 -0
- package/components/Icon/icons/assets/Calendar.js +35 -0
- package/components/Icon/icons/assets/CaretDown.d.ts +8 -0
- package/components/Icon/icons/assets/CaretDown.d.ts.map +1 -0
- package/components/Icon/icons/assets/CaretDown.js +35 -0
- package/components/Icon/icons/assets/CaretLeft.d.ts +8 -0
- package/components/Icon/icons/assets/CaretLeft.d.ts.map +1 -0
- package/components/Icon/icons/assets/CaretLeft.js +35 -0
- package/components/Icon/icons/assets/CaretUp.d.ts +8 -0
- package/components/Icon/icons/assets/CaretUp.d.ts.map +1 -0
- package/components/Icon/icons/assets/CaretUp.js +35 -0
- package/components/Icon/icons/assets/ChevronDown.d.ts +8 -0
- package/components/Icon/icons/assets/ChevronDown.d.ts.map +1 -0
- package/components/Icon/icons/assets/ChevronDown.js +36 -0
- package/components/Icon/icons/assets/ChevronUp.d.ts +8 -0
- package/components/Icon/icons/assets/ChevronUp.d.ts.map +1 -0
- package/components/Icon/icons/assets/ChevronUp.js +35 -0
- package/components/Icon/icons/assets/Close.d.ts +8 -0
- package/components/Icon/icons/assets/Close.d.ts.map +1 -0
- package/components/Icon/icons/assets/Close.js +35 -0
- package/components/Icon/icons/assets/Critical.d.ts +8 -0
- package/components/Icon/icons/assets/Critical.d.ts.map +1 -0
- package/components/Icon/icons/assets/Critical.js +35 -0
- package/components/Icon/icons/assets/Edit.d.ts +8 -0
- package/components/Icon/icons/assets/Edit.d.ts.map +1 -0
- package/components/Icon/icons/assets/Edit.js +158 -0
- package/components/Icon/icons/assets/Error.d.ts +8 -0
- package/components/Icon/icons/assets/Error.d.ts.map +1 -0
- package/components/Icon/icons/assets/Error.js +35 -0
- package/components/Icon/icons/assets/Export.d.ts +8 -0
- package/components/Icon/icons/assets/Export.d.ts.map +1 -0
- package/components/Icon/icons/assets/Export.js +36 -0
- package/components/Icon/icons/assets/Filter.d.ts +8 -0
- package/components/Icon/icons/assets/Filter.d.ts.map +1 -0
- package/components/Icon/icons/assets/Filter.js +36 -0
- package/components/Icon/icons/assets/Folder.d.ts +8 -0
- package/components/Icon/icons/assets/Folder.d.ts.map +1 -0
- package/components/Icon/icons/assets/Folder.js +35 -0
- package/components/Icon/icons/assets/Help.d.ts +8 -0
- package/components/Icon/icons/assets/Help.d.ts.map +1 -0
- package/components/Icon/icons/assets/Help.js +35 -0
- package/components/Icon/icons/assets/Home.d.ts +8 -0
- package/components/Icon/icons/assets/Home.d.ts.map +1 -0
- package/components/Icon/icons/assets/Home.js +35 -0
- package/components/Icon/icons/assets/IconCancel.d.ts +8 -0
- package/components/Icon/icons/assets/IconCancel.d.ts.map +1 -0
- package/components/Icon/icons/assets/IconCancel.js +36 -0
- package/components/Icon/icons/assets/IconChargingBattery.d.ts +8 -0
- package/components/Icon/icons/assets/IconChargingBattery.d.ts.map +1 -0
- package/components/Icon/icons/assets/IconChargingBattery.js +36 -0
- package/components/Icon/icons/assets/IconCheckmark.d.ts +8 -0
- package/components/Icon/icons/assets/IconCheckmark.d.ts.map +1 -0
- package/components/Icon/icons/assets/IconCheckmark.js +36 -0
- package/components/Icon/icons/assets/IconDashboard.d.ts +8 -0
- package/components/Icon/icons/assets/IconDashboard.d.ts.map +1 -0
- package/components/Icon/icons/assets/IconDashboard.js +36 -0
- package/components/Icon/icons/assets/IconHeartMonitor.d.ts +8 -0
- package/components/Icon/icons/assets/IconHeartMonitor.d.ts.map +1 -0
- package/components/Icon/icons/assets/IconHeartMonitor.js +35 -0
- package/components/Icon/icons/assets/IconMail.d.ts +8 -0
- package/components/Icon/icons/assets/IconMail.d.ts.map +1 -0
- package/components/Icon/icons/assets/IconMail.js +36 -0
- package/components/Icon/icons/assets/IconManager.d.ts +8 -0
- package/components/Icon/icons/assets/IconManager.d.ts.map +1 -0
- package/components/Icon/icons/assets/IconManager.js +36 -0
- package/components/Icon/icons/assets/IconMenu.d.ts +8 -0
- package/components/Icon/icons/assets/IconMenu.d.ts.map +1 -0
- package/components/Icon/icons/assets/IconMenu.js +36 -0
- package/components/Icon/icons/assets/IconOrg.d.ts +8 -0
- package/components/Icon/icons/assets/IconOrg.d.ts.map +1 -0
- package/components/Icon/icons/assets/IconOrg.js +36 -0
- package/components/Icon/icons/assets/IconSeedBank.d.ts +8 -0
- package/components/Icon/icons/assets/IconSeedBank.d.ts.map +1 -0
- package/components/Icon/icons/assets/IconSeedBank.js +35 -0
- package/components/Icon/icons/assets/IconWifi.d.ts +8 -0
- package/components/Icon/icons/assets/IconWifi.d.ts.map +1 -0
- package/components/Icon/icons/assets/IconWifi.js +36 -0
- package/components/Icon/icons/assets/Info.d.ts +8 -0
- package/components/Icon/icons/assets/Info.d.ts.map +1 -0
- package/components/Icon/icons/assets/Info.js +35 -0
- package/components/Icon/icons/assets/Key.d.ts +8 -0
- package/components/Icon/icons/assets/Key.d.ts.map +1 -0
- package/components/Icon/icons/assets/Key.js +35 -0
- package/components/Icon/icons/assets/Leaf.d.ts +8 -0
- package/components/Icon/icons/assets/Leaf.d.ts.map +1 -0
- package/components/Icon/icons/assets/Leaf.js +35 -0
- package/components/Icon/icons/assets/Lock.d.ts +8 -0
- package/components/Icon/icons/assets/Lock.d.ts.map +1 -0
- package/components/Icon/icons/assets/Lock.js +34 -0
- package/components/Icon/icons/assets/MenuVertical.d.ts +8 -0
- package/components/Icon/icons/assets/MenuVertical.d.ts.map +1 -0
- package/components/Icon/icons/assets/MenuVertical.js +36 -0
- package/components/Icon/icons/assets/Notification.d.ts +8 -0
- package/components/Icon/icons/assets/Notification.d.ts.map +1 -0
- package/components/Icon/icons/assets/Notification.js +35 -0
- package/components/Icon/icons/assets/Person.d.ts +8 -0
- package/components/Icon/icons/assets/Person.d.ts.map +1 -0
- package/components/Icon/icons/assets/Person.js +35 -0
- package/components/Icon/icons/assets/Plus.d.ts +8 -0
- package/components/Icon/icons/assets/Plus.d.ts.map +1 -0
- package/components/Icon/icons/assets/Plus.js +35 -0
- package/components/Icon/icons/assets/RestorationSite.d.ts +8 -0
- package/components/Icon/icons/assets/RestorationSite.d.ts.map +1 -0
- package/components/Icon/icons/assets/RestorationSite.js +35 -0
- package/components/Icon/icons/assets/Search.d.ts +8 -0
- package/components/Icon/icons/assets/Search.d.ts.map +1 -0
- package/components/Icon/icons/assets/Search.js +35 -0
- package/components/Icon/icons/assets/Seeds.d.ts +8 -0
- package/components/Icon/icons/assets/Seeds.d.ts.map +1 -0
- package/components/Icon/icons/assets/Seeds.js +35 -0
- package/components/Icon/icons/assets/Site.d.ts +8 -0
- package/components/Icon/icons/assets/Site.d.ts.map +1 -0
- package/components/Icon/icons/assets/Site.js +35 -0
- package/components/Icon/icons/assets/Sparkles.d.ts +8 -0
- package/components/Icon/icons/assets/Sparkles.d.ts.map +1 -0
- package/components/Icon/icons/assets/Sparkles.js +36 -0
- package/components/Icon/icons/assets/Species.d.ts +8 -0
- package/components/Icon/icons/assets/Species.d.ts.map +1 -0
- package/components/Icon/icons/assets/Species.js +35 -0
- package/components/Icon/icons/assets/Species2.d.ts +8 -0
- package/components/Icon/icons/assets/Species2.d.ts.map +1 -0
- package/components/Icon/icons/assets/Species2.js +158 -0
- package/components/Icon/icons/assets/Spinner.d.ts +8 -0
- package/components/Icon/icons/assets/Spinner.d.ts.map +1 -0
- package/components/Icon/icons/assets/Spinner.js +61 -0
- package/components/Icon/icons/assets/Success.d.ts +8 -0
- package/components/Icon/icons/assets/Success.d.ts.map +1 -0
- package/components/Icon/icons/assets/Success.js +35 -0
- package/components/Icon/icons/assets/Touchscreen.d.ts +8 -0
- package/components/Icon/icons/assets/Touchscreen.d.ts.map +1 -0
- package/components/Icon/icons/assets/Touchscreen.js +36 -0
- package/components/Icon/icons/assets/UploadCloud.d.ts +8 -0
- package/components/Icon/icons/assets/UploadCloud.d.ts.map +1 -0
- package/components/Icon/icons/assets/UploadCloud.js +158 -0
- package/components/Icon/icons/assets/Warning.d.ts +8 -0
- package/components/Icon/icons/assets/Warning.d.ts.map +1 -0
- package/components/Icon/icons/assets/Warning.js +35 -0
- package/components/Icon/icons/assets/index.d.ts +57 -0
- package/components/Icon/icons/assets/index.d.ts.map +1 -0
- package/components/Icon/icons/assets/index.js +455 -0
- package/components/Icon/icons/index.d.ts +8 -0
- package/components/Icon/icons/index.d.ts.map +1 -0
- package/components/Icon/icons/index.js +179 -0
- package/components/Icon/styles.scss +43 -0
- package/components/Navbar/NavFooter.d.ts +7 -0
- package/components/Navbar/NavFooter.d.ts.map +1 -0
- package/components/Navbar/NavFooter.js +19 -0
- package/components/Navbar/NavItem.d.ts +13 -0
- package/components/Navbar/NavItem.d.ts.map +1 -0
- package/components/Navbar/NavItem.js +42 -0
- package/components/Navbar/NavSection.d.ts +7 -0
- package/components/Navbar/NavSection.d.ts.map +1 -0
- package/components/Navbar/NavSection.js +23 -0
- package/components/Navbar/Navbar.d.ts +8 -0
- package/components/Navbar/Navbar.d.ts.map +1 -0
- package/components/Navbar/Navbar.js +64 -0
- package/components/Navbar/logo.svg +25 -0
- package/components/Navbar/styles.scss +159 -0
- package/components/Note.d.ts +6 -0
- package/components/Note.d.ts.map +1 -0
- package/components/Note.js +35 -0
- package/components/ProgressCircle/ProgressCircle.d.ts +10 -0
- package/components/ProgressCircle/ProgressCircle.d.ts.map +1 -0
- package/components/ProgressCircle/ProgressCircle.js +37 -0
- package/components/ProgressCircle/styles.scss +84 -0
- package/components/RadioButton.d.ts +10 -0
- package/components/RadioButton.d.ts.map +1 -0
- package/components/RadioButton.js +31 -0
- package/components/Select/Select.d.ts +23 -0
- package/components/Select/Select.d.ts.map +1 -0
- package/components/Select/Select.js +248 -0
- package/components/Select/styles.scss +282 -0
- package/components/Size.d.ts +2 -0
- package/components/Size.d.ts.map +1 -0
- package/components/Size.js +5 -0
- package/components/SummaryBox.d.ts +11 -0
- package/components/SummaryBox.d.ts.map +1 -0
- package/components/SummaryBox.js +79 -0
- package/components/Textfield/Textfield.d.ts +27 -0
- package/components/Textfield/Textfield.d.ts.map +1 -0
- package/components/Textfield/Textfield.js +123 -0
- package/components/Textfield/styles.scss +216 -0
- package/components/table/EnhancedTableToolbar.d.ts +9 -0
- package/components/table/EnhancedTableToolbar.d.ts.map +1 -0
- package/components/table/EnhancedTableToolbar.js +53 -0
- package/components/table/TableCellRenderer.d.ts +26 -0
- package/components/table/TableCellRenderer.d.ts.map +1 -0
- package/components/table/TableCellRenderer.js +166 -0
- package/components/table/TableHeader.d.ts +16 -0
- package/components/table/TableHeader.d.ts.map +1 -0
- package/components/table/TableHeader.js +68 -0
- package/components/table/TableHeaderItem.d.ts +17 -0
- package/components/table/TableHeaderItem.d.ts.map +1 -0
- package/components/table/TableHeaderItem.js +77 -0
- package/components/table/index.d.ts +40 -0
- package/components/table/index.d.ts.map +1 -0
- package/components/table/index.js +322 -0
- package/components/table/sort.d.ts +9 -0
- package/components/table/sort.d.ts.map +1 -0
- package/components/table/sort.js +51 -0
- package/components/table/types.d.ts +22 -0
- package/components/table/types.d.ts.map +1 -0
- package/components/table/types.js +5 -0
- package/fonts/Inter.ttf +0 -0
- package/index.css +13 -0
- package/index.d.ts +28 -0
- package/index.d.ts.map +1 -0
- package/license-report.html +50 -0
- package/package.json +1 -77
- package/setupTests.d.ts +2 -0
- package/setupTests.d.ts.map +1 -0
- package/setupTests.js +5 -0
- package/stories/Autocomplete.stories.d.ts +9 -0
- package/stories/Autocomplete.stories.d.ts.map +1 -0
- package/stories/Button.stories.d.ts +35 -0
- package/stories/Button.stories.d.ts.map +1 -0
- package/stories/Checkbox.stories.d.ts +9 -0
- package/stories/Checkbox.stories.d.ts.map +1 -0
- package/stories/DatePicker.stories.d.ts +11 -0
- package/stories/DatePicker.stories.d.ts.map +1 -0
- package/stories/DialogBox.stories.d.ts +14 -0
- package/stories/DialogBox.stories.d.ts.map +1 -0
- package/stories/Divisor.stories.d.ts +20 -0
- package/stories/Divisor.stories.d.ts.map +1 -0
- package/stories/Dropdown.stories.d.ts +9 -0
- package/stories/Dropdown.stories.d.ts.map +1 -0
- package/stories/Icon.stories.d.ts +9 -0
- package/stories/Icon.stories.d.ts.map +1 -0
- package/stories/Navbar.stories.d.ts +10 -0
- package/stories/Navbar.stories.d.ts.map +1 -0
- package/stories/Note.stories.d.ts +9 -0
- package/stories/Note.stories.d.ts.map +1 -0
- package/stories/ProgressCircle.stories.d.ts +9 -0
- package/stories/ProgressCircle.stories.d.ts.map +1 -0
- package/stories/RadioButton.stories.d.ts +9 -0
- package/stories/RadioButton.stories.d.ts.map +1 -0
- package/stories/Select.stories.d.ts +9 -0
- package/stories/Select.stories.d.ts.map +1 -0
- package/stories/SummaryBox.stories.d.ts +11 -0
- package/stories/SummaryBox.stories.d.ts.map +1 -0
- package/stories/Table.stories.d.ts +12 -0
- package/stories/Table.stories.d.ts.map +1 -0
- package/stories/TextfieldNew.stories.d.ts +29 -0
- package/stories/TextfieldNew.stories.d.ts.map +1 -0
- package/style-dictionary-dist/button_variables.scss +299 -0
- package/style-dictionary-dist/dialogBox_variables.scss +251 -0
- package/style-dictionary-dist/navbar_variables.scss +257 -0
- package/style-dictionary-dist/progressCircle_variables.scss +251 -0
- package/style-dictionary-dist/textfield_variables.scss +297 -0
- package/theme.d.ts +60 -0
- package/theme.d.ts.map +1 -0
- package/theme.js +76 -0
- package/utils/date.d.ts +3 -0
- package/utils/date.d.ts.map +1 -0
- package/utils/date.js +13 -0
- package/utils/index.d.ts +6 -0
- package/utils/index.d.ts.map +1 -0
- package/utils/index.js +39 -0
- package/utils/preventDefaultEvent.d.ts +4 -0
- package/utils/preventDefaultEvent.d.ts.map +1 -0
- package/utils/preventDefaultEvent.js +13 -0
- package/utils/text.d.ts +3 -0
- package/utils/text.d.ts.map +1 -0
- package/utils/text.js +13 -0
- package/utils/useDeviceInfo.d.ts +42 -0
- package/utils/useDeviceInfo.d.ts.map +1 -0
- package/utils/useDeviceInfo.js +87 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SortOrder } from './sort';
|
|
3
|
+
import { DetailsRendererProps, RendererProps, TableColumnType } from './types';
|
|
4
|
+
export interface HeadCell {
|
|
5
|
+
disablePadding: boolean;
|
|
6
|
+
id: string;
|
|
7
|
+
label: string | JSX.Element;
|
|
8
|
+
}
|
|
9
|
+
export interface Props<T> {
|
|
10
|
+
id?: string;
|
|
11
|
+
orderBy: string;
|
|
12
|
+
order?: SortOrder;
|
|
13
|
+
columns: TableColumnType[];
|
|
14
|
+
rows: T[];
|
|
15
|
+
Renderer?: (props: RendererProps<T>) => JSX.Element;
|
|
16
|
+
onSelect?: (value: T) => void;
|
|
17
|
+
DetailsRenderer?: (props: DetailsRendererProps) => JSX.Element;
|
|
18
|
+
sortComparator?: (a: T, b: T, orderBy: keyof T) => 1 | -1 | 0;
|
|
19
|
+
sortHandler?: (order: SortOrder, orderBy: string) => void;
|
|
20
|
+
isInactive?: (row: T) => boolean;
|
|
21
|
+
onReorderEnd?: ({ oldIndex, newIndex }: any) => void;
|
|
22
|
+
isClickable?: (row: T) => boolean;
|
|
23
|
+
emptyTableMessage?: string;
|
|
24
|
+
showCheckbox?: boolean;
|
|
25
|
+
showTopBar?: boolean;
|
|
26
|
+
topBarButtons?: TopBarButton[];
|
|
27
|
+
selectedRows?: T[];
|
|
28
|
+
setSelectedRows?: React.Dispatch<React.SetStateAction<T[]>>;
|
|
29
|
+
showPagination?: boolean;
|
|
30
|
+
controlledOnSelect?: boolean;
|
|
31
|
+
reloadData?: () => void;
|
|
32
|
+
}
|
|
33
|
+
export declare type TopBarButton = {
|
|
34
|
+
buttonText: string;
|
|
35
|
+
buttonType: 'productive' | 'passive' | 'destructive' | undefined;
|
|
36
|
+
onButtonClick: () => void;
|
|
37
|
+
};
|
|
38
|
+
export default function EnhancedTable<T>({ id, columns, rows, order: _order, orderBy: _orderBy, Renderer, onSelect, DetailsRenderer, sortComparator, sortHandler, isInactive, onReorderEnd, isClickable, emptyTableMessage, showCheckbox, showTopBar, topBarButtons, selectedRows, setSelectedRows, showPagination, controlledOnSelect, reloadData, }: Props<T>): JSX.Element;
|
|
39
|
+
export declare function tableSort<T>(ignore: boolean, array: T[], comparator: (a: T, b: T) => number): T[];
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/table/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAuC,SAAS,EAAc,MAAM,QAAQ,CAAC;AAGpF,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA0B/E,MAAM,WAAW,QAAQ;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC;IACpD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC/D,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;IACjC,YAAY,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC;IACrD,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;IACnB,eAAe,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,oBAAY,YAAY,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;IACjE,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,EAAE,EACvC,EAAE,EACF,OAAO,EACP,IAAI,EACJ,KAAK,EAAE,MAAc,EACrB,OAAO,EAAE,QAAQ,EACjB,QAA4B,EAC5B,QAAQ,EACR,eAAe,EACf,cAAqC,EACrC,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAqB,EACrB,kBAAkB,EAClB,UAAU,GACX,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAwMxB;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,EAAE,CAMjG"}
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = EnhancedTable;
|
|
9
|
+
exports.tableSort = tableSort;
|
|
10
|
+
|
|
11
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
12
|
+
|
|
13
|
+
var _material = require("@mui/material");
|
|
14
|
+
|
|
15
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
16
|
+
|
|
17
|
+
var _EnhancedTableToolbar = _interopRequireDefault(require("./EnhancedTableToolbar"));
|
|
18
|
+
|
|
19
|
+
var _sort = require("./sort");
|
|
20
|
+
|
|
21
|
+
var _TableCellRenderer = _interopRequireDefault(require("./TableCellRenderer"));
|
|
22
|
+
|
|
23
|
+
var _TableHeader = _interopRequireDefault(require("./TableHeader"));
|
|
24
|
+
|
|
25
|
+
var _styles = require("@mui/styles");
|
|
26
|
+
|
|
27
|
+
var _core = require("@dnd-kit/core");
|
|
28
|
+
|
|
29
|
+
var _sortable = require("@dnd-kit/sortable");
|
|
30
|
+
|
|
31
|
+
var _utils = require("../../utils");
|
|
32
|
+
|
|
33
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
34
|
+
|
|
35
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
36
|
+
|
|
37
|
+
var tableStyles = (0, _styles.makeStyles)(function (theme) {
|
|
38
|
+
return {
|
|
39
|
+
hover: {
|
|
40
|
+
'&:hover': {
|
|
41
|
+
cursor: 'pointer',
|
|
42
|
+
backgroundColor: "".concat(theme.palette.neutral[100], "!important")
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
table: {
|
|
46
|
+
borderCollapse: 'initial'
|
|
47
|
+
},
|
|
48
|
+
inactiveRow: {
|
|
49
|
+
background: theme.palette.neutral[50]
|
|
50
|
+
},
|
|
51
|
+
tableRow: {
|
|
52
|
+
'&.MuiTableRow-root.Mui-selected': {
|
|
53
|
+
backgroundColor: 'initial'
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
function EnhancedTable(_ref) {
|
|
60
|
+
var id = _ref.id,
|
|
61
|
+
columns = _ref.columns,
|
|
62
|
+
rows = _ref.rows,
|
|
63
|
+
_ref$order = _ref.order,
|
|
64
|
+
_order = _ref$order === void 0 ? 'asc' : _ref$order,
|
|
65
|
+
_orderBy = _ref.orderBy,
|
|
66
|
+
_ref$Renderer = _ref.Renderer,
|
|
67
|
+
Renderer = _ref$Renderer === void 0 ? _TableCellRenderer.default : _ref$Renderer,
|
|
68
|
+
onSelect = _ref.onSelect,
|
|
69
|
+
DetailsRenderer = _ref.DetailsRenderer,
|
|
70
|
+
_ref$sortComparator = _ref.sortComparator,
|
|
71
|
+
sortComparator = _ref$sortComparator === void 0 ? _sort.descendingComparator : _ref$sortComparator,
|
|
72
|
+
sortHandler = _ref.sortHandler,
|
|
73
|
+
isInactive = _ref.isInactive,
|
|
74
|
+
onReorderEnd = _ref.onReorderEnd,
|
|
75
|
+
isClickable = _ref.isClickable,
|
|
76
|
+
emptyTableMessage = _ref.emptyTableMessage,
|
|
77
|
+
showCheckbox = _ref.showCheckbox,
|
|
78
|
+
showTopBar = _ref.showTopBar,
|
|
79
|
+
topBarButtons = _ref.topBarButtons,
|
|
80
|
+
selectedRows = _ref.selectedRows,
|
|
81
|
+
setSelectedRows = _ref.setSelectedRows,
|
|
82
|
+
_ref$showPagination = _ref.showPagination,
|
|
83
|
+
showPagination = _ref$showPagination === void 0 ? true : _ref$showPagination,
|
|
84
|
+
controlledOnSelect = _ref.controlledOnSelect,
|
|
85
|
+
reloadData = _ref.reloadData;
|
|
86
|
+
|
|
87
|
+
var classes = tableStyles();
|
|
88
|
+
|
|
89
|
+
var _React$useState = _react.default.useState(_order),
|
|
90
|
+
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
91
|
+
order = _React$useState2[0],
|
|
92
|
+
setOrder = _React$useState2[1];
|
|
93
|
+
|
|
94
|
+
var _React$useState3 = _react.default.useState(_orderBy),
|
|
95
|
+
_React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
|
|
96
|
+
orderBy = _React$useState4[0],
|
|
97
|
+
setOrderBy = _React$useState4[1];
|
|
98
|
+
|
|
99
|
+
var _useState = (0, _react.useState)(100),
|
|
100
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 1),
|
|
101
|
+
maxItemsPerPage = _useState2[0];
|
|
102
|
+
|
|
103
|
+
var _useState3 = (0, _react.useState)(0),
|
|
104
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
105
|
+
itemsToSkip = _useState4[0],
|
|
106
|
+
setItemsToSkip = _useState4[1];
|
|
107
|
+
|
|
108
|
+
var _useDeviceInfo = (0, _utils.useDeviceInfo)(),
|
|
109
|
+
isMobile = _useDeviceInfo.isMobile;
|
|
110
|
+
|
|
111
|
+
(0, _react.useEffect)(function () {
|
|
112
|
+
if (setSelectedRows && rows.length >= 0) {
|
|
113
|
+
setSelectedRows(function (currentlySelectedRows) {
|
|
114
|
+
var emptyArray = [];
|
|
115
|
+
|
|
116
|
+
if (rows.length || currentlySelectedRows.length > rows.length) {
|
|
117
|
+
return emptyArray;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
return currentlySelectedRows;
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}, [rows, setSelectedRows]);
|
|
124
|
+
|
|
125
|
+
var handleRequestSort = function handleRequestSort(event, property) {
|
|
126
|
+
var isAsc = orderBy === property && order === 'asc';
|
|
127
|
+
var newOrder = isAsc ? 'desc' : 'asc';
|
|
128
|
+
setOrder(newOrder);
|
|
129
|
+
setOrderBy(property);
|
|
130
|
+
|
|
131
|
+
if (sortHandler) {
|
|
132
|
+
sortHandler(newOrder, property);
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
var hasEditColumn = columns.filter(function (c) {
|
|
137
|
+
return c.type === 'edit';
|
|
138
|
+
}).length > 0;
|
|
139
|
+
|
|
140
|
+
var isSelected = function isSelected(row) {
|
|
141
|
+
return selectedRows && selectedRows.indexOf(row) !== -1;
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
var handleSelectAllClick = function handleSelectAllClick(event) {
|
|
145
|
+
if (setSelectedRows) {
|
|
146
|
+
if (event.target.checked) {
|
|
147
|
+
setSelectedRows(rows);
|
|
148
|
+
return;
|
|
149
|
+
} else {
|
|
150
|
+
setSelectedRows([]);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
var handleClick = function handleClick(event, row) {
|
|
156
|
+
if (setSelectedRows && selectedRows) {
|
|
157
|
+
var selectedIndex = selectedRows.indexOf(row);
|
|
158
|
+
var newSelected = [];
|
|
159
|
+
|
|
160
|
+
if (selectedIndex === -1) {
|
|
161
|
+
newSelected = newSelected.concat(selectedRows, row);
|
|
162
|
+
} else if (selectedIndex === 0) {
|
|
163
|
+
newSelected = newSelected.concat(selectedRows.slice(1));
|
|
164
|
+
} else if (selectedIndex === selectedRows.length - 1) {
|
|
165
|
+
newSelected = newSelected.concat(selectedRows.slice(0, -1));
|
|
166
|
+
} else if (selectedIndex > 0) {
|
|
167
|
+
newSelected = newSelected.concat(selectedRows.slice(0, selectedIndex), selectedRows.slice(selectedIndex + 1));
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
setSelectedRows(newSelected);
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
var handleChangePage = function handleChangePage(event, newPage) {
|
|
175
|
+
setItemsToSkip(maxItemsPerPage * (newPage - 1));
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
function columnsToHeadCells(columnsR) {
|
|
179
|
+
return columnsR.map(function (c) {
|
|
180
|
+
return {
|
|
181
|
+
id: c.key,
|
|
182
|
+
disablePadding: false,
|
|
183
|
+
label: typeof c.name === 'string' ? c.name.toUpperCase() : c.name
|
|
184
|
+
};
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
var _React$useState5 = _react.default.useState(columnsToHeadCells(columns)),
|
|
189
|
+
_React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
|
|
190
|
+
headCells = _React$useState6[0],
|
|
191
|
+
setHeadCells = _React$useState6[1];
|
|
192
|
+
|
|
193
|
+
_react.default.useEffect(function () {
|
|
194
|
+
setHeadCells(columnsToHeadCells(columns));
|
|
195
|
+
}, [columns]);
|
|
196
|
+
|
|
197
|
+
var sensors = (0, _core.useSensors)((0, _core.useSensor)(_core.MouseSensor), (0, _core.useSensor)(_core.TouchSensor), (0, _core.useSensor)(_core.KeyboardSensor, {
|
|
198
|
+
coordinateGetter: _sortable.sortableKeyboardCoordinates
|
|
199
|
+
}));
|
|
200
|
+
|
|
201
|
+
function handleDragEnd(event) {
|
|
202
|
+
var active = event.active,
|
|
203
|
+
over = event.over;
|
|
204
|
+
|
|
205
|
+
if (active && over && active.id !== over.id && onReorderEnd) {
|
|
206
|
+
var oldIndex = headCells.findIndex(function (item) {
|
|
207
|
+
return item.id === active.id;
|
|
208
|
+
});
|
|
209
|
+
var newIndex = headCells.findIndex(function (item) {
|
|
210
|
+
return item.id === over.id;
|
|
211
|
+
});
|
|
212
|
+
onReorderEnd({
|
|
213
|
+
oldIndex: oldIndex,
|
|
214
|
+
newIndex: newIndex
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, showTopBar && /*#__PURE__*/_react.default.createElement(_EnhancedTableToolbar.default, {
|
|
220
|
+
numSelected: selectedRows ? selectedRows.length : 0,
|
|
221
|
+
topBarButtons: topBarButtons
|
|
222
|
+
}), /*#__PURE__*/_react.default.createElement(_material.TableContainer, {
|
|
223
|
+
id: id
|
|
224
|
+
}, /*#__PURE__*/_react.default.createElement(_core.DndContext, {
|
|
225
|
+
sensors: sensors,
|
|
226
|
+
onDragEnd: handleDragEnd
|
|
227
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Table, {
|
|
228
|
+
stickyHeader: true,
|
|
229
|
+
"aria-labelledby": "tableTitle",
|
|
230
|
+
size: "medium",
|
|
231
|
+
"aria-label": "enhanced table",
|
|
232
|
+
className: classes.table
|
|
233
|
+
}, /*#__PURE__*/_react.default.createElement(_TableHeader.default, {
|
|
234
|
+
order: order,
|
|
235
|
+
orderBy: orderBy,
|
|
236
|
+
onRequestSort: handleRequestSort,
|
|
237
|
+
columns: columns,
|
|
238
|
+
onReorderEnd: onReorderEnd,
|
|
239
|
+
numSelected: showCheckbox ? selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows.length : undefined,
|
|
240
|
+
onSelectAllClick: showCheckbox ? handleSelectAllClick : undefined,
|
|
241
|
+
rowCount: showCheckbox ? rows === null || rows === void 0 ? void 0 : rows.length : undefined
|
|
242
|
+
}), /*#__PURE__*/_react.default.createElement(_material.TableBody, null, rows.length < 1 && emptyTableMessage && /*#__PURE__*/_react.default.createElement(_material.TableRow, null, /*#__PURE__*/_react.default.createElement(_material.TableCell, {
|
|
243
|
+
colSpan: columns.length + 1,
|
|
244
|
+
align: "center"
|
|
245
|
+
}, /*#__PURE__*/_react.default.createElement("p", null, emptyTableMessage))), rows && (0, _sort.stableSort)(rows.slice(itemsToSkip, itemsToSkip + maxItemsPerPage), (0, _sort.getComparator)(order, orderBy, sortComparator)).map(function (row, index) {
|
|
246
|
+
var _onClick = onSelect && !controlledOnSelect ? function () {
|
|
247
|
+
return onSelect(row);
|
|
248
|
+
} : undefined;
|
|
249
|
+
|
|
250
|
+
var isItemSelected = isSelected(row);
|
|
251
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
|
|
252
|
+
key: index
|
|
253
|
+
}, /*#__PURE__*/_react.default.createElement(_material.TableRow, {
|
|
254
|
+
id: "row".concat(index + 1),
|
|
255
|
+
classes: {
|
|
256
|
+
hover: classes.hover
|
|
257
|
+
},
|
|
258
|
+
hover: Boolean(onSelect) && (isClickable ? isClickable(row) : true) && !hasEditColumn,
|
|
259
|
+
onClick: function onClick(e) {
|
|
260
|
+
e.stopPropagation();
|
|
261
|
+
|
|
262
|
+
if (_onClick && !hasEditColumn && (isClickable ? isClickable(row) : true)) {
|
|
263
|
+
_onClick();
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
if (!_onClick && !hasEditColumn && (isClickable ? isClickable(row) : true)) {
|
|
267
|
+
handleClick(e, row);
|
|
268
|
+
}
|
|
269
|
+
},
|
|
270
|
+
className: "".concat(isInactive && isInactive(row) ? classes.inactiveRow : undefined, " ").concat(classes.tableRow),
|
|
271
|
+
selected: isItemSelected,
|
|
272
|
+
"aria-checked": isItemSelected
|
|
273
|
+
}, showCheckbox && /*#__PURE__*/_react.default.createElement(_material.TableCell, {
|
|
274
|
+
padding: "checkbox"
|
|
275
|
+
}, /*#__PURE__*/_react.default.createElement(_material.Checkbox, {
|
|
276
|
+
color: "primary",
|
|
277
|
+
checked: isItemSelected
|
|
278
|
+
})), columns.map(function (c) {
|
|
279
|
+
return /*#__PURE__*/_react.default.createElement(Renderer, {
|
|
280
|
+
index: index + 1,
|
|
281
|
+
key: c.key,
|
|
282
|
+
row: row,
|
|
283
|
+
column: c,
|
|
284
|
+
value: row[c.key],
|
|
285
|
+
onRowClick: onSelect && controlledOnSelect ? function () {
|
|
286
|
+
return onSelect(row);
|
|
287
|
+
} : _onClick,
|
|
288
|
+
reloadData: reloadData
|
|
289
|
+
});
|
|
290
|
+
})), DetailsRenderer && /*#__PURE__*/_react.default.createElement(DetailsRenderer, {
|
|
291
|
+
index: index,
|
|
292
|
+
row: row
|
|
293
|
+
}));
|
|
294
|
+
}))))), showPagination && /*#__PURE__*/_react.default.createElement(_material.Box, {
|
|
295
|
+
display: "flex",
|
|
296
|
+
alignItems: "center",
|
|
297
|
+
justifyContent: "flex-end",
|
|
298
|
+
paddingTop: "24px",
|
|
299
|
+
paddingBottom: "24px"
|
|
300
|
+
}, itemsToSkip + maxItemsPerPage < rows.length ? /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
301
|
+
paddingRight: "24px",
|
|
302
|
+
fontSize: "14px"
|
|
303
|
+
}, itemsToSkip + 1, " to ", itemsToSkip + maxItemsPerPage, " of ", rows.length) : /*#__PURE__*/_react.default.createElement(_material.Typography, {
|
|
304
|
+
paddingRight: "24px",
|
|
305
|
+
fontSize: "14px"
|
|
306
|
+
}, itemsToSkip + 1, " to ", rows.length, " of ", rows.length), /*#__PURE__*/_react.default.createElement(_material.Pagination, {
|
|
307
|
+
count: Math.ceil(rows.length / maxItemsPerPage),
|
|
308
|
+
page: itemsToSkip / maxItemsPerPage + 1,
|
|
309
|
+
shape: "rounded",
|
|
310
|
+
onChange: handleChangePage,
|
|
311
|
+
siblingCount: isMobile ? 0 : 1,
|
|
312
|
+
size: 'small'
|
|
313
|
+
})));
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
function tableSort(ignore, array, comparator) {
|
|
317
|
+
if (ignore) {
|
|
318
|
+
return array;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
return (0, _sort.stableSort)(array, comparator);
|
|
322
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function descendingComparator<T>(a: T, b: T, orderBy: keyof T): 1 | -1 | 0;
|
|
2
|
+
export declare type SortOrder = 'asc' | 'desc';
|
|
3
|
+
export declare function getComparator<Key extends keyof any>(order: SortOrder, orderBy: Key, sorting: (a: any, b: any, orderBy: any) => 1 | -1 | 0): (a: {
|
|
4
|
+
[key in Key]?: string | number | [];
|
|
5
|
+
}, b: {
|
|
6
|
+
[key in Key]?: string | number | [];
|
|
7
|
+
}) => number;
|
|
8
|
+
export declare function stableSort<T>(array: T[], comparator: (a: T, b: T) => number): T[];
|
|
9
|
+
//# sourceMappingURL=sort.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../src/components/table/sort.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAWhF;AAED,oBAAY,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvC,wBAAgB,aAAa,CAAC,GAAG,SAAS,MAAM,GAAG,EACjD,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GACpD,CAAC,CAAC,EAAE;KAAG,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,EAAE;CAAE,EAAE,CAAC,EAAE;KAAG,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,EAAE;CAAE,KAAK,MAAM,CAEpG;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,EAAE,CAYjF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.descendingComparator = descendingComparator;
|
|
7
|
+
exports.getComparator = getComparator;
|
|
8
|
+
exports.stableSort = stableSort;
|
|
9
|
+
|
|
10
|
+
function descendingComparator(a, b, orderBy) {
|
|
11
|
+
var _b$orderBy, _a$orderBy;
|
|
12
|
+
|
|
13
|
+
var bValue = (_b$orderBy = b[orderBy]) !== null && _b$orderBy !== void 0 ? _b$orderBy : '';
|
|
14
|
+
var aValue = (_a$orderBy = a[orderBy]) !== null && _a$orderBy !== void 0 ? _a$orderBy : '';
|
|
15
|
+
|
|
16
|
+
if (bValue < aValue) {
|
|
17
|
+
return -1;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (bValue > aValue) {
|
|
21
|
+
return 1;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return 0;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function getComparator(order, orderBy, sorting) {
|
|
28
|
+
return order === 'desc' ? function (a, b) {
|
|
29
|
+
return sorting(a, b, orderBy);
|
|
30
|
+
} : function (a, b) {
|
|
31
|
+
return -sorting(a, b, orderBy);
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function stableSort(array, comparator) {
|
|
36
|
+
var stabilizedThis = array.map(function (el, index) {
|
|
37
|
+
return [el, index];
|
|
38
|
+
});
|
|
39
|
+
stabilizedThis.sort(function (a, b) {
|
|
40
|
+
var order = comparator(a[0], b[0]);
|
|
41
|
+
|
|
42
|
+
if (order !== 0) {
|
|
43
|
+
return order;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return a[1] - b[1];
|
|
47
|
+
});
|
|
48
|
+
return stabilizedThis.map(function (el) {
|
|
49
|
+
return el[0];
|
|
50
|
+
});
|
|
51
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface TableColumnType {
|
|
3
|
+
key: string;
|
|
4
|
+
name: string | JSX.Element;
|
|
5
|
+
type: 'string' | 'number' | 'date' | 'notes' | 'edit' | 'boolean';
|
|
6
|
+
}
|
|
7
|
+
export interface RendererProps<T> {
|
|
8
|
+
index: number;
|
|
9
|
+
row: T;
|
|
10
|
+
column: TableColumnType;
|
|
11
|
+
value?: string | number | unknown[] | ReactNode;
|
|
12
|
+
onRowClick?: () => void;
|
|
13
|
+
reloadData?: () => void;
|
|
14
|
+
}
|
|
15
|
+
export declare type EnhancedTableDetailsRow = {
|
|
16
|
+
[x: string]: string | number | [] | undefined;
|
|
17
|
+
};
|
|
18
|
+
export interface DetailsRendererProps {
|
|
19
|
+
index: number;
|
|
20
|
+
row: EnhancedTableDetailsRow;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/table/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC3B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CACnE;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,CAAC;IACP,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,oBAAY,uBAAuB,GAAG;IACpC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,EAAE,GAAG,SAAS,CAAC;CAC/C,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,uBAAuB,CAAC;CAC9B"}
|
package/fonts/Inter.ttf
ADDED
|
Binary file
|
package/index.css
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
body {
|
|
2
|
+
margin: 0;
|
|
3
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
|
4
|
+
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
|
|
5
|
+
sans-serif;
|
|
6
|
+
-webkit-font-smoothing: antialiased;
|
|
7
|
+
-moz-osx-font-smoothing: grayscale;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
code {
|
|
11
|
+
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
|
|
12
|
+
monospace;
|
|
13
|
+
}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import Autocomplete from './components/Autocomplete';
|
|
2
|
+
import Button from './components/Button/Button';
|
|
3
|
+
import Checkbox from './components/Checkbox';
|
|
4
|
+
import DatePicker from './components/DatePicker';
|
|
5
|
+
import DialogBox from './components/DialogBox/DialogBox';
|
|
6
|
+
import Divisor from './components/Divisor';
|
|
7
|
+
import Dropdown from './components/Dropdown';
|
|
8
|
+
import Icon from './components/Icon/Icon';
|
|
9
|
+
import icons from './components/Icon/icons';
|
|
10
|
+
import Navbar from './components/Navbar/Navbar';
|
|
11
|
+
import NavFooter from './components/Navbar/NavFooter';
|
|
12
|
+
import NavItem from './components/Navbar/NavItem';
|
|
13
|
+
import NavSection from './components/Navbar/NavSection';
|
|
14
|
+
import Note from './components/Note';
|
|
15
|
+
import ProgressCircle from './components/ProgressCircle/ProgressCircle';
|
|
16
|
+
import RadioButton from './components/RadioButton';
|
|
17
|
+
import Select from './components/Select/Select';
|
|
18
|
+
import SummaryBox from './components/SummaryBox';
|
|
19
|
+
import Textfield from './components/Textfield/Textfield';
|
|
20
|
+
import Table from './components/table';
|
|
21
|
+
import { descendingComparator, getComparator, SortOrder, stableSort } from './components/table/sort';
|
|
22
|
+
import CellRenderer, { CellDateRenderer, TableRowType } from './components/table/TableCellRenderer';
|
|
23
|
+
import { EnhancedTableDetailsRow, RendererProps, TableColumnType } from './components/table/types';
|
|
24
|
+
export type { IconName } from './components/Icon/icons/';
|
|
25
|
+
export type { Size } from './components/Size';
|
|
26
|
+
export type { EnhancedTableDetailsRow, RendererProps, TableColumnType, TableRowType, SortOrder };
|
|
27
|
+
export { Autocomplete, Button, CellRenderer, CellDateRenderer, Checkbox, DatePicker, descendingComparator, DialogBox, Divisor, Dropdown, getComparator, icons, Icon, NavFooter, NavItem, NavSection, Navbar, Note, ProgressCircle, RadioButton, Select, stableSort, SummaryBox, Textfield, Table, };
|
|
28
|
+
//# sourceMappingURL=index.d.ts.map
|
package/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,SAAS,MAAM,kCAAkC,CAAC;AACzD,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,KAAK,MAAM,yBAAyB,CAAC;AAC5C,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,SAAS,MAAM,+BAA+B,CAAC;AACtD,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAClD,OAAO,UAAU,MAAM,gCAAgC,CAAC;AACxD,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,cAAc,MAAM,4CAA4C,CAAC;AACxE,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAEhD,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,SAAS,MAAM,kCAAkC,CAAC;AACzD,OAAO,KAAK,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,YAAY,EAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpG,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEnG,YAAY,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,YAAY,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;AAEjG,OAAO,EACL,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,oBAAoB,EACpB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,aAAa,EACb,KAAK,EACL,IAAI,EACJ,SAAS,EACT,OAAO,EACP,UAAU,EACV,MAAM,EACN,IAAI,EACJ,cAAc,EACd,WAAW,EACX,MAAM,EACN,UAAU,EACV,UAAU,EACV,SAAS,EACT,KAAK,GACN,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
<body>
|
|
3
|
+
<style>
|
|
4
|
+
/*
|
|
5
|
+
based on: https://codepen.io/DavidKern/pen/PwzYvv
|
|
6
|
+
*/
|
|
7
|
+
@import url(https://fonts.googleapis.com/css?family=Lato:300,400,700);
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
body {
|
|
11
|
+
background: #fff;
|
|
12
|
+
color: #000;
|
|
13
|
+
font-family: 'Lato', Arial, sans-serif;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
h1 {
|
|
17
|
+
font-family: "proxima-nova",sans-serif;
|
|
18
|
+
letter-spacing: -0.01em;
|
|
19
|
+
font-weight: 700;
|
|
20
|
+
font-style: normal;
|
|
21
|
+
font-size: 60px;
|
|
22
|
+
margin-left: -3px;
|
|
23
|
+
line-height: 1em;
|
|
24
|
+
color: #000;
|
|
25
|
+
text-align: center;
|
|
26
|
+
margin-bottom: 8px;
|
|
27
|
+
text-rendering: optimizeLegibility;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
table {
|
|
31
|
+
width: 80%;
|
|
32
|
+
margin: auto;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
table, th, td {
|
|
36
|
+
border: 1px solid #000;
|
|
37
|
+
border-collapse: collapse;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
th {
|
|
41
|
+
background-color: #ddd
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
th, td {
|
|
45
|
+
padding: 15px;
|
|
46
|
+
}
|
|
47
|
+
</style>
|
|
48
|
+
<table><thead><tr><th class="string">department</th><th class="string">related to</th><th class="string">name</th><th class="string">license period</th><th class="string">material / not material</th><th class="string">license type</th><th class="string">link</th><th class="string">remote version</th><th class="string">installed version</th><th class="string">defined version</th><th class="string">author</th></tr></thead><tbody><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">@date-io/date-fns</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/dmtrKovalenko/date-io.git</td><td class="string">2.15.0</td><td class="string">2.15.0</td><td class="string">^2.14.0</td><td class="string">Dmitriy Kovalenko dmtr.kovalenko@outlook.com</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">@date-io/moment</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/dmtrKovalenko/date-io.git</td><td class="string">2.15.0</td><td class="string">2.10.11</td><td class="string">^2.10.11</td><td class="string">Dmitriy Kovalenko dmtr.kovalenko@outlook.com</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">@dnd-kit/core</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/clauderic/dnd-kit.git</td><td class="string">6.0.5</td><td class="string">6.0.5</td><td class="string">^6.0.5</td><td class="string">Claudéric Demers</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">@dnd-kit/sortable</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/clauderic/dnd-kit.git</td><td class="string">7.0.1</td><td class="string">7.0.1</td><td class="string">^7.0.1</td><td class="string">Claudéric Demers</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">@emotion/react</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/emotion-js/emotion.git#main</td><td class="string">11.10.0</td><td class="string">11.10.0</td><td class="string">^11.9.3</td><td class="string">Emotion Contributors</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">@mui/icons-material</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/mui/material-ui.git</td><td class="string">5.10.2</td><td class="string">5.8.4</td><td class="string">^5.8.4</td><td class="string">MUI Team</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">@mui/material</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/mui/material-ui.git</td><td class="string">5.10.2</td><td class="string">5.10.1</td><td class="string">^5.8.7</td><td class="string">MUI Team</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">@mui/styles</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/mui/material-ui.git</td><td class="string">5.10.2</td><td class="string">5.9.3</td><td class="string">^5.8.7</td><td class="string">MUI Team</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">@mui/x-date-pickers</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/mui-org/material-ui-x.git</td><td class="string">5.0.0-beta.6</td><td class="string">5.0.0-beta.6</td><td class="string">^5.0.0-alpha.7</td><td class="string">MUI Team</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">classnames</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/JedWatson/classnames.git</td><td class="string">2.3.1</td><td class="string">2.3.1</td><td class="string">^2.3.1</td><td class="string">Jed Watson</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">date-fns</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/date-fns/date-fns.git</td><td class="string">2.29.2</td><td class="string">2.29.2</td><td class="string">^2.28.0</td><td class="string">n/a</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">moment</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/moment/moment.git</td><td class="string">2.29.4</td><td class="string">2.29.1</td><td class="string">^2.29.1</td><td class="string">Iskren Ivov Chernev <iskren.chernev@gmail.com> (https://github.com/ichernev)</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">react</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/facebook/react.git</td><td class="string">17.0.2</td><td class="string">17.0.2</td><td class="string">^17.0.2</td><td class="string">n/a</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">react-dom</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/facebook/react.git</td><td class="string">17.0.2</td><td class="string">17.0.2</td><td class="string">^17.0.2</td><td class="string">n/a</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">react-responsive</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git://github.com/contra/react-responsive.git</td><td class="string">9.0.0-beta.10</td><td class="string">9.0.0-beta.10</td><td class="string">^9.0.0-beta.6</td><td class="string">Contra <yo@contra.io> (https://contra.io)</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">react-sortable-hoc</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/clauderic/react-sortable-hoc.git</td><td class="string">2.0.0</td><td class="string">2.0.0</td><td class="string">^2.0.0</td><td class="string">Clauderic Demers me@ced.io</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">sass</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/sass/dart-sass.git</td><td class="string">1.54.5</td><td class="string">1.35.1</td><td class="string">^1.35.1</td><td class="string">Natalie Weizenbaum nweiz@google.com https://github.com/nex3</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">tinycolor2</td><td class="string">perpetual</td><td class="string">material</td><td class="string">MIT</td><td class="string">git+https://github.com/bgrins/TinyColor.git</td><td class="string">1.4.2</td><td class="string">1.4.2</td><td class="string">^1.4.2</td><td class="string">Brian Grinstead <briangrinstead@gmail.com> (http://briangrinstead.com)</td></tr><tr><td class="string">terraware</td><td class="string">stuff</td><td class="string">web-vitals</td><td class="string">perpetual</td><td class="string">material</td><td class="string">Apache-2.0</td><td class="string">git+https://github.com/GoogleChrome/web-vitals.git</td><td class="string">1.1.2</td><td class="string">1.1.2</td><td class="string">^1.0.1</td><td class="string">Philip Walton philip@philipwalton.com http://philipwalton.com</td></tr></tbody></table>
|
|
49
|
+
</body>
|
|
50
|
+
</html>
|