@alfadocs/ui-kit-debug 1.68.0 → 1.69.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{alia-sidebar-B06ZSOaF.js → alia-sidebar-DEMMoefU.js} +3 -3
- package/dist/_chunks/{alia-sidebar-B06ZSOaF.js.map → alia-sidebar-DEMMoefU.js.map} +1 -1
- package/dist/_chunks/{anamnesis-card-CsUBOG32.js → anamnesis-card-Bey9qQu4.js} +2 -2
- package/dist/_chunks/{anamnesis-card-CsUBOG32.js.map → anamnesis-card-Bey9qQu4.js.map} +1 -1
- package/dist/_chunks/{anamnesis-summary-rows-CNK0fIJk.js → anamnesis-summary-rows-rNwSrNWZ.js} +2 -2
- package/dist/_chunks/{anamnesis-summary-rows-CNK0fIJk.js.map → anamnesis-summary-rows-rNwSrNWZ.js.map} +1 -1
- package/dist/_chunks/{appointment-peek-D5XCfYKu.js → appointment-peek-CpcqB8oO.js} +2 -2
- package/dist/_chunks/{appointment-peek-D5XCfYKu.js.map → appointment-peek-CpcqB8oO.js.map} +1 -1
- package/dist/_chunks/{calendar-workspace-CYK1M83j.js → calendar-workspace-Ct8_454k.js} +3 -3
- package/dist/_chunks/{calendar-workspace-CYK1M83j.js.map → calendar-workspace-Ct8_454k.js.map} +1 -1
- package/dist/_chunks/{chat-message-Be-9vIIQ.js → chat-message-C2VXQMoB.js} +2 -2
- package/dist/_chunks/{chat-message-Be-9vIIQ.js.map → chat-message-C2VXQMoB.js.map} +1 -1
- package/dist/_chunks/{code-block-vwEv1jEa.js → code-block-RSKdF3E-.js} +35 -35
- package/dist/_chunks/code-block-RSKdF3E-.js.map +1 -0
- package/dist/_chunks/{connection-status--wYsgreh.js → connection-status-BOZC5QU5.js} +2 -2
- package/dist/_chunks/{connection-status--wYsgreh.js.map → connection-status-BOZC5QU5.js.map} +1 -1
- package/dist/_chunks/{description-list-Q8640NHu.js → description-list-DQQ2OA_t.js} +68 -66
- package/dist/_chunks/description-list-DQQ2OA_t.js.map +1 -0
- package/dist/_chunks/{optical-prescription-ulXnDbBe.js → optical-prescription-D5c7FBlT.js} +2 -2
- package/dist/_chunks/{optical-prescription-ulXnDbBe.js.map → optical-prescription-D5c7FBlT.js.map} +1 -1
- package/dist/_chunks/{patient-details-C4Dyo7Ck.js → patient-details-qWOsn1MX.js} +3 -3
- package/dist/_chunks/{patient-details-C4Dyo7Ck.js.map → patient-details-qWOsn1MX.js.map} +1 -1
- package/dist/_chunks/{patient-field-row-DROvUkFu.js → patient-field-row-CAl5ydtX.js} +2 -2
- package/dist/_chunks/{patient-field-row-DROvUkFu.js.map → patient-field-row-CAl5ydtX.js.map} +1 -1
- package/dist/_chunks/{patient-summary-card-CAimxbuI.js → patient-summary-card-BhuRh9AE.js} +2 -2
- package/dist/_chunks/{patient-summary-card-CAimxbuI.js.map → patient-summary-card-BhuRh9AE.js.map} +1 -1
- package/dist/_chunks/{payment-request-card-0DjQgVgX.js → payment-request-card-bysjRZrP.js} +2 -2
- package/dist/_chunks/{payment-request-card-0DjQgVgX.js.map → payment-request-card-bysjRZrP.js.map} +1 -1
- package/dist/_chunks/{reviews-panel-CosDZyow.js → reviews-panel-sbsVmmCA.js} +2 -2
- package/dist/_chunks/{reviews-panel-CosDZyow.js.map → reviews-panel-sbsVmmCA.js.map} +1 -1
- package/dist/_chunks/{streaming-text-zFViGexf.js → streaming-text-DbqKTsmj.js} +2 -2
- package/dist/_chunks/{streaming-text-zFViGexf.js.map → streaming-text-DbqKTsmj.js.map} +1 -1
- package/dist/_chunks/{use-appointment-details-read-CUGfE0hV.js → use-appointment-details-read-1gjZuup4.js} +3 -3
- package/dist/_chunks/{use-appointment-details-read-CUGfE0hV.js.map → use-appointment-details-read-1gjZuup4.js.map} +1 -1
- package/dist/_chunks/workflow-webhook-action-Ct8tFYi7.js +691 -0
- package/dist/_chunks/workflow-webhook-action-Ct8tFYi7.js.map +1 -0
- package/dist/agent-catalog.json +100 -1
- package/dist/agent-i18n/en.json +9 -0
- package/dist/components/_shared/code-block.d.ts +6 -0
- package/dist/components/_shared/code-block.d.ts.map +1 -1
- package/dist/components/anamnesis-card/index.js +1 -1
- package/dist/components/appointment-details-panel/index.js +1 -1
- package/dist/components/appointment-peek/index.js +1 -1
- package/dist/components/chat-message/index.js +1 -1
- package/dist/components/connection-status/index.js +1 -1
- package/dist/components/description-list/description-list.d.ts.map +1 -1
- package/dist/components/description-list/index.js +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/optical-prescription/index.js +1 -1
- package/dist/components/patient-details/index.js +1 -1
- package/dist/components/patient-summary-card/index.js +1 -1
- package/dist/components/payment-card/index.js +1 -1
- package/dist/components/reviews-panel/index.js +1 -1
- package/dist/components/streaming-text/index.js +1 -1
- package/dist/i18n/locales/ar.d.ts +55 -0
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/ar.js +55 -0
- package/dist/i18n/locales/ar.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +55 -0
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +55 -0
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/el.d.ts +55 -0
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/el.js +55 -0
- package/dist/i18n/locales/el.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +55 -0
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +55 -0
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +55 -0
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +55 -0
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +55 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +55 -0
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hi.d.ts +55 -0
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/hi.js +55 -0
- package/dist/i18n/locales/hi.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +55 -0
- package/dist/i18n/locales/it.d.ts.map +1 -1
- package/dist/i18n/locales/it.js +55 -0
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts +55 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +55 -0
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/nl.d.ts +55 -0
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/nl.js +55 -0
- package/dist/i18n/locales/nl.js.map +1 -1
- package/dist/i18n/locales/pl.d.ts +55 -0
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.js +55 -0
- package/dist/i18n/locales/pl.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts +55 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +55 -0
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ro.d.ts +55 -0
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ro.js +55 -0
- package/dist/i18n/locales/ro.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts +55 -0
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +55 -0
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/sq.d.ts +55 -0
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sq.js +55 -0
- package/dist/i18n/locales/sq.js.map +1 -1
- package/dist/i18n/locales/sv.d.ts +55 -0
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/sv.js +55 -0
- package/dist/i18n/locales/sv.js.map +1 -1
- package/dist/i18n/locales/tr.d.ts +55 -0
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/tr.js +55 -0
- package/dist/i18n/locales/tr.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +55 -0
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/locales/zh.js +55 -0
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/index.js +120 -117
- package/dist/index.js.map +1 -1
- package/dist/locales/ar.json +55 -0
- package/dist/locales/de.json +55 -0
- package/dist/locales/el.json +55 -0
- package/dist/locales/en.json +55 -0
- package/dist/locales/es.json +55 -0
- package/dist/locales/fr.json +55 -0
- package/dist/locales/hi.json +55 -0
- package/dist/locales/it.json +55 -0
- package/dist/locales/ja.json +55 -0
- package/dist/locales/nl.json +55 -0
- package/dist/locales/pl.json +55 -0
- package/dist/locales/pt.json +55 -0
- package/dist/locales/ro.json +55 -0
- package/dist/locales/ru.json +55 -0
- package/dist/locales/sq.json +55 -0
- package/dist/locales/sv.json +55 -0
- package/dist/locales/tr.json +55 -0
- package/dist/locales/zh.json +55 -0
- package/dist/patterns/alia-assistant/index.js +1 -1
- package/dist/patterns/anamnesis/index.js +1 -1
- package/dist/patterns/calendar/index.js +1 -1
- package/dist/patterns/workflow-webhook-action/index.d.ts +3 -0
- package/dist/patterns/workflow-webhook-action/index.d.ts.map +1 -0
- package/dist/patterns/workflow-webhook-action/index.js +6 -0
- package/dist/patterns/workflow-webhook-action/index.js.map +1 -0
- package/dist/patterns/workflow-webhook-action/workflow-webhook-action.d.ts +93 -0
- package/dist/patterns/workflow-webhook-action/workflow-webhook-action.d.ts.map +1 -0
- package/dist/tokens.css +1 -1
- package/package.json +5 -1
- package/dist/_chunks/code-block-vwEv1jEa.js.map +0 -1
- package/dist/_chunks/description-list-Q8640NHu.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-webhook-action-Ct8tFYi7.js","sources":["../../node_modules/lucide-react/dist/esm/icons/key-round.mjs","../../src/patterns/workflow-webhook-action/workflow-webhook-action.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.22.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z\",\n key: \"1s6t7t\"\n }\n ],\n [\"circle\", { cx: \"16.5\", cy: \"7.5\", r: \".5\", fill: \"currentColor\", key: \"w0ekpg\" }]\n];\nconst KeyRound = createLucideIcon(\"key-round\", __iconNode);\n\nexport { __iconNode, KeyRound as default };\n//# sourceMappingURL=key-round.mjs.map\n","/* -------------------------------------------------------------------- */\n/* WorkflowWebhookAction — the fields of a workflow's webhook step. */\n/* */\n/* The step sends a signed message to another app, such as Link, each */\n/* time a patient reaches it. The fields ask for what most practices */\n/* need, the address and the secret, and keep the extra parameters in */\n/* an Advanced section that stays closed until it is used. */\n/* */\n/* It renders fields, not a form: the host keeps its own form, title */\n/* and Save button around it. Given `fieldNames`, the inputs post to the */\n/* host's own names, so a server form needs no change. */\n/* -------------------------------------------------------------------- */\n\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { cva } from 'class-variance-authority';\nimport { Check, CircleAlert, Copy, KeyRound } from 'lucide-react';\nimport { CodeBlock } from '../../components/_shared/code-block';\nimport { Accordion } from '../../components/accordion';\nimport { Alert } from '../../components/alert';\nimport { Badge } from '../../components/badge';\nimport { Button, IconButton } from '../../components/button';\nimport { Card } from '../../components/card';\nimport { Checkbox } from '../../components/checkbox';\nimport { FieldArray } from '../../components/field-array';\nimport { FormField } from '../../components/form-field';\nimport { PasswordInput } from '../../components/password-input';\nimport { TextInput } from '../../components/text-input';\nimport { TokenInsertMenu } from '../../components/token-insert-menu';\nimport { useCopyToClipboard } from '../../hooks/use-copy-to-clipboard';\nimport { useIsomorphicLayoutEffect } from '../../hooks/use-isomorphic-layout-effect';\n\n/* -------------------------------------------------------------------- */\n/* Types */\n/* -------------------------------------------------------------------- */\n\n/** The fields of the step, in the order they appear. */\nexport const WORKFLOW_WEBHOOK_ACTION_FIELDS = [\n 'url',\n 'secret',\n 'legalBasisConfirmed',\n 'parameters',\n] as const;\n\nexport type WorkflowWebhookActionField =\n (typeof WORKFLOW_WEBHOOK_ACTION_FIELDS)[number];\n\n/** One parameter value as the platform stores it: a flat scalar. */\nexport type WorkflowWebhookParameterValue = string | number | boolean | null;\n\n/** What the step holds now. Mirrors the platform's\n * `SendHttpRequestWorkflowActionDto`. */\nexport interface WorkflowWebhookActionValues {\n /** Where the message goes: platform `url`. */\n url: string;\n /**\n * A new signing secret: platform `secret`, stored encrypted as\n * `encryptedSecret`. Empty means \"keep the saved one\". The server never\n * sends a saved secret back.\n */\n secret: string;\n /** The extra parameters: platform `parameters`, a flat map of scalars. */\n parameters: Record<string, WorkflowWebhookParameterValue>;\n /** The consent box: platform `legalBasisConfirmed`. */\n legalBasisConfirmed: boolean;\n}\n\n/** Values to show when the fields open. There is no secret here, on\n * purpose: a saved secret is never sent back to the browser. */\nexport type WorkflowWebhookActionInitialValues = Partial<\n Omit<WorkflowWebhookActionValues, 'secret'>\n>;\n\n/** Messages from the server, already translated, one per field. */\nexport type WorkflowWebhookActionErrors = Partial<\n Record<WorkflowWebhookActionField, string>\n>;\n\n/** The host's own form field names, for a native form post. */\nexport type WorkflowWebhookActionFieldNames = Record<\n WorkflowWebhookActionField,\n string\n>;\n\n/** A patient detail the user can insert into a parameter value. */\nexport interface WorkflowWebhookActionPlaceholder {\n /** The code the server replaces, such as `[[NOME]]`. */\n value: string;\n /** What the user reads, translated, such as \"First name\". */\n label: string;\n}\n\nexport interface WorkflowWebhookActionProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n 'children' | 'onChange'\n> {\n /**\n * Host content above the fields, such as the plan notice (\"Included in\n * the trial and the Elite plans\"). Nothing in it is posted.\n */\n children?: ReactNode;\n /**\n * Values to show when the fields open. Read once. Parameters keep the\n * order and the names they are given; a number beyond\n * `Number.MAX_SAFE_INTEGER` has already lost precision by the time it\n * arrives here.\n */\n initialValues?: WorkflowWebhookActionInitialValues;\n /**\n * True when the step already has a secret. The secret field is then\n * optional: left empty, the saved secret stays.\n */\n hasSavedSecret?: boolean;\n /**\n * Messages from the server, already translated. A field's message shows\n * until the user changes that field; when the fields open with\n * messages, focus goes to the first one. A message on `parameters`\n * opens the Advanced section.\n *\n * A React host keeps `errors` in state: each new object is a new answer\n * from the server, shown even when its words match the last one.\n */\n errors?: WorkflowWebhookActionErrors;\n /**\n * For a native form post: the host's own field names. The parameters\n * post as one JSON object, or an empty string when there are none. The\n * consent box posts `1` when ticked and nothing when not. The fields\n * must sit inside the host's `<form>`.\n */\n fieldNames?: WorkflowWebhookActionFieldNames;\n /**\n * Patient details the user can insert into a parameter value. Without\n * them, no insert menu shows.\n */\n placeholders?: ReadonlyArray<WorkflowWebhookActionPlaceholder>;\n /** For React hosts: called with the values after each change. */\n onValueChange?: (values: WorkflowWebhookActionValues) => void;\n /**\n * How the \"What Alfadocs sends\" card lays out the message body and its\n * headers. `two-column` (default): side by side once the fields are\n * 720px wide; narrower, as on a phone, one above the other.\n * `one-column`: always one above the other, for a narrow card or a side\n * panel.\n */\n layout?: 'two-column' | 'one-column';\n}\n\n/* -------------------------------------------------------------------- */\n/* Styles */\n/* -------------------------------------------------------------------- */\n\nconst rootVariants = cva(\n 'ds:flex ds:w-full ds:flex-col ds:gap-[var(--spacing-lg)] ds:text-start ds:text-[var(--foreground)]',\n);\n\n// Two columns: the fields side by side, read left to right.\nconst fieldsGridVariants = cva(\n 'ds:m-0 ds:grid ds:gap-x-[var(--spacing-xl)] ds:gap-y-[var(--spacing-md)]',\n {\n variants: {\n twoColumns: {\n true: 'ds:grid-cols-2',\n false: 'ds:grid-cols-1',\n },\n },\n defaultVariants: { twoColumns: false },\n },\n);\n\nconst referenceSectionVariants = cva(\n 'ds:flex ds:min-w-0 ds:flex-col ds:gap-[var(--spacing-sm)]',\n);\n\nconst sectionHeadingVariants = cva('type-title-item ds:text-foreground');\n\nconst fieldNameVariants = cva(\n 'ds:min-w-0 ds:rounded-[var(--radius-sm)] ds:bg-[var(--muted)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)] ds:font-mono type-body-sm ds:text-foreground ds:[overflow-wrap:anywhere]',\n);\n\nconst helpVariants = cva('type-body-sm ds:text-muted-foreground');\n\nconst errorVariants = cva(\n 'ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)] type-body-sm ds:text-destructive',\n);\n\nconst parameterRowVariants = cva(\n 'ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-sm)] ds:sm:grid-cols-2',\n);\n\n/* -------------------------------------------------------------------- */\n/* Helpers */\n/* -------------------------------------------------------------------- */\n\n/** The platform posts only to an address that starts with exactly this:\n * `ResolveSafeDestinationService::isHttpsUrl`. */\nconst HTTPS = 'https://';\n\n/** The platform's limit on the address (`SendHttpRequestWorkflowActionType`). */\nconst URL_MAX_LENGTH = 2048;\n\n/** From this width the fields every message carries sit two to a row:\n * room for two readable descriptions. The pattern's own width, not the\n * window's, so it fits whatever space the host gives. */\nconst TWO_COLUMN_MIN_WIDTH = 720;\n\n/* The example message. Its shape is the platform's\n * (`SendHttpRequestService`, `HmacSignature`); every value is invented. */\nconst EXAMPLE_IDEMPOTENCY_KEY = 'wf12-e345-a67';\nconst EXAMPLE_BODY = {\n sentAt: '2026-10-12T09:00:00+02:00',\n idempotencyKey: EXAMPLE_IDEMPOTENCY_KEY,\n practiceId: 1234,\n workflowId: 12,\n workflowActionId: 67,\n workflowEnrollmentId: 345,\n patientId: 5678,\n};\nconst EXAMPLE_HEADERS = [\n 'Content-Type: application/json',\n `X-AlfaDocs-Idempotency-Key: ${EXAMPLE_IDEMPOTENCY_KEY}`,\n 'X-AlfaDocs-Request-Timestamp: 1791788400000',\n 'X-AlfaDocs-Signature: sha256=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08',\n].join('\\n');\n\ninterface ParameterRow {\n /** Opaque and stable for the row's life: never the name or value. */\n key: string;\n name: string;\n value: string;\n /** What the row arrived with, kept so a saved parameter posts back\n * exactly as it was: a number or boolean as one, not as text. */\n original?: { name: string; value: WorkflowWebhookParameterValue };\n}\n\nconst textOf = (value: WorkflowWebhookParameterValue): string =>\n value === null ? '' : String(value);\n\nconst isUntouched = (row: ParameterRow): boolean =>\n row.original !== undefined &&\n row.name === row.original.name &&\n row.value === textOf(row.original.value);\n\n/**\n * The rows as the server stores them, in the user's order. Names are kept\n * as typed. A new row without a name is left out: the checks stop a\n * submit before that can lose a value.\n */\nconst parameterEntries = (\n rows: ReadonlyArray<ParameterRow>,\n): Array<[string, WorkflowWebhookParameterValue]> =>\n rows.flatMap((row): Array<[string, WorkflowWebhookParameterValue]> => {\n if (row.original !== undefined && isUntouched(row)) {\n return [[row.original.name, row.original.value]];\n }\n if (row.name.trim() === '') return [];\n return [[row.name, row.value]];\n });\n\n/** One JSON object, written by hand so the order is the user's: a plain\n * object would move number-like names to the front. */\nconst parametersJsonOf = (\n entries: ReadonlyArray<[string, WorkflowWebhookParameterValue]>,\n): string =>\n entries.length === 0\n ? ''\n : `{${entries\n .map(\n ([name, value]) => `${JSON.stringify(name)}:${JSON.stringify(value)}`,\n )\n .join(',')}}`;\n\n/** 32 random bytes as hex: 64 characters the receiving app can store. */\nconst generateSecret = (): string => {\n const bytes = new Uint8Array(32);\n globalThis.crypto.getRandomValues(bytes);\n return Array.from(bytes, (byte) => byte.toString(16).padStart(2, '0')).join(\n '',\n );\n};\n\ntype FocusTarget =\n | { kind: 'url' | 'secret' | 'legal' | 'copy' | 'add' | 'parametersError' }\n | { kind: 'parameter'; key: string };\n\n/** Where focus goes when the fields open with the server's messages. */\nconst firstServerMessage = (\n errors: WorkflowWebhookActionErrors | undefined,\n): FocusTarget | null => {\n if (errors?.url) return { kind: 'url' };\n if (errors?.secret) return { kind: 'secret' };\n if (errors?.legalBasisConfirmed) return { kind: 'legal' };\n if (errors?.parameters) return { kind: 'parametersError' };\n return null;\n};\n\ninterface SentFieldProps {\n /** The field or header name, as the receiving app reads it. */\n name: string;\n /** What it holds, in plain words. */\n description: string;\n /** Told whether the copy worked, so the fields can say so. */\n onCopied: (copied: boolean) => void;\n}\n\n/** One field every message carries: its name to copy, then its meaning.\n * Renders a `<dl>` group, so it sits inside a `<dl>`. */\nfunction SentField({ name, description, onCopied }: SentFieldProps) {\n const { t } = useTranslation('ui');\n const { status, copy } = useCopyToClipboard();\n const copied = status === 'copied';\n const failed = status === 'error';\n return (\n <div className=\"ds:flex ds:min-w-0 ds:flex-col ds:gap-[var(--spacing-2xs)]\">\n <dt className=\"ds:flex ds:min-w-0 ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]\">\n <code dir=\"ltr\" className={fieldNameVariants()}>\n {name}\n </code>\n <IconButton\n icon={copied ? <Check /> : failed ? <CircleAlert /> : <Copy />}\n size=\"sm\"\n intent=\"ghost\"\n aria-label={t('keyValuePair.copy', { label: name })}\n data-action=\"copy-field\"\n data-copied={copied ? 'true' : undefined}\n onClick={() => void copy(name).then(onCopied)}\n />\n {/* Seen, not heard: the fields announce the copy once. */}\n {copied ? (\n <span aria-hidden=\"true\" className=\"type-body-sm ds:text-success\">\n {t('copyField.copied')}\n </span>\n ) : failed ? (\n <span aria-hidden=\"true\" className=\"type-body-sm ds:text-destructive\">\n {t('copyField.copyFailed')}\n </span>\n ) : null}\n </dt>\n <dd className=\"ds:m-0 type-body-sm ds:text-muted-foreground\">\n {description}\n </dd>\n </div>\n );\n}\n\n/* -------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------- */\n\n/**\n * The fields of a workflow's webhook step. Mount it inside the host's\n * form, between the page title and the Save button.\n */\nexport const WorkflowWebhookAction = forwardRef<\n HTMLDivElement,\n WorkflowWebhookActionProps\n>(\n (\n {\n children,\n initialValues,\n hasSavedSecret = false,\n errors,\n fieldNames,\n placeholders,\n onValueChange,\n layout = 'two-column',\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation('ui');\n\n // Every message's fields, in the order the receiving app most likely\n // needs them: the body the platform's `SendHttpRequestService` builds.\n const sentFields: ReadonlyArray<readonly [string, string]> = [\n ['patientId', t('workflowWebhookAction.sent.patientId')],\n ['practiceId', t('workflowWebhookAction.sent.practiceId')],\n ['workflowId', t('workflowWebhookAction.sent.workflowId')],\n ['workflowActionId', t('workflowWebhookAction.sent.workflowActionId')],\n [\n 'workflowEnrollmentId',\n t('workflowWebhookAction.sent.workflowEnrollmentId'),\n ],\n ['sentAt', t('workflowWebhookAction.sent.sentAt')],\n ['idempotencyKey', t('workflowWebhookAction.sent.idempotencyKey')],\n ['parameters', t('workflowWebhookAction.sent.parameters')],\n ];\n // Every message's headers: the platform's `HmacSignature` and sender.\n const sentHeaders: ReadonlyArray<readonly [string, string]> = [\n ['X-AlfaDocs-Signature', t('workflowWebhookAction.headers.signature')],\n [\n 'X-AlfaDocs-Request-Timestamp',\n t('workflowWebhookAction.headers.timestamp'),\n ],\n [\n 'X-AlfaDocs-Idempotency-Key',\n t('workflowWebhookAction.headers.idempotency'),\n ],\n ];\n const legalErrorId = useId();\n const bodyLabelId = useId();\n const headersLabelId = useId();\n\n /* ------------------------------ State ----------------------------- */\n\n const keyCounter = useRef(0);\n const nextKey = () => {\n keyCounter.current += 1;\n return `parameter-${keyCounter.current}`;\n };\n\n const [url, setUrl] = useState(() => initialValues?.url ?? '');\n const [secret, setSecret] = useState('');\n // True from a generated secret until the user changes it: the field\n // then says to copy it into the app now.\n const [generated, setGenerated] = useState(false);\n const [rows, setRows] = useState<ParameterRow[]>(() =>\n Object.entries(initialValues?.parameters ?? {}).map(([name, value]) => {\n keyCounter.current += 1;\n return {\n key: `parameter-${keyCounter.current}`,\n name,\n value: textOf(value),\n original: { name, value },\n };\n }),\n );\n const [legal, setLegal] = useState(\n () => initialValues?.legalBasisConfirmed ?? false,\n );\n const [advancedOpen, setAdvancedOpen] = useState(\n () =>\n Object.keys(initialValues?.parameters ?? {}).length > 0 ||\n Boolean(errors?.parameters),\n );\n\n // A field the user has left, and whether a submit has been tried. A\n // message shows once either is true.\n const [touched, setTouched] = useState<Record<string, boolean>>({});\n const [submitted, setSubmitted] = useState(false);\n const [serverErrors, setServerErrors] =\n useState<WorkflowWebhookActionErrors>(() => errors ?? {});\n const [announcement, setAnnouncement] = useState('');\n // The server has answered with messages: focus goes to the first, and\n // the rest stay quiet, as after a refused submit.\n const [answered, setAnswered] = useState(() =>\n Object.values(errors ?? {}).some(Boolean),\n );\n\n // A new `errors` object is a new answer from the server.\n const lastErrors = useRef(errors);\n useEffect(() => {\n if (errors === lastErrors.current) return;\n lastErrors.current = errors;\n setServerErrors(errors ?? {});\n if (errors?.parameters) setAdvancedOpen(true);\n setAnswered(Object.values(errors ?? {}).some(Boolean));\n setFocusRequest(firstServerMessage(errors));\n }, [errors]);\n\n const leave = (field: string) =>\n setTouched((previous) =>\n previous[field] ? previous : { ...previous, [field]: true },\n );\n // The server's message was about the old value.\n const forget = (field: WorkflowWebhookActionField) =>\n setServerErrors((previous) =>\n previous[field] ? { ...previous, [field]: undefined } : previous,\n );\n\n /* ---------------------------- Refs -------------------------------- */\n\n const rootRef = useRef<HTMLDivElement | null>(null);\n const urlInput = useRef<HTMLInputElement>(null);\n const secretInput = useRef<HTMLInputElement>(null);\n const copyButton = useRef<HTMLButtonElement>(null);\n const parametersError = useRef<HTMLDivElement>(null);\n const legalBox = useRef<HTMLButtonElement>(null);\n const liveRegion = useRef<HTMLSpanElement>(null);\n const nameInputs = useRef(new Map<string, HTMLInputElement>());\n const valueInputs = useRef(new Map<string, HTMLInputElement>());\n // Values the user has been in. An input keeps its caret when it loses\n // focus, so a detail goes where the user left off; a value never\n // visited gets it at the end.\n const visitedValues = useRef(new Set<string>());\n // Where the caret goes after an insert, once the new value is drawn.\n const pendingCaret = useRef<{ key: string; position: number } | null>(null);\n useEffect(() => {\n const pending = pendingCaret.current;\n if (!pending) return;\n pendingCaret.current = null;\n valueInputs.current\n .get(pending.key)\n ?.setSelectionRange(pending.position, pending.position);\n });\n\n // Measured before the first paint, so the layout never jumps.\n const [fitsTwoColumns, setFitsTwoColumns] = useState(false);\n useIsomorphicLayoutEffect(() => {\n const node = rootRef.current;\n if (!node) return;\n const measure = () =>\n setFitsTwoColumns(\n node.getBoundingClientRect().width >= TWO_COLUMN_MIN_WIDTH,\n );\n measure();\n if (typeof ResizeObserver === 'undefined') return;\n const observer = new ResizeObserver(measure);\n observer.observe(node);\n return () => observer.disconnect();\n }, []);\n\n const twoColumns = layout === 'two-column' && fitsTwoColumns;\n\n const setRootRef = useCallback(\n (node: HTMLDivElement | null) => {\n rootRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n },\n [ref],\n );\n\n /**\n * Says something to a screen reader. Cleared first, so the same words\n * twice are read twice. While a menu is open the rest of the page is\n * hidden from screen readers, so the words wait until it has closed.\n */\n const announce = (message: string) => {\n setAnnouncement('');\n let frames = 0;\n const speak = () => {\n const hidden = liveRegion.current?.closest('[aria-hidden=\"true\"]');\n if (hidden && frames < 60) {\n frames += 1;\n window.requestAnimationFrame(speak);\n return;\n }\n setAnnouncement(message);\n };\n window.requestAnimationFrame(speak);\n };\n\n /* ---------------------------- Validation -------------------------- */\n\n const urlProblem = (): string | undefined => {\n const value = url.trim();\n if (value === '') return t('workflowWebhookAction.urlRequired');\n let parsed: URL;\n try {\n parsed = new URL(value);\n } catch {\n return t('workflowWebhookAction.urlInvalid');\n }\n if (!value.startsWith(HTTPS)) return t('workflowWebhookAction.urlHttps');\n if (parsed.hostname === '') return t('workflowWebhookAction.urlInvalid');\n if (parsed.username !== '' || parsed.password !== '') {\n return t('workflowWebhookAction.urlCredentials');\n }\n return undefined;\n };\n\n const secretProblem = (): string | undefined =>\n secret.trim() === '' && !hasSavedSecret\n ? t('workflowWebhookAction.secretRequired')\n : undefined;\n\n /** Per row key: a value with no name, or a name used twice. A saved\n * parameter left as it was is never stopped. */\n const rowProblems = (): Map<string, string> => {\n const problems = new Map<string, string>();\n // Every name the post would carry, whatever its row's position: a\n // later saved parameter must stop an edit above it taking its name.\n const counts = new Map<string, number>();\n for (const row of rows) {\n const name = isUntouched(row)\n ? row.name\n : row.name.trim() === ''\n ? null\n : row.name;\n if (name !== null) counts.set(name, (counts.get(name) ?? 0) + 1);\n }\n for (const row of rows) {\n // A saved parameter left as it was is never stopped; the row the\n // user changed is the one to fix.\n if (isUntouched(row)) continue;\n if (row.name.trim() === '') {\n if (row.value !== '')\n problems.set(\n row.key,\n t('workflowWebhookAction.parameterNameRequired'),\n );\n continue;\n }\n if ((counts.get(row.name) ?? 0) > 1)\n problems.set(\n row.key,\n t('workflowWebhookAction.parameterNameDuplicate'),\n );\n }\n return problems;\n };\n\n const legalProblem = (): string | undefined =>\n legal ? undefined : t('workflowWebhookAction.legalBasisRequired');\n\n const due = (field: string) => submitted || touched[field] === true;\n const rowsWithProblems = rowProblems();\n\n const urlError =\n serverErrors.url ?? (due('url') ? urlProblem() : undefined);\n const secretError =\n serverErrors.secret ?? (due('secret') ? secretProblem() : undefined);\n const legalError =\n serverErrors.legalBasisConfirmed ??\n (submitted ? legalProblem() : undefined);\n const rowError = (key: string) =>\n due(`parameter:${key}`) ? rowsWithProblems.get(key) : undefined;\n // After a refused submit focus lands on the first problem, which reads\n // its own message; the others stay quiet rather than all speaking at\n // once. Each is still read when its field has focus.\n const announceErrors = !submitted && !answered;\n\n /** The first field a submit must stop at, in the order they appear. */\n const firstProblem = (): FocusTarget | undefined => {\n if (urlProblem()) return { kind: 'url' };\n if (secretProblem()) return { kind: 'secret' };\n if (legalProblem()) return { kind: 'legal' };\n const row = rows.find((candidate) => rowsWithProblems.has(candidate.key));\n return row ? { kind: 'parameter', key: row.key } : undefined;\n };\n const firstProblemRef = useRef(firstProblem);\n firstProblemRef.current = firstProblem;\n\n /* ------------------------------ Focus ----------------------------- */\n\n // A new object for each request, so asking twice moves focus twice. The\n // effect runs after the change is drawn: a new row, an opened section.\n // A page the server rendered after a refused save opens on its first\n // message.\n const [focusRequest, setFocusRequest] = useState<FocusTarget | null>(() =>\n firstServerMessage(errors),\n );\n useEffect(() => {\n if (!focusRequest) return;\n const target: HTMLElement | null | undefined = (() => {\n switch (focusRequest.kind) {\n case 'url':\n return urlInput.current;\n case 'secret':\n return secretInput.current;\n case 'legal':\n return legalBox.current;\n case 'copy':\n return copyButton.current;\n case 'parametersError':\n return parametersError.current;\n case 'add':\n return rootRef.current?.querySelector<HTMLElement>(\n '[data-slot=\"parameters\"] [data-component=\"field-array\"] > button',\n );\n case 'parameter':\n return nameInputs.current.get(focusRequest.key);\n }\n })();\n target?.focus();\n }, [focusRequest]);\n\n /* ------------------------------ Submit ---------------------------- */\n\n // The host owns the form. Its submit is stopped here while a field has\n // a problem, and focus goes to the first one. A React host's own\n // submit handler should return early when `event.defaultPrevented`.\n // A script that calls `form.submit()` skips this check; the server's\n // own checks still apply.\n useEffect(() => {\n const form = rootRef.current?.closest('form');\n if (!form) return;\n const onSubmit = (event: SubmitEvent) => {\n const first = firstProblemRef.current();\n if (!first) return;\n event.preventDefault();\n setSubmitted(true);\n if (first.kind === 'parameter') setAdvancedOpen(true);\n setFocusRequest({ ...first });\n };\n form.addEventListener('submit', onSubmit);\n return () => form.removeEventListener('submit', onSubmit);\n }, []);\n\n /* ---------------------------- Host sync --------------------------- */\n\n const entries = parameterEntries(rows);\n const parametersJson = parametersJsonOf(entries);\n\n const onValueChangeRef = useRef(onValueChange);\n onValueChangeRef.current = onValueChange;\n // `rows` changes identity on every keystroke; the JSON says when the\n // parameters really changed.\n const entriesRef = useRef(entries);\n entriesRef.current = entries;\n const mounted = useRef(false);\n useEffect(() => {\n if (!mounted.current) {\n mounted.current = true;\n return;\n }\n onValueChangeRef.current?.({\n url,\n secret,\n parameters: Object.fromEntries(entriesRef.current),\n legalBasisConfirmed: legal,\n });\n }, [url, secret, parametersJson, legal]);\n\n /* ----------------------------- Secret ----------------------------- */\n\n // The secret lives in one password field, which keeps it out of the\n // page's markup: never in a `value` attribute, never in a hidden input\n // a copied page or a session recording could read.\n const {\n status: copyStatus,\n copiedValue,\n copy,\n reset: resetCopy,\n } = useCopyToClipboard();\n // \"Copied\" only for the secret in the field now: a new one is not yet\n // in the receiving app.\n const secretCopied = copyStatus === 'copied' && copiedValue === secret;\n const secretCopyFailed = copyStatus === 'error';\n\n const generateNewSecret = () => {\n resetCopy();\n setSecret(generateSecret());\n setGenerated(true);\n forget('secret');\n announce(t('workflowWebhookAction.secretGenerated'));\n setFocusRequest({ kind: 'copy' });\n };\n\n const copySecret = async () => {\n const ok = await copy(secretInput.current?.value ?? secret);\n announce(ok ? t('copyField.copySuccess') : t('copyField.copyFailed'));\n };\n\n /* --------------------------- Parameters --------------------------- */\n\n const updateRow = (key: string, patch: Partial<ParameterRow>) => {\n setRows((previous) =>\n previous.map((row) => (row.key === key ? { ...row, ...patch } : row)),\n );\n forget('parameters');\n };\n\n const addRow = () => {\n const key = nextKey();\n setRows((previous) => [...previous, { key, name: '', value: '' }]);\n setFocusRequest({ kind: 'parameter', key });\n };\n\n const removeRow = (index: number) => {\n const next = rows.filter((_, position) => position !== index);\n const removed = rows[index];\n if (removed) {\n nameInputs.current.delete(removed.key);\n valueInputs.current.delete(removed.key);\n visitedValues.current.delete(removed.key);\n }\n setRows(next);\n forget('parameters');\n const neighbour = next[index] ?? next[index - 1];\n setFocusRequest(\n neighbour ? { kind: 'parameter', key: neighbour.key } : { kind: 'add' },\n );\n };\n\n const insertPlaceholder = (row: ParameterRow, token: string) => {\n const input = valueInputs.current.get(row.key);\n const visited = input !== undefined && visitedValues.current.has(row.key);\n const start = visited\n ? (input.selectionStart ?? row.value.length)\n : row.value.length;\n const end = visited ? (input.selectionEnd ?? start) : start;\n const value = row.value.slice(0, start) + token + row.value.slice(end);\n pendingCaret.current = { key: row.key, position: start + token.length };\n updateRow(row.key, { value });\n const label = placeholders?.find((item) => item.value === token)?.label;\n announce(\n t('workflowWebhookAction.placeholderInserted', {\n detail: label ?? token,\n }),\n );\n };\n\n /* ------------------------------ Render ---------------------------- */\n\n const announceCopy = (copied: boolean) =>\n announce(copied ? t('copyField.copySuccess') : t('copyField.copyFailed'));\n\n /** The fields of one part of the message, each with its name to copy. */\n const renderFields = (\n labelId: string,\n items: ReadonlyArray<readonly [string, string]>,\n ) => (\n <dl\n aria-labelledby={labelId}\n className={fieldsGridVariants({ twoColumns })}\n >\n {items.map(([name, description]) => (\n <SentField\n key={name}\n name={name}\n description={description}\n onCopied={announceCopy}\n />\n ))}\n </dl>\n );\n\n // The example body carries the user's own parameters, as sent.\n const exampleBody = JSON.stringify(\n { ...EXAMPLE_BODY, parameters: Object.fromEntries(entries) },\n null,\n 2,\n );\n\n /** What every message carries, for whoever sets up the receiving app:\n * each part with an example to copy, then each field to copy. */\n const reference = (\n <div\n data-columns={twoColumns ? 2 : 1}\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xl)]\"\n >\n <div className={referenceSectionVariants()}>\n <h4 id={bodyLabelId} className={sectionHeadingVariants()}>\n {t('workflowWebhookAction.bodyHeading')}\n </h4>\n <p className={helpVariants()}>\n {t('workflowWebhookAction.sentDescription')}\n </p>\n <CodeBlock\n language=\"json\"\n code={exampleBody}\n copyLabel={t('workflowWebhookAction.copyBody')}\n />\n {renderFields(bodyLabelId, sentFields)}\n </div>\n\n <div className={referenceSectionVariants()}>\n <h4 id={headersLabelId} className={sectionHeadingVariants()}>\n {t('workflowWebhookAction.headersHeading')}\n </h4>\n <p className={helpVariants()}>\n {t('workflowWebhookAction.headersDescription')}\n </p>\n <CodeBlock\n language=\"http\"\n code={EXAMPLE_HEADERS}\n copyLabel={t('workflowWebhookAction.copyHeaders')}\n />\n {renderFields(headersLabelId, sentHeaders)}\n </div>\n </div>\n );\n\n const native = fieldNames !== undefined;\n const secretDescription = generated\n ? t('workflowWebhookAction.generatedNotice')\n : hasSavedSecret\n ? t('workflowWebhookAction.secretSavedDescription')\n : t('workflowWebhookAction.secretDescription');\n\n return (\n <div\n ref={setRootRef}\n {...rest}\n data-component=\"workflow-webhook-action\"\n data-layout={twoColumns ? 'two-column' : 'one-column'}\n className={rootVariants({ className })}\n >\n {children ? (\n <div\n data-slot=\"host-content\"\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\"\n >\n {children}\n </div>\n ) : null}\n\n <p className={helpVariants()}>{t('workflowWebhookAction.intro')}</p>\n\n <FormField\n label={t('workflowWebhookAction.url')}\n description={t('workflowWebhookAction.urlDescription')}\n required\n error={urlError}\n announceError={announceErrors}\n data-field=\"url\"\n >\n {/* Text, not `type=\"url\"`: the browser's own check would stop\n the host's form with its own message before ours. An address\n reads left to right in every language. */}\n <TextInput\n ref={urlInput}\n name={native ? fieldNames.url : undefined}\n dir=\"ltr\"\n inputMode=\"url\"\n autoComplete=\"off\"\n spellCheck={false}\n maxLength={URL_MAX_LENGTH}\n placeholder=\"https://\"\n value={url}\n onChange={(event) => {\n setUrl(event.target.value);\n forget('url');\n }}\n onBlur={(event) => {\n if (event.target.value !== '') leave('url');\n }}\n />\n </FormField>\n\n <div\n data-field=\"secret\"\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\"\n >\n <FormField\n label={t('workflowWebhookAction.secret')}\n description={secretDescription}\n {...(hasSavedSecret ? { optional: true } : { required: true })}\n error={secretError}\n announceError={announceErrors}\n >\n <PasswordInput\n ref={secretInput}\n // PasswordInput names itself \"password\" when given no name.\n name={native ? fieldNames.secret : ''}\n dir=\"ltr\"\n autoComplete=\"new-password\"\n spellCheck={false}\n value={secret}\n onChange={(event) => {\n setSecret(event.target.value);\n setGenerated(false);\n resetCopy();\n forget('secret');\n }}\n onBlur={(event) => {\n if (event.target.value !== '') leave('secret');\n }}\n />\n </FormField>\n <div className=\"ds:flex ds:flex-wrap ds:gap-[var(--spacing-xs)]\">\n <Button\n type=\"button\"\n intent=\"outline\"\n size=\"sm\"\n startIcon={<KeyRound />}\n data-action=\"generate-secret\"\n onClick={generateNewSecret}\n >\n {t('workflowWebhookAction.generate')}\n </Button>\n <Button\n ref={copyButton}\n type=\"button\"\n intent=\"outline\"\n size=\"sm\"\n disabled={secret === ''}\n startIcon={\n secretCopied ? (\n <Check />\n ) : secretCopyFailed ? (\n <CircleAlert />\n ) : (\n <Copy />\n )\n }\n data-action=\"copy-secret\"\n data-copied={secretCopied ? 'true' : undefined}\n onClick={() => void copySecret()}\n >\n {secretCopied\n ? t('copyField.copied')\n : secretCopyFailed\n ? t('copyField.copyFailed')\n : t('workflowWebhookAction.copySecret')}\n </Button>\n </div>\n </div>\n\n <div\n data-field=\"legalBasisConfirmed\"\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\"\n >\n <Checkbox\n ref={legalBox}\n name={native ? fieldNames.legalBasisConfirmed : undefined}\n value=\"1\"\n checked={legal}\n onCheckedChange={(next) => {\n setLegal(next === true);\n forget('legalBasisConfirmed');\n }}\n aria-required=\"true\"\n aria-invalid={legalError ? true : undefined}\n aria-describedby={legalError ? legalErrorId : undefined}\n label={t('workflowWebhookAction.legalBasis')}\n />\n {legalError ? (\n <p\n id={legalErrorId}\n role={announceErrors ? 'alert' : undefined}\n data-slot=\"error\"\n className={errorVariants()}\n >\n <CircleAlert\n aria-hidden=\"true\"\n className=\"ds:size-4 ds:shrink-0\"\n />\n <span>{legalError}</span>\n </p>\n ) : null}\n </div>\n\n {/* Outside the section: closed, its content is not in the page,\n and the parameters must still be posted. */}\n {native ? (\n <input\n type=\"hidden\"\n name={fieldNames.parameters}\n value={parametersJson}\n />\n ) : null}\n\n <div data-field=\"parameters\" data-slot=\"parameters\">\n {/* The elevated card, like the host page's own card. */}\n <Card variant=\"elevated\">\n <Accordion\n type=\"single\"\n collapsible\n value={advancedOpen ? 'advanced' : ''}\n onValueChange={(value: string) =>\n setAdvancedOpen(value === 'advanced')\n }\n >\n <Accordion.Item value=\"advanced\">\n <Accordion.Trigger data-action=\"toggle-advanced\">\n <span className=\"ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]\">\n <span>{t('workflowWebhookAction.advanced')}</span>\n {entries.length > 0 ? (\n <Badge variant=\"neutral\" size=\"md\">\n {t('workflowWebhookAction.parameterCount', {\n total: entries.length,\n })}\n </Badge>\n ) : null}\n </span>\n </Accordion.Trigger>\n <Accordion.Content>\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]\">\n <p className={helpVariants()}>\n {t('workflowWebhookAction.advancedDescription')}\n </p>\n\n {serverErrors.parameters ? (\n <div\n ref={parametersError}\n tabIndex={-1}\n data-slot=\"error\"\n className=\"ds:outline-none\"\n >\n <Alert variant=\"error\" announce=\"off\">\n <Alert.Description>\n {serverErrors.parameters}\n </Alert.Description>\n </Alert>\n </div>\n ) : null}\n\n <FieldArray\n legend={t('workflowWebhookAction.parametersLegend')}\n items={rows}\n addLabel={t('workflowWebhookAction.addParameter')}\n removeItemLabel={(index) =>\n t('workflowWebhookAction.removeParameter', {\n number: index + 1,\n })\n }\n onAdd={addRow}\n onRemove={removeRow}\n renderItem={(row, index) => (\n <div\n data-parameter-id={row.key}\n className={parameterRowVariants()}\n >\n <FormField\n label={t('workflowWebhookAction.parameterName')}\n error={rowError(row.key)}\n announceError={announceErrors}\n >\n <TextInput\n ref={(node) => {\n if (node) nameInputs.current.set(row.key, node);\n }}\n aria-label={t(\n 'workflowWebhookAction.parameterNameOf',\n { number: index + 1 },\n )}\n dir=\"auto\"\n autoComplete=\"off\"\n spellCheck={false}\n value={row.name}\n onChange={(event) =>\n updateRow(row.key, { name: event.target.value })\n }\n onBlur={() => leave(`parameter:${row.key}`)}\n />\n </FormField>\n <FormField\n label={t('workflowWebhookAction.parameterValue')}\n >\n <TextInput\n ref={(node) => {\n if (node)\n valueInputs.current.set(row.key, node);\n }}\n aria-label={t(\n 'workflowWebhookAction.parameterValueOf',\n { number: index + 1 },\n )}\n dir=\"auto\"\n autoComplete=\"off\"\n value={row.value}\n onChange={(event) =>\n updateRow(row.key, {\n value: event.target.value,\n })\n }\n onFocus={() => visitedValues.current.add(row.key)}\n />\n </FormField>\n {placeholders && placeholders.length > 0 ? (\n <div className=\"ds:sm:col-span-2\">\n <TokenInsertMenu\n tokens={placeholders.map((item) => ({\n value: item.value,\n label: item.label,\n }))}\n triggerLabel={t(\n 'workflowWebhookAction.insertDetail',\n )}\n onInsert={(token) =>\n insertPlaceholder(row, token)\n }\n />\n </div>\n ) : null}\n </div>\n )}\n />\n </div>\n </Accordion.Content>\n </Accordion.Item>\n </Accordion>\n </Card>\n </div>\n\n {/* A card of its own: for whoever sets up the receiving app, so\n closed until asked for. */}\n <div data-slot=\"reference\">\n <Card variant=\"elevated\">\n <Accordion type=\"single\" collapsible>\n <Accordion.Item value=\"reference\">\n <Accordion.Trigger data-action=\"toggle-reference\">\n <span>{t('workflowWebhookAction.sentHeading')}</span>\n </Accordion.Trigger>\n <Accordion.Content>{reference}</Accordion.Content>\n </Accordion.Item>\n </Accordion>\n </Card>\n </div>\n\n {/* Generating, copying and inserting change what is on screen\n without a focus change a screen reader would notice. */}\n <span\n ref={liveRegion}\n role=\"status\"\n aria-live=\"polite\"\n className=\"ds:sr-only\"\n >\n {announcement}\n </span>\n </div>\n );\n },\n);\nWorkflowWebhookAction.displayName = 'WorkflowWebhookAction';\n"],"names":["__iconNode","KeyRound","createLucideIcon","WORKFLOW_WEBHOOK_ACTION_FIELDS","rootVariants","cva","fieldsGridVariants","referenceSectionVariants","sectionHeadingVariants","fieldNameVariants","helpVariants","errorVariants","parameterRowVariants","HTTPS","URL_MAX_LENGTH","TWO_COLUMN_MIN_WIDTH","EXAMPLE_IDEMPOTENCY_KEY","EXAMPLE_BODY","EXAMPLE_HEADERS","textOf","value","isUntouched","row","parameterEntries","rows","parametersJsonOf","entries","name","generateSecret","bytes","byte","firstServerMessage","errors","SentField","description","onCopied","t","useTranslation","status","copy","useCopyToClipboard","copied","failed","jsxs","jsx","IconButton","Check","CircleAlert","Copy","WorkflowWebhookAction","forwardRef","children","initialValues","hasSavedSecret","fieldNames","placeholders","onValueChange","layout","className","rest","ref","sentFields","sentHeaders","legalErrorId","useId","bodyLabelId","headersLabelId","keyCounter","useRef","nextKey","url","setUrl","useState","secret","setSecret","generated","setGenerated","setRows","legal","setLegal","advancedOpen","setAdvancedOpen","touched","setTouched","submitted","setSubmitted","serverErrors","setServerErrors","announcement","setAnnouncement","answered","setAnswered","lastErrors","useEffect","setFocusRequest","leave","field","previous","forget","rootRef","urlInput","secretInput","copyButton","parametersError","legalBox","liveRegion","nameInputs","valueInputs","visitedValues","pendingCaret","pending","_a","fitsTwoColumns","setFitsTwoColumns","useIsomorphicLayoutEffect","node","measure","observer","twoColumns","setRootRef","useCallback","announce","message","frames","speak","urlProblem","parsed","secretProblem","rowProblems","problems","counts","legalProblem","due","rowsWithProblems","urlError","secretError","legalError","rowError","key","announceErrors","firstProblem","candidate","firstProblemRef","focusRequest","target","form","onSubmit","event","first","parametersJson","onValueChangeRef","entriesRef","mounted","copyStatus","copiedValue","resetCopy","secretCopied","secretCopyFailed","generateNewSecret","copySecret","ok","updateRow","patch","addRow","removeRow","index","next","_","position","removed","neighbour","insertPlaceholder","token","input","visited","start","end","label","item","announceCopy","renderFields","labelId","items","exampleBody","reference","CodeBlock","native","secretDescription","FormField","TextInput","PasswordInput","Button","Checkbox","Card","Accordion","Badge","Alert","FieldArray","TokenInsertMenu"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/agent-catalog.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"packageVersion": "1.
|
|
3
|
+
"packageVersion": "1.69.0",
|
|
4
4
|
"components": [
|
|
5
5
|
{
|
|
6
6
|
"kind": "component",
|
|
@@ -24063,6 +24063,105 @@
|
|
|
24063
24063
|
]
|
|
24064
24064
|
}
|
|
24065
24065
|
]
|
|
24066
|
+
},
|
|
24067
|
+
{
|
|
24068
|
+
"kind": "pattern",
|
|
24069
|
+
"id": "workflow-webhook-action",
|
|
24070
|
+
"composes": [
|
|
24071
|
+
{
|
|
24072
|
+
"component": "form-field",
|
|
24073
|
+
"as": "field"
|
|
24074
|
+
},
|
|
24075
|
+
{
|
|
24076
|
+
"component": "text-input",
|
|
24077
|
+
"as": "url"
|
|
24078
|
+
},
|
|
24079
|
+
{
|
|
24080
|
+
"component": "password-input",
|
|
24081
|
+
"as": "secret"
|
|
24082
|
+
},
|
|
24083
|
+
{
|
|
24084
|
+
"component": "button",
|
|
24085
|
+
"as": "secretAction"
|
|
24086
|
+
},
|
|
24087
|
+
{
|
|
24088
|
+
"component": "checkbox",
|
|
24089
|
+
"as": "legalBasis"
|
|
24090
|
+
},
|
|
24091
|
+
{
|
|
24092
|
+
"component": "accordion",
|
|
24093
|
+
"as": "advanced"
|
|
24094
|
+
},
|
|
24095
|
+
{
|
|
24096
|
+
"component": "field-array",
|
|
24097
|
+
"as": "parameters",
|
|
24098
|
+
"entity": "parameter"
|
|
24099
|
+
},
|
|
24100
|
+
{
|
|
24101
|
+
"component": "token-insert-menu",
|
|
24102
|
+
"as": "insertDetail"
|
|
24103
|
+
},
|
|
24104
|
+
{
|
|
24105
|
+
"component": "button",
|
|
24106
|
+
"as": "copyField"
|
|
24107
|
+
},
|
|
24108
|
+
{
|
|
24109
|
+
"component": "card",
|
|
24110
|
+
"as": "section"
|
|
24111
|
+
},
|
|
24112
|
+
{
|
|
24113
|
+
"component": "badge",
|
|
24114
|
+
"as": "parameterCount"
|
|
24115
|
+
},
|
|
24116
|
+
{
|
|
24117
|
+
"component": "alert",
|
|
24118
|
+
"as": "parametersError"
|
|
24119
|
+
}
|
|
24120
|
+
],
|
|
24121
|
+
"workflows": [
|
|
24122
|
+
{
|
|
24123
|
+
"name": "read_step",
|
|
24124
|
+
"safety": "read",
|
|
24125
|
+
"description": "Read the webhook step and what is wrong with it. Each field sits in a wrapper with `data-field` (`url`, `secret`, `legalBasisConfirmed`, `parameters`). A field with a problem has `aria-invalid=\"true\"` on its control and its message in a `data-slot=\"error\"` element inside the wrapper. Parameter rows carry `data-parameter-id`, an opaque row id. The `secret` wrapper is write-only for agents: read whether it has a problem, never its value, and never repeat a secret.",
|
|
24126
|
+
"descriptionKey": "ui.agent.workflowWebhookAction.workflows.readStep",
|
|
24127
|
+
"uiActions": [],
|
|
24128
|
+
"apiActions": []
|
|
24129
|
+
},
|
|
24130
|
+
{
|
|
24131
|
+
"name": "generate_secret",
|
|
24132
|
+
"safety": "write",
|
|
24133
|
+
"description": "Generate a random signing secret into the password field (`data-action=\"generate-secret\"`; again to replace it) and copy it to the clipboard (`data-action=\"copy-secret\"`, which shows `data-copied=\"true\"` once done) so the person can paste it into the receiving app. The secret never appears in the page markup. Nothing is saved until the host form is submitted.",
|
|
24134
|
+
"descriptionKey": "ui.agent.workflowWebhookAction.workflows.generateSecret",
|
|
24135
|
+
"uiActions": [],
|
|
24136
|
+
"apiActions": []
|
|
24137
|
+
},
|
|
24138
|
+
{
|
|
24139
|
+
"name": "edit_parameters",
|
|
24140
|
+
"safety": "write",
|
|
24141
|
+
"description": "Open the Advanced section (`data-action=\"toggle-advanced\"`) and add, change or remove extra parameters, each a name and a value. Most receiving apps, Link included, need none. A value may contain patient-detail codes from the insert menu; the server replaces them when it sends.",
|
|
24142
|
+
"descriptionKey": "ui.agent.workflowWebhookAction.workflows.editParameters",
|
|
24143
|
+
"uiActions": [],
|
|
24144
|
+
"apiActions": []
|
|
24145
|
+
},
|
|
24146
|
+
{
|
|
24147
|
+
"name": "read_message_shape",
|
|
24148
|
+
"safety": "read",
|
|
24149
|
+
"description": "Open \"What Alfadocs sends\" (`data-action=\"toggle-reference\"`) to read what every message carries: an example body and example headers, each in a code block with its own copy button, then each field and header with its meaning. `data-action=\"copy-field\"` copies one field name and shows `data-copied=\"true\"` once done. The example values are invented; the shape is the platform's.",
|
|
24150
|
+
"descriptionKey": "ui.agent.workflowWebhookAction.workflows.readMessageShape",
|
|
24151
|
+
"uiActions": [],
|
|
24152
|
+
"apiActions": []
|
|
24153
|
+
},
|
|
24154
|
+
{
|
|
24155
|
+
"name": "save_step",
|
|
24156
|
+
"safety": "phi",
|
|
24157
|
+
"description": "Save through the host's own form and button. The fields stop the submit while the address, the secret, the consent box or a parameter name has a problem, and move focus to the first one. The person ticks the consent box themselves: it confirms the practice has a legal basis to share patient data.",
|
|
24158
|
+
"descriptionKey": "ui.agent.workflowWebhookAction.workflows.saveStep",
|
|
24159
|
+
"uiActions": [],
|
|
24160
|
+
"apiActions": [
|
|
24161
|
+
"workflowAction.save"
|
|
24162
|
+
]
|
|
24163
|
+
}
|
|
24164
|
+
]
|
|
24066
24165
|
}
|
|
24067
24166
|
]
|
|
24068
24167
|
}
|
package/dist/agent-i18n/en.json
CHANGED
|
@@ -2153,6 +2153,15 @@
|
|
|
2153
2153
|
"editItem": "Edit the selected inventory item (e.g. min-stock threshold, supplier) from its row action.",
|
|
2154
2154
|
"importFatturapa": "Open the FatturaPA XML import dialog, upload supplier e-invoice XML files, review the classified line preview, deselect any unwanted lines, and confirm to create articles and stock movements."
|
|
2155
2155
|
}
|
|
2156
|
+
},
|
|
2157
|
+
"workflowWebhookAction": {
|
|
2158
|
+
"workflows": {
|
|
2159
|
+
"readStep": "Read the webhook step and what is wrong with it. Each field sits in a wrapper with `data-field` (`url`, `secret`, `legalBasisConfirmed`, `parameters`). A field with a problem has `aria-invalid=\"true\"` on its control and its message in a `data-slot=\"error\"` element inside the wrapper. Parameter rows carry `data-parameter-id`, an opaque row id. The `secret` wrapper is write-only for agents: read whether it has a problem, never its value, and never repeat a secret.",
|
|
2160
|
+
"generateSecret": "Generate a random signing secret into the password field (`data-action=\"generate-secret\"`; again to replace it) and copy it to the clipboard (`data-action=\"copy-secret\"`, which shows `data-copied=\"true\"` once done) so the person can paste it into the receiving app. The secret never appears in the page markup. Nothing is saved until the host form is submitted.",
|
|
2161
|
+
"editParameters": "Open the Advanced section (`data-action=\"toggle-advanced\"`) and add, change or remove extra parameters, each a name and a value. Most receiving apps, Link included, need none. A value may contain patient-detail codes from the insert menu; the server replaces them when it sends.",
|
|
2162
|
+
"readMessageShape": "Open \"What Alfadocs sends\" (`data-action=\"toggle-reference\"`) to read what every message carries: an example body and example headers, each in a code block with its own copy button, then each field and header with its meaning. `data-action=\"copy-field\"` copies one field name and shows `data-copied=\"true\"` once done. The example values are invented; the shape is the platform's.",
|
|
2163
|
+
"saveStep": "Save through the host's own form and button. The fields stop the submit while the address, the secret, the consent box or a parameter name has a problem, and move focus to the first one. The person ticks the consent box themselves: it confirms the practice has a legal basis to share patient data."
|
|
2164
|
+
}
|
|
2156
2165
|
}
|
|
2157
2166
|
}
|
|
2158
2167
|
}
|
|
@@ -34,6 +34,12 @@ export interface CodeBlockProps extends Omit<HTMLAttributes<HTMLDivElement>, 'ch
|
|
|
34
34
|
language?: string;
|
|
35
35
|
/** Render the Copy affordance. Default `true`. */
|
|
36
36
|
showCopy?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* The copy button's accessible name, translated. Default "Copy code".
|
|
39
|
+
* Pass one per block when a page shows several, so each says what it
|
|
40
|
+
* copies.
|
|
41
|
+
*/
|
|
42
|
+
copyLabel?: string;
|
|
37
43
|
}
|
|
38
44
|
export declare const CodeBlock: import("react").ForwardRefExoticComponent<CodeBlockProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
39
45
|
//# sourceMappingURL=code-block.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-block.d.ts","sourceRoot":"","sources":["../../../src/components/_shared/code-block.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAqC,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAU/E,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE,CAsBhE;AAcD,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,cAAc,CAAC,cAAc,CAAC,EAC9B,UAAU,CACX;IACC,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"code-block.d.ts","sourceRoot":"","sources":["../../../src/components/_shared/code-block.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAqC,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAU/E,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE,CAsBhE;AAcD,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,cAAc,CAAC,cAAc,CAAC,EAC9B,UAAU,CACX;IACC,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,2GA0FrB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as e, a as n, p, u as s } from "../../_chunks/use-appointment-details-read-
|
|
1
|
+
import { A as e, a as n, p, u as s } from "../../_chunks/use-appointment-details-read-1gjZuup4.js";
|
|
2
2
|
export {
|
|
3
3
|
e as AppointmentDetailsPanel,
|
|
4
4
|
n as appointmentDetailsPanelAgent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"description-list.d.ts","sourceRoot":"","sources":["../../../src/components/description-list/description-list.tsx"],"names":[],"mappings":"AAuCA,KAAK,gBAAgB,GAAG,MAAM,GAAG,OAAO,CAAC;AACzC,MAAM,MAAM,yBAAyB,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"description-list.d.ts","sourceRoot":"","sources":["../../../src/components/description-list/description-list.tsx"],"names":[],"mappings":"AAuCA,KAAK,gBAAgB,GAAG,MAAM,GAAG,OAAO,CAAC;AACzC,MAAM,MAAM,yBAAyB,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AA8OzE,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC;IAClF,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,YAAY,CAAC;IAC7C,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAC1C;;;;;;;;;;;;;;;;;;OAkBG;IACH,UAAU,CAAC,EAAE,yBAAyB,CAAC;CACxC;AAED,MAAM,WAAW,uBAAwB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACnF,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;AAEzE,MAAM,WAAW,0BAA2B,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACnF,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAqQD,eAAO,MAAM,eAAe;;;;CAI1B,CAAC"}
|
|
@@ -235,6 +235,7 @@ export * from '../patterns/payment-automation-upsell';
|
|
|
235
235
|
export * from '../patterns/registration-form';
|
|
236
236
|
export * from '../patterns/signature-request';
|
|
237
237
|
export * from '../patterns/signed-out-frame';
|
|
238
|
+
export * from '../patterns/workflow-webhook-action';
|
|
238
239
|
export * from './dependent-selector';
|
|
239
240
|
export * from './document-preview';
|
|
240
241
|
export * from './document-scanner';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,+BAA+B,EAC/B,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,wBAAwB,EACxB,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,SAAS,EACT,eAAe,EACf,4BAA4B,EAC5B,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAGlB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAO/C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAM1E,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,cAAc,wBAAwB,CAAC;AAEvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AAEnC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AAMjC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,mBAAmB,GACzB,MAAM,yBAAyB,CAAC;AAGjC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AAIvB,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAO5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AAGvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AAGnC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAG3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,SAAS,CAAC;AAExB,cAAc,WAAW,CAAC;AAG1B,cAAc,mBAAmB,CAAC;AAIlC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAMhC,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAE5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAO3B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AAGpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as S, a as r, b as A, c as e, d as I, e as _, C as t, f as E, g as o, D as M, h as i, E as P, L as N, O as R, P as m, i as D, j as n, k as f, l, R as X, S as C, m as d, n as p, o as T, p as c, q as L, r as O, s as Y, t as g, u as x, v as B, w as u, x as w, y, z as H, B as b, F as h } from "../../_chunks/optical-prescription-
|
|
1
|
+
import { A as S, a as r, b as A, c as e, d as I, e as _, C as t, f as E, g as o, D as M, h as i, E as P, L as N, O as R, P as m, i as D, j as n, k as f, l, R as X, S as C, m as d, n as p, o as T, p as c, q as L, r as O, s as Y, t as g, u as x, v as B, w as u, x as w, y, z as H, B as b, F as h } from "../../_chunks/optical-prescription-D5c7FBlT.js";
|
|
2
2
|
export {
|
|
3
3
|
S as ADD_MAX,
|
|
4
4
|
r as ADD_MIN,
|
|
@@ -5633,5 +5633,60 @@ export declare const arUi: {
|
|
|
5633
5633
|
readonly registerDoctor: "التسجيل كطبيب";
|
|
5634
5634
|
readonly registerPatient: "التسجيل كمريض";
|
|
5635
5635
|
};
|
|
5636
|
+
readonly workflowWebhookAction: {
|
|
5637
|
+
readonly intro: "في كل مرة يصل فيها مريض إلى هذه الخطوة، يرسل Alfadocs معرّف المريض إلى العنوان أدناه. تستخدمه تطبيقات مثل Link للعثور على المريض.";
|
|
5638
|
+
readonly url: "عنوان الويب (URL)";
|
|
5639
|
+
readonly urlDescription: "انسخه من التطبيق الذي تربطه. يبدأ بـ https://.";
|
|
5640
|
+
readonly urlRequired: "أدخل عنوان الويب.";
|
|
5641
|
+
readonly urlInvalid: "أدخل عنوان ويب كاملاً، مثل https://example.com/webhook.";
|
|
5642
|
+
readonly urlHttps: "يجب أن يبدأ العنوان بـ https://.";
|
|
5643
|
+
readonly urlCredentials: "احذف اسم المستخدم وكلمة المرور من العنوان.";
|
|
5644
|
+
readonly secret: "سر التوقيع";
|
|
5645
|
+
readonly secretDescription: "يستخدمه التطبيق للتحقق من أن كل رسالة صادرة من Alfadocs. الصق السر الذي يعطيك إياه التطبيق، أو أنشئ سراً جديداً.";
|
|
5646
|
+
readonly secretSavedDescription: "هناك سر محفوظ بالفعل. اترك هذا الحقل فارغاً للإبقاء عليه.";
|
|
5647
|
+
readonly secretRequired: "أدخل سر التوقيع أو أنشئه.";
|
|
5648
|
+
readonly generate: "إنشاء سر";
|
|
5649
|
+
readonly generatedNotice: "انسخ هذا السر إلى التطبيق الآن. بعد الحفظ، يُبقيه Alfadocs مخفياً.";
|
|
5650
|
+
readonly secretGenerated: "تم إنشاء سر جديد. انسخه إلى التطبيق.";
|
|
5651
|
+
readonly legalBasis: "أؤكد أن العيادة لديها أساس قانوني لمشاركة بيانات المرضى مع الجهة المستلمة على هذا العنوان.";
|
|
5652
|
+
readonly legalBasisRequired: "حدّد هذا المربع لحفظ الخطوة.";
|
|
5653
|
+
readonly advanced: "متقدم";
|
|
5654
|
+
readonly advancedDescription: "معلمات إضافية تُرسل مع كل رسالة. معظم التطبيقات، ومنها Link، لا تحتاج إلى أي منها.";
|
|
5655
|
+
readonly parameterCount: "المعلمات: {{total}}";
|
|
5656
|
+
readonly parametersLegend: "معلمات إضافية";
|
|
5657
|
+
readonly parameterName: "الاسم";
|
|
5658
|
+
readonly parameterValue: "القيمة";
|
|
5659
|
+
readonly parameterNameOf: "الاسم في المعلمة {{number}}";
|
|
5660
|
+
readonly parameterValueOf: "القيمة في المعلمة {{number}}";
|
|
5661
|
+
readonly addParameter: "إضافة معلمة";
|
|
5662
|
+
readonly removeParameter: "إزالة المعلمة {{number}}";
|
|
5663
|
+
readonly insertDetail: "إدراج بيانات المريض";
|
|
5664
|
+
readonly placeholderInserted: "تم الإدراج: {{detail}}";
|
|
5665
|
+
readonly parameterNameRequired: "أدخل اسماً لهذه القيمة.";
|
|
5666
|
+
readonly parameterNameDuplicate: "هذا الاسم مستخدم بالفعل. استخدم كل اسم مرة واحدة.";
|
|
5667
|
+
readonly sentHeading: "ما يرسله Alfadocs";
|
|
5668
|
+
readonly sentDescription: "تحمل كل رسالة هذه الحقول. يتضمن المثال معلماتك الإضافية.";
|
|
5669
|
+
readonly sent: {
|
|
5670
|
+
readonly patientId: "معرّف المريض. يستخدمه Link للعثور على المريض.";
|
|
5671
|
+
readonly practiceId: "معرّف العيادة.";
|
|
5672
|
+
readonly workflowId: "معرّف سير العمل.";
|
|
5673
|
+
readonly workflowActionId: "معرّف هذه الخطوة.";
|
|
5674
|
+
readonly workflowEnrollmentId: "معرّف مسار هذا المريض عبر سير العمل.";
|
|
5675
|
+
readonly sentAt: "وقت إرسال الرسالة.";
|
|
5676
|
+
readonly idempotencyKey: "يبقى كما هو في كل إعادة محاولة، ليتمكن التطبيق من تجاهل التكرارات.";
|
|
5677
|
+
readonly parameters: "المعلمات الإضافية أعلاه، إن وجدت.";
|
|
5678
|
+
};
|
|
5679
|
+
readonly headersHeading: "كيف يتحقق التطبيق من السر";
|
|
5680
|
+
readonly headersDescription: "تحمل كل رسالة هذه الترويسات. يحسب التطبيق التوقيع من جديد باستخدام السر ولا يقبل الرسالة إلا إذا تطابقا.";
|
|
5681
|
+
readonly headers: {
|
|
5682
|
+
readonly signature: "sha256= متبوعاً بقيمة HMAC-SHA256 للطابع الزمني ونقطة ونص الرسالة، تُحسب باستخدام السر.";
|
|
5683
|
+
readonly timestamp: "وقت توقيع الرسالة، بالمللي ثانية.";
|
|
5684
|
+
readonly idempotency: "مطابقة لقيمة idempotencyKey.";
|
|
5685
|
+
};
|
|
5686
|
+
readonly copySecret: "نسخ السر";
|
|
5687
|
+
readonly bodyHeading: "نص الرسالة";
|
|
5688
|
+
readonly copyBody: "نسخ مثال نص الرسالة";
|
|
5689
|
+
readonly copyHeaders: "نسخ مثال الترويسات";
|
|
5690
|
+
};
|
|
5636
5691
|
};
|
|
5637
5692
|
//# sourceMappingURL=ar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ar.d.ts","sourceRoot":"","sources":["../../../src/i18n/locales/ar.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"ar.d.ts","sourceRoot":"","sources":["../../../src/i18n/locales/ar.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0tLP,CAAC"}
|