@fluid-app/widget-runtime 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +36 -0
  2. package/dist/index.cjs +3 -2
  3. package/dist/index.d.cts +3 -2
  4. package/dist/index.d.mts +3 -2
  5. package/dist/index.mjs +3 -3
  6. package/dist/{remote-dom-renderer-CKvnUH8G.d.mts → remote-dom-renderer-BGIZ0FRi.d.mts} +35 -1
  7. package/dist/remote-dom-renderer-BGIZ0FRi.d.mts.map +1 -0
  8. package/dist/{remote-dom-renderer-f7OWlvvv.cjs → remote-dom-renderer-BlZKfMAA.cjs} +340 -172
  9. package/dist/remote-dom-renderer-BlZKfMAA.cjs.map +1 -0
  10. package/dist/{remote-dom-renderer-CeYSItkU.d.cts → remote-dom-renderer-BoB9jd3B.d.cts} +35 -1
  11. package/dist/remote-dom-renderer-BoB9jd3B.d.cts.map +1 -0
  12. package/dist/{remote-dom-renderer-CpdKWANy.mjs → remote-dom-renderer-Dn3pfVsl.mjs} +340 -172
  13. package/dist/remote-dom-renderer-Dn3pfVsl.mjs.map +1 -0
  14. package/dist/remote-dom-ui-contract-B140dMly.d.mts +632 -0
  15. package/dist/remote-dom-ui-contract-B140dMly.d.mts.map +1 -0
  16. package/dist/remote-dom-ui-contract-BLOyWbT2.d.cts +632 -0
  17. package/dist/remote-dom-ui-contract-BLOyWbT2.d.cts.map +1 -0
  18. package/dist/remote-dom-values-B5UZPDRy.cjs +849 -0
  19. package/dist/remote-dom-values-B5UZPDRy.cjs.map +1 -0
  20. package/dist/remote-dom-values-D4AgBNWr.d.cts.map +1 -1
  21. package/dist/remote-dom-values-EwoLXnSn.d.mts.map +1 -1
  22. package/dist/remote-dom-values-wEbrw5iW.mjs +790 -0
  23. package/dist/remote-dom-values-wEbrw5iW.mjs.map +1 -0
  24. package/dist/remote-dom.cjs +2 -2
  25. package/dist/remote-dom.d.cts +1 -1
  26. package/dist/remote-dom.d.mts +1 -1
  27. package/dist/remote-dom.mjs +2 -2
  28. package/dist/{worker-react-renderer-BKzig_Vy.mjs → worker-react-renderer-BV6ExKCS.mjs} +17 -40
  29. package/dist/worker-react-renderer-BV6ExKCS.mjs.map +1 -0
  30. package/dist/{worker-react-renderer-BvHZ2o0B.cjs → worker-react-renderer-CR-TvErh.cjs} +18 -41
  31. package/dist/worker-react-renderer-CR-TvErh.cjs.map +1 -0
  32. package/dist/worker.cjs +18 -3
  33. package/dist/worker.cjs.map +1 -1
  34. package/dist/worker.d.cts +17 -2
  35. package/dist/worker.d.cts.map +1 -1
  36. package/dist/worker.d.mts +17 -1
  37. package/dist/worker.d.mts.map +1 -1
  38. package/dist/worker.mjs +17 -3
  39. package/dist/worker.mjs.map +1 -1
  40. package/package.json +1 -1
  41. package/dist/remote-dom-renderer-CKvnUH8G.d.mts.map +0 -1
  42. package/dist/remote-dom-renderer-CeYSItkU.d.cts.map +0 -1
  43. package/dist/remote-dom-renderer-CpdKWANy.mjs.map +0 -1
  44. package/dist/remote-dom-renderer-f7OWlvvv.cjs.map +0 -1
  45. package/dist/remote-dom-values-BSAxrOE7.mjs +0 -238
  46. package/dist/remote-dom-values-BSAxrOE7.mjs.map +0 -1
  47. package/dist/remote-dom-values-DbgIedSg.cjs +0 -297
  48. package/dist/remote-dom-values-DbgIedSg.cjs.map +0 -1
  49. package/dist/worker-react-renderer-BKzig_Vy.mjs.map +0 -1
  50. package/dist/worker-react-renderer-BvHZ2o0B.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-dom-values-B5UZPDRy.cjs","names":[],"sources":["../src/remote-dom-ui-contract.ts","../src/remote-dom-values.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\n\nexport const REMOTE_DOM_UI_CONTRACT_VERSION = \"2\";\nexport const REMOTE_DOM_LEGACY_UI_CONTRACT_VERSION = \"1\";\nexport const REMOTE_DOM_SUPPORTED_UI_CONTRACT_VERSIONS = [\n REMOTE_DOM_LEGACY_UI_CONTRACT_VERSION,\n REMOTE_DOM_UI_CONTRACT_VERSION,\n] as const;\n\nexport type RemoteDomUiValueCodec =\n | \"boolean\"\n | \"finite-number-array\"\n | \"finite-number\"\n | \"navigation-url\"\n | \"option-array\"\n | \"string\"\n | \"string-array\"\n | \"string-or-string-array\"\n | \"url\";\n\nexport interface RemoteDomUiEventDefinition {\n readonly propName: string;\n readonly eventName: string;\n readonly payload: RemoteDomUiValueCodec | \"void\";\n}\n\nexport interface RemoteDomUiComponentDefinition {\n readonly exportName: string;\n readonly tagName: `fluid-ui-${string}` | \"fluid-spacer-widget\";\n readonly properties: Readonly<Record<string, RemoteDomUiValueCodec>>;\n readonly events: readonly RemoteDomUiEventDefinition[];\n readonly contractVersion: \"1\" | \"2\";\n}\n\ntype RemoteDomUiCodecValue<Codec extends RemoteDomUiValueCodec | \"void\"> =\n Codec extends \"boolean\"\n ? boolean\n : Codec extends \"finite-number-array\"\n ? readonly number[]\n : Codec extends \"finite-number\"\n ? number\n : Codec extends \"option-array\"\n ? readonly RemoteDomUiOption[]\n : Codec extends \"string\"\n ? string\n : Codec extends \"navigation-url\" | \"url\"\n ? string\n : Codec extends \"string-array\"\n ? readonly string[]\n : Codec extends \"string-or-string-array\"\n ? string | readonly string[]\n : Codec extends \"void\"\n ? void\n : never;\n\n/** Serializable label and value pair used by remote choice components. */\nexport interface RemoteDomUiOption {\n readonly label: string;\n readonly value: string;\n}\n\nconst noProperties = {} as const;\nconst noEvents = [] as const;\n\nconst commonProperties = {\n \"aria-label\": \"string\",\n disabled: \"boolean\",\n id: \"string\",\n} as const satisfies Readonly<Record<string, RemoteDomUiValueCodec>>;\n\nconst disclosureProperties = {\n defaultOpen: \"boolean\",\n open: \"boolean\",\n} as const satisfies Readonly<Record<string, RemoteDomUiValueCodec>>;\n\nconst disclosureEvents = [\n {\n propName: \"onOpenChange\",\n eventName: \"open-change\",\n payload: \"boolean\",\n },\n] as const satisfies readonly RemoteDomUiEventDefinition[];\n\nconst valueProperties = {\n defaultValue: \"string\",\n value: \"string\",\n} as const satisfies Readonly<Record<string, RemoteDomUiValueCodec>>;\n\nconst valueEvents = [\n {\n propName: \"onValueChange\",\n eventName: \"value-change\",\n payload: \"string\",\n },\n] as const satisfies readonly RemoteDomUiEventDefinition[];\n\nconst singleOrMultipleValueEvents = [\n {\n propName: \"onValueChange\",\n eventName: \"value-change\",\n payload: \"string-or-string-array\",\n },\n] as const satisfies readonly RemoteDomUiEventDefinition[];\n\ntype RemoteDomUiLiteralComponentDefinition<\n Name extends string,\n Properties extends Readonly<Record<string, RemoteDomUiValueCodec>>,\n Events extends readonly RemoteDomUiEventDefinition[],\n> = {\n readonly exportName: Name;\n readonly tagName: `fluid-ui-${string}`;\n readonly properties: Properties;\n readonly events: Events;\n readonly contractVersion: \"2\";\n};\n\nfunction component<const Name extends string>(\n exportName: Name,\n): RemoteDomUiLiteralComponentDefinition<\n Name,\n typeof noProperties,\n typeof noEvents\n>;\nfunction component<\n const Name extends string,\n const Properties extends Readonly<Record<string, RemoteDomUiValueCodec>>,\n>(\n exportName: Name,\n properties: Properties,\n): RemoteDomUiLiteralComponentDefinition<Name, Properties, typeof noEvents>;\nfunction component<\n const Name extends string,\n const Properties extends Readonly<Record<string, RemoteDomUiValueCodec>>,\n const Events extends readonly RemoteDomUiEventDefinition[],\n>(\n exportName: Name,\n properties: Properties,\n events: Events,\n): RemoteDomUiLiteralComponentDefinition<Name, Properties, Events>;\nfunction component(\n exportName: string,\n properties: Readonly<Record<string, RemoteDomUiValueCodec>> = noProperties,\n events: readonly RemoteDomUiEventDefinition[] = noEvents,\n): RemoteDomUiComponentDefinition {\n return {\n exportName,\n tagName: `fluid-ui-${exportName\n .replace(/([a-z0-9])([A-Z])/g, \"$1-$2\")\n .toLowerCase()}`,\n properties,\n events,\n contractVersion: \"2\",\n };\n}\n\n/**\n * Reviewed positive allowlist for host-rendered Fluid UI in Remote DOM widgets.\n * This is runtime security policy; it must never be inferred from React props.\n */\nexport const REMOTE_DOM_UI_COMPONENTS = [\n component(\n \"Accordion\",\n {\n ...commonProperties,\n collapsible: \"boolean\",\n defaultValue: \"string-or-string-array\",\n dir: \"string\",\n orientation: \"string\",\n type: \"string\",\n value: \"string-or-string-array\",\n },\n singleOrMultipleValueEvents,\n ),\n component(\"AccordionItem\", { ...commonProperties, value: \"string\" }),\n component(\"AccordionTrigger\", commonProperties),\n component(\"AccordionContent\", noProperties),\n component(\"Alert\", { ...commonProperties, variant: \"string\" }),\n component(\"AlertTitle\"),\n component(\"AlertDescription\"),\n component(\"AlertDialog\", disclosureProperties, disclosureEvents),\n component(\"AlertDialogTrigger\", commonProperties),\n component(\"AlertDialogContent\"),\n component(\"AlertDialogHeader\"),\n component(\"AlertDialogFooter\"),\n component(\"AlertDialogTitle\"),\n component(\"AlertDialogDescription\"),\n component(\"AlertDialogMedia\"),\n component(\"AlertDialogAction\", commonProperties),\n component(\"AlertDialogCancel\", commonProperties),\n component(\"Avatar\", { size: \"string\" }),\n component(\"AvatarImage\", { alt: \"string\", src: \"url\" }),\n component(\"AvatarFallback\", { delayMs: \"finite-number\" }),\n component(\"AvatarBadge\"),\n component(\"AvatarGroup\"),\n component(\"AvatarGroupCount\"),\n component(\"Badge\", { variant: \"string\" }),\n component(\"Breadcrumb\"),\n component(\"BreadcrumbList\"),\n component(\"BreadcrumbItem\"),\n component(\"BreadcrumbLink\", { href: \"navigation-url\" }),\n component(\"BreadcrumbPage\"),\n component(\"BreadcrumbSeparator\"),\n component(\"BreadcrumbEllipsis\"),\n component(\n \"Button\",\n {\n ...commonProperties,\n name: \"string\",\n size: \"string\",\n type: \"string\",\n value: \"string\",\n variant: \"string\",\n },\n [{ propName: \"onPress\", eventName: \"press\", payload: \"void\" }],\n ),\n component(\n \"Calendar\",\n {\n defaultMonth: \"string\",\n disabledDates: \"string-array\",\n fromDate: \"string\",\n month: \"string\",\n selected: \"string\",\n showOutsideDays: \"boolean\",\n toDate: \"string\",\n },\n [\n {\n propName: \"onMonthChange\",\n eventName: \"month-change\",\n payload: \"string\",\n },\n {\n propName: \"onSelectedChange\",\n eventName: \"selected-change\",\n payload: \"string\",\n },\n ],\n ),\n component(\n \"Checkbox\",\n {\n ...commonProperties,\n checked: \"boolean\",\n defaultChecked: \"boolean\",\n name: \"string\",\n required: \"boolean\",\n value: \"string\",\n },\n [\n {\n propName: \"onCheckedChange\",\n eventName: \"checked-change\",\n payload: \"boolean\",\n },\n ],\n ),\n component(\"Card\"),\n component(\"CardHeader\"),\n component(\"CardFooter\"),\n component(\"CardTitle\"),\n component(\"CardAction\"),\n component(\"CardDescription\"),\n component(\"CardContent\"),\n component(\"Collapsible\", disclosureProperties, disclosureEvents),\n component(\"CollapsibleTrigger\", commonProperties),\n component(\"CollapsibleContent\"),\n component(\n \"Command\",\n { loop: \"boolean\", shouldFilter: \"boolean\", value: \"string\" },\n valueEvents,\n ),\n component(\n \"CommandInput\",\n {\n ...commonProperties,\n placeholder: \"string\",\n value: \"string\",\n },\n valueEvents,\n ),\n component(\"CommandList\"),\n component(\"CommandEmpty\"),\n component(\"CommandGroup\", { heading: \"string\", value: \"string\" }),\n component(\n \"CommandItem\",\n { ...commonProperties, keywords: \"string-array\", value: \"string\" },\n [{ propName: \"onSelect\", eventName: \"select\", payload: \"string\" }],\n ),\n component(\"CommandShortcut\"),\n component(\"CommandSeparator\", { alwaysRender: \"boolean\" }),\n component(\n \"DatePicker\",\n {\n ...commonProperties,\n placeholder: \"string\",\n value: \"string\",\n },\n [{ propName: \"onChange\", eventName: \"change\", payload: \"string\" }],\n ),\n component(\"Dialog\", disclosureProperties, disclosureEvents),\n component(\"DialogTrigger\", commonProperties),\n component(\"DialogContent\", {\n ...commonProperties,\n showCloseButton: \"boolean\",\n }),\n component(\"DialogHeader\"),\n component(\"DialogFooter\"),\n component(\"DialogTitle\"),\n component(\"DialogDescription\"),\n component(\"DialogClose\", commonProperties),\n component(\"DropdownMenu\", disclosureProperties, disclosureEvents),\n component(\"DropdownMenuTrigger\", commonProperties),\n component(\"DropdownMenuContent\", {\n align: \"string\",\n alignOffset: \"finite-number\",\n side: \"string\",\n sideOffset: \"finite-number\",\n }),\n component(\"DropdownMenuGroup\"),\n component(\"DropdownMenuLabel\", { inset: \"boolean\" }),\n component(\"DropdownMenuItem\", { ...commonProperties, inset: \"boolean\" }, [\n { propName: \"onSelect\", eventName: \"select\", payload: \"void\" },\n ]),\n component(\n \"DropdownMenuCheckboxItem\",\n { ...commonProperties, checked: \"boolean\" },\n [\n {\n propName: \"onCheckedChange\",\n eventName: \"checked-change\",\n payload: \"boolean\",\n },\n ],\n ),\n component(\"DropdownMenuRadioGroup\", valueProperties, valueEvents),\n component(\"DropdownMenuRadioItem\", { ...commonProperties, value: \"string\" }),\n component(\"DropdownMenuSeparator\"),\n component(\"DropdownMenuShortcut\"),\n component(\"DropdownMenuSub\", disclosureProperties, disclosureEvents),\n component(\"DropdownMenuSubTrigger\", {\n ...commonProperties,\n inset: \"boolean\",\n }),\n component(\"DropdownMenuSubContent\", {\n alignOffset: \"finite-number\",\n sideOffset: \"finite-number\",\n }),\n component(\n \"Input\",\n {\n ...commonProperties,\n autoComplete: \"string\",\n checked: \"boolean\",\n max: \"string\",\n maxLength: \"finite-number\",\n min: \"string\",\n minLength: \"finite-number\",\n name: \"string\",\n pattern: \"string\",\n placeholder: \"string\",\n readOnly: \"boolean\",\n required: \"boolean\",\n step: \"string\",\n type: \"string\",\n value: \"string\",\n },\n [\n { propName: \"onBlur\", eventName: \"blur\", payload: \"void\" },\n { propName: \"onFocus\", eventName: \"focus\", payload: \"void\" },\n {\n propName: \"onValueChange\",\n eventName: \"value-change\",\n payload: \"string\",\n },\n ],\n ),\n component(\"Label\", { htmlFor: \"string\" }),\n component(\"Pagination\"),\n component(\"PaginationContent\"),\n component(\"PaginationItem\"),\n component(\"PaginationLink\", {\n ...commonProperties,\n href: \"navigation-url\",\n isActive: \"boolean\",\n size: \"string\",\n }),\n component(\"PaginationPrevious\", { href: \"navigation-url\" }),\n component(\"PaginationNext\", { href: \"navigation-url\" }),\n component(\"PaginationEllipsis\"),\n component(\n \"Popover\",\n { ...disclosureProperties, modal: \"boolean\" },\n disclosureEvents,\n ),\n component(\"PopoverTrigger\", commonProperties),\n component(\"PopoverAnchor\"),\n component(\"PopoverContent\", {\n align: \"string\",\n alignOffset: \"finite-number\",\n side: \"string\",\n sideOffset: \"finite-number\",\n }),\n component(\"PopoverHeader\"),\n component(\"PopoverTitle\"),\n component(\"PopoverDescription\"),\n component(\"Progress\", { max: \"finite-number\", value: \"finite-number\" }),\n component(\n \"RadioGroup\",\n {\n ...commonProperties,\n ...valueProperties,\n orientation: \"string\",\n required: \"boolean\",\n },\n valueEvents,\n ),\n component(\"RadioGroupItem\", { ...commonProperties, value: \"string\" }),\n component(\"ScrollArea\", { dir: \"string\", type: \"string\" }),\n component(\"ScrollBar\", { orientation: \"string\" }),\n component(\n \"Select\",\n {\n ...commonProperties,\n ...valueProperties,\n name: \"string\",\n open: \"boolean\",\n required: \"boolean\",\n },\n [...valueEvents, ...disclosureEvents],\n ),\n component(\"SelectGroup\"),\n component(\"SelectValue\", { placeholder: \"string\" }),\n component(\"SelectTrigger\", { ...commonProperties, size: \"string\" }),\n component(\"SelectContent\", {\n align: \"string\",\n position: \"string\",\n side: \"string\",\n sideOffset: \"finite-number\",\n }),\n component(\"SelectLabel\"),\n component(\"SelectItem\", {\n ...commonProperties,\n textValue: \"string\",\n value: \"string\",\n }),\n component(\"SelectSeparator\"),\n component(\"SelectScrollUpButton\"),\n component(\"SelectScrollDownButton\"),\n component(\"Separator\", { decorative: \"boolean\", orientation: \"string\" }),\n component(\"Sheet\", disclosureProperties, disclosureEvents),\n component(\"SheetTrigger\", commonProperties),\n component(\"SheetContent\", { ...commonProperties, side: \"string\" }),\n component(\"SheetHeader\"),\n component(\"SheetFooter\"),\n component(\"SheetTitle\"),\n component(\"SheetDescription\"),\n component(\"SheetClose\", commonProperties),\n component(\"Skeleton\", { \"aria-label\": \"string\" }),\n component(\n \"Slider\",\n {\n ...commonProperties,\n defaultValue: \"finite-number-array\",\n inverted: \"boolean\",\n max: \"finite-number\",\n min: \"finite-number\",\n name: \"string\",\n orientation: \"string\",\n step: \"finite-number\",\n value: \"finite-number-array\",\n },\n [\n {\n propName: \"onValueChange\",\n eventName: \"value-change\",\n payload: \"finite-number-array\",\n },\n {\n propName: \"onValueCommit\",\n eventName: \"value-commit\",\n payload: \"finite-number-array\",\n },\n ],\n ),\n component(\"Spinner\", { \"aria-label\": \"string\" }),\n component(\"SpinnerWithText\", { text: \"string\", variant: \"string\" }),\n component(\n \"Switch\",\n {\n ...commonProperties,\n checked: \"boolean\",\n defaultChecked: \"boolean\",\n name: \"string\",\n required: \"boolean\",\n value: \"string\",\n },\n [\n {\n propName: \"onCheckedChange\",\n eventName: \"checked-change\",\n payload: \"boolean\",\n },\n ],\n ),\n component(\"Table\"),\n component(\"TableHeader\"),\n component(\"TableBody\"),\n component(\"TableFooter\"),\n component(\"TableRow\"),\n component(\"TableHead\"),\n component(\"TableCell\"),\n component(\"TableCaption\"),\n component(\n \"Tabs\",\n {\n ...commonProperties,\n ...valueProperties,\n activationMode: \"string\",\n orientation: \"string\",\n },\n valueEvents,\n ),\n component(\"TabsList\", { loop: \"boolean\" }),\n component(\"TabsTrigger\", { ...commonProperties, value: \"string\" }),\n component(\"TabsContent\", { value: \"string\" }),\n component(\n \"Textarea\",\n {\n ...commonProperties,\n autoComplete: \"string\",\n maxLength: \"finite-number\",\n minLength: \"finite-number\",\n name: \"string\",\n placeholder: \"string\",\n readOnly: \"boolean\",\n required: \"boolean\",\n rows: \"finite-number\",\n value: \"string\",\n },\n [\n { propName: \"onBlur\", eventName: \"blur\", payload: \"void\" },\n { propName: \"onFocus\", eventName: \"focus\", payload: \"void\" },\n {\n propName: \"onValueChange\",\n eventName: \"value-change\",\n payload: \"string\",\n },\n ],\n ),\n component(\n \"Toggle\",\n {\n ...commonProperties,\n defaultPressed: \"boolean\",\n pressed: \"boolean\",\n size: \"string\",\n variant: \"string\",\n },\n [\n {\n propName: \"onPressedChange\",\n eventName: \"pressed-change\",\n payload: \"boolean\",\n },\n ],\n ),\n component(\n \"ToggleGroup\",\n {\n ...commonProperties,\n defaultValue: \"string-or-string-array\",\n orientation: \"string\",\n rovingFocus: \"boolean\",\n spacing: \"finite-number\",\n type: \"string\",\n value: \"string-or-string-array\",\n },\n singleOrMultipleValueEvents,\n ),\n component(\"ToggleGroupItem\", { ...commonProperties, value: \"string\" }),\n component(\n \"Tooltip\",\n { defaultOpen: \"boolean\", delayDuration: \"finite-number\", open: \"boolean\" },\n disclosureEvents,\n ),\n component(\"TooltipTrigger\", commonProperties),\n component(\"TooltipContent\", {\n align: \"string\",\n side: \"string\",\n sideOffset: \"finite-number\",\n }),\n component(\n \"Combobox\",\n {\n ...commonProperties,\n emptyText: \"string\",\n options: \"option-array\",\n placeholder: \"string\",\n value: \"string\",\n zIndex: \"finite-number\",\n },\n valueEvents,\n ),\n component(\n \"InfiniteScrollSentinel\",\n {\n hasMore: \"boolean\",\n isLoading: \"boolean\",\n rootMargin: \"string\",\n },\n [{ propName: \"onLoadMore\", eventName: \"load-more\", payload: \"void\" }],\n ),\n component(\n \"PhoneInput\",\n {\n ...commonProperties,\n defaultCountry: \"string\",\n emptyText: \"string\",\n error: \"boolean\",\n searchPlaceholder: \"string\",\n value: \"string\",\n },\n [\n { propName: \"onBlur\", eventName: \"blur\", payload: \"void\" },\n { propName: \"onFocus\", eventName: \"focus\", payload: \"void\" },\n {\n propName: \"onValueChange\",\n eventName: \"value-change\",\n payload: \"string\",\n },\n ],\n ),\n {\n exportName: \"SearchSort\",\n tagName: \"fluid-ui-search-sort\",\n properties: {\n clearLabel: \"string\",\n placeholder: \"string\",\n searchValue: \"string\",\n sortLabel: \"string\",\n sortOptions: \"option-array\",\n sortValue: \"string\",\n },\n events: [\n {\n propName: \"onSearchChange\",\n eventName: \"search-change\",\n payload: \"string\",\n },\n { propName: \"onSortChange\", eventName: \"sort-change\", payload: \"string\" },\n ],\n contractVersion: \"1\",\n },\n {\n exportName: \"FluidSpacerWidget\",\n tagName: \"fluid-spacer-widget\",\n properties: {\n customHeight: \"string\",\n previewMode: \"boolean\",\n },\n events: noEvents,\n contractVersion: \"1\",\n },\n] as const satisfies readonly RemoteDomUiComponentDefinition[];\n\n/** Names of the Fluid UI components available to a Remote DOM widget. */\nexport type RemoteDomUiComponentName =\n (typeof REMOTE_DOM_UI_COMPONENTS)[number][\"exportName\"];\n\ntype RemoteDomUiDefinition<Name extends RemoteDomUiComponentName> = Extract<\n (typeof REMOTE_DOM_UI_COMPONENTS)[number],\n { readonly exportName: Name }\n>;\n\ntype RemoteDomUiPropertyProps<Name extends RemoteDomUiComponentName> = {\n readonly [Property in keyof RemoteDomUiDefinition<Name>[\"properties\"]]?: RemoteDomUiDefinition<Name>[\"properties\"][Property] extends RemoteDomUiValueCodec\n ? RemoteDomUiCodecValue<RemoteDomUiDefinition<Name>[\"properties\"][Property]>\n : never;\n};\n\ntype RemoteDomUiEventProps<Name extends RemoteDomUiComponentName> = {\n readonly [Event in RemoteDomUiDefinition<Name>[\"events\"][number] as Event[\"propName\"]]?: Event[\"payload\"] extends \"void\"\n ? () => void\n : (value: RemoteDomUiCodecValue<Event[\"payload\"]>) => void;\n};\n\ntype RemoteDomUiBaseComponentProps<Name extends RemoteDomUiComponentName> =\n RemoteDomUiPropertyProps<Name> &\n RemoteDomUiEventProps<Name> & {\n /** Content rendered inside the host-owned Fluid component. */\n readonly children?: ReactNode;\n };\n\ntype RemoteDomUiSearchSortProps = Omit<\n RemoteDomUiBaseComponentProps<\"SearchSort\">,\n | \"onSearchChange\"\n | \"onSortChange\"\n | \"searchValue\"\n | \"sortOptions\"\n | \"sortValue\"\n> &\n Required<\n Pick<\n RemoteDomUiBaseComponentProps<\"SearchSort\">,\n \"onSearchChange\" | \"searchValue\"\n >\n > &\n (\n | {\n readonly onSortChange?: never;\n readonly sortOptions?: never;\n readonly sortValue?: never;\n }\n | Required<\n Pick<\n RemoteDomUiBaseComponentProps<\"SearchSort\">,\n \"onSortChange\" | \"sortOptions\" | \"sortValue\"\n >\n >\n );\n\n/** JSON-safe props accepted by one reviewed worker Fluid UI component. */\nexport type RemoteDomUiComponentProps<Name extends RemoteDomUiComponentName> =\n Name extends \"Combobox\"\n ? RemoteDomUiBaseComponentProps<\"Combobox\"> &\n Required<\n Pick<\n RemoteDomUiBaseComponentProps<\"Combobox\">,\n \"onValueChange\" | \"options\" | \"value\"\n >\n >\n : Name extends \"SearchSort\"\n ? RemoteDomUiSearchSortProps\n : RemoteDomUiBaseComponentProps<Name>;\n\nexport const REMOTE_DOM_UI_EXCLUSIONS = {\n Chart: \"Recharts and render-function contracts are not serializable.\",\n Form: \"React Hook Form state, context, and render props stay worker-local.\",\n IconButton: \"Its required Lucide component prop is not serializable.\",\n IconToggle: \"Its required Lucide component prop is not serializable.\",\n MobileActionSheet:\n \"Viewport-level mobile presentation cannot be contained with behavioral parity.\",\n MobileBottomSheet:\n \"Viewport-level mobile presentation cannot be contained with behavioral parity.\",\n PortalContainerProvider:\n \"The widget host owns its contained portal destination.\",\n ResponsiveDialog:\n \"Its mobile presentation depends on an excluded viewport-level sheet.\",\n Toaster:\n \"Toast presentation is a global side effect outside widget ownership.\",\n fluidToast:\n \"Toast presentation is a global side effect outside widget ownership.\",\n useZodForm: \"React Hook Form state and schema integration stay worker-local.\",\n} as const;\n\nexport const REMOTE_DOM_UI_COMPONENT_BY_TAG: ReadonlyMap<\n string,\n RemoteDomUiComponentDefinition\n> = new Map(\n REMOTE_DOM_UI_COMPONENTS.map((definition) => [\n definition.tagName,\n definition,\n ]),\n);\n\nexport function getRemoteDomUiComponent(\n tagName: string,\n): RemoteDomUiComponentDefinition | undefined {\n return REMOTE_DOM_UI_COMPONENT_BY_TAG.get(tagName);\n}\n","import type {\n RemoteMutationRecord,\n RemoteNodeSerialization,\n} from \"@remote-dom/core\";\nimport {\n REMOTE_DOM_UI_COMPONENTS,\n type RemoteDomUiEventDefinition,\n} from \"./remote-dom-ui-contract\";\n\nexport const REMOTE_DOM_FULLSCREEN_CAPABILITY = \"fullscreen\";\nexport const FLUID_SEARCH_SORT_TAG_NAME = \"fluid-ui-search-sort\";\nexport const FLUID_SPACER_WIDGET_TAG_NAME = \"fluid-spacer-widget\";\n\n/** Canonical element allowlist shared by the worker registration and host sanitizer. */\nexport const REMOTE_DOM_ALLOWED_TAG_NAMES = [\n \"a\",\n \"abbr\",\n \"address\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"bdi\",\n \"bdo\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"caption\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"footer\",\n \"form\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"header\",\n \"hr\",\n \"i\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"main\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n ...REMOTE_DOM_UI_COMPONENTS.map(({ tagName }) => tagName),\n] as const;\n\n/** Canonical event allowlist shared by worker elements and host forwarding. */\nexport const SUPPORTED_REMOTE_DOM_EVENTS = [\n \"blur\",\n \"change\",\n \"click\",\n \"contextmenu\",\n \"dblclick\",\n \"focus\",\n \"input\",\n \"keydown\",\n \"keypress\",\n \"keyup\",\n \"mousedown\",\n \"mouseenter\",\n \"mouseleave\",\n \"mousemove\",\n \"mouseout\",\n \"mouseover\",\n \"mouseup\",\n \"pointercancel\",\n \"pointerdown\",\n \"pointerenter\",\n \"pointerleave\",\n \"pointermove\",\n \"pointerout\",\n \"pointerover\",\n \"pointerup\",\n \"submit\",\n] as const;\nexport const REMOTE_DOM_SEARCH_SORT_EVENTS = [\n \"search-change\",\n \"sort-change\",\n] as const;\nexport const REMOTE_DOM_UI_EVENTS = [\n ...new Set(\n REMOTE_DOM_UI_COMPONENTS.flatMap(({ events }) =>\n (events as readonly RemoteDomUiEventDefinition[]).map(\n ({ eventName }) => eventName,\n ),\n ),\n ),\n] as const;\n\nexport type RemoteDomRemoteNode = RemoteNodeSerialization;\nexport type RemoteDomRemoteMutationRecord = RemoteMutationRecord;\n\nexport type RemoteDomSerializableValue =\n | null\n | boolean\n | number\n | string\n | readonly RemoteDomSerializableValue[]\n | { readonly [key: string]: RemoteDomSerializableValue };\n\nconst REMOTE_DOM_UNSAFE_PROPERTY_KEYS = new Set([\n \"__proto__\",\n \"constructor\",\n \"prototype\",\n]);\nconst MAX_REMOTE_DOM_SERIALIZATION_DEPTH = 50;\n\nexport function isSafeRemoteDomPropertyKey(key: string): boolean {\n return !REMOTE_DOM_UNSAFE_PROPERTY_KEYS.has(key);\n}\n\n/** Converts an arbitrary value into a structured-clone-safe Remote DOM value. */\nexport function toRemoteDomSerializableValue(\n value: unknown,\n): RemoteDomSerializableValue | undefined {\n return serializeRemoteDomValue(value, new WeakSet<object>(), 0);\n}\n\nfunction serializeRemoteDomValue(\n value: unknown,\n ancestors: WeakSet<object>,\n depth: number,\n): RemoteDomSerializableValue | undefined {\n if (\n value === undefined ||\n typeof value === \"function\" ||\n typeof value === \"symbol\"\n ) {\n return undefined;\n }\n if (typeof value === \"bigint\") return value.toString();\n if (\n value === null ||\n typeof value === \"string\" ||\n typeof value === \"boolean\"\n ) {\n return value;\n }\n if (typeof value === \"number\") {\n return Number.isFinite(value) ? value : null;\n }\n if (typeof value !== \"object\") return null;\n if (depth > MAX_REMOTE_DOM_SERIALIZATION_DEPTH || ancestors.has(value)) {\n return null;\n }\n if (value instanceof Date) {\n return Number.isFinite(value.getTime()) ? value.toISOString() : null;\n }\n if (value instanceof Error) {\n return { name: value.name, message: value.message };\n }\n\n ancestors.add(value);\n try {\n if (Array.isArray(value)) {\n return value.map(\n (item) => serializeRemoteDomValue(item, ancestors, depth + 1) ?? null,\n );\n }\n\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== Object.prototype && prototype !== null) return null;\n\n const serialized: Record<string, RemoteDomSerializableValue> = {};\n for (const [key, item] of Object.entries(value)) {\n if (!isSafeRemoteDomPropertyKey(key)) continue;\n\n const serializedItem = serializeRemoteDomValue(\n item,\n ancestors,\n depth + 1,\n );\n if (serializedItem !== undefined) serialized[key] = serializedItem;\n }\n return serialized;\n } finally {\n ancestors.delete(value);\n }\n}\n\nexport function isRemoteDomSerializableValue(\n value: unknown,\n): value is RemoteDomSerializableValue {\n return isRemoteDomSerializableValueInternal(value, new WeakSet<object>(), 0);\n}\n\nfunction isRemoteDomSerializableValueInternal(\n value: unknown,\n seen: WeakSet<object>,\n depth: number,\n): value is RemoteDomSerializableValue {\n if (value === null) return true;\n\n switch (typeof value) {\n case \"boolean\":\n case \"string\":\n return true;\n case \"number\":\n return Number.isFinite(value);\n case \"object\":\n return isRemoteDomSerializableObject(value, seen, depth);\n default:\n return false;\n }\n}\n\nfunction isRemoteDomSerializableObject(\n value: object,\n ancestors: WeakSet<object>,\n depth: number,\n): value is\n | readonly RemoteDomSerializableValue[]\n | { readonly [key: string]: RemoteDomSerializableValue } {\n if (depth > 50 || ancestors.has(value)) return false;\n\n const prototype = Object.getPrototypeOf(value);\n if (\n !Array.isArray(value) &&\n prototype !== Object.prototype &&\n prototype !== null\n ) {\n return false;\n }\n\n ancestors.add(value);\n try {\n if (Array.isArray(value)) {\n return value.every((item) =>\n isRemoteDomSerializableValueInternal(item, ancestors, depth + 1),\n );\n }\n\n return Object.entries(value).every(\n ([key, item]) =>\n isSafeRemoteDomPropertyKey(key) &&\n isRemoteDomSerializableValueInternal(item, ancestors, depth + 1),\n );\n } finally {\n ancestors.delete(value);\n }\n}\n\nexport type RemoteDomNodeProperties = Readonly<\n Record<string, RemoteDomSerializableValue | undefined>\n>;\n\nexport interface RemoteDomNavigationIntent {\n readonly href: string;\n readonly url: string;\n readonly targetId?: string;\n readonly source: \"anchor\";\n readonly altKey: boolean;\n readonly ctrlKey: boolean;\n readonly metaKey: boolean;\n readonly shiftKey: boolean;\n readonly button: number;\n}\n\nexport const DEFAULT_REMOTE_DOM_MEDIA_ORIGINS = [\n \"https://assets.fluid.app\",\n \"https://cdn.fluid.app\",\n \"https://ik.imagekit.io\",\n \"https://media.fluid.app\",\n] as const;\n\nexport interface RemoteDomUrlOriginPolicy {\n readonly artifactOrigins: readonly string[];\n readonly artifactBaseUrl?: string;\n readonly mediaOrigins: readonly string[];\n readonly navigationOrigin?: string;\n}\n\nexport interface RemoteDomUrlOriginPolicyInput {\n readonly artifactUrls: readonly string[];\n readonly mediaOrigins?: readonly string[];\n readonly navigationOrigin?: string;\n}\n\nexport function createRemoteDomUrlOriginPolicy({\n artifactUrls,\n mediaOrigins = DEFAULT_REMOTE_DOM_MEDIA_ORIGINS,\n navigationOrigin,\n}: RemoteDomUrlOriginPolicyInput): RemoteDomUrlOriginPolicy {\n const artifactOriginSet = new Set<string>();\n let artifactBaseUrl: string | undefined;\n for (const artifactUrl of artifactUrls) {\n const normalizedUrl = normalizeRemoteDomHttpUrl(artifactUrl);\n if (!normalizedUrl) continue;\n artifactOriginSet.add(normalizedUrl.origin);\n artifactBaseUrl ??= normalizedUrl.href;\n }\n\n const mediaOriginSet = new Set<string>();\n for (const mediaOrigin of mediaOrigins) {\n const origin = normalizeRemoteDomHttpOrigin(mediaOrigin);\n if (origin) mediaOriginSet.add(origin);\n }\n\n const navigationHttpOrigin = navigationOrigin\n ? normalizeRemoteDomHttpOrigin(navigationOrigin)\n : undefined;\n\n return {\n artifactOrigins: Array.from(artifactOriginSet),\n ...(artifactBaseUrl ? { artifactBaseUrl } : {}),\n mediaOrigins: Array.from(mediaOriginSet),\n ...(navigationHttpOrigin === undefined\n ? {}\n : { navigationOrigin: navigationHttpOrigin }),\n };\n}\n\nfunction normalizeRemoteDomHttpOrigin(value: string): string | undefined {\n return normalizeRemoteDomHttpUrl(value)?.origin;\n}\n\nfunction normalizeRemoteDomHttpUrl(value: string): URL | undefined {\n try {\n const parsedUrl = new URL(value);\n return parsedUrl.protocol === \"http:\" || parsedUrl.protocol === \"https:\"\n ? parsedUrl\n : undefined;\n } catch {\n return undefined;\n }\n}\n\nexport interface RemoteDomProtocolError {\n readonly code: string;\n readonly message: string;\n readonly details?: RemoteDomSerializableValue;\n}\n"],"mappings":"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ClB;CACF;AA4FD,MAAa,iCAGT,IAAI,IACN,yBAAyB,KAAK,eAAe,CAC3C,WAAW,SACX,WACD,CAAC,CACH;AAED,SAAgB,wBACd,SAC4C;AAC5C,QAAO,+BAA+B,IAAI,QAAQ;;;;ACxvBpD,MAAa,mCAAmC;;AAKhD,MAAa,+BAA+B;CAC1C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG,yBAAyB,KAAK,EAAE,cAAc,QAAQ;CAC1D;;AAGD,MAAa,8BAA8B;CACzC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAKmC,CAClC,GAAG,IAAI,IACL,yBAAyB,SAAS,EAAE,aACjC,OAAiD,KAC/C,EAAE,gBAAgB,UACpB,CACF,CACF,CACF;AAaD,MAAM,kCAAkC,IAAI,IAAI;CAC9C;CACA;CACA;CACD,CAAC;AACF,MAAM,qCAAqC;AAE3C,SAAgB,2BAA2B,KAAsB;AAC/D,QAAO,CAAC,gCAAgC,IAAI,IAAI;;;AAIlD,SAAgB,6BACd,OACwC;AACxC,QAAO,wBAAwB,uBAAO,IAAI,SAAiB,EAAE,EAAE;;AAGjE,SAAS,wBACP,OACA,WACA,OACwC;AACxC,KACE,UAAU,KAAA,KACV,OAAO,UAAU,cACjB,OAAO,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"remote-dom-values-D4AgBNWr.d.cts","names":[],"sources":["../src/remote-dom-values.ts"],"mappings":";KA8IY,0BAAA,+CAKC,0BAAA;EAAA,UACG,GAAA,WAAc,0BAAA;AAAA;;iBAcd,4BAAA,CACd,KAAA,YACC,0BAAA;AAAA,iBAkEa,4BAAA,CACd,KAAA,YACC,KAAA,IAAS,0BAAA;AAAA,UAgEK,yBAAA;EAAA,SACN,IAAA;EAAA,SACA,GAAA;EAAA,SACA,QAAA;EAAA,SACA,MAAA;EAAA,SACA,MAAA;EAAA,SACA,OAAA;EAAA,SACA,OAAA;EAAA,SACA,QAAA;EAAA,SACA,MAAA;AAAA;AAAA,UAUM,wBAAA;EAAA,SACN,eAAA;EAAA,SACA,eAAA;EAAA,SACA,YAAA;EAAA,SACA,gBAAA;AAAA;AAAA,UAGM,6BAAA;EAAA,SACN,YAAA;EAAA,SACA,YAAA;EAAA,SACA,gBAAA;AAAA"}
1
+ {"version":3,"file":"remote-dom-values-D4AgBNWr.d.cts","names":[],"sources":["../src/remote-dom-values.ts"],"mappings":";KA0JY,0BAAA,+CAKC,0BAAA;EAAA,UACG,GAAA,WAAc,0BAAA;AAAA;;iBAcd,4BAAA,CACd,KAAA,YACC,0BAAA;AAAA,iBAkEa,4BAAA,CACd,KAAA,YACC,KAAA,IAAS,0BAAA;AAAA,UAgEK,yBAAA;EAAA,SACN,IAAA;EAAA,SACA,GAAA;EAAA,SACA,QAAA;EAAA,SACA,MAAA;EAAA,SACA,MAAA;EAAA,SACA,OAAA;EAAA,SACA,OAAA;EAAA,SACA,QAAA;EAAA,SACA,MAAA;AAAA;AAAA,UAUM,wBAAA;EAAA,SACN,eAAA;EAAA,SACA,eAAA;EAAA,SACA,YAAA;EAAA,SACA,gBAAA;AAAA;AAAA,UAGM,6BAAA;EAAA,SACN,YAAA;EAAA,SACA,YAAA;EAAA,SACA,gBAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"remote-dom-values-EwoLXnSn.d.mts","names":[],"sources":["../src/remote-dom-values.ts"],"mappings":";KA8IY,0BAAA,+CAKC,0BAAA;EAAA,UACG,GAAA,WAAc,0BAAA;AAAA;;iBAcd,4BAAA,CACd,KAAA,YACC,0BAAA;AAAA,iBAkEa,4BAAA,CACd,KAAA,YACC,KAAA,IAAS,0BAAA;AAAA,UAgEK,yBAAA;EAAA,SACN,IAAA;EAAA,SACA,GAAA;EAAA,SACA,QAAA;EAAA,SACA,MAAA;EAAA,SACA,MAAA;EAAA,SACA,OAAA;EAAA,SACA,OAAA;EAAA,SACA,QAAA;EAAA,SACA,MAAA;AAAA;AAAA,UAUM,wBAAA;EAAA,SACN,eAAA;EAAA,SACA,eAAA;EAAA,SACA,YAAA;EAAA,SACA,gBAAA;AAAA;AAAA,UAGM,6BAAA;EAAA,SACN,YAAA;EAAA,SACA,YAAA;EAAA,SACA,gBAAA;AAAA"}
1
+ {"version":3,"file":"remote-dom-values-EwoLXnSn.d.mts","names":[],"sources":["../src/remote-dom-values.ts"],"mappings":";KA0JY,0BAAA,+CAKC,0BAAA;EAAA,UACG,GAAA,WAAc,0BAAA;AAAA;;iBAcd,4BAAA,CACd,KAAA,YACC,0BAAA;AAAA,iBAkEa,4BAAA,CACd,KAAA,YACC,KAAA,IAAS,0BAAA;AAAA,UAgEK,yBAAA;EAAA,SACN,IAAA;EAAA,SACA,GAAA;EAAA,SACA,QAAA;EAAA,SACA,MAAA;EAAA,SACA,MAAA;EAAA,SACA,OAAA;EAAA,SACA,OAAA;EAAA,SACA,QAAA;EAAA,SACA,MAAA;AAAA;AAAA,UAUM,wBAAA;EAAA,SACN,eAAA;EAAA,SACA,eAAA;EAAA,SACA,YAAA;EAAA,SACA,gBAAA;AAAA;AAAA,UAGM,6BAAA;EAAA,SACN,YAAA;EAAA,SACA,YAAA;EAAA,SACA,gBAAA;AAAA"}