aboutsummaryrefslogtreecommitdiff
path: root/packages/exchange-backoffice-ui/src/forms/InputChoice.tsx
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2023-05-15 11:45:23 -0300
committerSebastian <sebasjm@gmail.com>2023-05-15 11:45:23 -0300
commitf4f798b1b4bae3073b669a562fd2b3a7880dffc3 (patch)
tree90211e3188cf9d33f0fc468bca8f039cd89b313e /packages/exchange-backoffice-ui/src/forms/InputChoice.tsx
parentdb03383325063b9388c7ffa583485c3cff2b25eb (diff)
second form
Diffstat (limited to 'packages/exchange-backoffice-ui/src/forms/InputChoice.tsx')
-rw-r--r--packages/exchange-backoffice-ui/src/forms/InputChoice.tsx119
1 files changed, 0 insertions, 119 deletions
diff --git a/packages/exchange-backoffice-ui/src/forms/InputChoice.tsx b/packages/exchange-backoffice-ui/src/forms/InputChoice.tsx
deleted file mode 100644
index 0e1b32cba..000000000
--- a/packages/exchange-backoffice-ui/src/forms/InputChoice.tsx
+++ /dev/null
@@ -1,119 +0,0 @@
-import { TranslatedString } from "@gnu-taler/taler-util";
-import { Fragment, VNode, h } from "preact";
-import { LabelWithTooltipMaybeRequired, UIFormProps } from "./InputLine.js";
-import { useField } from "./useField.js";
-
-function classNames(...classes: string[]): string {
- return classes.filter(Boolean).join(" ");
-}
-const memoryOptions = [
- { name: "4 GB", inStock: true },
- { name: "8 GB", inStock: true },
- { name: "16 GB", inStock: true },
- { name: "32 GB", inStock: true },
- { name: "64 GB", inStock: true },
- { name: "128 GB", inStock: false },
-];
-
-export interface Choice {
- label: TranslatedString;
- description?: TranslatedString;
- value: string;
-}
-
-export function InputChoiceStacked(
- props: {
- choices: Choice[];
- } & UIFormProps<string>,
-): VNode {
- const {
- choices,
- name,
- label,
- tooltip,
- placeholder,
- required,
- before,
- after,
- converter,
- } = props;
- const { value, onChange, state, isDirty } = useField(name);
- if (state.hidden) {
- return <Fragment />;
- }
-
- return (
- <div class="sm:col-span-6">
- <LabelWithTooltipMaybeRequired
- label={label}
- required={required}
- tooltip={tooltip}
- />
- <fieldset class="mt-2">
- {value !== undefined && !required && (
- <div class="flex mb-2 items-center ">
- <div class="flex-auto">
- <button
- type="button"
- onClick={() => {
- onChange(undefined!);
- }}
- class="block rounded-md bg-white px-3 py-2 text-center text-sm font-semibold shadow-sm ring-1 ring-inset ring-gray-300 hover:bg-gray-50"
- >
- Cancel
- </button>
- </div>
- </div>
- )}
-
- <div class="space-y-4">
- {choices.map((choice) => {
- let clazz =
- "border relative block cursor-pointer rounded-lg bg-white px-6 py-4 shadow-sm focus:outline-none sm:flex sm:justify-between";
- if (choice.value === value) {
- clazz +=
- " border-transparent border-indigo-600 ring-2 ring-indigo-600";
- } else {
- clazz += " border-gray-300";
- }
- return (
- <label class={clazz}>
- <input
- type="radio"
- name="server-size"
- defaultValue={choice.value}
- onClick={(e) => {
- onChange(choice.value);
- }}
- class="sr-only"
- aria-labelledby="server-size-0-label"
- aria-describedby="server-size-0-description-0 server-size-0-description-1"
- />
- <span class="flex items-center">
- <span class="flex flex-col text-sm">
- <span
- id="server-size-0-label"
- class="font-medium text-gray-900"
- >
- {choice.label}
- </span>
- {choice.description !== undefined && (
- <span
- id="server-size-0-description-0"
- class="text-gray-500"
- >
- <span class="block sm:inline">
- {choice.description}
- </span>
- </span>
- )}
- </span>
- </span>
- </label>
- );
- })}
- </div>
- </fieldset>
- </div>
- );
-}