From 052e54f7c1cf3183fc01adb240a0e28de3287d55 Mon Sep 17 00:00:00 2001 From: Dennis Torres Date: Sat, 27 Apr 2024 13:26:40 -0400 Subject: [PATCH] Add sections/headers to Select and ComboBox components --- .changeset/grumpy-peas-shave.md | 5 + .changeset/stale-monkeys-wonder.md | 5 + packages/ui/package.json | 2 - .../combo-box/combo-box.stories.tsx | 108 +- .../ui/src/components/combo-box/combo-box.tsx | 25 + .../combo-box/country-combo-box.stories.tsx | 89 + .../combo-box/currency-combo-box.stories.tsx | 89 + .../combo-box/language-combo-box.stories.tsx | 89 + .../select/country-select.stories.tsx | 84 + .../select/currency-select.stories.tsx | 84 + .../select/language-select.stories.tsx | 84 + .../src/components/select/select.stories.tsx | 145 +- packages/ui/src/components/select/select.tsx | 32 +- packages/ui/src/data/helpers.ts | 29 - packages/ui/src/data/sensor.ts | 1898 +++++------------ packages/ui/src/hooks/use-currency-list.ts | 18 + packages/ui/src/hooks/use-locale-list.ts | 15 + packages/ui/src/hooks/use-region-list.ts | 17 + yarn.lock | 18 - 19 files changed, 1304 insertions(+), 1532 deletions(-) create mode 100644 .changeset/grumpy-peas-shave.md create mode 100644 .changeset/stale-monkeys-wonder.md create mode 100644 packages/ui/src/components/combo-box/country-combo-box.stories.tsx create mode 100644 packages/ui/src/components/combo-box/currency-combo-box.stories.tsx create mode 100644 packages/ui/src/components/combo-box/language-combo-box.stories.tsx create mode 100644 packages/ui/src/components/select/country-select.stories.tsx create mode 100644 packages/ui/src/components/select/currency-select.stories.tsx create mode 100644 packages/ui/src/components/select/language-select.stories.tsx delete mode 100644 packages/ui/src/data/helpers.ts create mode 100644 packages/ui/src/hooks/use-currency-list.ts create mode 100644 packages/ui/src/hooks/use-locale-list.ts create mode 100644 packages/ui/src/hooks/use-region-list.ts diff --git a/.changeset/grumpy-peas-shave.md b/.changeset/grumpy-peas-shave.md new file mode 100644 index 00000000..fc0a10e4 --- /dev/null +++ b/.changeset/grumpy-peas-shave.md @@ -0,0 +1,5 @@ +--- +"@spear-ai/ui": minor +--- + +Added sections/headers to Select and ComboBox components. diff --git a/.changeset/stale-monkeys-wonder.md b/.changeset/stale-monkeys-wonder.md new file mode 100644 index 00000000..e7d87225 --- /dev/null +++ b/.changeset/stale-monkeys-wonder.md @@ -0,0 +1,5 @@ +--- +"@spear-ai/ui": minor +--- + +Added stories around selecting countries, currencies, and languages. diff --git a/packages/ui/package.json b/packages/ui/package.json index d2f1bcc0..e989ccc3 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -9,14 +9,12 @@ }, "type": "module", "dependencies": { - "@leeoniya/ufuzzy": "1.0.14", "@radix-ui/react-icons": "1.3.0", "@radix-ui/react-slot": "1.0.2", "@react-hookz/web": "24.0.4", "@sentry/nextjs": "7.112.0", "@spear-ai/logo": "2.1.1", "classix": "2.1.37", - "graphql-relay": "0.10.1", "next": "14.2.2", "next-themes": "0.3.0", "react": "18.2.0", diff --git a/packages/ui/src/components/combo-box/combo-box.stories.tsx b/packages/ui/src/components/combo-box/combo-box.stories.tsx index d0159d4c..74f77692 100644 --- a/packages/ui/src/components/combo-box/combo-box.stories.tsx +++ b/packages/ui/src/components/combo-box/combo-box.stories.tsx @@ -1,6 +1,6 @@ import { useControlledState } from "@react-stately/utils"; import type { Meta, StoryObj } from "@storybook/react"; -import { useCallback, useMemo } from "react"; +import { useCallback } from "react"; import { Form } from "react-aria-components"; import { useIntl } from "react-intl"; import { @@ -8,6 +8,7 @@ import { ComboBoxButton, ComboBoxDescription, ComboBoxFieldError, + ComboBoxHeader, ComboBoxIcon, ComboBoxInput, ComboBoxLabel, @@ -17,15 +18,19 @@ import { ComboBoxListBoxItemCheckIcon, ComboBoxListBoxItemLabel, ComboBoxPopover, + ComboBoxSection, ComboBoxTrigger, } from "@/components/combo-box/combo-box"; -import { querySensorConnection } from "@/data/sensor"; - -type SensorEdge = Awaited>["edges"][0]; +import { specialSensorList1, specialSensorList2, standardSensorList } from "@/data/sensor"; const PreviewComboBox = (properties: { + hasDefaultItem: boolean; hasLabel: boolean; hasLabelDescription: boolean; + hasSection1: boolean; + hasSection1Header: boolean; + hasSection2: boolean; + hasSection2Header: boolean; isAlwaysOpen: boolean; isDisabled: boolean; isInvalid: boolean; @@ -34,8 +39,13 @@ const PreviewComboBox = (properties: { menuTrigger: "focus" | "input"; }) => { const { + hasDefaultItem, hasLabel, hasLabelDescription, + hasSection1, + hasSection1Header, + hasSection2, + hasSection2Header, isAlwaysOpen, isDisabled, isInvalid, @@ -46,10 +56,6 @@ const PreviewComboBox = (properties: { const intl = useIntl(); const [selectedKey, setSelectedKey] = useControlledState(undefined, null); const [isOpen, setIsOpen] = useControlledState(undefined, false); - const itemList = useMemo(() => { - const result = querySensorConnection({ first: 200 }); - return isOptional ? [{ cursor: "", highlightedText: null, node: null }, ...result.edges] : result.edges; - }, [isOptional]); const handleSelectionChange = useCallback( (key: number | string) => { @@ -68,7 +74,6 @@ const PreviewComboBox = (properties: {
{hasLabel ? ( - - {intl.formatMessage({ - defaultMessage: "Sensor", - id: "SCewMo", - })} - + {intl.formatMessage({ defaultMessage: "Sensor", id: "SCewMo" })} ) : null} {hasLabel && hasLabelDescription ? ( @@ -113,27 +113,72 @@ const PreviewComboBox = (properties: { ) : null} - {(edge: SensorEdge) => { - if (edge.cursor === "") { - return ( - + {hasSection1 ? ( + + {hasSection1Header ? ( + {intl.formatMessage({ - defaultMessage: "None", - id: "450Fty", + defaultMessage: "Section 1", + id: "GUDhpC", })} + + ) : null} + {specialSensorList1.map((sensor) => ( + + {sensor.name} + + + - ); - } - - return edge.node == null ? null : ( - - {edge.node.name} + ))} + + ) : null} + {hasSection2 ? ( + + {hasSection2Header ? ( + + {intl.formatMessage({ + defaultMessage: "Section 2", + id: "H+Wcch", + })} + + ) : null} + {specialSensorList2.map((sensor) => ( + + {sensor.name} + + + + + ))} + + ) : null} + + {isOptional ? ( + + {intl.formatMessage({ + defaultMessage: "None", + id: "450Fty", + })} + + ) : null} + {hasDefaultItem ? ( + + {intl.formatMessage({ + defaultMessage: "Default", + id: "lKv8ex", + })} + + ) : null} + {standardSensorList.map((item) => ( + + {item.name} - ); - }} + ))} + @@ -153,8 +198,13 @@ type Story = StoryObj; export const Standard: Story = { args: { + hasDefaultItem: true, hasLabel: true, hasLabelDescription: true, + hasSection1: true, + hasSection1Header: true, + hasSection2: true, + hasSection2Header: true, isAlwaysOpen: false, isDisabled: false, isInvalid: false, diff --git a/packages/ui/src/components/combo-box/combo-box.tsx b/packages/ui/src/components/combo-box/combo-box.tsx index af8fee30..4c70a047 100644 --- a/packages/ui/src/components/combo-box/combo-box.tsx +++ b/packages/ui/src/components/combo-box/combo-box.tsx @@ -13,11 +13,13 @@ import { Button as ButtonPrimitive, ComboBox as ComboBoxPrimitive, FieldError as FieldErrorPrimitive, + Header as HeaderPrimitive, Input as InputPrimitive, Label as LabelPrimitive, ListBox as ListBoxPrimitive, ListBoxItem as ListBoxItemPrimitive, Popover as PopoverPrimitive, + Section as SectionPrimitive, } from "react-aria-components"; import { cx } from "@/helpers/cx"; @@ -147,6 +149,29 @@ export const ComboBoxPopover = forwardRef< ComboBoxPopover.displayName = "ComboBoxPopover"; +export const ComboBoxSection = forwardRef< + ElementRef, + ComponentPropsWithoutRef & { className?: string | undefined } +>(({ className, ...properties }, reference) => { + const mergedClassName = cx( + "relative mt-1 pt-1 before:absolute before:inset-x-2 before:top-0 before:h-px before:bg-neutral-6 before:content-[''] first:mt-0 first:pt-0 first:before:content-none theme-forerunner:dark:before:bg-white-a-6", + className, + ); + return ; +}); + +ComboBoxSection.displayName = "ComboBoxSection"; + +export const ComboBoxHeader = forwardRef< + ElementRef, + ComponentPropsWithoutRef & { className?: string | undefined } +>(({ className, ...properties }, reference) => { + const mergedClassName = cx("px-2 pt-2 text-sm/5 font-medium text-neutral-11 sm:text-xs/5", className); + return ; +}); + +ComboBoxHeader.displayName = "ComboBoxHeader"; + // The ListBox component supports a generic type, but we don’t use it // because passing it through `forwardRef(…)` is challenging. export const ComboBoxListBox = forwardRef< diff --git a/packages/ui/src/components/combo-box/country-combo-box.stories.tsx b/packages/ui/src/components/combo-box/country-combo-box.stories.tsx new file mode 100644 index 00000000..bfa62066 --- /dev/null +++ b/packages/ui/src/components/combo-box/country-combo-box.stories.tsx @@ -0,0 +1,89 @@ +import { useControlledState } from "@react-stately/utils"; +import type { Meta, StoryObj } from "@storybook/react"; +import { Form } from "react-aria-components"; +import { useIntl } from "react-intl"; +import { + ComboBox, + ComboBoxButton, + ComboBoxIcon, + ComboBoxInput, + ComboBoxLabel, + ComboBoxListBox, + ComboBoxListBoxItem, + ComboBoxListBoxItemCheck, + ComboBoxListBoxItemCheckIcon, + ComboBoxListBoxItemLabel, + ComboBoxPopover, + ComboBoxTrigger, +} from "@/components/combo-box/combo-box"; +import { useRegionList } from "@/hooks/use-region-list"; + +const PreviewComboBox = () => { + const intl = useIntl(); + const [value, setValue] = useControlledState(undefined, null); + const regionList = useRegionList(["US", "GB"]); + + return ( +
+ + { + setValue(key === "" ? null : `${key}`); + }} + selectedKey={value} + > + + {intl.formatMessage({ + defaultMessage: "Country", + id: "vONi+O", + })} + + + + + + + + + + + {intl.formatMessage({ + defaultMessage: "None", + id: "450Fty", + })} + + {regionList.map((item) => ( + + {item.name} + + + + + ))} + + + + +
+ ); +}; + +const meta = { + component: PreviewComboBox, +} satisfies Meta; + +type Story = StoryObj; + +export const Standard: Story = { + parameters: { + layout: "centered", + }, +}; + +export default meta; diff --git a/packages/ui/src/components/combo-box/currency-combo-box.stories.tsx b/packages/ui/src/components/combo-box/currency-combo-box.stories.tsx new file mode 100644 index 00000000..44db9210 --- /dev/null +++ b/packages/ui/src/components/combo-box/currency-combo-box.stories.tsx @@ -0,0 +1,89 @@ +import { useControlledState } from "@react-stately/utils"; +import type { Meta, StoryObj } from "@storybook/react"; +import { Form } from "react-aria-components"; +import { useIntl } from "react-intl"; +import { + ComboBox, + ComboBoxButton, + ComboBoxIcon, + ComboBoxInput, + ComboBoxLabel, + ComboBoxListBox, + ComboBoxListBoxItem, + ComboBoxListBoxItemCheck, + ComboBoxListBoxItemCheckIcon, + ComboBoxListBoxItemLabel, + ComboBoxPopover, + ComboBoxTrigger, +} from "@/components/combo-box/combo-box"; +import { useCurrencyList } from "@/hooks/use-currency-list"; + +const PreviewComboBox = () => { + const intl = useIntl(); + const [value, setValue] = useControlledState(undefined, null); + const currencyList = useCurrencyList(); + + return ( +
+
+ { + setValue(key === "" ? null : `${key}`); + }} + selectedKey={value} + > + + {intl.formatMessage({ + defaultMessage: "Currency", + id: "55hdQy", + })} + + + + + + + + + + + {intl.formatMessage({ + defaultMessage: "None", + id: "450Fty", + })} + + {currencyList.map((item) => ( + + {item.name} + + + + + ))} + + + +
+
+ ); +}; + +const meta = { + component: PreviewComboBox, +} satisfies Meta; + +type Story = StoryObj; + +export const Standard: Story = { + parameters: { + layout: "centered", + }, +}; + +export default meta; diff --git a/packages/ui/src/components/combo-box/language-combo-box.stories.tsx b/packages/ui/src/components/combo-box/language-combo-box.stories.tsx new file mode 100644 index 00000000..f3ea18a3 --- /dev/null +++ b/packages/ui/src/components/combo-box/language-combo-box.stories.tsx @@ -0,0 +1,89 @@ +import { useControlledState } from "@react-stately/utils"; +import type { Meta, StoryObj } from "@storybook/react"; +import { Form } from "react-aria-components"; +import { useIntl } from "react-intl"; +import { + ComboBox, + ComboBoxButton, + ComboBoxIcon, + ComboBoxInput, + ComboBoxLabel, + ComboBoxListBox, + ComboBoxListBoxItem, + ComboBoxListBoxItemCheck, + ComboBoxListBoxItemCheckIcon, + ComboBoxListBoxItemLabel, + ComboBoxPopover, + ComboBoxTrigger, +} from "@/components/combo-box/combo-box"; +import { useLocaleList } from "@/hooks/use-locale-list"; + +const PreviewComboBox = () => { + const intl = useIntl(); + const [value, setValue] = useControlledState(undefined, null); + const localeList = useLocaleList(["en", "en-US", "en-GB", "es", "es-419", "es-ES"]); + + return ( +
+
+ { + setValue(key === "" ? null : `${key}`); + }} + selectedKey={value} + > + + {intl.formatMessage({ + defaultMessage: "Language", + id: "y1Z3or", + })} + + + + + + + + + + + {intl.formatMessage({ + defaultMessage: "None", + id: "450Fty", + })} + + {localeList.map((item) => ( + + {item.name} + + + + + ))} + + + +
+
+ ); +}; + +const meta = { + component: PreviewComboBox, +} satisfies Meta; + +type Story = StoryObj; + +export const Standard: Story = { + parameters: { + layout: "centered", + }, +}; + +export default meta; diff --git a/packages/ui/src/components/select/country-select.stories.tsx b/packages/ui/src/components/select/country-select.stories.tsx new file mode 100644 index 00000000..ade32220 --- /dev/null +++ b/packages/ui/src/components/select/country-select.stories.tsx @@ -0,0 +1,84 @@ +import { useControlledState } from "@react-stately/utils"; +import type { Meta, StoryObj } from "@storybook/react"; +import { Form } from "react-aria-components"; +import { useIntl } from "react-intl"; +import { + Select, + SelectButton, + SelectIcon, + SelectLabel, + SelectListBox, + SelectListBoxItem, + SelectListBoxItemCheck, + SelectListBoxItemCheckIcon, + SelectListBoxItemLabel, + SelectPopover, + SelectValue, +} from "@/components/select/select"; +import { useRegionList } from "@/hooks/use-region-list"; + +const PreviewSelect = () => { + const intl = useIntl(); + const [value, setValue] = useControlledState(undefined, null); + const countryList = useRegionList(["US", "GB"]); + + return ( +
+
+ +
+
+ ); +}; + +const meta = { + component: PreviewSelect, +} satisfies Meta; + +type Story = StoryObj; + +export const Standard: Story = { + parameters: { + layout: "centered", + }, +}; + +export default meta; diff --git a/packages/ui/src/components/select/currency-select.stories.tsx b/packages/ui/src/components/select/currency-select.stories.tsx new file mode 100644 index 00000000..a57f2be9 --- /dev/null +++ b/packages/ui/src/components/select/currency-select.stories.tsx @@ -0,0 +1,84 @@ +import { useControlledState } from "@react-stately/utils"; +import type { Meta, StoryObj } from "@storybook/react"; +import { Form } from "react-aria-components"; +import { useIntl } from "react-intl"; +import { + Select, + SelectButton, + SelectIcon, + SelectLabel, + SelectListBox, + SelectListBoxItem, + SelectListBoxItemCheck, + SelectListBoxItemCheckIcon, + SelectListBoxItemLabel, + SelectPopover, + SelectValue, +} from "@/components/select/select"; +import { useCurrencyList } from "@/hooks/use-currency-list"; + +const PreviewSelect = () => { + const intl = useIntl(); + const [value, setValue] = useControlledState(undefined, null); + const currencyList = useCurrencyList(); + + return ( +
+
+ +
+
+ ); +}; + +const meta = { + component: PreviewSelect, +} satisfies Meta; + +type Story = StoryObj; + +export const Standard: Story = { + parameters: { + layout: "centered", + }, +}; + +export default meta; diff --git a/packages/ui/src/components/select/language-select.stories.tsx b/packages/ui/src/components/select/language-select.stories.tsx new file mode 100644 index 00000000..b9c428aa --- /dev/null +++ b/packages/ui/src/components/select/language-select.stories.tsx @@ -0,0 +1,84 @@ +import { useControlledState } from "@react-stately/utils"; +import type { Meta, StoryObj } from "@storybook/react"; +import { Form } from "react-aria-components"; +import { useIntl } from "react-intl"; +import { + Select, + SelectButton, + SelectIcon, + SelectLabel, + SelectListBox, + SelectListBoxItem, + SelectListBoxItemCheck, + SelectListBoxItemCheckIcon, + SelectListBoxItemLabel, + SelectPopover, + SelectValue, +} from "@/components/select/select"; +import { useLocaleList } from "@/hooks/use-locale-list"; + +const PreviewSelect = () => { + const intl = useIntl(); + const [value, setValue] = useControlledState(undefined, null); + const localeList = useLocaleList(["en", "en-US", "en-GB", "es", "es-419", "es-ES"]); + + return ( +
+
+ +
+
+ ); +}; + +const meta = { + component: PreviewSelect, +} satisfies Meta; + +type Story = StoryObj; + +export const Standard: Story = { + parameters: { + layout: "centered", + }, +}; + +export default meta; diff --git a/packages/ui/src/components/select/select.stories.tsx b/packages/ui/src/components/select/select.stories.tsx index a2147d2a..ba8f525c 100644 --- a/packages/ui/src/components/select/select.stories.tsx +++ b/packages/ui/src/components/select/select.stories.tsx @@ -1,14 +1,13 @@ import { useControlledState } from "@react-stately/utils"; import type { Meta, StoryObj } from "@storybook/react"; -import { useId } from "react"; import { Form } from "react-aria-components"; import { useIntl } from "react-intl"; import { Select, SelectButton, - SelectDefaultListBoxItem, SelectDescription, SelectFieldError, + SelectHeader, SelectIcon, SelectLabel, SelectListBox, @@ -17,46 +16,42 @@ import { SelectListBoxItemCheckIcon, SelectListBoxItemLabel, SelectPopover, + SelectSection, SelectValue, -} from "./select"; - -const sensorList = [ - { id: "1", name: "Pyramid Array C1" }, - { id: "2", name: "Pyramid Array C2B" }, - { id: "3", name: "Pyramid Array C3" }, - { id: "4", name: "Pyramid Array C3-Pro" }, - { id: "5", name: "Pyramid Array C3" }, - { id: "6", name: "Pyramid Array D" }, - { id: "7", name: "Pyramid Array DS" }, - { id: "8", name: "Pyramid Array DX" }, - { id: "9", name: "Pyramid Array E-Standard" }, - { id: "10", name: "Pyramid Array E-Plus" }, - { id: "11", name: "Hyper Matrix Prototype 1" }, - { id: "12", name: "Hyper Matrix Prototype 2" }, - { id: "13", name: "Hyper Matrix 1" }, - { id: "14", name: "Hyper Matrix 2" }, - { id: "15", name: "Hyper Matrix 3" }, - { id: "16", name: "Hyper Matrix 4-S" }, - { id: "17", name: "Hyper Matrix 4-U" }, - { id: "18", name: "Hyper Matrix 5-S" }, - { id: "19", name: "Hyper Matrix 5-U" }, - { id: "20", name: "Hyper Matrix 6" }, -]; +} from "@/components/select/select"; +import { specialSensorList1, specialSensorList2, standardSensorList } from "@/data/sensor"; const PreviewSelect = (properties: { + hasDefaultItem: boolean; hasLabel: boolean; hasLabelDescription: boolean; + hasSection1: boolean; + hasSection1Header: boolean; + hasSection2: boolean; + hasSection2Header: boolean; isAlwaysOpen: boolean; isDisabled: boolean; isInvalid: boolean; isOptional: boolean; isSquished: boolean; }) => { - const { hasLabel, hasLabelDescription, isAlwaysOpen, isDisabled, isInvalid, isOptional, isSquished } = - properties; + const { + hasDefaultItem, + hasLabel, + hasLabelDescription, + hasSection1, + hasSection1Header, + hasSection2, + hasSection2Header, + isAlwaysOpen, + isDisabled, + isInvalid, + isOptional, + isSquished, + } = properties; const intl = useIntl(); - const sensorFormId = useId(); const [value, setValue] = useControlledState(undefined, null); + const list = standardSensorList; return (
@@ -79,12 +74,7 @@ const PreviewSelect = (properties: { selectedKey={isOptional ? value : undefined} > {hasLabel ? ( - - {intl.formatMessage({ - defaultMessage: "Sensor", - id: "SCewMo", - })} - + {intl.formatMessage({ defaultMessage: "Sensor", id: "SCewMo" })} ) : null} {hasLabel && hasLabelDescription ? ( @@ -108,20 +98,72 @@ const PreviewSelect = (properties: { ) : null} - - {intl.formatMessage({ - defaultMessage: "No sensor", - id: "W2b7y5", - })} - - {sensorList.map((sensor) => ( - - {sensor.name} - - - - - ))} + {hasSection1 ? ( + + {hasSection1Header ? ( + + {intl.formatMessage({ + defaultMessage: "Section 1", + id: "GUDhpC", + })} + + ) : null} + {specialSensorList1.map((sensor) => ( + + {sensor.name} + + + + + ))} + + ) : null} + {hasSection2 ? ( + + {hasSection2Header ? ( + + {intl.formatMessage({ + defaultMessage: "Section 2", + id: "H+Wcch", + })} + + ) : null} + {specialSensorList2.map((sensor) => ( + + {sensor.name} + + + + + ))} + + ) : null} + + {isOptional ? ( + + {intl.formatMessage({ + defaultMessage: "None", + id: "450Fty", + })} + + ) : null} + {hasDefaultItem ? ( + + {intl.formatMessage({ + defaultMessage: "Default", + id: "lKv8ex", + })} + + ) : null} + {list.map((item) => ( + + {item.name} + + + + + ))} + @@ -138,8 +180,13 @@ type Story = StoryObj; export const Standard: Story = { args: { + hasDefaultItem: true, hasLabel: true, hasLabelDescription: true, + hasSection1: true, + hasSection1Header: true, + hasSection2: true, + hasSection2Header: true, isAlwaysOpen: false, isDisabled: false, isInvalid: false, diff --git a/packages/ui/src/components/select/select.tsx b/packages/ui/src/components/select/select.tsx index f4059e91..a67b41ed 100644 --- a/packages/ui/src/components/select/select.tsx +++ b/packages/ui/src/components/select/select.tsx @@ -11,10 +11,12 @@ import React, { import { Button as ButtonPrimitive, FieldError as FieldErrorPrimitive, + Header as HeaderPrimitive, Label as LabelPrimitive, ListBox as ListBoxPrimitive, ListBoxItem as ListBoxItemPrimitive, Popover as PopoverPrimitive, + Section as SectionPrimitive, Select as SelectPrimitive, SelectValue as SelectValuePrimitive, } from "react-aria-components"; @@ -130,25 +132,39 @@ export const SelectPopover = forwardRef< SelectPopover.displayName = "SelectPopover"; -export const SelectDefaultListBoxItem = forwardRef< - ElementRef, - ComponentPropsWithoutRef & { className?: string | undefined } +export const SelectSection = forwardRef< + ElementRef, + ComponentPropsWithoutRef & { className?: string | undefined } >(({ className, ...properties }, reference) => { const mergedClassName = cx( - "cursor-default select-none rounded-lg py-2.5 pe-5 ps-2 text-base leading-none text-neutral-11 outline-none hover:bg-primary-4 focus:bg-primary-5 focus:outline-none sm:py-1.5 sm:text-sm", + "relative mt-1 pt-1 before:absolute before:inset-x-2 before:top-0 before:h-px before:bg-neutral-6 before:content-[''] first:mt-0 first:pt-0 first:before:content-none theme-forerunner:dark:before:bg-white-a-6", className, ); - return ; + return ; }); -SelectDefaultListBoxItem.displayName = "SelectDefaultListBoxItem"; +SelectSection.displayName = "SelectSection"; + +export const SelectHeader = forwardRef< + ElementRef, + ComponentPropsWithoutRef & { className?: string | undefined } +>(({ className, ...properties }, reference) => { + const mergedClassName = cx("px-2 pt-2 text-sm/5 font-medium text-neutral-11 sm:text-xs/5", className); + return ; +}); + +SelectHeader.displayName = "SelectHeader"; export const SelectListBoxItem = forwardRef< ElementRef, - ComponentPropsWithoutRef & { className?: string | undefined } ->(({ className, ...properties }, reference) => { + ComponentPropsWithoutRef & { + className?: string | undefined; + isNone?: boolean | undefined; + } +>(({ className, isNone = false, ...properties }, reference) => { const mergedClassName = cx( "group/item relative cursor-default select-none rounded-lg py-2.5 pe-7 ps-2 text-base leading-none text-neutral-12 outline-none hover:bg-primary-4 focus:bg-primary-5 sm:py-1.5 sm:text-sm rtl:text-right", + isNone ? "text-neutral-11" : "", className, ); return ; diff --git a/packages/ui/src/data/helpers.ts b/packages/ui/src/data/helpers.ts deleted file mode 100644 index 234db20d..00000000 --- a/packages/ui/src/data/helpers.ts +++ /dev/null @@ -1,29 +0,0 @@ - -import UFuzzy from "@leeoniya/ufuzzy"; -import { connectionFromArray } from "graphql-relay"; - -type HiglightedTextPart = { type: string; value: string }; - -export const connectionFromSearchArray = ( - array: readonly { info: V; node: T }[], - options: Parameters[1] -) => { - const searchConnection = connectionFromArray(array, options); - - return { - ...searchConnection, - edges: searchConnection.edges.map((edge) => ({ - cursor: edge.cursor, - node: edge.node.node, - ...edge.node.info, - })), - }; -}; - -export const highlight = (text: string, rangesList: number[]) => UFuzzy.highlight( - text, - rangesList, - (value: string, isMatch: boolean) => ({ type: isMatch ? "match" : "literal", value }), - [], - (list: HiglightedTextPart[], part: HiglightedTextPart) => { list.push(part); return list; }, -); diff --git a/packages/ui/src/data/sensor.ts b/packages/ui/src/data/sensor.ts index 511b112b..d21ddf60 100644 --- a/packages/ui/src/data/sensor.ts +++ b/packages/ui/src/data/sensor.ts @@ -1,1404 +1,508 @@ - -import UFuzzy from "@leeoniya/ufuzzy"; -import { connectionFromSearchArray, highlight } from "./helpers"; - -const uFuzzy = new UFuzzy(); - export type Sensor = { id: string; name: string; }; -export const sensorList: Sensor[] = [ - { name: "Pyramid Array C1 0.0.1" }, - { name: "Pyramid Array C1 0.0.2" }, - { name: "Pyramid Array C1 0.1.0" }, - { name: "Pyramid Array C1 0.1.1" }, - { name: "Pyramid Array C1 0.1.2" }, - { name: "Pyramid Array C1 0.1.3" }, - { name: "Pyramid Array C1 0.1.4" }, - { name: "Pyramid Array C1 0.2.0" }, - { name: "Pyramid Array C1 0.2.1" }, - { name: "Pyramid Array C1 0.2.2" }, - { name: "Pyramid Array C1 0.3.0" }, - { name: "Pyramid Array C1 0.3.1" }, - { name: "Pyramid Array C1 1.0.0" }, - { name: "Pyramid Array C1 1.1.0" }, - { name: "Pyramid Array C1 1.1.1" }, - { name: "Pyramid Array C1 1.1.2" }, - { name: "Pyramid Array C1 1.2.0" }, - { name: "Pyramid Array C1 1.3.0" }, - { name: "Pyramid Array C1 1.3.1" }, - { name: "Pyramid Array C1 1.4.0" }, - { name: "Pyramid Array C1 1.5.0" }, - { name: "Pyramid Array C1 1.6.0" }, - { name: "Pyramid Array C1 1.6.1" }, - { name: "Pyramid Array C1 1.6.2" }, - { name: "Pyramid Array C1 1.6.3" }, - { name: "Pyramid Array C1 1.6.4" }, - { name: "Pyramid Array C1 1.6.5" }, - { name: "Pyramid Array C1 2.0.0" }, - { name: "Pyramid Array C1 2.0.1" }, - { name: "Pyramid Array C1 3.0.0" }, - { name: "Pyramid Array C1 4.0.0" }, - { name: "Pyramid Array C1 4.0.1" }, - { name: "Pyramid Array C1 4.1.0" }, - { name: "Pyramid Array C1 5.0.0" }, - { name: "Pyramid Array C1 5.1.0" }, - { name: "Pyramid Array C1 5.2.0" }, - { name: "Pyramid Array C1 6.0.0" }, - { name: "Pyramid Array C1 7.0.0" }, - { name: "Pyramid Array C1 7.1.0" }, - { name: "Pyramid Array C1 7.2.0" }, - { name: "Pyramid Array C1 7.3.0" }, - { name: "Pyramid Array C1 7.3.1" }, - { name: "Pyramid Array C1 7.3.2" }, - { name: "Pyramid Array C1 7.3.3" }, - { name: "Pyramid Array C1 7.3.4" }, - { name: "Pyramid Array C1 7.3.5" }, - { name: "Pyramid Array C1 7.3.6" }, - { name: "Pyramid Array C1 7.3.7" }, - { name: "Pyramid Array C1 7.3.8" }, - { name: "Pyramid Array C1 7.3.9" }, - { name: "Pyramid Array C1 7.3.10" }, - { name: "Pyramid Array C1 7.3.11" }, - { name: "Pyramid Array C1 7.3.12" }, - { name: "Pyramid Array C1 8.0.0" }, - { name: "Pyramid Array C1 8.1.0" }, - { name: "Pyramid Array C1 8.2.0" }, - { name: "Pyramid Array C1 9.0.0" }, - { name: "Pyramid Array C1 9.1.0" }, - { name: "Pyramid Array C1 9.1.1" }, - { name: "Pyramid Array C1 9.1.2" }, - { name: "Pyramid Array C1 10.0.0" }, - { name: "Pyramid Array C1 10.1.0" }, - { name: "Pyramid Array C1 10.2.0" }, - { name: "Pyramid Array C1 10.3.0" }, - { name: "Pyramid Array C1 10.3.1" }, - { name: "Pyramid Array C1 10.4.0" }, - { name: "Pyramid Array C1 10.4.1" }, - { name: "Pyramid Array C1 11.0.0" }, - { name: "Pyramid Array C1 12.0.0" }, - { name: "Pyramid Array C1 13.0.0" }, - { name: "Pyramid Array C1 13.0.1" }, - { name: "Pyramid Array C2B 0.0.1" }, - { name: "Pyramid Array C2B 0.0.2" }, - { name: "Pyramid Array C2B 0.1.0" }, - { name: "Pyramid Array C2B 0.1.1" }, - { name: "Pyramid Array C2B 0.1.2" }, - { name: "Pyramid Array C2B 0.1.3" }, - { name: "Pyramid Array C2B 0.1.4" }, - { name: "Pyramid Array C2B 0.2.0" }, - { name: "Pyramid Array C2B 0.2.1" }, - { name: "Pyramid Array C2B 0.2.2" }, - { name: "Pyramid Array C2B 0.3.0" }, - { name: "Pyramid Array C2B 0.3.1" }, - { name: "Pyramid Array C2B 1.0.0" }, - { name: "Pyramid Array C2B 1.1.0" }, - { name: "Pyramid Array C2B 1.1.1" }, - { name: "Pyramid Array C2B 1.1.2" }, - { name: "Pyramid Array C2B 1.2.0" }, - { name: "Pyramid Array C2B 1.3.0" }, - { name: "Pyramid Array C2B 1.3.1" }, - { name: "Pyramid Array C2B 1.4.0" }, - { name: "Pyramid Array C2B 1.5.0" }, - { name: "Pyramid Array C2B 1.6.0" }, - { name: "Pyramid Array C2B 1.6.1" }, - { name: "Pyramid Array C2B 1.6.2" }, - { name: "Pyramid Array C2B 1.6.3" }, - { name: "Pyramid Array C2B 1.6.4" }, - { name: "Pyramid Array C2B 1.6.5" }, - { name: "Pyramid Array C2B 2.0.0" }, - { name: "Pyramid Array C2B 2.0.1" }, - { name: "Pyramid Array C2B 3.0.0" }, - { name: "Pyramid Array C2B 4.0.0" }, - { name: "Pyramid Array C2B 4.0.1" }, - { name: "Pyramid Array C2B 4.1.0" }, - { name: "Pyramid Array C2B 5.0.0" }, - { name: "Pyramid Array C2B 5.1.0" }, - { name: "Pyramid Array C2B 5.2.0" }, - { name: "Pyramid Array C2B 6.0.0" }, - { name: "Pyramid Array C2B 7.0.0" }, - { name: "Pyramid Array C2B 7.1.0" }, - { name: "Pyramid Array C2B 7.2.0" }, - { name: "Pyramid Array C2B 7.3.0" }, - { name: "Pyramid Array C2B 7.3.1" }, - { name: "Pyramid Array C2B 7.3.2" }, - { name: "Pyramid Array C2B 7.3.3" }, - { name: "Pyramid Array C2B 7.3.4" }, - { name: "Pyramid Array C2B 7.3.5" }, - { name: "Pyramid Array C2B 7.3.6" }, - { name: "Pyramid Array C2B 7.3.7" }, - { name: "Pyramid Array C2B 7.3.8" }, - { name: "Pyramid Array C2B 7.3.9" }, - { name: "Pyramid Array C2B 7.3.10" }, - { name: "Pyramid Array C2B 7.3.11" }, - { name: "Pyramid Array C2B 7.3.12" }, - { name: "Pyramid Array C2B 8.0.0" }, - { name: "Pyramid Array C2B 8.1.0" }, - { name: "Pyramid Array C2B 8.2.0" }, - { name: "Pyramid Array C2B 9.0.0" }, - { name: "Pyramid Array C2B 9.1.0" }, - { name: "Pyramid Array C2B 9.1.1" }, - { name: "Pyramid Array C2B 9.1.2" }, - { name: "Pyramid Array C2B 10.0.0" }, - { name: "Pyramid Array C2B 10.1.0" }, - { name: "Pyramid Array C2B 10.2.0" }, - { name: "Pyramid Array C2B 10.3.0" }, - { name: "Pyramid Array C2B 10.3.1" }, - { name: "Pyramid Array C2B 10.4.0" }, - { name: "Pyramid Array C2B 10.4.1" }, - { name: "Pyramid Array C2B 11.0.0" }, - { name: "Pyramid Array C2B 12.0.0" }, - { name: "Pyramid Array C2B 13.0.0" }, - { name: "Pyramid Array C2B 13.0.1" }, - { name: "Pyramid Array C3 0.0.1" }, - { name: "Pyramid Array C3 0.0.2" }, - { name: "Pyramid Array C3 0.1.0" }, - { name: "Pyramid Array C3 0.1.1" }, - { name: "Pyramid Array C3 0.1.2" }, - { name: "Pyramid Array C3 0.1.3" }, - { name: "Pyramid Array C3 0.1.4" }, - { name: "Pyramid Array C3 0.2.0" }, - { name: "Pyramid Array C3 0.2.1" }, - { name: "Pyramid Array C3 0.2.2" }, - { name: "Pyramid Array C3 0.3.0" }, - { name: "Pyramid Array C3 0.3.1" }, - { name: "Pyramid Array C3 1.0.0" }, - { name: "Pyramid Array C3 1.1.0" }, - { name: "Pyramid Array C3 1.1.1" }, - { name: "Pyramid Array C3 1.1.2" }, - { name: "Pyramid Array C3 1.2.0" }, - { name: "Pyramid Array C3 1.3.0" }, - { name: "Pyramid Array C3 1.3.1" }, - { name: "Pyramid Array C3 1.4.0" }, - { name: "Pyramid Array C3 1.5.0" }, - { name: "Pyramid Array C3 1.6.0" }, - { name: "Pyramid Array C3 1.6.1" }, - { name: "Pyramid Array C3 1.6.2" }, - { name: "Pyramid Array C3 1.6.3" }, - { name: "Pyramid Array C3 1.6.4" }, - { name: "Pyramid Array C3 1.6.5" }, - { name: "Pyramid Array C3 2.0.0" }, - { name: "Pyramid Array C3 2.0.1" }, - { name: "Pyramid Array C3 3.0.0" }, - { name: "Pyramid Array C3 4.0.0" }, - { name: "Pyramid Array C3 4.0.1" }, - { name: "Pyramid Array C3 4.1.0" }, - { name: "Pyramid Array C3 5.0.0" }, - { name: "Pyramid Array C3 5.1.0" }, - { name: "Pyramid Array C3 5.2.0" }, - { name: "Pyramid Array C3 6.0.0" }, - { name: "Pyramid Array C3 7.0.0" }, - { name: "Pyramid Array C3 7.1.0" }, - { name: "Pyramid Array C3 7.2.0" }, - { name: "Pyramid Array C3 7.3.0" }, - { name: "Pyramid Array C3 7.3.1" }, - { name: "Pyramid Array C3 7.3.2" }, - { name: "Pyramid Array C3 7.3.3" }, - { name: "Pyramid Array C3 7.3.4" }, - { name: "Pyramid Array C3 7.3.5" }, - { name: "Pyramid Array C3 7.3.6" }, - { name: "Pyramid Array C3 7.3.7" }, - { name: "Pyramid Array C3 7.3.8" }, - { name: "Pyramid Array C3 7.3.9" }, - { name: "Pyramid Array C3 7.3.10" }, - { name: "Pyramid Array C3 7.3.11" }, - { name: "Pyramid Array C3 7.3.12" }, - { name: "Pyramid Array C3 8.0.0" }, - { name: "Pyramid Array C3 8.1.0" }, - { name: "Pyramid Array C3 8.2.0" }, - { name: "Pyramid Array C3 9.0.0" }, - { name: "Pyramid Array C3 9.1.0" }, - { name: "Pyramid Array C3 9.1.1" }, - { name: "Pyramid Array C3 9.1.2" }, - { name: "Pyramid Array C3 10.0.0" }, - { name: "Pyramid Array C3 10.1.0" }, - { name: "Pyramid Array C3 10.2.0" }, - { name: "Pyramid Array C3 10.3.0" }, - { name: "Pyramid Array C3 10.3.1" }, - { name: "Pyramid Array C3 10.4.0" }, - { name: "Pyramid Array C3 10.4.1" }, - { name: "Pyramid Array C3 11.0.0" }, - { name: "Pyramid Array C3 12.0.0" }, - { name: "Pyramid Array C3 13.0.0" }, - { name: "Pyramid Array C3 13.0.1" }, - { name: "Pyramid Array C3-Pro 0.0.1" }, - { name: "Pyramid Array C3-Pro 0.0.2" }, - { name: "Pyramid Array C3-Pro 0.1.0" }, - { name: "Pyramid Array C3-Pro 0.1.1" }, - { name: "Pyramid Array C3-Pro 0.1.2" }, - { name: "Pyramid Array C3-Pro 0.1.3" }, - { name: "Pyramid Array C3-Pro 0.1.4" }, - { name: "Pyramid Array C3-Pro 0.2.0" }, - { name: "Pyramid Array C3-Pro 0.2.1" }, - { name: "Pyramid Array C3-Pro 0.2.2" }, - { name: "Pyramid Array C3-Pro 0.3.0" }, - { name: "Pyramid Array C3-Pro 0.3.1" }, - { name: "Pyramid Array C3-Pro 1.0.0" }, - { name: "Pyramid Array C3-Pro 1.1.0" }, - { name: "Pyramid Array C3-Pro 1.1.1" }, - { name: "Pyramid Array C3-Pro 1.1.2" }, - { name: "Pyramid Array C3-Pro 1.2.0" }, - { name: "Pyramid Array C3-Pro 1.3.0" }, - { name: "Pyramid Array C3-Pro 1.3.1" }, - { name: "Pyramid Array C3-Pro 1.4.0" }, - { name: "Pyramid Array C3-Pro 1.5.0" }, - { name: "Pyramid Array C3-Pro 1.6.0" }, - { name: "Pyramid Array C3-Pro 1.6.1" }, - { name: "Pyramid Array C3-Pro 1.6.2" }, - { name: "Pyramid Array C3-Pro 1.6.3" }, - { name: "Pyramid Array C3-Pro 1.6.4" }, - { name: "Pyramid Array C3-Pro 1.6.5" }, - { name: "Pyramid Array C3-Pro 2.0.0" }, - { name: "Pyramid Array C3-Pro 2.0.1" }, - { name: "Pyramid Array C3-Pro 3.0.0" }, - { name: "Pyramid Array C3-Pro 4.0.0" }, - { name: "Pyramid Array C3-Pro 4.0.1" }, - { name: "Pyramid Array C3-Pro 4.1.0" }, - { name: "Pyramid Array C3-Pro 5.0.0" }, - { name: "Pyramid Array C3-Pro 5.1.0" }, - { name: "Pyramid Array C3-Pro 5.2.0" }, - { name: "Pyramid Array C3-Pro 6.0.0" }, - { name: "Pyramid Array C3-Pro 7.0.0" }, - { name: "Pyramid Array C3-Pro 7.1.0" }, - { name: "Pyramid Array C3-Pro 7.2.0" }, - { name: "Pyramid Array C3-Pro 7.3.0" }, - { name: "Pyramid Array C3-Pro 7.3.1" }, - { name: "Pyramid Array C3-Pro 7.3.2" }, - { name: "Pyramid Array C3-Pro 7.3.3" }, - { name: "Pyramid Array C3-Pro 7.3.4" }, - { name: "Pyramid Array C3-Pro 7.3.5" }, - { name: "Pyramid Array C3-Pro 7.3.6" }, - { name: "Pyramid Array C3-Pro 7.3.7" }, - { name: "Pyramid Array C3-Pro 7.3.8" }, - { name: "Pyramid Array C3-Pro 7.3.9" }, - { name: "Pyramid Array C3-Pro 7.3.10" }, - { name: "Pyramid Array C3-Pro 7.3.11" }, - { name: "Pyramid Array C3-Pro 7.3.12" }, - { name: "Pyramid Array C3-Pro 8.0.0" }, - { name: "Pyramid Array C3-Pro 8.1.0" }, - { name: "Pyramid Array C3-Pro 8.2.0" }, - { name: "Pyramid Array C3-Pro 9.0.0" }, - { name: "Pyramid Array C3-Pro 9.1.0" }, - { name: "Pyramid Array C3-Pro 9.1.1" }, - { name: "Pyramid Array C3-Pro 9.1.2" }, - { name: "Pyramid Array C3-Pro 10.0.0" }, - { name: "Pyramid Array C3-Pro 10.1.0" }, - { name: "Pyramid Array C3-Pro 10.2.0" }, - { name: "Pyramid Array C3-Pro 10.3.0" }, - { name: "Pyramid Array C3-Pro 10.3.1" }, - { name: "Pyramid Array C3-Pro 10.4.0" }, - { name: "Pyramid Array C3-Pro 10.4.1" }, - { name: "Pyramid Array C3-Pro 11.0.0" }, - { name: "Pyramid Array C3-Pro 12.0.0" }, - { name: "Pyramid Array C3-Pro 13.0.0" }, - { name: "Pyramid Array C3-Pro 13.0.1" }, - { name: "Pyramid Array D 0.0.1" }, - { name: "Pyramid Array D 0.0.2" }, - { name: "Pyramid Array D 0.1.0" }, - { name: "Pyramid Array D 0.1.1" }, - { name: "Pyramid Array D 0.1.2" }, - { name: "Pyramid Array D 0.1.3" }, - { name: "Pyramid Array D 0.1.4" }, - { name: "Pyramid Array D 0.2.0" }, - { name: "Pyramid Array D 0.2.1" }, - { name: "Pyramid Array D 0.2.2" }, - { name: "Pyramid Array D 0.3.0" }, - { name: "Pyramid Array D 0.3.1" }, - { name: "Pyramid Array D 1.0.0" }, - { name: "Pyramid Array D 1.1.0" }, - { name: "Pyramid Array D 1.1.1" }, - { name: "Pyramid Array D 1.1.2" }, - { name: "Pyramid Array D 1.2.0" }, - { name: "Pyramid Array D 1.3.0" }, - { name: "Pyramid Array D 1.3.1" }, - { name: "Pyramid Array D 1.4.0" }, - { name: "Pyramid Array D 1.5.0" }, - { name: "Pyramid Array D 1.6.0" }, - { name: "Pyramid Array D 1.6.1" }, - { name: "Pyramid Array D 1.6.2" }, - { name: "Pyramid Array D 1.6.3" }, - { name: "Pyramid Array D 1.6.4" }, - { name: "Pyramid Array D 1.6.5" }, - { name: "Pyramid Array D 2.0.0" }, - { name: "Pyramid Array D 2.0.1" }, - { name: "Pyramid Array D 3.0.0" }, - { name: "Pyramid Array D 4.0.0" }, - { name: "Pyramid Array D 4.0.1" }, - { name: "Pyramid Array D 4.1.0" }, - { name: "Pyramid Array D 5.0.0" }, - { name: "Pyramid Array D 5.1.0" }, - { name: "Pyramid Array D 5.2.0" }, - { name: "Pyramid Array D 6.0.0" }, - { name: "Pyramid Array D 7.0.0" }, - { name: "Pyramid Array D 7.1.0" }, - { name: "Pyramid Array D 7.2.0" }, - { name: "Pyramid Array D 7.3.0" }, - { name: "Pyramid Array D 7.3.1" }, - { name: "Pyramid Array D 7.3.2" }, - { name: "Pyramid Array D 7.3.3" }, - { name: "Pyramid Array D 7.3.4" }, - { name: "Pyramid Array D 7.3.5" }, - { name: "Pyramid Array D 7.3.6" }, - { name: "Pyramid Array D 7.3.7" }, - { name: "Pyramid Array D 7.3.8" }, - { name: "Pyramid Array D 7.3.9" }, - { name: "Pyramid Array D 7.3.10" }, - { name: "Pyramid Array D 7.3.11" }, - { name: "Pyramid Array D 7.3.12" }, - { name: "Pyramid Array D 8.0.0" }, - { name: "Pyramid Array D 8.1.0" }, - { name: "Pyramid Array D 8.2.0" }, - { name: "Pyramid Array D 9.0.0" }, - { name: "Pyramid Array D 9.1.0" }, - { name: "Pyramid Array D 9.1.1" }, - { name: "Pyramid Array D 9.1.2" }, - { name: "Pyramid Array D 10.0.0" }, - { name: "Pyramid Array D 10.1.0" }, - { name: "Pyramid Array D 10.2.0" }, - { name: "Pyramid Array D 10.3.0" }, - { name: "Pyramid Array D 10.3.1" }, - { name: "Pyramid Array D 10.4.0" }, - { name: "Pyramid Array D 10.4.1" }, - { name: "Pyramid Array D 11.0.0" }, - { name: "Pyramid Array D 12.0.0" }, - { name: "Pyramid Array D 13.0.0" }, - { name: "Pyramid Array D 13.0.1" }, - { name: "Pyramid Array DS 0.0.1" }, - { name: "Pyramid Array DS 0.0.2" }, - { name: "Pyramid Array DS 0.1.0" }, - { name: "Pyramid Array DS 0.1.1" }, - { name: "Pyramid Array DS 0.1.2" }, - { name: "Pyramid Array DS 0.1.3" }, - { name: "Pyramid Array DS 0.1.4" }, - { name: "Pyramid Array DS 0.2.0" }, - { name: "Pyramid Array DS 0.2.1" }, - { name: "Pyramid Array DS 0.2.2" }, - { name: "Pyramid Array DS 0.3.0" }, - { name: "Pyramid Array DS 0.3.1" }, - { name: "Pyramid Array DS 1.0.0" }, - { name: "Pyramid Array DS 1.1.0" }, - { name: "Pyramid Array DS 1.1.1" }, - { name: "Pyramid Array DS 1.1.2" }, - { name: "Pyramid Array DS 1.2.0" }, - { name: "Pyramid Array DS 1.3.0" }, - { name: "Pyramid Array DS 1.3.1" }, - { name: "Pyramid Array DS 1.4.0" }, - { name: "Pyramid Array DS 1.5.0" }, - { name: "Pyramid Array DS 1.6.0" }, - { name: "Pyramid Array DS 1.6.1" }, - { name: "Pyramid Array DS 1.6.2" }, - { name: "Pyramid Array DS 1.6.3" }, - { name: "Pyramid Array DS 1.6.4" }, - { name: "Pyramid Array DS 1.6.5" }, - { name: "Pyramid Array DS 2.0.0" }, - { name: "Pyramid Array DS 2.0.1" }, - { name: "Pyramid Array DS 3.0.0" }, - { name: "Pyramid Array DS 4.0.0" }, - { name: "Pyramid Array DS 4.0.1" }, - { name: "Pyramid Array DS 4.1.0" }, - { name: "Pyramid Array DS 5.0.0" }, - { name: "Pyramid Array DS 5.1.0" }, - { name: "Pyramid Array DS 5.2.0" }, - { name: "Pyramid Array DS 6.0.0" }, - { name: "Pyramid Array DS 7.0.0" }, - { name: "Pyramid Array DS 7.1.0" }, - { name: "Pyramid Array DS 7.2.0" }, - { name: "Pyramid Array DS 7.3.0" }, - { name: "Pyramid Array DS 7.3.1" }, - { name: "Pyramid Array DS 7.3.2" }, - { name: "Pyramid Array DS 7.3.3" }, - { name: "Pyramid Array DS 7.3.4" }, - { name: "Pyramid Array DS 7.3.5" }, - { name: "Pyramid Array DS 7.3.6" }, - { name: "Pyramid Array DS 7.3.7" }, - { name: "Pyramid Array DS 7.3.8" }, - { name: "Pyramid Array DS 7.3.9" }, - { name: "Pyramid Array DS 7.3.10" }, - { name: "Pyramid Array DS 7.3.11" }, - { name: "Pyramid Array DS 7.3.12" }, - { name: "Pyramid Array DS 8.0.0" }, - { name: "Pyramid Array DS 8.1.0" }, - { name: "Pyramid Array DS 8.2.0" }, - { name: "Pyramid Array DS 9.0.0" }, - { name: "Pyramid Array DS 9.1.0" }, - { name: "Pyramid Array DS 9.1.1" }, - { name: "Pyramid Array DS 9.1.2" }, - { name: "Pyramid Array DS 10.0.0" }, - { name: "Pyramid Array DS 10.1.0" }, - { name: "Pyramid Array DS 10.2.0" }, - { name: "Pyramid Array DS 10.3.0" }, - { name: "Pyramid Array DS 10.3.1" }, - { name: "Pyramid Array DS 10.4.0" }, - { name: "Pyramid Array DS 10.4.1" }, - { name: "Pyramid Array DS 11.0.0" }, - { name: "Pyramid Array DS 12.0.0" }, - { name: "Pyramid Array DS 13.0.0" }, - { name: "Pyramid Array DS 13.0.1" }, - { name: "Pyramid Array DX 0.0.1" }, - { name: "Pyramid Array DX 0.0.2" }, - { name: "Pyramid Array DX 0.1.0" }, - { name: "Pyramid Array DX 0.1.1" }, - { name: "Pyramid Array DX 0.1.2" }, - { name: "Pyramid Array DX 0.1.3" }, - { name: "Pyramid Array DX 0.1.4" }, - { name: "Pyramid Array DX 0.2.0" }, - { name: "Pyramid Array DX 0.2.1" }, - { name: "Pyramid Array DX 0.2.2" }, - { name: "Pyramid Array DX 0.3.0" }, - { name: "Pyramid Array DX 0.3.1" }, - { name: "Pyramid Array DX 1.0.0" }, - { name: "Pyramid Array DX 1.1.0" }, - { name: "Pyramid Array DX 1.1.1" }, - { name: "Pyramid Array DX 1.1.2" }, - { name: "Pyramid Array DX 1.2.0" }, - { name: "Pyramid Array DX 1.3.0" }, - { name: "Pyramid Array DX 1.3.1" }, - { name: "Pyramid Array DX 1.4.0" }, - { name: "Pyramid Array DX 1.5.0" }, - { name: "Pyramid Array DX 1.6.0" }, - { name: "Pyramid Array DX 1.6.1" }, - { name: "Pyramid Array DX 1.6.2" }, - { name: "Pyramid Array DX 1.6.3" }, - { name: "Pyramid Array DX 1.6.4" }, - { name: "Pyramid Array DX 1.6.5" }, - { name: "Pyramid Array DX 2.0.0" }, - { name: "Pyramid Array DX 2.0.1" }, - { name: "Pyramid Array DX 3.0.0" }, - { name: "Pyramid Array DX 4.0.0" }, - { name: "Pyramid Array DX 4.0.1" }, - { name: "Pyramid Array DX 4.1.0" }, - { name: "Pyramid Array DX 5.0.0" }, - { name: "Pyramid Array DX 5.1.0" }, - { name: "Pyramid Array DX 5.2.0" }, - { name: "Pyramid Array DX 6.0.0" }, - { name: "Pyramid Array DX 7.0.0" }, - { name: "Pyramid Array DX 7.1.0" }, - { name: "Pyramid Array DX 7.2.0" }, - { name: "Pyramid Array DX 7.3.0" }, - { name: "Pyramid Array DX 7.3.1" }, - { name: "Pyramid Array DX 7.3.2" }, - { name: "Pyramid Array DX 7.3.3" }, - { name: "Pyramid Array DX 7.3.4" }, - { name: "Pyramid Array DX 7.3.5" }, - { name: "Pyramid Array DX 7.3.6" }, - { name: "Pyramid Array DX 7.3.7" }, - { name: "Pyramid Array DX 7.3.8" }, - { name: "Pyramid Array DX 7.3.9" }, - { name: "Pyramid Array DX 7.3.10" }, - { name: "Pyramid Array DX 7.3.11" }, - { name: "Pyramid Array DX 7.3.12" }, - { name: "Pyramid Array DX 8.0.0" }, - { name: "Pyramid Array DX 8.1.0" }, - { name: "Pyramid Array DX 8.2.0" }, - { name: "Pyramid Array DX 9.0.0" }, - { name: "Pyramid Array DX 9.1.0" }, - { name: "Pyramid Array DX 9.1.1" }, - { name: "Pyramid Array DX 9.1.2" }, - { name: "Pyramid Array DX 10.0.0" }, - { name: "Pyramid Array DX 10.1.0" }, - { name: "Pyramid Array DX 10.2.0" }, - { name: "Pyramid Array DX 10.3.0" }, - { name: "Pyramid Array DX 10.3.1" }, - { name: "Pyramid Array DX 10.4.0" }, - { name: "Pyramid Array DX 10.4.1" }, - { name: "Pyramid Array DX 11.0.0" }, - { name: "Pyramid Array DX 12.0.0" }, - { name: "Pyramid Array DX 13.0.0" }, - { name: "Pyramid Array DX 13.0.1" }, - { name: "Pyramid Array E-Standard 0.0.1" }, - { name: "Pyramid Array E-Standard 0.0.2" }, - { name: "Pyramid Array E-Standard 0.1.0" }, - { name: "Pyramid Array E-Standard 0.1.1" }, - { name: "Pyramid Array E-Standard 0.1.2" }, - { name: "Pyramid Array E-Standard 0.1.3" }, - { name: "Pyramid Array E-Standard 0.1.4" }, - { name: "Pyramid Array E-Standard 0.2.0" }, - { name: "Pyramid Array E-Standard 0.2.1" }, - { name: "Pyramid Array E-Standard 0.2.2" }, - { name: "Pyramid Array E-Standard 0.3.0" }, - { name: "Pyramid Array E-Standard 0.3.1" }, - { name: "Pyramid Array E-Standard 1.0.0" }, - { name: "Pyramid Array E-Standard 1.1.0" }, - { name: "Pyramid Array E-Standard 1.1.1" }, - { name: "Pyramid Array E-Standard 1.1.2" }, - { name: "Pyramid Array E-Standard 1.2.0" }, - { name: "Pyramid Array E-Standard 1.3.0" }, - { name: "Pyramid Array E-Standard 1.3.1" }, - { name: "Pyramid Array E-Standard 1.4.0" }, - { name: "Pyramid Array E-Standard 1.5.0" }, - { name: "Pyramid Array E-Standard 1.6.0" }, - { name: "Pyramid Array E-Standard 1.6.1" }, - { name: "Pyramid Array E-Standard 1.6.2" }, - { name: "Pyramid Array E-Standard 1.6.3" }, - { name: "Pyramid Array E-Standard 1.6.4" }, - { name: "Pyramid Array E-Standard 1.6.5" }, - { name: "Pyramid Array E-Standard 2.0.0" }, - { name: "Pyramid Array E-Standard 2.0.1" }, - { name: "Pyramid Array E-Standard 3.0.0" }, - { name: "Pyramid Array E-Standard 4.0.0" }, - { name: "Pyramid Array E-Standard 4.0.1" }, - { name: "Pyramid Array E-Standard 4.1.0" }, - { name: "Pyramid Array E-Standard 5.0.0" }, - { name: "Pyramid Array E-Standard 5.1.0" }, - { name: "Pyramid Array E-Standard 5.2.0" }, - { name: "Pyramid Array E-Standard 6.0.0" }, - { name: "Pyramid Array E-Standard 7.0.0" }, - { name: "Pyramid Array E-Standard 7.1.0" }, - { name: "Pyramid Array E-Standard 7.2.0" }, - { name: "Pyramid Array E-Standard 7.3.0" }, - { name: "Pyramid Array E-Standard 7.3.1" }, - { name: "Pyramid Array E-Standard 7.3.2" }, - { name: "Pyramid Array E-Standard 7.3.3" }, - { name: "Pyramid Array E-Standard 7.3.4" }, - { name: "Pyramid Array E-Standard 7.3.5" }, - { name: "Pyramid Array E-Standard 7.3.6" }, - { name: "Pyramid Array E-Standard 7.3.7" }, - { name: "Pyramid Array E-Standard 7.3.8" }, - { name: "Pyramid Array E-Standard 7.3.9" }, - { name: "Pyramid Array E-Standard 7.3.10" }, - { name: "Pyramid Array E-Standard 7.3.11" }, - { name: "Pyramid Array E-Standard 7.3.12" }, - { name: "Pyramid Array E-Standard 8.0.0" }, - { name: "Pyramid Array E-Standard 8.1.0" }, - { name: "Pyramid Array E-Standard 8.2.0" }, - { name: "Pyramid Array E-Standard 9.0.0" }, - { name: "Pyramid Array E-Standard 9.1.0" }, - { name: "Pyramid Array E-Standard 9.1.1" }, - { name: "Pyramid Array E-Standard 9.1.2" }, - { name: "Pyramid Array E-Standard 10.0.0" }, - { name: "Pyramid Array E-Standard 10.1.0" }, - { name: "Pyramid Array E-Standard 10.2.0" }, - { name: "Pyramid Array E-Standard 10.3.0" }, - { name: "Pyramid Array E-Standard 10.3.1" }, - { name: "Pyramid Array E-Standard 10.4.0" }, - { name: "Pyramid Array E-Standard 10.4.1" }, - { name: "Pyramid Array E-Standard 11.0.0" }, - { name: "Pyramid Array E-Standard 12.0.0" }, - { name: "Pyramid Array E-Standard 13.0.0" }, - { name: "Pyramid Array E-Standard 13.0.1" }, - { name: "Pyramid Array E-Plus 0.0.1" }, - { name: "Pyramid Array E-Plus 0.0.2" }, - { name: "Pyramid Array E-Plus 0.1.0" }, - { name: "Pyramid Array E-Plus 0.1.1" }, - { name: "Pyramid Array E-Plus 0.1.2" }, - { name: "Pyramid Array E-Plus 0.1.3" }, - { name: "Pyramid Array E-Plus 0.1.4" }, - { name: "Pyramid Array E-Plus 0.2.0" }, - { name: "Pyramid Array E-Plus 0.2.1" }, - { name: "Pyramid Array E-Plus 0.2.2" }, - { name: "Pyramid Array E-Plus 0.3.0" }, - { name: "Pyramid Array E-Plus 0.3.1" }, - { name: "Pyramid Array E-Plus 1.0.0" }, - { name: "Pyramid Array E-Plus 1.1.0" }, - { name: "Pyramid Array E-Plus 1.1.1" }, - { name: "Pyramid Array E-Plus 1.1.2" }, - { name: "Pyramid Array E-Plus 1.2.0" }, - { name: "Pyramid Array E-Plus 1.3.0" }, - { name: "Pyramid Array E-Plus 1.3.1" }, - { name: "Pyramid Array E-Plus 1.4.0" }, - { name: "Pyramid Array E-Plus 1.5.0" }, - { name: "Pyramid Array E-Plus 1.6.0" }, - { name: "Pyramid Array E-Plus 1.6.1" }, - { name: "Pyramid Array E-Plus 1.6.2" }, - { name: "Pyramid Array E-Plus 1.6.3" }, - { name: "Pyramid Array E-Plus 1.6.4" }, - { name: "Pyramid Array E-Plus 1.6.5" }, - { name: "Pyramid Array E-Plus 2.0.0" }, - { name: "Pyramid Array E-Plus 2.0.1" }, - { name: "Pyramid Array E-Plus 3.0.0" }, - { name: "Pyramid Array E-Plus 4.0.0" }, - { name: "Pyramid Array E-Plus 4.0.1" }, - { name: "Pyramid Array E-Plus 4.1.0" }, - { name: "Pyramid Array E-Plus 5.0.0" }, - { name: "Pyramid Array E-Plus 5.1.0" }, - { name: "Pyramid Array E-Plus 5.2.0" }, - { name: "Pyramid Array E-Plus 6.0.0" }, - { name: "Pyramid Array E-Plus 7.0.0" }, - { name: "Pyramid Array E-Plus 7.1.0" }, - { name: "Pyramid Array E-Plus 7.2.0" }, - { name: "Pyramid Array E-Plus 7.3.0" }, - { name: "Pyramid Array E-Plus 7.3.1" }, - { name: "Pyramid Array E-Plus 7.3.2" }, - { name: "Pyramid Array E-Plus 7.3.3" }, - { name: "Pyramid Array E-Plus 7.3.4" }, - { name: "Pyramid Array E-Plus 7.3.5" }, - { name: "Pyramid Array E-Plus 7.3.6" }, - { name: "Pyramid Array E-Plus 7.3.7" }, - { name: "Pyramid Array E-Plus 7.3.8" }, - { name: "Pyramid Array E-Plus 7.3.9" }, - { name: "Pyramid Array E-Plus 7.3.10" }, - { name: "Pyramid Array E-Plus 7.3.11" }, - { name: "Pyramid Array E-Plus 7.3.12" }, - { name: "Pyramid Array E-Plus 8.0.0" }, - { name: "Pyramid Array E-Plus 8.1.0" }, - { name: "Pyramid Array E-Plus 8.2.0" }, - { name: "Pyramid Array E-Plus 9.0.0" }, - { name: "Pyramid Array E-Plus 9.1.0" }, - { name: "Pyramid Array E-Plus 9.1.1" }, - { name: "Pyramid Array E-Plus 9.1.2" }, - { name: "Pyramid Array E-Plus 10.0.0" }, - { name: "Pyramid Array E-Plus 10.1.0" }, - { name: "Pyramid Array E-Plus 10.2.0" }, - { name: "Pyramid Array E-Plus 10.3.0" }, - { name: "Pyramid Array E-Plus 10.3.1" }, - { name: "Pyramid Array E-Plus 10.4.0" }, - { name: "Pyramid Array E-Plus 10.4.1" }, - { name: "Pyramid Array E-Plus 11.0.0" }, - { name: "Pyramid Array E-Plus 12.0.0" }, - { name: "Pyramid Array E-Plus 13.0.0" }, - { name: "Pyramid Array E-Plus 13.0.1" }, - { name: "Hyper Matrix Prototype A 0.0.1" }, - { name: "Hyper Matrix Prototype A 0.0.2" }, - { name: "Hyper Matrix Prototype A 0.1.0" }, - { name: "Hyper Matrix Prototype A 0.1.1" }, - { name: "Hyper Matrix Prototype A 0.1.2" }, - { name: "Hyper Matrix Prototype A 0.1.3" }, - { name: "Hyper Matrix Prototype A 0.1.4" }, - { name: "Hyper Matrix Prototype A 0.2.0" }, - { name: "Hyper Matrix Prototype A 0.2.1" }, - { name: "Hyper Matrix Prototype A 0.2.2" }, - { name: "Hyper Matrix Prototype A 0.3.0" }, - { name: "Hyper Matrix Prototype A 0.3.1" }, - { name: "Hyper Matrix Prototype A 1.0.0" }, - { name: "Hyper Matrix Prototype A 1.1.0" }, - { name: "Hyper Matrix Prototype A 1.1.1" }, - { name: "Hyper Matrix Prototype A 1.1.2" }, - { name: "Hyper Matrix Prototype A 1.2.0" }, - { name: "Hyper Matrix Prototype A 1.3.0" }, - { name: "Hyper Matrix Prototype A 1.3.1" }, - { name: "Hyper Matrix Prototype A 1.4.0" }, - { name: "Hyper Matrix Prototype A 1.5.0" }, - { name: "Hyper Matrix Prototype A 1.6.0" }, - { name: "Hyper Matrix Prototype A 1.6.1" }, - { name: "Hyper Matrix Prototype A 1.6.2" }, - { name: "Hyper Matrix Prototype A 1.6.3" }, - { name: "Hyper Matrix Prototype A 1.6.4" }, - { name: "Hyper Matrix Prototype A 1.6.5" }, - { name: "Hyper Matrix Prototype A 2.0.0" }, - { name: "Hyper Matrix Prototype A 2.0.1" }, - { name: "Hyper Matrix Prototype A 3.0.0" }, - { name: "Hyper Matrix Prototype A 4.0.0" }, - { name: "Hyper Matrix Prototype A 4.0.1" }, - { name: "Hyper Matrix Prototype A 4.1.0" }, - { name: "Hyper Matrix Prototype A 5.0.0" }, - { name: "Hyper Matrix Prototype A 5.1.0" }, - { name: "Hyper Matrix Prototype A 5.2.0" }, - { name: "Hyper Matrix Prototype A 6.0.0" }, - { name: "Hyper Matrix Prototype A 7.0.0" }, - { name: "Hyper Matrix Prototype A 7.1.0" }, - { name: "Hyper Matrix Prototype A 7.2.0" }, - { name: "Hyper Matrix Prototype A 7.3.0" }, - { name: "Hyper Matrix Prototype A 7.3.1" }, - { name: "Hyper Matrix Prototype A 7.3.2" }, - { name: "Hyper Matrix Prototype A 7.3.3" }, - { name: "Hyper Matrix Prototype A 7.3.4" }, - { name: "Hyper Matrix Prototype A 7.3.5" }, - { name: "Hyper Matrix Prototype A 7.3.6" }, - { name: "Hyper Matrix Prototype A 7.3.7" }, - { name: "Hyper Matrix Prototype A 7.3.8" }, - { name: "Hyper Matrix Prototype A 7.3.9" }, - { name: "Hyper Matrix Prototype A 7.3.10" }, - { name: "Hyper Matrix Prototype A 7.3.11" }, - { name: "Hyper Matrix Prototype A 7.3.12" }, - { name: "Hyper Matrix Prototype A 8.0.0" }, - { name: "Hyper Matrix Prototype A 8.1.0" }, - { name: "Hyper Matrix Prototype A 8.2.0" }, - { name: "Hyper Matrix Prototype A 9.0.0" }, - { name: "Hyper Matrix Prototype A 9.1.0" }, - { name: "Hyper Matrix Prototype A 9.1.1" }, - { name: "Hyper Matrix Prototype A 9.1.2" }, - { name: "Hyper Matrix Prototype A 10.0.0" }, - { name: "Hyper Matrix Prototype A 10.1.0" }, - { name: "Hyper Matrix Prototype A 10.2.0" }, - { name: "Hyper Matrix Prototype A 10.3.0" }, - { name: "Hyper Matrix Prototype A 10.3.1" }, - { name: "Hyper Matrix Prototype A 10.4.0" }, - { name: "Hyper Matrix Prototype A 10.4.1" }, - { name: "Hyper Matrix Prototype A 11.0.0" }, - { name: "Hyper Matrix Prototype A 12.0.0" }, - { name: "Hyper Matrix Prototype A 13.0.0" }, - { name: "Hyper Matrix Prototype A 13.0.1" }, - { name: "Hyper Matrix Prototype B 0.0.1" }, - { name: "Hyper Matrix Prototype B 0.0.2" }, - { name: "Hyper Matrix Prototype B 0.1.0" }, - { name: "Hyper Matrix Prototype B 0.1.1" }, - { name: "Hyper Matrix Prototype B 0.1.2" }, - { name: "Hyper Matrix Prototype B 0.1.3" }, - { name: "Hyper Matrix Prototype B 0.1.4" }, - { name: "Hyper Matrix Prototype B 0.2.0" }, - { name: "Hyper Matrix Prototype B 0.2.1" }, - { name: "Hyper Matrix Prototype B 0.2.2" }, - { name: "Hyper Matrix Prototype B 0.3.0" }, - { name: "Hyper Matrix Prototype B 0.3.1" }, - { name: "Hyper Matrix Prototype B 1.0.0" }, - { name: "Hyper Matrix Prototype B 1.1.0" }, - { name: "Hyper Matrix Prototype B 1.1.1" }, - { name: "Hyper Matrix Prototype B 1.1.2" }, - { name: "Hyper Matrix Prototype B 1.2.0" }, - { name: "Hyper Matrix Prototype B 1.3.0" }, - { name: "Hyper Matrix Prototype B 1.3.1" }, - { name: "Hyper Matrix Prototype B 1.4.0" }, - { name: "Hyper Matrix Prototype B 1.5.0" }, - { name: "Hyper Matrix Prototype B 1.6.0" }, - { name: "Hyper Matrix Prototype B 1.6.1" }, - { name: "Hyper Matrix Prototype B 1.6.2" }, - { name: "Hyper Matrix Prototype B 1.6.3" }, - { name: "Hyper Matrix Prototype B 1.6.4" }, - { name: "Hyper Matrix Prototype B 1.6.5" }, - { name: "Hyper Matrix Prototype B 2.0.0" }, - { name: "Hyper Matrix Prototype B 2.0.1" }, - { name: "Hyper Matrix Prototype B 3.0.0" }, - { name: "Hyper Matrix Prototype B 4.0.0" }, - { name: "Hyper Matrix Prototype B 4.0.1" }, - { name: "Hyper Matrix Prototype B 4.1.0" }, - { name: "Hyper Matrix Prototype B 5.0.0" }, - { name: "Hyper Matrix Prototype B 5.1.0" }, - { name: "Hyper Matrix Prototype B 5.2.0" }, - { name: "Hyper Matrix Prototype B 6.0.0" }, - { name: "Hyper Matrix Prototype B 7.0.0" }, - { name: "Hyper Matrix Prototype B 7.1.0" }, - { name: "Hyper Matrix Prototype B 7.2.0" }, - { name: "Hyper Matrix Prototype B 7.3.0" }, - { name: "Hyper Matrix Prototype B 7.3.1" }, - { name: "Hyper Matrix Prototype B 7.3.2" }, - { name: "Hyper Matrix Prototype B 7.3.3" }, - { name: "Hyper Matrix Prototype B 7.3.4" }, - { name: "Hyper Matrix Prototype B 7.3.5" }, - { name: "Hyper Matrix Prototype B 7.3.6" }, - { name: "Hyper Matrix Prototype B 7.3.7" }, - { name: "Hyper Matrix Prototype B 7.3.8" }, - { name: "Hyper Matrix Prototype B 7.3.9" }, - { name: "Hyper Matrix Prototype B 7.3.10" }, - { name: "Hyper Matrix Prototype B 7.3.11" }, - { name: "Hyper Matrix Prototype B 7.3.12" }, - { name: "Hyper Matrix Prototype B 8.0.0" }, - { name: "Hyper Matrix Prototype B 8.1.0" }, - { name: "Hyper Matrix Prototype B 8.2.0" }, - { name: "Hyper Matrix Prototype B 9.0.0" }, - { name: "Hyper Matrix Prototype B 9.1.0" }, - { name: "Hyper Matrix Prototype B 9.1.1" }, - { name: "Hyper Matrix Prototype B 9.1.2" }, - { name: "Hyper Matrix Prototype B 10.0.0" }, - { name: "Hyper Matrix Prototype B 10.1.0" }, - { name: "Hyper Matrix Prototype B 10.2.0" }, - { name: "Hyper Matrix Prototype B 10.3.0" }, - { name: "Hyper Matrix Prototype B 10.3.1" }, - { name: "Hyper Matrix Prototype B 10.4.0" }, - { name: "Hyper Matrix Prototype B 10.4.1" }, - { name: "Hyper Matrix Prototype B 11.0.0" }, - { name: "Hyper Matrix Prototype B 12.0.0" }, - { name: "Hyper Matrix Prototype B 13.0.0" }, - { name: "Hyper Matrix Prototype B 13.0.1" }, - { name: "Hyper Matrix 1 0.0.1" }, - { name: "Hyper Matrix 1 0.0.2" }, - { name: "Hyper Matrix 1 0.1.0" }, - { name: "Hyper Matrix 1 0.1.1" }, - { name: "Hyper Matrix 1 0.1.2" }, - { name: "Hyper Matrix 1 0.1.3" }, - { name: "Hyper Matrix 1 0.1.4" }, - { name: "Hyper Matrix 1 0.2.0" }, - { name: "Hyper Matrix 1 0.2.1" }, - { name: "Hyper Matrix 1 0.2.2" }, - { name: "Hyper Matrix 1 0.3.0" }, - { name: "Hyper Matrix 1 0.3.1" }, - { name: "Hyper Matrix 1 1.0.0" }, - { name: "Hyper Matrix 1 1.1.0" }, - { name: "Hyper Matrix 1 1.1.1" }, - { name: "Hyper Matrix 1 1.1.2" }, - { name: "Hyper Matrix 1 1.2.0" }, - { name: "Hyper Matrix 1 1.3.0" }, - { name: "Hyper Matrix 1 1.3.1" }, - { name: "Hyper Matrix 1 1.4.0" }, - { name: "Hyper Matrix 1 1.5.0" }, - { name: "Hyper Matrix 1 1.6.0" }, - { name: "Hyper Matrix 1 1.6.1" }, - { name: "Hyper Matrix 1 1.6.2" }, - { name: "Hyper Matrix 1 1.6.3" }, - { name: "Hyper Matrix 1 1.6.4" }, - { name: "Hyper Matrix 1 1.6.5" }, - { name: "Hyper Matrix 1 2.0.0" }, - { name: "Hyper Matrix 1 2.0.1" }, - { name: "Hyper Matrix 1 3.0.0" }, - { name: "Hyper Matrix 1 4.0.0" }, - { name: "Hyper Matrix 1 4.0.1" }, - { name: "Hyper Matrix 1 4.1.0" }, - { name: "Hyper Matrix 1 5.0.0" }, - { name: "Hyper Matrix 1 5.1.0" }, - { name: "Hyper Matrix 1 5.2.0" }, - { name: "Hyper Matrix 1 6.0.0" }, - { name: "Hyper Matrix 1 7.0.0" }, - { name: "Hyper Matrix 1 7.1.0" }, - { name: "Hyper Matrix 1 7.2.0" }, - { name: "Hyper Matrix 1 7.3.0" }, - { name: "Hyper Matrix 1 7.3.1" }, - { name: "Hyper Matrix 1 7.3.2" }, - { name: "Hyper Matrix 1 7.3.3" }, - { name: "Hyper Matrix 1 7.3.4" }, - { name: "Hyper Matrix 1 7.3.5" }, - { name: "Hyper Matrix 1 7.3.6" }, - { name: "Hyper Matrix 1 7.3.7" }, - { name: "Hyper Matrix 1 7.3.8" }, - { name: "Hyper Matrix 1 7.3.9" }, - { name: "Hyper Matrix 1 7.3.10" }, - { name: "Hyper Matrix 1 7.3.11" }, - { name: "Hyper Matrix 1 7.3.12" }, - { name: "Hyper Matrix 1 8.0.0" }, - { name: "Hyper Matrix 1 8.1.0" }, - { name: "Hyper Matrix 1 8.2.0" }, - { name: "Hyper Matrix 1 9.0.0" }, - { name: "Hyper Matrix 1 9.1.0" }, - { name: "Hyper Matrix 1 9.1.1" }, - { name: "Hyper Matrix 1 9.1.2" }, - { name: "Hyper Matrix 1 10.0.0" }, - { name: "Hyper Matrix 1 10.1.0" }, - { name: "Hyper Matrix 1 10.2.0" }, - { name: "Hyper Matrix 1 10.3.0" }, - { name: "Hyper Matrix 1 10.3.1" }, - { name: "Hyper Matrix 1 10.4.0" }, - { name: "Hyper Matrix 1 10.4.1" }, - { name: "Hyper Matrix 1 11.0.0" }, - { name: "Hyper Matrix 1 12.0.0" }, - { name: "Hyper Matrix 1 13.0.0" }, - { name: "Hyper Matrix 1 13.0.1" }, - { name: "Hyper Matrix 2 0.0.1" }, - { name: "Hyper Matrix 2 0.0.2" }, - { name: "Hyper Matrix 2 0.1.0" }, - { name: "Hyper Matrix 2 0.1.1" }, - { name: "Hyper Matrix 2 0.1.2" }, - { name: "Hyper Matrix 2 0.1.3" }, - { name: "Hyper Matrix 2 0.1.4" }, - { name: "Hyper Matrix 2 0.2.0" }, - { name: "Hyper Matrix 2 0.2.1" }, - { name: "Hyper Matrix 2 0.2.2" }, - { name: "Hyper Matrix 2 0.3.0" }, - { name: "Hyper Matrix 2 0.3.1" }, - { name: "Hyper Matrix 2 1.0.0" }, - { name: "Hyper Matrix 2 1.1.0" }, - { name: "Hyper Matrix 2 1.1.1" }, - { name: "Hyper Matrix 2 1.1.2" }, - { name: "Hyper Matrix 2 1.2.0" }, - { name: "Hyper Matrix 2 1.3.0" }, - { name: "Hyper Matrix 2 1.3.1" }, - { name: "Hyper Matrix 2 1.4.0" }, - { name: "Hyper Matrix 2 1.5.0" }, - { name: "Hyper Matrix 2 1.6.0" }, - { name: "Hyper Matrix 2 1.6.1" }, - { name: "Hyper Matrix 2 1.6.2" }, - { name: "Hyper Matrix 2 1.6.3" }, - { name: "Hyper Matrix 2 1.6.4" }, - { name: "Hyper Matrix 2 1.6.5" }, - { name: "Hyper Matrix 2 2.0.0" }, - { name: "Hyper Matrix 2 2.0.1" }, - { name: "Hyper Matrix 2 3.0.0" }, - { name: "Hyper Matrix 2 4.0.0" }, - { name: "Hyper Matrix 2 4.0.1" }, - { name: "Hyper Matrix 2 4.1.0" }, - { name: "Hyper Matrix 2 5.0.0" }, - { name: "Hyper Matrix 2 5.1.0" }, - { name: "Hyper Matrix 2 5.2.0" }, - { name: "Hyper Matrix 2 6.0.0" }, - { name: "Hyper Matrix 2 7.0.0" }, - { name: "Hyper Matrix 2 7.1.0" }, - { name: "Hyper Matrix 2 7.2.0" }, - { name: "Hyper Matrix 2 7.3.0" }, - { name: "Hyper Matrix 2 7.3.1" }, - { name: "Hyper Matrix 2 7.3.2" }, - { name: "Hyper Matrix 2 7.3.3" }, - { name: "Hyper Matrix 2 7.3.4" }, - { name: "Hyper Matrix 2 7.3.5" }, - { name: "Hyper Matrix 2 7.3.6" }, - { name: "Hyper Matrix 2 7.3.7" }, - { name: "Hyper Matrix 2 7.3.8" }, - { name: "Hyper Matrix 2 7.3.9" }, - { name: "Hyper Matrix 2 7.3.10" }, - { name: "Hyper Matrix 2 7.3.11" }, - { name: "Hyper Matrix 2 7.3.12" }, - { name: "Hyper Matrix 2 8.0.0" }, - { name: "Hyper Matrix 2 8.1.0" }, - { name: "Hyper Matrix 2 8.2.0" }, - { name: "Hyper Matrix 2 9.0.0" }, - { name: "Hyper Matrix 2 9.1.0" }, - { name: "Hyper Matrix 2 9.1.1" }, - { name: "Hyper Matrix 2 9.1.2" }, - { name: "Hyper Matrix 2 10.0.0" }, - { name: "Hyper Matrix 2 10.1.0" }, - { name: "Hyper Matrix 2 10.2.0" }, - { name: "Hyper Matrix 2 10.3.0" }, - { name: "Hyper Matrix 2 10.3.1" }, - { name: "Hyper Matrix 2 10.4.0" }, - { name: "Hyper Matrix 2 10.4.1" }, - { name: "Hyper Matrix 2 11.0.0" }, - { name: "Hyper Matrix 2 12.0.0" }, - { name: "Hyper Matrix 2 13.0.0" }, - { name: "Hyper Matrix 2 13.0.1" }, - { name: "Hyper Matrix 3 0.0.1" }, - { name: "Hyper Matrix 3 0.0.2" }, - { name: "Hyper Matrix 3 0.1.0" }, - { name: "Hyper Matrix 3 0.1.1" }, - { name: "Hyper Matrix 3 0.1.2" }, - { name: "Hyper Matrix 3 0.1.3" }, - { name: "Hyper Matrix 3 0.1.4" }, - { name: "Hyper Matrix 3 0.2.0" }, - { name: "Hyper Matrix 3 0.2.1" }, - { name: "Hyper Matrix 3 0.2.2" }, - { name: "Hyper Matrix 3 0.3.0" }, - { name: "Hyper Matrix 3 0.3.1" }, - { name: "Hyper Matrix 3 1.0.0" }, - { name: "Hyper Matrix 3 1.1.0" }, - { name: "Hyper Matrix 3 1.1.1" }, - { name: "Hyper Matrix 3 1.1.2" }, - { name: "Hyper Matrix 3 1.2.0" }, - { name: "Hyper Matrix 3 1.3.0" }, - { name: "Hyper Matrix 3 1.3.1" }, - { name: "Hyper Matrix 3 1.4.0" }, - { name: "Hyper Matrix 3 1.5.0" }, - { name: "Hyper Matrix 3 1.6.0" }, - { name: "Hyper Matrix 3 1.6.1" }, - { name: "Hyper Matrix 3 1.6.2" }, - { name: "Hyper Matrix 3 1.6.3" }, - { name: "Hyper Matrix 3 1.6.4" }, - { name: "Hyper Matrix 3 1.6.5" }, - { name: "Hyper Matrix 3 2.0.0" }, - { name: "Hyper Matrix 3 2.0.1" }, - { name: "Hyper Matrix 3 3.0.0" }, - { name: "Hyper Matrix 3 4.0.0" }, - { name: "Hyper Matrix 3 4.0.1" }, - { name: "Hyper Matrix 3 4.1.0" }, - { name: "Hyper Matrix 3 5.0.0" }, - { name: "Hyper Matrix 3 5.1.0" }, - { name: "Hyper Matrix 3 5.2.0" }, - { name: "Hyper Matrix 3 6.0.0" }, - { name: "Hyper Matrix 3 7.0.0" }, - { name: "Hyper Matrix 3 7.1.0" }, - { name: "Hyper Matrix 3 7.2.0" }, - { name: "Hyper Matrix 3 7.3.0" }, - { name: "Hyper Matrix 3 7.3.1" }, - { name: "Hyper Matrix 3 7.3.2" }, - { name: "Hyper Matrix 3 7.3.3" }, - { name: "Hyper Matrix 3 7.3.4" }, - { name: "Hyper Matrix 3 7.3.5" }, - { name: "Hyper Matrix 3 7.3.6" }, - { name: "Hyper Matrix 3 7.3.7" }, - { name: "Hyper Matrix 3 7.3.8" }, - { name: "Hyper Matrix 3 7.3.9" }, - { name: "Hyper Matrix 3 7.3.10" }, - { name: "Hyper Matrix 3 7.3.11" }, - { name: "Hyper Matrix 3 7.3.12" }, - { name: "Hyper Matrix 3 8.0.0" }, - { name: "Hyper Matrix 3 8.1.0" }, - { name: "Hyper Matrix 3 8.2.0" }, - { name: "Hyper Matrix 3 9.0.0" }, - { name: "Hyper Matrix 3 9.1.0" }, - { name: "Hyper Matrix 3 9.1.1" }, - { name: "Hyper Matrix 3 9.1.2" }, - { name: "Hyper Matrix 3 10.0.0" }, - { name: "Hyper Matrix 3 10.1.0" }, - { name: "Hyper Matrix 3 10.2.0" }, - { name: "Hyper Matrix 3 10.3.0" }, - { name: "Hyper Matrix 3 10.3.1" }, - { name: "Hyper Matrix 3 10.4.0" }, - { name: "Hyper Matrix 3 10.4.1" }, - { name: "Hyper Matrix 3 11.0.0" }, - { name: "Hyper Matrix 3 12.0.0" }, - { name: "Hyper Matrix 3 13.0.0" }, - { name: "Hyper Matrix 3 13.0.1" }, - { name: "Hyper Matrix 4-S 0.0.1" }, - { name: "Hyper Matrix 4-S 0.0.2" }, - { name: "Hyper Matrix 4-S 0.1.0" }, - { name: "Hyper Matrix 4-S 0.1.1" }, - { name: "Hyper Matrix 4-S 0.1.2" }, - { name: "Hyper Matrix 4-S 0.1.3" }, - { name: "Hyper Matrix 4-S 0.1.4" }, - { name: "Hyper Matrix 4-S 0.2.0" }, - { name: "Hyper Matrix 4-S 0.2.1" }, - { name: "Hyper Matrix 4-S 0.2.2" }, - { name: "Hyper Matrix 4-S 0.3.0" }, - { name: "Hyper Matrix 4-S 0.3.1" }, - { name: "Hyper Matrix 4-S 1.0.0" }, - { name: "Hyper Matrix 4-S 1.1.0" }, - { name: "Hyper Matrix 4-S 1.1.1" }, - { name: "Hyper Matrix 4-S 1.1.2" }, - { name: "Hyper Matrix 4-S 1.2.0" }, - { name: "Hyper Matrix 4-S 1.3.0" }, - { name: "Hyper Matrix 4-S 1.3.1" }, - { name: "Hyper Matrix 4-S 1.4.0" }, - { name: "Hyper Matrix 4-S 1.5.0" }, - { name: "Hyper Matrix 4-S 1.6.0" }, - { name: "Hyper Matrix 4-S 1.6.1" }, - { name: "Hyper Matrix 4-S 1.6.2" }, - { name: "Hyper Matrix 4-S 1.6.3" }, - { name: "Hyper Matrix 4-S 1.6.4" }, - { name: "Hyper Matrix 4-S 1.6.5" }, - { name: "Hyper Matrix 4-S 2.0.0" }, - { name: "Hyper Matrix 4-S 2.0.1" }, - { name: "Hyper Matrix 4-S 3.0.0" }, - { name: "Hyper Matrix 4-S 4.0.0" }, - { name: "Hyper Matrix 4-S 4.0.1" }, - { name: "Hyper Matrix 4-S 4.1.0" }, - { name: "Hyper Matrix 4-S 5.0.0" }, - { name: "Hyper Matrix 4-S 5.1.0" }, - { name: "Hyper Matrix 4-S 5.2.0" }, - { name: "Hyper Matrix 4-S 6.0.0" }, - { name: "Hyper Matrix 4-S 7.0.0" }, - { name: "Hyper Matrix 4-S 7.1.0" }, - { name: "Hyper Matrix 4-S 7.2.0" }, - { name: "Hyper Matrix 4-S 7.3.0" }, - { name: "Hyper Matrix 4-S 7.3.1" }, - { name: "Hyper Matrix 4-S 7.3.2" }, - { name: "Hyper Matrix 4-S 7.3.3" }, - { name: "Hyper Matrix 4-S 7.3.4" }, - { name: "Hyper Matrix 4-S 7.3.5" }, - { name: "Hyper Matrix 4-S 7.3.6" }, - { name: "Hyper Matrix 4-S 7.3.7" }, - { name: "Hyper Matrix 4-S 7.3.8" }, - { name: "Hyper Matrix 4-S 7.3.9" }, - { name: "Hyper Matrix 4-S 7.3.10" }, - { name: "Hyper Matrix 4-S 7.3.11" }, - { name: "Hyper Matrix 4-S 7.3.12" }, - { name: "Hyper Matrix 4-S 8.0.0" }, - { name: "Hyper Matrix 4-S 8.1.0" }, - { name: "Hyper Matrix 4-S 8.2.0" }, - { name: "Hyper Matrix 4-S 9.0.0" }, - { name: "Hyper Matrix 4-S 9.1.0" }, - { name: "Hyper Matrix 4-S 9.1.1" }, - { name: "Hyper Matrix 4-S 9.1.2" }, - { name: "Hyper Matrix 4-S 10.0.0" }, - { name: "Hyper Matrix 4-S 10.1.0" }, - { name: "Hyper Matrix 4-S 10.2.0" }, - { name: "Hyper Matrix 4-S 10.3.0" }, - { name: "Hyper Matrix 4-S 10.3.1" }, - { name: "Hyper Matrix 4-S 10.4.0" }, - { name: "Hyper Matrix 4-S 10.4.1" }, - { name: "Hyper Matrix 4-S 11.0.0" }, - { name: "Hyper Matrix 4-S 12.0.0" }, - { name: "Hyper Matrix 4-S 13.0.0" }, - { name: "Hyper Matrix 4-S 13.0.1" }, - { name: "Hyper Matrix 4-U 0.0.1" }, - { name: "Hyper Matrix 4-U 0.0.2" }, - { name: "Hyper Matrix 4-U 0.1.0" }, - { name: "Hyper Matrix 4-U 0.1.1" }, - { name: "Hyper Matrix 4-U 0.1.2" }, - { name: "Hyper Matrix 4-U 0.1.3" }, - { name: "Hyper Matrix 4-U 0.1.4" }, - { name: "Hyper Matrix 4-U 0.2.0" }, - { name: "Hyper Matrix 4-U 0.2.1" }, - { name: "Hyper Matrix 4-U 0.2.2" }, - { name: "Hyper Matrix 4-U 0.3.0" }, - { name: "Hyper Matrix 4-U 0.3.1" }, - { name: "Hyper Matrix 4-U 1.0.0" }, - { name: "Hyper Matrix 4-U 1.1.0" }, - { name: "Hyper Matrix 4-U 1.1.1" }, - { name: "Hyper Matrix 4-U 1.1.2" }, - { name: "Hyper Matrix 4-U 1.2.0" }, - { name: "Hyper Matrix 4-U 1.3.0" }, - { name: "Hyper Matrix 4-U 1.3.1" }, - { name: "Hyper Matrix 4-U 1.4.0" }, - { name: "Hyper Matrix 4-U 1.5.0" }, - { name: "Hyper Matrix 4-U 1.6.0" }, - { name: "Hyper Matrix 4-U 1.6.1" }, - { name: "Hyper Matrix 4-U 1.6.2" }, - { name: "Hyper Matrix 4-U 1.6.3" }, - { name: "Hyper Matrix 4-U 1.6.4" }, - { name: "Hyper Matrix 4-U 1.6.5" }, - { name: "Hyper Matrix 4-U 2.0.0" }, - { name: "Hyper Matrix 4-U 2.0.1" }, - { name: "Hyper Matrix 4-U 3.0.0" }, - { name: "Hyper Matrix 4-U 4.0.0" }, - { name: "Hyper Matrix 4-U 4.0.1" }, - { name: "Hyper Matrix 4-U 4.1.0" }, - { name: "Hyper Matrix 4-U 5.0.0" }, - { name: "Hyper Matrix 4-U 5.1.0" }, - { name: "Hyper Matrix 4-U 5.2.0" }, - { name: "Hyper Matrix 4-U 6.0.0" }, - { name: "Hyper Matrix 4-U 7.0.0" }, - { name: "Hyper Matrix 4-U 7.1.0" }, - { name: "Hyper Matrix 4-U 7.2.0" }, - { name: "Hyper Matrix 4-U 7.3.0" }, - { name: "Hyper Matrix 4-U 7.3.1" }, - { name: "Hyper Matrix 4-U 7.3.2" }, - { name: "Hyper Matrix 4-U 7.3.3" }, - { name: "Hyper Matrix 4-U 7.3.4" }, - { name: "Hyper Matrix 4-U 7.3.5" }, - { name: "Hyper Matrix 4-U 7.3.6" }, - { name: "Hyper Matrix 4-U 7.3.7" }, - { name: "Hyper Matrix 4-U 7.3.8" }, - { name: "Hyper Matrix 4-U 7.3.9" }, - { name: "Hyper Matrix 4-U 7.3.10" }, - { name: "Hyper Matrix 4-U 7.3.11" }, - { name: "Hyper Matrix 4-U 7.3.12" }, - { name: "Hyper Matrix 4-U 8.0.0" }, - { name: "Hyper Matrix 4-U 8.1.0" }, - { name: "Hyper Matrix 4-U 8.2.0" }, - { name: "Hyper Matrix 4-U 9.0.0" }, - { name: "Hyper Matrix 4-U 9.1.0" }, - { name: "Hyper Matrix 4-U 9.1.1" }, - { name: "Hyper Matrix 4-U 9.1.2" }, - { name: "Hyper Matrix 4-U 10.0.0" }, - { name: "Hyper Matrix 4-U 10.1.0" }, - { name: "Hyper Matrix 4-U 10.2.0" }, - { name: "Hyper Matrix 4-U 10.3.0" }, - { name: "Hyper Matrix 4-U 10.3.1" }, - { name: "Hyper Matrix 4-U 10.4.0" }, - { name: "Hyper Matrix 4-U 10.4.1" }, - { name: "Hyper Matrix 4-U 11.0.0" }, - { name: "Hyper Matrix 4-U 12.0.0" }, - { name: "Hyper Matrix 4-U 13.0.0" }, - { name: "Hyper Matrix 4-U 13.0.1" }, - { name: "Hyper Matrix 5-S 0.0.1" }, - { name: "Hyper Matrix 5-S 0.0.2" }, - { name: "Hyper Matrix 5-S 0.1.0" }, - { name: "Hyper Matrix 5-S 0.1.1" }, - { name: "Hyper Matrix 5-S 0.1.2" }, - { name: "Hyper Matrix 5-S 0.1.3" }, - { name: "Hyper Matrix 5-S 0.1.4" }, - { name: "Hyper Matrix 5-S 0.2.0" }, - { name: "Hyper Matrix 5-S 0.2.1" }, - { name: "Hyper Matrix 5-S 0.2.2" }, - { name: "Hyper Matrix 5-S 0.3.0" }, - { name: "Hyper Matrix 5-S 0.3.1" }, - { name: "Hyper Matrix 5-S 1.0.0" }, - { name: "Hyper Matrix 5-S 1.1.0" }, - { name: "Hyper Matrix 5-S 1.1.1" }, - { name: "Hyper Matrix 5-S 1.1.2" }, - { name: "Hyper Matrix 5-S 1.2.0" }, - { name: "Hyper Matrix 5-S 1.3.0" }, - { name: "Hyper Matrix 5-S 1.3.1" }, - { name: "Hyper Matrix 5-S 1.4.0" }, - { name: "Hyper Matrix 5-S 1.5.0" }, - { name: "Hyper Matrix 5-S 1.6.0" }, - { name: "Hyper Matrix 5-S 1.6.1" }, - { name: "Hyper Matrix 5-S 1.6.2" }, - { name: "Hyper Matrix 5-S 1.6.3" }, - { name: "Hyper Matrix 5-S 1.6.4" }, - { name: "Hyper Matrix 5-S 1.6.5" }, - { name: "Hyper Matrix 5-S 2.0.0" }, - { name: "Hyper Matrix 5-S 2.0.1" }, - { name: "Hyper Matrix 5-S 3.0.0" }, - { name: "Hyper Matrix 5-S 4.0.0" }, - { name: "Hyper Matrix 5-S 4.0.1" }, - { name: "Hyper Matrix 5-S 4.1.0" }, - { name: "Hyper Matrix 5-S 5.0.0" }, - { name: "Hyper Matrix 5-S 5.1.0" }, - { name: "Hyper Matrix 5-S 5.2.0" }, - { name: "Hyper Matrix 5-S 6.0.0" }, - { name: "Hyper Matrix 5-S 7.0.0" }, - { name: "Hyper Matrix 5-S 7.1.0" }, - { name: "Hyper Matrix 5-S 7.2.0" }, - { name: "Hyper Matrix 5-S 7.3.0" }, - { name: "Hyper Matrix 5-S 7.3.1" }, - { name: "Hyper Matrix 5-S 7.3.2" }, - { name: "Hyper Matrix 5-S 7.3.3" }, - { name: "Hyper Matrix 5-S 7.3.4" }, - { name: "Hyper Matrix 5-S 7.3.5" }, - { name: "Hyper Matrix 5-S 7.3.6" }, - { name: "Hyper Matrix 5-S 7.3.7" }, - { name: "Hyper Matrix 5-S 7.3.8" }, - { name: "Hyper Matrix 5-S 7.3.9" }, - { name: "Hyper Matrix 5-S 7.3.10" }, - { name: "Hyper Matrix 5-S 7.3.11" }, - { name: "Hyper Matrix 5-S 7.3.12" }, - { name: "Hyper Matrix 5-S 8.0.0" }, - { name: "Hyper Matrix 5-S 8.1.0" }, - { name: "Hyper Matrix 5-S 8.2.0" }, - { name: "Hyper Matrix 5-S 9.0.0" }, - { name: "Hyper Matrix 5-S 9.1.0" }, - { name: "Hyper Matrix 5-S 9.1.1" }, - { name: "Hyper Matrix 5-S 9.1.2" }, - { name: "Hyper Matrix 5-S 10.0.0" }, - { name: "Hyper Matrix 5-S 10.1.0" }, - { name: "Hyper Matrix 5-S 10.2.0" }, - { name: "Hyper Matrix 5-S 10.3.0" }, - { name: "Hyper Matrix 5-S 10.3.1" }, - { name: "Hyper Matrix 5-S 10.4.0" }, - { name: "Hyper Matrix 5-S 10.4.1" }, - { name: "Hyper Matrix 5-S 11.0.0" }, - { name: "Hyper Matrix 5-S 12.0.0" }, - { name: "Hyper Matrix 5-S 13.0.0" }, - { name: "Hyper Matrix 5-S 13.0.1" }, - { name: "Hyper Matrix 5 Ultra 0.0.1" }, - { name: "Hyper Matrix 5 Ultra 0.0.2" }, - { name: "Hyper Matrix 5 Ultra 0.1.0" }, - { name: "Hyper Matrix 5 Ultra 0.1.1" }, - { name: "Hyper Matrix 5 Ultra 0.1.2" }, - { name: "Hyper Matrix 5 Ultra 0.1.3" }, - { name: "Hyper Matrix 5 Ultra 0.1.4" }, - { name: "Hyper Matrix 5 Ultra 0.2.0" }, - { name: "Hyper Matrix 5 Ultra 0.2.1" }, - { name: "Hyper Matrix 5 Ultra 0.2.2" }, - { name: "Hyper Matrix 5 Ultra 0.3.0" }, - { name: "Hyper Matrix 5 Ultra 0.3.1" }, - { name: "Hyper Matrix 5 Ultra 1.0.0" }, - { name: "Hyper Matrix 5 Ultra 1.1.0" }, - { name: "Hyper Matrix 5 Ultra 1.1.1" }, - { name: "Hyper Matrix 5 Ultra 1.1.2" }, - { name: "Hyper Matrix 5 Ultra 1.2.0" }, - { name: "Hyper Matrix 5 Ultra 1.3.0" }, - { name: "Hyper Matrix 5 Ultra 1.3.1" }, - { name: "Hyper Matrix 5 Ultra 1.4.0" }, - { name: "Hyper Matrix 5 Ultra 1.5.0" }, - { name: "Hyper Matrix 5 Ultra 1.6.0" }, - { name: "Hyper Matrix 5 Ultra 1.6.1" }, - { name: "Hyper Matrix 5 Ultra 1.6.2" }, - { name: "Hyper Matrix 5 Ultra 1.6.3" }, - { name: "Hyper Matrix 5 Ultra 1.6.4" }, - { name: "Hyper Matrix 5 Ultra 1.6.5" }, - { name: "Hyper Matrix 5 Ultra 2.0.0" }, - { name: "Hyper Matrix 5 Ultra 2.0.1" }, - { name: "Hyper Matrix 5 Ultra 3.0.0" }, - { name: "Hyper Matrix 5 Ultra 4.0.0" }, - { name: "Hyper Matrix 5 Ultra 4.0.1" }, - { name: "Hyper Matrix 5 Ultra 4.1.0" }, - { name: "Hyper Matrix 5 Ultra 5.0.0" }, - { name: "Hyper Matrix 5 Ultra 5.1.0" }, - { name: "Hyper Matrix 5 Ultra 5.2.0" }, - { name: "Hyper Matrix 5 Ultra 6.0.0" }, - { name: "Hyper Matrix 5 Ultra 7.0.0" }, - { name: "Hyper Matrix 5 Ultra 7.1.0" }, - { name: "Hyper Matrix 5 Ultra 7.2.0" }, - { name: "Hyper Matrix 5 Ultra 7.3.0" }, - { name: "Hyper Matrix 5 Ultra 7.3.1" }, - { name: "Hyper Matrix 5 Ultra 7.3.2" }, - { name: "Hyper Matrix 5 Ultra 7.3.3" }, - { name: "Hyper Matrix 5 Ultra 7.3.4" }, - { name: "Hyper Matrix 5 Ultra 7.3.5" }, - { name: "Hyper Matrix 5 Ultra 7.3.6" }, - { name: "Hyper Matrix 5 Ultra 7.3.7" }, - { name: "Hyper Matrix 5 Ultra 7.3.8" }, - { name: "Hyper Matrix 5 Ultra 7.3.9" }, - { name: "Hyper Matrix 5 Ultra 7.3.10" }, - { name: "Hyper Matrix 5 Ultra 7.3.11" }, - { name: "Hyper Matrix 5 Ultra 7.3.12" }, - { name: "Hyper Matrix 5 Ultra 8.0.0" }, - { name: "Hyper Matrix 5 Ultra 8.1.0" }, - { name: "Hyper Matrix 5 Ultra 8.2.0" }, - { name: "Hyper Matrix 5 Ultra 9.0.0" }, - { name: "Hyper Matrix 5 Ultra 9.1.0" }, - { name: "Hyper Matrix 5 Ultra 9.1.1" }, - { name: "Hyper Matrix 5 Ultra 9.1.2" }, - { name: "Hyper Matrix 5 Ultra 10.0.0" }, - { name: "Hyper Matrix 5 Ultra 10.1.0" }, - { name: "Hyper Matrix 5 Ultra 10.2.0" }, - { name: "Hyper Matrix 5 Ultra 10.3.0" }, - { name: "Hyper Matrix 5 Ultra 10.3.1" }, - { name: "Hyper Matrix 5 Ultra 10.4.0" }, - { name: "Hyper Matrix 5 Ultra 10.4.1" }, - { name: "Hyper Matrix 5 Ultra 11.0.0" }, - { name: "Hyper Matrix 5 Ultra 12.0.0" }, - { name: "Hyper Matrix 5 Ultra 13.0.0" }, - { name: "Hyper Matrix 5 Ultra 13.0.1" }, - { name: "Hyper Matrix 6 0.0.1" }, - { name: "Hyper Matrix 6 0.0.2" }, - { name: "Hyper Matrix 6 0.1.0" }, - { name: "Hyper Matrix 6 0.1.1" }, - { name: "Hyper Matrix 6 0.1.2" }, - { name: "Hyper Matrix 6 0.1.3" }, - { name: "Hyper Matrix 6 0.1.4" }, - { name: "Hyper Matrix 6 0.2.0" }, - { name: "Hyper Matrix 6 0.2.1" }, - { name: "Hyper Matrix 6 0.2.2" }, - { name: "Hyper Matrix 6 0.3.0" }, - { name: "Hyper Matrix 6 0.3.1" }, - { name: "Hyper Matrix 6 1.0.0" }, - { name: "Hyper Matrix 6 1.1.0" }, - { name: "Hyper Matrix 6 1.1.1" }, - { name: "Hyper Matrix 6 1.1.2" }, - { name: "Hyper Matrix 6 1.2.0" }, - { name: "Hyper Matrix 6 1.3.0" }, - { name: "Hyper Matrix 6 1.3.1" }, - { name: "Hyper Matrix 6 1.4.0" }, - { name: "Hyper Matrix 6 1.5.0" }, - { name: "Hyper Matrix 6 1.6.0" }, - { name: "Hyper Matrix 6 1.6.1" }, - { name: "Hyper Matrix 6 1.6.2" }, - { name: "Hyper Matrix 6 1.6.3" }, - { name: "Hyper Matrix 6 1.6.4" }, - { name: "Hyper Matrix 6 1.6.5" }, - { name: "Hyper Matrix 6 2.0.0" }, - { name: "Hyper Matrix 6 2.0.1" }, - { name: "Hyper Matrix 6 3.0.0" }, - { name: "Hyper Matrix 6 4.0.0" }, - { name: "Hyper Matrix 6 4.0.1" }, - { name: "Hyper Matrix 6 4.1.0" }, - { name: "Hyper Matrix 6 5.0.0" }, - { name: "Hyper Matrix 6 5.1.0" }, - { name: "Hyper Matrix 6 5.2.0" }, - { name: "Hyper Matrix 6 6.0.0" }, - { name: "Hyper Matrix 6 7.0.0" }, - { name: "Hyper Matrix 6 7.1.0" }, - { name: "Hyper Matrix 6 7.2.0" }, - { name: "Hyper Matrix 6 7.3.0" }, - { name: "Hyper Matrix 6 7.3.1" }, - { name: "Hyper Matrix 6 7.3.2" }, - { name: "Hyper Matrix 6 7.3.3" }, - { name: "Hyper Matrix 6 7.3.4" }, - { name: "Hyper Matrix 6 7.3.5" }, - { name: "Hyper Matrix 6 7.3.6" }, - { name: "Hyper Matrix 6 7.3.7" }, - { name: "Hyper Matrix 6 7.3.8" }, - { name: "Hyper Matrix 6 7.3.9" }, - { name: "Hyper Matrix 6 7.3.10" }, - { name: "Hyper Matrix 6 7.3.11" }, - { name: "Hyper Matrix 6 7.3.12" }, - { name: "Hyper Matrix 6 8.0.0" }, - { name: "Hyper Matrix 6 8.1.0" }, - { name: "Hyper Matrix 6 8.2.0" }, - { name: "Hyper Matrix 6 9.0.0" }, - { name: "Hyper Matrix 6 9.1.0" }, - { name: "Hyper Matrix 6 9.1.1" }, - { name: "Hyper Matrix 6 9.1.2" }, - { name: "Hyper Matrix 6 10.0.0" }, - { name: "Hyper Matrix 6 10.1.0" }, - { name: "Hyper Matrix 6 10.2.0" }, - { name: "Hyper Matrix 6 10.3.0" }, - { name: "Hyper Matrix 6 10.3.1" }, - { name: "Hyper Matrix 6 10.4.0" }, - { name: "Hyper Matrix 6 10.4.1" }, - { name: "Hyper Matrix 6 11.0.0" }, - { name: "Hyper Matrix 6 12.0.0" }, - { name: "Hyper Matrix 6 13.0.0" }, - { name: "Hyper Matrix 6 13.0.1" }, -].map((sensor, index) => ({ - id: `${index + 1}`, - ...sensor, -})); - -const sensorNameList = sensorList.map((sensor) => sensor.name); +export const specialSensorList1: Sensor[] = [ + { "id": "1350", "name": "Alternate Array X1 Alpha" }, + { "id": "1351", "name": "Alternate Array X1 Beta" }, + { "id": "1352", "name": "Alternate Array X2" }, +]; -export const querySensorConnection = ({ - after, - before, - filterText = "", - first, - last, -}: { - after?: string | undefined; - before?: string | undefined; - filterText?: string | undefined; - first?: number | undefined; - last?: number | undefined; -}) => { - const connectionOptions = { after, before, first, last }; +export const specialSensorList2: Sensor[] = [ + { "id": "1353", "name": "Inverted Matrix 1.0" }, + { "id": "1354", "name": "Inverted Matrix 2.0" }, +]; - if (filterText === "") { - const searchNodeList = sensorList.map((sensor) => { - const node = sensor; - const info = { highlightedText: null }; - return { info, node }; - }); - return connectionFromSearchArray(searchNodeList, connectionOptions); - } - - const searchResult = uFuzzy.search(sensorNameList, filterText); - const searchTextList = searchResult[0] ?? []; - const searchInfo = searchResult[1]; - - const searchNodeList = searchTextList.map((sensorIndex, searchIndex) => { - const node = sensorList[sensorIndex] ?? null; - const info = { highlightedText: node == null ? null : highlight(node.name, searchInfo!.ranges[searchIndex] ?? []) }; // eslint-disable-line @typescript-eslint/no-non-null-assertion - return { info, node }; - }); - - return connectionFromSearchArray(searchNodeList, connectionOptions); -}; +export const standardSensorList: Sensor[] = [ + { "id": "1", "name": "Pyramid Array C1 0.0.1" }, + { "id": "2", "name": "Pyramid Array C1 0.0.2" }, + { "id": "3", "name": "Pyramid Array C1 0.1.0" }, + { "id": "4", "name": "Pyramid Array C1 0.1.1" }, + { "id": "5", "name": "Pyramid Array C1 0.1.2" }, + { "id": "6", "name": "Pyramid Array C1 0.1.3" }, + { "id": "7", "name": "Pyramid Array C1 0.1.4" }, + { "id": "8", "name": "Pyramid Array C1 0.2.0" }, + { "id": "9", "name": "Pyramid Array C1 0.2.1" }, + { "id": "10", "name": "Pyramid Array C1 0.2.2" }, + { "id": "11", "name": "Pyramid Array C1 0.3.0" }, + { "id": "12", "name": "Pyramid Array C1 0.3.1" }, + { "id": "13", "name": "Pyramid Array C1 1.0.0" }, + { "id": "14", "name": "Pyramid Array C1 1.1.0" }, + { "id": "15", "name": "Pyramid Array C1 1.1.1" }, + { "id": "16", "name": "Pyramid Array C1 1.1.2" }, + { "id": "17", "name": "Pyramid Array C1 1.2.0" }, + { "id": "18", "name": "Pyramid Array C1 1.3.0" }, + { "id": "19", "name": "Pyramid Array C1 1.3.1" }, + { "id": "20", "name": "Pyramid Array C1 1.4.0" }, + { "id": "21", "name": "Pyramid Array C1 1.5.0" }, + { "id": "22", "name": "Pyramid Array C1 1.6.0" }, + { "id": "23", "name": "Pyramid Array C1 1.6.1" }, + { "id": "24", "name": "Pyramid Array C1 1.6.2" }, + { "id": "25", "name": "Pyramid Array C1 1.6.3" }, + { "id": "26", "name": "Pyramid Array C1 1.6.4" }, + { "id": "27", "name": "Pyramid Array C1 1.6.5" }, + { "id": "28", "name": "Pyramid Array C1 2.0.0" }, + { "id": "29", "name": "Pyramid Array C1 2.0.1" }, + { "id": "30", "name": "Pyramid Array C1 3.0.0" }, + { "id": "31", "name": "Pyramid Array C1 4.0.0" }, + { "id": "32", "name": "Pyramid Array C1 4.0.1" }, + { "id": "33", "name": "Pyramid Array C1 4.1.0" }, + { "id": "34", "name": "Pyramid Array C1 5.0.0" }, + { "id": "35", "name": "Pyramid Array C1 5.1.0" }, + { "id": "36", "name": "Pyramid Array C1 5.2.0" }, + { "id": "37", "name": "Pyramid Array C1 6.0.0" }, + { "id": "38", "name": "Pyramid Array C1 7.0.0" }, + { "id": "39", "name": "Pyramid Array C1 7.1.0" }, + { "id": "40", "name": "Pyramid Array C1 7.2.0" }, + { "id": "41", "name": "Pyramid Array C1 7.3.0" }, + { "id": "42", "name": "Pyramid Array C1 7.3.1" }, + { "id": "43", "name": "Pyramid Array C1 7.3.2" }, + { "id": "44", "name": "Pyramid Array C1 7.3.3" }, + { "id": "45", "name": "Pyramid Array C1 7.3.4" }, + { "id": "46", "name": "Pyramid Array C1 7.3.5" }, + { "id": "47", "name": "Pyramid Array C1 7.3.6" }, + { "id": "48", "name": "Pyramid Array C1 7.3.7" }, + { "id": "49", "name": "Pyramid Array C1 7.3.8" }, + { "id": "50", "name": "Pyramid Array C1 7.3.9" }, + { "id": "51", "name": "Pyramid Array C1 7.3.10" }, + { "id": "52", "name": "Pyramid Array C1 7.3.11" }, + { "id": "53", "name": "Pyramid Array C1 7.3.12" }, + { "id": "54", "name": "Pyramid Array C1 8.0.0" }, + { "id": "55", "name": "Pyramid Array C1 8.1.0" }, + { "id": "56", "name": "Pyramid Array C1 8.2.0" }, + { "id": "57", "name": "Pyramid Array C1 9.0.0" }, + { "id": "58", "name": "Pyramid Array C1 9.1.0" }, + { "id": "59", "name": "Pyramid Array C1 9.1.1" }, + { "id": "60", "name": "Pyramid Array C1 9.1.2" }, + { "id": "61", "name": "Pyramid Array C1 10.0.0" }, + { "id": "62", "name": "Pyramid Array C1 10.1.0" }, + { "id": "63", "name": "Pyramid Array C1 10.2.0" }, + { "id": "64", "name": "Pyramid Array C1 10.3.0" }, + { "id": "65", "name": "Pyramid Array C1 10.3.1" }, + { "id": "66", "name": "Pyramid Array C1 10.4.0" }, + { "id": "67", "name": "Pyramid Array C1 10.4.1" }, + { "id": "68", "name": "Pyramid Array C1 11.0.0" }, + { "id": "69", "name": "Pyramid Array C1 12.0.0" }, + { "id": "70", "name": "Pyramid Array C1 13.0.0" }, + { "id": "71", "name": "Pyramid Array C1 13.0.1" }, + { "id": "72", "name": "Pyramid Array C2B 0.0.1" }, + { "id": "73", "name": "Pyramid Array C2B 0.0.2" }, + { "id": "74", "name": "Pyramid Array C2B 0.1.0" }, + { "id": "75", "name": "Pyramid Array C2B 0.1.1" }, + { "id": "76", "name": "Pyramid Array C2B 0.1.2" }, + { "id": "77", "name": "Pyramid Array C2B 0.1.3" }, + { "id": "78", "name": "Pyramid Array C2B 0.1.4" }, + { "id": "79", "name": "Pyramid Array C2B 0.2.0" }, + { "id": "80", "name": "Pyramid Array C2B 0.2.1" }, + { "id": "81", "name": "Pyramid Array C2B 0.2.2" }, + { "id": "82", "name": "Pyramid Array C2B 0.3.0" }, + { "id": "83", "name": "Pyramid Array C2B 0.3.1" }, + { "id": "84", "name": "Pyramid Array C2B 1.0.0" }, + { "id": "85", "name": "Pyramid Array C2B 1.1.0" }, + { "id": "86", "name": "Pyramid Array C2B 1.1.1" }, + { "id": "87", "name": "Pyramid Array C2B 1.1.2" }, + { "id": "88", "name": "Pyramid Array C2B 1.2.0" }, + { "id": "89", "name": "Pyramid Array C2B 1.3.0" }, + { "id": "90", "name": "Pyramid Array C2B 1.3.1" }, + { "id": "91", "name": "Pyramid Array C2B 1.4.0" }, + { "id": "92", "name": "Pyramid Array C2B 1.5.0" }, + { "id": "93", "name": "Pyramid Array C2B 1.6.0" }, + { "id": "94", "name": "Pyramid Array C2B 1.6.1" }, + { "id": "95", "name": "Pyramid Array C2B 1.6.2" }, + { "id": "96", "name": "Pyramid Array C2B 1.6.3" }, + { "id": "97", "name": "Pyramid Array C2B 1.6.4" }, + { "id": "98", "name": "Pyramid Array C2B 1.6.5" }, + { "id": "99", "name": "Pyramid Array C2B 2.0.0" }, + { "id": "100", "name": "Pyramid Array C2B 2.0.1" }, + { "id": "101", "name": "Pyramid Array C2B 3.0.0" }, + { "id": "102", "name": "Pyramid Array C2B 4.0.0" }, + { "id": "103", "name": "Pyramid Array C2B 4.0.1" }, + { "id": "104", "name": "Pyramid Array C2B 4.1.0" }, + { "id": "105", "name": "Pyramid Array C2B 5.0.0" }, + { "id": "106", "name": "Pyramid Array C2B 5.1.0" }, + { "id": "107", "name": "Pyramid Array C2B 5.2.0" }, + { "id": "108", "name": "Pyramid Array C2B 6.0.0" }, + { "id": "109", "name": "Pyramid Array C2B 7.0.0" }, + { "id": "110", "name": "Pyramid Array C2B 7.1.0" }, + { "id": "111", "name": "Pyramid Array C2B 7.2.0" }, + { "id": "112", "name": "Pyramid Array C2B 7.3.0" }, + { "id": "113", "name": "Pyramid Array C2B 7.3.1" }, + { "id": "114", "name": "Pyramid Array C2B 7.3.2" }, + { "id": "115", "name": "Pyramid Array C2B 7.3.3" }, + { "id": "116", "name": "Pyramid Array C2B 7.3.4" }, + { "id": "117", "name": "Pyramid Array C2B 7.3.5" }, + { "id": "118", "name": "Pyramid Array C2B 7.3.6" }, + { "id": "119", "name": "Pyramid Array C2B 7.3.7" }, + { "id": "120", "name": "Pyramid Array C2B 7.3.8" }, + { "id": "121", "name": "Pyramid Array C2B 7.3.9" }, + { "id": "122", "name": "Pyramid Array C2B 7.3.10" }, + { "id": "123", "name": "Pyramid Array C2B 7.3.11" }, + { "id": "124", "name": "Pyramid Array C2B 7.3.12" }, + { "id": "125", "name": "Pyramid Array C2B 8.0.0" }, + { "id": "126", "name": "Pyramid Array C2B 8.1.0" }, + { "id": "127", "name": "Pyramid Array C2B 8.2.0" }, + { "id": "128", "name": "Pyramid Array C2B 9.0.0" }, + { "id": "129", "name": "Pyramid Array C2B 9.1.0" }, + { "id": "130", "name": "Pyramid Array C2B 9.1.1" }, + { "id": "131", "name": "Pyramid Array C2B 9.1.2" }, + { "id": "132", "name": "Pyramid Array C2B 10.0.0" }, + { "id": "133", "name": "Pyramid Array C2B 10.1.0" }, + { "id": "134", "name": "Pyramid Array C2B 10.2.0" }, + { "id": "135", "name": "Pyramid Array C2B 10.3.0" }, + { "id": "136", "name": "Pyramid Array C2B 10.3.1" }, + { "id": "137", "name": "Pyramid Array C2B 10.4.0" }, + { "id": "138", "name": "Pyramid Array C2B 10.4.1" }, + { "id": "139", "name": "Pyramid Array C2B 11.0.0" }, + { "id": "140", "name": "Pyramid Array C2B 12.0.0" }, + { "id": "141", "name": "Pyramid Array C2B 13.0.0" }, + { "id": "142", "name": "Pyramid Array C2B 13.0.1" }, + { "id": "143", "name": "Pyramid Array C3 0.0.1" }, + { "id": "144", "name": "Pyramid Array C3 0.0.2" }, + { "id": "145", "name": "Pyramid Array C3 0.1.0" }, + { "id": "146", "name": "Pyramid Array C3 0.1.1" }, + { "id": "147", "name": "Pyramid Array C3 0.1.2" }, + { "id": "148", "name": "Pyramid Array C3 0.1.3" }, + { "id": "149", "name": "Pyramid Array C3 0.1.4" }, + { "id": "150", "name": "Pyramid Array C3 0.2.0" }, + { "id": "151", "name": "Pyramid Array C3 0.2.1" }, + { "id": "152", "name": "Pyramid Array C3 0.2.2" }, + { "id": "153", "name": "Pyramid Array C3 0.3.0" }, + { "id": "154", "name": "Pyramid Array C3 0.3.1" }, + { "id": "155", "name": "Pyramid Array C3 1.0.0" }, + { "id": "156", "name": "Pyramid Array C3 1.1.0" }, + { "id": "157", "name": "Pyramid Array C3 1.1.1" }, + { "id": "158", "name": "Pyramid Array C3 1.1.2" }, + { "id": "159", "name": "Pyramid Array C3 1.2.0" }, + { "id": "160", "name": "Pyramid Array C3 1.3.0" }, + { "id": "161", "name": "Pyramid Array C3 1.3.1" }, + { "id": "162", "name": "Pyramid Array C3 1.4.0" }, + { "id": "163", "name": "Pyramid Array C3 1.5.0" }, + { "id": "164", "name": "Pyramid Array C3 1.6.0" }, + { "id": "165", "name": "Pyramid Array C3 1.6.1" }, + { "id": "166", "name": "Pyramid Array C3 1.6.2" }, + { "id": "167", "name": "Pyramid Array C3 1.6.3" }, + { "id": "168", "name": "Pyramid Array C3 1.6.4" }, + { "id": "169", "name": "Pyramid Array C3 1.6.5" }, + { "id": "170", "name": "Pyramid Array C3 2.0.0" }, + { "id": "171", "name": "Pyramid Array C3 2.0.1" }, + { "id": "172", "name": "Pyramid Array C3 3.0.0" }, + { "id": "173", "name": "Pyramid Array C3 4.0.0" }, + { "id": "174", "name": "Pyramid Array C3 4.0.1" }, + { "id": "175", "name": "Pyramid Array C3 4.1.0" }, + { "id": "176", "name": "Pyramid Array C3 5.0.0" }, + { "id": "177", "name": "Pyramid Array C3 5.1.0" }, + { "id": "178", "name": "Pyramid Array C3 5.2.0" }, + { "id": "179", "name": "Pyramid Array C3 6.0.0" }, + { "id": "180", "name": "Pyramid Array C3 7.0.0" }, + { "id": "181", "name": "Pyramid Array C3 7.1.0" }, + { "id": "182", "name": "Pyramid Array C3 7.2.0" }, + { "id": "183", "name": "Pyramid Array C3 7.3.0" }, + { "id": "184", "name": "Pyramid Array C3 7.3.1" }, + { "id": "185", "name": "Pyramid Array C3 7.3.2" }, + { "id": "186", "name": "Pyramid Array C3 7.3.3" }, + { "id": "187", "name": "Pyramid Array C3 7.3.4" }, + { "id": "188", "name": "Pyramid Array C3 7.3.5" }, + { "id": "189", "name": "Pyramid Array C3 7.3.6" }, + { "id": "190", "name": "Pyramid Array C3 7.3.7" }, + { "id": "191", "name": "Pyramid Array C3 7.3.8" }, + { "id": "192", "name": "Pyramid Array C3 7.3.9" }, + { "id": "193", "name": "Pyramid Array C3 7.3.10" }, + { "id": "194", "name": "Pyramid Array C3 7.3.11" }, + { "id": "195", "name": "Pyramid Array C3 7.3.12" }, + { "id": "196", "name": "Pyramid Array C3 8.0.0" }, + { "id": "197", "name": "Pyramid Array C3 8.1.0" }, + { "id": "198", "name": "Pyramid Array C3 8.2.0" }, + { "id": "199", "name": "Pyramid Array C3 9.0.0" }, + { "id": "200", "name": "Pyramid Array C3 9.1.0" }, + { "id": "201", "name": "Pyramid Array C3 9.1.1" }, + { "id": "202", "name": "Pyramid Array C3 9.1.2" }, + { "id": "203", "name": "Pyramid Array C3 10.0.0" }, + { "id": "204", "name": "Pyramid Array C3 10.1.0" }, + { "id": "205", "name": "Pyramid Array C3 10.2.0" }, + { "id": "206", "name": "Pyramid Array C3 10.3.0" }, + { "id": "207", "name": "Pyramid Array C3 10.3.1" }, + { "id": "208", "name": "Pyramid Array C3 10.4.0" }, + { "id": "209", "name": "Pyramid Array C3 10.4.1" }, + { "id": "210", "name": "Pyramid Array C3 11.0.0" }, + { "id": "211", "name": "Pyramid Array C3 12.0.0" }, + { "id": "212", "name": "Pyramid Array C3 13.0.0" }, + { "id": "213", "name": "Pyramid Array C3 13.0.1" }, + { "id": "214", "name": "Pyramid Array C3-Pro 0.0.1" }, + { "id": "215", "name": "Pyramid Array C3-Pro 0.0.2" }, + { "id": "216", "name": "Pyramid Array C3-Pro 0.1.0" }, + { "id": "217", "name": "Pyramid Array C3-Pro 0.1.1" }, + { "id": "218", "name": "Pyramid Array C3-Pro 0.1.2" }, + { "id": "219", "name": "Pyramid Array C3-Pro 0.1.3" }, + { "id": "220", "name": "Pyramid Array C3-Pro 0.1.4" }, + { "id": "221", "name": "Pyramid Array C3-Pro 0.2.0" }, + { "id": "222", "name": "Pyramid Array C3-Pro 0.2.1" }, + { "id": "223", "name": "Pyramid Array C3-Pro 0.2.2" }, + { "id": "224", "name": "Pyramid Array C3-Pro 0.3.0" }, + { "id": "225", "name": "Pyramid Array C3-Pro 0.3.1" }, + { "id": "226", "name": "Pyramid Array C3-Pro 1.0.0" }, + { "id": "227", "name": "Pyramid Array C3-Pro 1.1.0" }, + { "id": "228", "name": "Pyramid Array C3-Pro 1.1.1" }, + { "id": "229", "name": "Pyramid Array C3-Pro 1.1.2" }, + { "id": "230", "name": "Pyramid Array C3-Pro 1.2.0" }, + { "id": "231", "name": "Pyramid Array C3-Pro 1.3.0" }, + { "id": "232", "name": "Pyramid Array C3-Pro 1.3.1" }, + { "id": "233", "name": "Pyramid Array C3-Pro 1.4.0" }, + { "id": "234", "name": "Pyramid Array C3-Pro 1.5.0" }, + { "id": "235", "name": "Pyramid Array C3-Pro 1.6.0" }, + { "id": "236", "name": "Pyramid Array C3-Pro 1.6.1" }, + { "id": "237", "name": "Pyramid Array C3-Pro 1.6.2" }, + { "id": "238", "name": "Pyramid Array C3-Pro 1.6.3" }, + { "id": "239", "name": "Pyramid Array C3-Pro 1.6.4" }, + { "id": "240", "name": "Pyramid Array C3-Pro 1.6.5" }, + { "id": "241", "name": "Pyramid Array C3-Pro 2.0.0" }, + { "id": "242", "name": "Pyramid Array C3-Pro 2.0.1" }, + { "id": "243", "name": "Pyramid Array C3-Pro 3.0.0" }, + { "id": "244", "name": "Pyramid Array C3-Pro 4.0.0" }, + { "id": "245", "name": "Pyramid Array C3-Pro 4.0.1" }, + { "id": "246", "name": "Pyramid Array C3-Pro 4.1.0" }, + { "id": "247", "name": "Pyramid Array C3-Pro 5.0.0" }, + { "id": "248", "name": "Pyramid Array C3-Pro 5.1.0" }, + { "id": "249", "name": "Pyramid Array C3-Pro 5.2.0" }, + { "id": "250", "name": "Pyramid Array C3-Pro 6.0.0" }, + { "id": "251", "name": "Pyramid Array C3-Pro 7.0.0" }, + { "id": "252", "name": "Pyramid Array C3-Pro 7.1.0" }, + { "id": "253", "name": "Pyramid Array C3-Pro 7.2.0" }, + { "id": "254", "name": "Pyramid Array C3-Pro 7.3.0" }, + { "id": "255", "name": "Pyramid Array C3-Pro 7.3.1" }, + { "id": "256", "name": "Pyramid Array C3-Pro 7.3.2" }, + { "id": "257", "name": "Pyramid Array C3-Pro 7.3.3" }, + { "id": "258", "name": "Pyramid Array C3-Pro 7.3.4" }, + { "id": "259", "name": "Pyramid Array C3-Pro 7.3.5" }, + { "id": "260", "name": "Pyramid Array C3-Pro 7.3.6" }, + { "id": "261", "name": "Pyramid Array C3-Pro 7.3.7" }, + { "id": "262", "name": "Pyramid Array C3-Pro 7.3.8" }, + { "id": "263", "name": "Pyramid Array C3-Pro 7.3.9" }, + { "id": "264", "name": "Pyramid Array C3-Pro 7.3.10" }, + { "id": "265", "name": "Pyramid Array C3-Pro 7.3.11" }, + { "id": "266", "name": "Pyramid Array C3-Pro 7.3.12" }, + { "id": "267", "name": "Pyramid Array C3-Pro 8.0.0" }, + { "id": "268", "name": "Pyramid Array C3-Pro 8.1.0" }, + { "id": "269", "name": "Pyramid Array C3-Pro 8.2.0" }, + { "id": "270", "name": "Pyramid Array C3-Pro 9.0.0" }, + { "id": "271", "name": "Pyramid Array C3-Pro 9.1.0" }, + { "id": "272", "name": "Pyramid Array C3-Pro 9.1.1" }, + { "id": "273", "name": "Pyramid Array C3-Pro 9.1.2" }, + { "id": "274", "name": "Pyramid Array C3-Pro 10.0.0" }, + { "id": "275", "name": "Pyramid Array C3-Pro 10.1.0" }, + { "id": "276", "name": "Pyramid Array C3-Pro 10.2.0" }, + { "id": "277", "name": "Pyramid Array C3-Pro 10.3.0" }, + { "id": "278", "name": "Pyramid Array C3-Pro 10.3.1" }, + { "id": "279", "name": "Pyramid Array C3-Pro 10.4.0" }, + { "id": "280", "name": "Pyramid Array C3-Pro 10.4.1" }, + { "id": "281", "name": "Pyramid Array C3-Pro 11.0.0" }, + { "id": "282", "name": "Pyramid Array C3-Pro 12.0.0" }, + { "id": "283", "name": "Pyramid Array C3-Pro 13.0.0" }, + { "id": "284", "name": "Pyramid Array C3-Pro 13.0.1" }, + { "id": "285", "name": "Pyramid Array D 0.0.1" }, + { "id": "286", "name": "Pyramid Array D 0.0.2" }, + { "id": "287", "name": "Pyramid Array D 0.1.0" }, + { "id": "288", "name": "Pyramid Array D 0.1.1" }, + { "id": "289", "name": "Pyramid Array D 0.1.2" }, + { "id": "290", "name": "Pyramid Array D 0.1.3" }, + { "id": "291", "name": "Pyramid Array D 0.1.4" }, + { "id": "292", "name": "Pyramid Array D 0.2.0" }, + { "id": "293", "name": "Pyramid Array D 0.2.1" }, + { "id": "294", "name": "Pyramid Array D 0.2.2" }, + { "id": "295", "name": "Pyramid Array D 0.3.0" }, + { "id": "296", "name": "Pyramid Array D 0.3.1" }, + { "id": "297", "name": "Pyramid Array D 1.0.0" }, + { "id": "298", "name": "Pyramid Array D 1.1.0" }, + { "id": "299", "name": "Pyramid Array D 1.1.1" }, + { "id": "300", "name": "Pyramid Array D 1.1.2" }, + { "id": "301", "name": "Pyramid Array D 1.2.0" }, + { "id": "302", "name": "Pyramid Array D 1.3.0" }, + { "id": "303", "name": "Pyramid Array D 1.3.1" }, + { "id": "304", "name": "Pyramid Array D 1.4.0" }, + { "id": "305", "name": "Pyramid Array D 1.5.0" }, + { "id": "306", "name": "Pyramid Array D 1.6.0" }, + { "id": "307", "name": "Pyramid Array D 1.6.1" }, + { "id": "308", "name": "Pyramid Array D 1.6.2" }, + { "id": "309", "name": "Pyramid Array D 1.6.3" }, + { "id": "310", "name": "Pyramid Array D 1.6.4" }, + { "id": "311", "name": "Pyramid Array D 1.6.5" }, + { "id": "312", "name": "Pyramid Array D 2.0.0" }, + { "id": "313", "name": "Pyramid Array D 2.0.1" }, + { "id": "314", "name": "Pyramid Array D 3.0.0" }, + { "id": "315", "name": "Pyramid Array D 4.0.0" }, + { "id": "316", "name": "Pyramid Array D 4.0.1" }, + { "id": "317", "name": "Pyramid Array D 4.1.0" }, + { "id": "318", "name": "Pyramid Array D 5.0.0" }, + { "id": "319", "name": "Pyramid Array D 5.1.0" }, + { "id": "320", "name": "Pyramid Array D 5.2.0" }, + { "id": "321", "name": "Pyramid Array D 6.0.0" }, + { "id": "322", "name": "Pyramid Array D 7.0.0" }, + { "id": "323", "name": "Pyramid Array D 7.1.0" }, + { "id": "324", "name": "Pyramid Array D 7.2.0" }, + { "id": "325", "name": "Pyramid Array D 7.3.0" }, + { "id": "326", "name": "Pyramid Array D 7.3.1" }, + { "id": "327", "name": "Pyramid Array D 7.3.2" }, + { "id": "328", "name": "Pyramid Array D 7.3.3" }, + { "id": "329", "name": "Pyramid Array D 7.3.4" }, + { "id": "330", "name": "Pyramid Array D 7.3.5" }, + { "id": "331", "name": "Pyramid Array D 7.3.6" }, + { "id": "332", "name": "Pyramid Array D 7.3.7" }, + { "id": "333", "name": "Pyramid Array D 7.3.8" }, + { "id": "334", "name": "Pyramid Array D 7.3.9" }, + { "id": "335", "name": "Pyramid Array D 7.3.10" }, + { "id": "336", "name": "Pyramid Array D 7.3.11" }, + { "id": "337", "name": "Pyramid Array D 7.3.12" }, + { "id": "338", "name": "Pyramid Array D 8.0.0" }, + { "id": "339", "name": "Pyramid Array D 8.1.0" }, + { "id": "340", "name": "Pyramid Array D 8.2.0" }, + { "id": "341", "name": "Pyramid Array D 9.0.0" }, + { "id": "342", "name": "Pyramid Array D 9.1.0" }, + { "id": "343", "name": "Pyramid Array D 9.1.1" }, + { "id": "344", "name": "Pyramid Array D 9.1.2" }, + { "id": "345", "name": "Pyramid Array D 10.0.0" }, + { "id": "346", "name": "Pyramid Array D 10.1.0" }, + { "id": "347", "name": "Pyramid Array D 10.2.0" }, + { "id": "348", "name": "Pyramid Array D 10.3.0" }, + { "id": "349", "name": "Pyramid Array D 10.3.1" }, + { "id": "350", "name": "Pyramid Array D 10.4.0" }, + { "id": "351", "name": "Pyramid Array D 10.4.1" }, + { "id": "352", "name": "Pyramid Array D 11.0.0" }, + { "id": "353", "name": "Pyramid Array D 12.0.0" }, + { "id": "354", "name": "Pyramid Array D 13.0.0" }, + { "id": "355", "name": "Pyramid Array D 13.0.1" }, + { "id": "356", "name": "Pyramid Array DS 0.0.1" }, + { "id": "357", "name": "Pyramid Array DS 0.0.2" }, + { "id": "358", "name": "Pyramid Array DS 0.1.0" }, + { "id": "359", "name": "Pyramid Array DS 0.1.1" }, + { "id": "360", "name": "Pyramid Array DS 0.1.2" }, + { "id": "361", "name": "Pyramid Array DS 0.1.3" }, + { "id": "362", "name": "Pyramid Array DS 0.1.4" }, + { "id": "363", "name": "Pyramid Array DS 0.2.0" }, + { "id": "364", "name": "Pyramid Array DS 0.2.1" }, + { "id": "365", "name": "Pyramid Array DS 0.2.2" }, + { "id": "366", "name": "Pyramid Array DS 0.3.0" }, + { "id": "367", "name": "Pyramid Array DS 0.3.1" }, + { "id": "368", "name": "Pyramid Array DS 1.0.0" }, + { "id": "369", "name": "Pyramid Array DS 1.1.0" }, + { "id": "370", "name": "Pyramid Array DS 1.1.1" }, + { "id": "371", "name": "Pyramid Array DS 1.1.2" }, + { "id": "372", "name": "Pyramid Array DS 1.2.0" }, + { "id": "373", "name": "Pyramid Array DS 1.3.0" }, + { "id": "374", "name": "Pyramid Array DS 1.3.1" }, + { "id": "375", "name": "Pyramid Array DS 1.4.0" }, + { "id": "376", "name": "Pyramid Array DS 1.5.0" }, + { "id": "377", "name": "Pyramid Array DS 1.6.0" }, + { "id": "378", "name": "Pyramid Array DS 1.6.1" }, + { "id": "379", "name": "Pyramid Array DS 1.6.2" }, + { "id": "380", "name": "Pyramid Array DS 1.6.3" }, + { "id": "381", "name": "Pyramid Array DS 1.6.4" }, + { "id": "382", "name": "Pyramid Array DS 1.6.5" }, + { "id": "383", "name": "Pyramid Array DS 2.0.0" }, + { "id": "384", "name": "Pyramid Array DS 2.0.1" }, + { "id": "385", "name": "Pyramid Array DS 3.0.0" }, + { "id": "386", "name": "Pyramid Array DS 4.0.0" }, + { "id": "387", "name": "Pyramid Array DS 4.0.1" }, + { "id": "388", "name": "Pyramid Array DS 4.1.0" }, + { "id": "389", "name": "Pyramid Array DS 5.0.0" }, + { "id": "390", "name": "Pyramid Array DS 5.1.0" }, + { "id": "391", "name": "Pyramid Array DS 5.2.0" }, + { "id": "392", "name": "Pyramid Array DS 6.0.0" }, + { "id": "393", "name": "Pyramid Array DS 7.0.0" }, + { "id": "394", "name": "Pyramid Array DS 7.1.0" }, + { "id": "395", "name": "Pyramid Array DS 7.2.0" }, + { "id": "396", "name": "Pyramid Array DS 7.3.0" }, + { "id": "397", "name": "Pyramid Array DS 7.3.1" }, + { "id": "398", "name": "Pyramid Array DS 7.3.2" }, + { "id": "399", "name": "Pyramid Array DS 7.3.3" }, + { "id": "400", "name": "Pyramid Array DS 7.3.4" }, + { "id": "401", "name": "Pyramid Array DS 7.3.5" }, + { "id": "402", "name": "Pyramid Array DS 7.3.6" }, + { "id": "403", "name": "Pyramid Array DS 7.3.7" }, + { "id": "404", "name": "Pyramid Array DS 7.3.8" }, + { "id": "405", "name": "Pyramid Array DS 7.3.9" }, + { "id": "406", "name": "Pyramid Array DS 7.3.10" }, + { "id": "407", "name": "Pyramid Array DS 7.3.11" }, + { "id": "408", "name": "Pyramid Array DS 7.3.12" }, + { "id": "409", "name": "Pyramid Array DS 8.0.0" }, + { "id": "410", "name": "Pyramid Array DS 8.1.0" }, + { "id": "411", "name": "Pyramid Array DS 8.2.0" }, + { "id": "412", "name": "Pyramid Array DS 9.0.0" }, + { "id": "413", "name": "Pyramid Array DS 9.1.0" }, + { "id": "414", "name": "Pyramid Array DS 9.1.1" }, + { "id": "415", "name": "Pyramid Array DS 9.1.2" }, + { "id": "416", "name": "Pyramid Array DS 10.0.0" }, + { "id": "417", "name": "Pyramid Array DS 10.1.0" }, + { "id": "418", "name": "Pyramid Array DS 10.2.0" }, + { "id": "419", "name": "Pyramid Array DS 10.3.0" }, + { "id": "420", "name": "Pyramid Array DS 10.3.1" }, + { "id": "421", "name": "Pyramid Array DS 10.4.0" }, + { "id": "422", "name": "Pyramid Array DS 10.4.1" }, + { "id": "423", "name": "Pyramid Array DS 11.0.0" }, + { "id": "424", "name": "Pyramid Array DS 12.0.0" }, + { "id": "425", "name": "Pyramid Array DS 13.0.0" }, + { "id": "426", "name": "Pyramid Array DS 13.0.1" }, + { "id": "427", "name": "Pyramid Array DX 0.0.1" }, + { "id": "428", "name": "Pyramid Array DX 0.0.2" }, + { "id": "429", "name": "Pyramid Array DX 0.1.0" }, + { "id": "430", "name": "Pyramid Array DX 0.1.1" }, + { "id": "431", "name": "Pyramid Array DX 0.1.2" }, + { "id": "432", "name": "Pyramid Array DX 0.1.3" }, + { "id": "433", "name": "Pyramid Array DX 0.1.4" }, + { "id": "434", "name": "Pyramid Array DX 0.2.0" }, + { "id": "435", "name": "Pyramid Array DX 0.2.1" }, + { "id": "436", "name": "Pyramid Array DX 0.2.2" }, + { "id": "437", "name": "Pyramid Array DX 0.3.0" }, + { "id": "438", "name": "Pyramid Array DX 0.3.1" }, + { "id": "439", "name": "Pyramid Array DX 1.0.0" }, + { "id": "440", "name": "Pyramid Array DX 1.1.0" }, + { "id": "441", "name": "Pyramid Array DX 1.1.1" }, + { "id": "442", "name": "Pyramid Array DX 1.1.2" }, + { "id": "443", "name": "Pyramid Array DX 1.2.0" }, + { "id": "444", "name": "Pyramid Array DX 1.3.0" }, + { "id": "445", "name": "Pyramid Array DX 1.3.1" }, + { "id": "446", "name": "Pyramid Array DX 1.4.0" }, + { "id": "447", "name": "Pyramid Array DX 1.5.0" }, + { "id": "448", "name": "Pyramid Array DX 1.6.0" }, + { "id": "449", "name": "Pyramid Array DX 1.6.1" }, + { "id": "450", "name": "Pyramid Array DX 1.6.2" }, + { "id": "451", "name": "Pyramid Array DX 1.6.3" }, + { "id": "452", "name": "Pyramid Array DX 1.6.4" }, + { "id": "453", "name": "Pyramid Array DX 1.6.5" }, + { "id": "454", "name": "Pyramid Array DX 2.0.0" }, + { "id": "455", "name": "Pyramid Array DX 2.0.1" }, + { "id": "456", "name": "Pyramid Array DX 3.0.0" }, + { "id": "457", "name": "Pyramid Array DX 4.0.0" }, + { "id": "458", "name": "Pyramid Array DX 4.0.1" }, + { "id": "459", "name": "Pyramid Array DX 4.1.0" }, + { "id": "460", "name": "Pyramid Array DX 5.0.0" }, + { "id": "461", "name": "Pyramid Array DX 5.1.0" }, + { "id": "462", "name": "Pyramid Array DX 5.2.0" }, + { "id": "463", "name": "Pyramid Array DX 6.0.0" }, + { "id": "464", "name": "Pyramid Array DX 7.0.0" }, + { "id": "465", "name": "Pyramid Array DX 7.1.0" }, + { "id": "466", "name": "Pyramid Array DX 7.2.0" }, + { "id": "467", "name": "Pyramid Array DX 7.3.0" }, + { "id": "468", "name": "Pyramid Array DX 7.3.1" }, + { "id": "469", "name": "Pyramid Array DX 7.3.2" }, + { "id": "470", "name": "Pyramid Array DX 7.3.3" }, + { "id": "471", "name": "Pyramid Array DX 7.3.4" }, + { "id": "472", "name": "Pyramid Array DX 7.3.5" }, + { "id": "473", "name": "Pyramid Array DX 7.3.6" }, + { "id": "474", "name": "Pyramid Array DX 7.3.7" }, + { "id": "475", "name": "Pyramid Array DX 7.3.8" }, + { "id": "476", "name": "Pyramid Array DX 7.3.9" }, + { "id": "477", "name": "Pyramid Array DX 7.3.10" }, + { "id": "478", "name": "Pyramid Array DX 7.3.11" }, + { "id": "479", "name": "Pyramid Array DX 7.3.12" }, + { "id": "480", "name": "Pyramid Array DX 8.0.0" }, + { "id": "481", "name": "Pyramid Array DX 8.1.0" }, + { "id": "482", "name": "Pyramid Array DX 8.2.0" }, + { "id": "483", "name": "Pyramid Array DX 9.0.0" }, + { "id": "484", "name": "Pyramid Array DX 9.1.0" }, + { "id": "485", "name": "Pyramid Array DX 9.1.1" }, + { "id": "486", "name": "Pyramid Array DX 9.1.2" }, + { "id": "487", "name": "Pyramid Array DX 10.0.0" }, + { "id": "488", "name": "Pyramid Array DX 10.1.0" }, + { "id": "489", "name": "Pyramid Array DX 10.2.0" }, + { "id": "490", "name": "Pyramid Array DX 10.3.0" }, +]; diff --git a/packages/ui/src/hooks/use-currency-list.ts b/packages/ui/src/hooks/use-currency-list.ts new file mode 100644 index 00000000..4b7eb885 --- /dev/null +++ b/packages/ui/src/hooks/use-currency-list.ts @@ -0,0 +1,18 @@ +import { useMemo } from "react"; +import { useIntl } from "react-intl"; + +export const useCurrencyList = (allowedCurrencyCodeList?: string[] | undefined) => { + const intl = useIntl(); + const currencyCodeList = allowedCurrencyCodeList ?? Intl.supportedValuesOf("currency"); + + return useMemo( + () => + currencyCodeList + .map((currencyCode) => ({ + id: currencyCode, + name: intl.formatDisplayName(currencyCode, { type: "currency" }) ?? "", + })) + .sort((left, right) => left.name.localeCompare(right.name)), + [currencyCodeList, intl], + ); +}; diff --git a/packages/ui/src/hooks/use-locale-list.ts b/packages/ui/src/hooks/use-locale-list.ts new file mode 100644 index 00000000..2addc07c --- /dev/null +++ b/packages/ui/src/hooks/use-locale-list.ts @@ -0,0 +1,15 @@ +import { useMemo } from "react"; + +export const useLocaleList = (localeList: string[]) => + useMemo( + () => + localeList + .map((locale) => ({ + id: locale, + name: + new Intl.DisplayNames(locale, { languageDisplay: "standard", type: "language" }).of(locale) ?? + "", + })) + .sort((left, right) => left.name.localeCompare(right.name)), + [localeList], + ); diff --git a/packages/ui/src/hooks/use-region-list.ts b/packages/ui/src/hooks/use-region-list.ts new file mode 100644 index 00000000..44c96cbf --- /dev/null +++ b/packages/ui/src/hooks/use-region-list.ts @@ -0,0 +1,17 @@ +import { useMemo } from "react"; +import { useIntl } from "react-intl"; + +export const useRegionList = (regionCodeList: string[]) => { + const intl = useIntl(); + + return useMemo( + () => + regionCodeList + .map((regionCode) => ({ + id: regionCode, + name: intl.formatDisplayName(regionCode, { type: "region" }) ?? "", + })) + .sort((left, right) => left.name.localeCompare(right.name)), + [regionCodeList, intl], + ); +}; diff --git a/yarn.lock b/yarn.lock index 2235bf4e..76145822 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3213,13 +3213,6 @@ __metadata: languageName: node linkType: hard -"@leeoniya/ufuzzy@npm:1.0.14": - version: 1.0.14 - resolution: "@leeoniya/ufuzzy@npm:1.0.14" - checksum: 10/852b580a8eaaf92e2d448f5b720e3c53e4bea22187bf5e8459256677c47183321b47b8384982e15751f42da7e77a216fd86c80e6185677d8270adeab4a4fb771 - languageName: node - linkType: hard - "@manypkg/find-root@npm:^1.1.0": version: 1.1.0 resolution: "@manypkg/find-root@npm:1.1.0" @@ -5510,7 +5503,6 @@ __metadata: "@chromatic-com/storybook": "npm:1.3.3" "@dotenv-run/cli": "npm:1.3.5" "@formatjs/cli": "npm:6.2.9" - "@leeoniya/ufuzzy": "npm:1.0.14" "@radix-ui/react-icons": "npm:1.3.0" "@radix-ui/react-slot": "npm:1.0.2" "@react-hookz/web": "npm:24.0.4" @@ -5539,7 +5531,6 @@ __metadata: eslint: "npm:8.57.0" eslint-config-prettier: "npm:9.1.0" graphql: "npm:16.8.1" - graphql-relay: "npm:0.10.1" next: "npm:14.2.2" next-themes: "npm:0.3.0" npm-package-json-lint: "npm:7.1.0" @@ -12304,15 +12295,6 @@ __metadata: languageName: node linkType: hard -"graphql-relay@npm:0.10.1": - version: 0.10.1 - resolution: "graphql-relay@npm:0.10.1" - peerDependencies: - graphql: ^16.2.0 - checksum: 10/81cd88ffffb37bb9bcf6e14e58d1dcf610a41a4a3f71555c7e518024368db9a1611f030708d3ac62774fd56fbc58b67f65aa4b43d14e29df266d51a7a52a9365 - languageName: node - linkType: hard - "graphql-ws@npm:5.12.1": version: 5.12.1 resolution: "graphql-ws@npm:5.12.1"