@pipe0/react 0.1.7 → 0.2.1

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 (162) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/components/compound/effect-catalog/card.d.mts +22 -0
  3. package/dist/components/compound/effect-catalog/card.d.mts.map +1 -0
  4. package/dist/components/compound/effect-catalog/card.mjs +82 -0
  5. package/dist/components/compound/effect-catalog/card.mjs.map +1 -0
  6. package/dist/components/compound/effect-catalog/category-filter.d.mts +27 -0
  7. package/dist/components/compound/effect-catalog/category-filter.d.mts.map +1 -0
  8. package/dist/components/compound/effect-catalog/category-filter.mjs +61 -0
  9. package/dist/components/compound/effect-catalog/category-filter.mjs.map +1 -0
  10. package/dist/components/compound/effect-catalog/empty.d.mts +17 -0
  11. package/dist/components/compound/effect-catalog/empty.d.mts.map +1 -0
  12. package/dist/components/compound/effect-catalog/empty.mjs +29 -0
  13. package/dist/components/compound/effect-catalog/empty.mjs.map +1 -0
  14. package/dist/components/compound/effect-catalog/index.d.mts +6 -0
  15. package/dist/components/compound/effect-catalog/list.d.mts +19 -0
  16. package/dist/components/compound/effect-catalog/list.d.mts.map +1 -0
  17. package/dist/components/compound/effect-catalog/list.mjs +33 -0
  18. package/dist/components/compound/effect-catalog/list.mjs.map +1 -0
  19. package/dist/components/compound/effect-catalog/root.d.mts +31 -0
  20. package/dist/components/compound/effect-catalog/root.d.mts.map +1 -0
  21. package/dist/components/compound/effect-catalog/root.mjs +67 -0
  22. package/dist/components/compound/effect-catalog/root.mjs.map +1 -0
  23. package/dist/components/compound/effect-catalog/search-filter.d.mts +21 -0
  24. package/dist/components/compound/effect-catalog/search-filter.d.mts.map +1 -0
  25. package/dist/components/compound/effect-catalog/search-filter.mjs +47 -0
  26. package/dist/components/compound/effect-catalog/search-filter.mjs.map +1 -0
  27. package/dist/components/compound/pipe-catalog/card.mjs +1 -1
  28. package/dist/components/compound/pipe-catalog/category-filter.mjs +1 -1
  29. package/dist/components/compound/pipe-catalog/provider-filter.mjs +1 -1
  30. package/dist/components/compound/pipe-catalog/root.mjs +1 -1
  31. package/dist/components/compound/pipe-form/content.d.mts +6 -1
  32. package/dist/components/compound/pipe-form/content.d.mts.map +1 -1
  33. package/dist/components/compound/pipe-form/content.mjs +3 -2
  34. package/dist/components/compound/pipe-form/content.mjs.map +1 -1
  35. package/dist/components/compound/pipe-form/errors.d.mts.map +1 -1
  36. package/dist/components/compound/pipe-form/errors.mjs +5 -4
  37. package/dist/components/compound/pipe-form/errors.mjs.map +1 -1
  38. package/dist/components/compound/pipe-form/root.d.mts +3 -1
  39. package/dist/components/compound/pipe-form/root.d.mts.map +1 -1
  40. package/dist/components/compound/pipe-form/root.mjs +5 -3
  41. package/dist/components/compound/pipe-form/root.mjs.map +1 -1
  42. package/dist/components/compound/search-catalog/active-filters.mjs +1 -1
  43. package/dist/components/compound/search-catalog/category-filter.mjs +1 -1
  44. package/dist/components/compound/search-catalog/provider-filter.mjs +1 -1
  45. package/dist/components/compound/search-form/content.d.mts +6 -1
  46. package/dist/components/compound/search-form/content.d.mts.map +1 -1
  47. package/dist/components/compound/search-form/content.mjs +3 -2
  48. package/dist/components/compound/search-form/content.mjs.map +1 -1
  49. package/dist/components/compound/search-form/errors.d.mts.map +1 -1
  50. package/dist/components/compound/search-form/errors.mjs +5 -4
  51. package/dist/components/compound/search-form/errors.mjs.map +1 -1
  52. package/dist/components/compound/search-form/root.d.mts +3 -1
  53. package/dist/components/compound/search-form/root.d.mts.map +1 -1
  54. package/dist/components/compound/search-form/root.mjs +5 -3
  55. package/dist/components/compound/search-form/root.mjs.map +1 -1
  56. package/dist/components/compound/searches-catalog/active-filters.mjs +1 -1
  57. package/dist/components/compound/searches-catalog/category-filter.mjs +1 -1
  58. package/dist/components/compound/searches-catalog/provider-filter.mjs +1 -1
  59. package/dist/components/defaults/adapters/context-select-input.mjs +1 -1
  60. package/dist/components/defaults/adapters/context-select-input.mjs.map +1 -1
  61. package/dist/components/defaults/adapters/exact-range-input.mjs +1 -1
  62. package/dist/components/defaults/adapters/index.d.mts.map +1 -1
  63. package/dist/components/defaults/adapters/index.mjs +8 -5
  64. package/dist/components/defaults/adapters/index.mjs.map +1 -1
  65. package/dist/components/defaults/adapters/int-input.mjs.map +1 -1
  66. package/dist/components/defaults/adapters/json-extraction-input.mjs +1 -1
  67. package/dist/components/defaults/adapters/loose-object-input.mjs +111 -0
  68. package/dist/components/defaults/adapters/loose-object-input.mjs.map +1 -0
  69. package/dist/components/defaults/adapters/pipes-run-if-input.mjs +69 -56
  70. package/dist/components/defaults/adapters/pipes-run-if-input.mjs.map +1 -1
  71. package/dist/components/defaults/adapters/providers-input.mjs.map +1 -1
  72. package/dist/components/defaults/adapters/search-payload-input.mjs +18 -0
  73. package/dist/components/defaults/adapters/search-payload-input.mjs.map +1 -0
  74. package/dist/components/defaults/adapters/select-input.mjs +46 -27
  75. package/dist/components/defaults/adapters/select-input.mjs.map +1 -1
  76. package/dist/components/defaults/catalog/card-derived.d.mts +1 -1
  77. package/dist/components/defaults/catalog/card-derived.d.mts.map +1 -1
  78. package/dist/components/defaults/catalog/card-derived.mjs +12 -6
  79. package/dist/components/defaults/catalog/card-derived.mjs.map +1 -1
  80. package/dist/components/defaults/catalog/provider-avatars.mjs +3 -3
  81. package/dist/components/defaults/catalog/provider-avatars.mjs.map +1 -1
  82. package/dist/components/defaults/form/form-empty-state.mjs +23 -0
  83. package/dist/components/defaults/form/form-empty-state.mjs.map +1 -0
  84. package/dist/components/defaults/layout/field-wrapper.d.mts.map +1 -1
  85. package/dist/components/defaults/layout/field-wrapper.mjs +11 -5
  86. package/dist/components/defaults/layout/field-wrapper.mjs.map +1 -1
  87. package/dist/components/defaults/layout/group.mjs +1 -1
  88. package/dist/components/internal/LiquidEditor/LiquidEditor.mjs +2 -2
  89. package/dist/components/internal/LiquidEditor/LiquidEditor.mjs.map +1 -1
  90. package/dist/components/internal/form-level-errors.mjs +4 -3
  91. package/dist/components/internal/form-level-errors.mjs.map +1 -1
  92. package/dist/components/internal/icons.mjs +27 -1
  93. package/dist/components/internal/icons.mjs.map +1 -1
  94. package/dist/components/ui/alert.d.mts +47 -0
  95. package/dist/components/ui/alert.d.mts.map +1 -0
  96. package/dist/components/ui/alert.mjs +66 -0
  97. package/dist/components/ui/alert.mjs.map +1 -0
  98. package/dist/context/catalog-card-context.mjs +4 -2
  99. package/dist/context/catalog-card-context.mjs.map +1 -1
  100. package/dist/context/effect-catalog-card-context.d.mts +20 -0
  101. package/dist/context/effect-catalog-card-context.d.mts.map +1 -0
  102. package/dist/context/effect-catalog-card-context.mjs +13 -0
  103. package/dist/context/effect-catalog-card-context.mjs.map +1 -0
  104. package/dist/context/effect-catalog-context.d.mts +20 -0
  105. package/dist/context/effect-catalog-context.d.mts.map +1 -0
  106. package/dist/context/effect-catalog-context.mjs +13 -0
  107. package/dist/context/effect-catalog-context.mjs.map +1 -0
  108. package/dist/context/form-context.d.mts +21 -0
  109. package/dist/context/form-context.d.mts.map +1 -0
  110. package/dist/context/form-context.mjs +11 -1
  111. package/dist/context/form-context.mjs.map +1 -1
  112. package/dist/context/form-provider.d.mts +3 -1
  113. package/dist/context/form-provider.d.mts.map +1 -1
  114. package/dist/context/form-provider.mjs +8 -2
  115. package/dist/context/form-provider.mjs.map +1 -1
  116. package/dist/hooks/use-effect-catalog-table.d.mts +33 -0
  117. package/dist/hooks/use-effect-catalog-table.d.mts.map +1 -0
  118. package/dist/hooks/use-effect-catalog-table.mjs +104 -0
  119. package/dist/hooks/use-effect-catalog-table.mjs.map +1 -0
  120. package/dist/hooks/use-form-core.mjs +8 -5
  121. package/dist/hooks/use-form-core.mjs.map +1 -1
  122. package/dist/hooks/use-pipe-catalog-table.d.mts +8 -8
  123. package/dist/hooks/use-pipe-catalog-table.d.mts.map +1 -1
  124. package/dist/hooks/use-pipe-catalog-table.mjs +2 -2
  125. package/dist/hooks/use-pipe-catalog-table.mjs.map +1 -1
  126. package/dist/hooks/use-pipe-form.d.mts.map +1 -1
  127. package/dist/hooks/use-pipe-form.mjs +18 -19
  128. package/dist/hooks/use-pipe-form.mjs.map +1 -1
  129. package/dist/hooks/use-search-catalog-table.d.mts +6 -6
  130. package/dist/hooks/use-search-form.d.mts.map +1 -1
  131. package/dist/hooks/use-search-form.mjs +18 -18
  132. package/dist/hooks/use-search-form.mjs.map +1 -1
  133. package/dist/hooks/use-sheet-effect-form.d.mts +35 -0
  134. package/dist/hooks/use-sheet-effect-form.d.mts.map +1 -0
  135. package/dist/hooks/use-sheet-effect-form.mjs +103 -0
  136. package/dist/hooks/use-sheet-effect-form.mjs.map +1 -0
  137. package/dist/index.d.mts +15 -3
  138. package/dist/index.mjs +16 -4
  139. package/dist/styles/pipe0-form.css +1 -1
  140. package/dist/types/adapters.d.mts +22 -1
  141. package/dist/types/adapters.d.mts.map +1 -1
  142. package/dist/types/catalog-adapters.d.mts +23 -3
  143. package/dist/types/catalog-adapters.d.mts.map +1 -1
  144. package/dist/types/field-props.d.mts +15 -13
  145. package/dist/types/field-props.d.mts.map +1 -1
  146. package/dist/types/form-customization.d.mts +2 -25
  147. package/dist/utils/build-section-handlers.mjs +9 -75
  148. package/dist/utils/build-section-handlers.mjs.map +1 -1
  149. package/dist/utils/catalog-helpers.d.mts +1 -1
  150. package/dist/widgets/token-pricing-badge.d.mts +1 -0
  151. package/dist/widgets/token-pricing-badge.mjs +55 -0
  152. package/dist/widgets/token-pricing-badge.mjs.map +1 -0
  153. package/dist/widgets/widget-strip.d.mts.map +1 -1
  154. package/dist/widgets/widget-strip.mjs +1 -0
  155. package/dist/widgets/widget-strip.mjs.map +1 -1
  156. package/dist/widgets/widget-view.d.mts.map +1 -1
  157. package/dist/widgets/widget-view.mjs +6 -0
  158. package/dist/widgets/widget-view.mjs.map +1 -1
  159. package/package.json +15 -25
  160. package/dist/components/defaults/adapters/key-value-list-input.mjs +0 -102
  161. package/dist/components/defaults/adapters/key-value-list-input.mjs.map +0 -1
  162. package/dist/types/form-customization.d.mts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"use-pipe-form.mjs","names":[],"sources":["../../src/hooks/use-pipe-form.ts"],"sourcesContent":["import {\n type FormResolvers,\n type FormStore,\n getPipeDefaultPayload,\n getPipePayloadFormConfig,\n getPipePayloadSchema,\n type PipeId,\n type PipePayload,\n type ValidationContext,\n} from \"@pipe0/base\";\nimport { useMemo, useState } from \"react\";\nimport type { PipeFormContext } from \"../context/pipe-form-context.js\";\nimport type {\n FormCustomizationState,\n GroupMap,\n PathMap,\n SectionMap,\n} from \"../types/form-customization.js\";\nimport { applyFormCustomization } from \"../utils/build-section-handlers.js\";\nimport { asFormHandle } from \"../utils/internal-form.js\";\nimport { type ResourceStatus, useFormCore } from \"./use-form-core.js\";\n\nexport type { PipeFormContext, ResourceStatus };\n\nexport interface UsePipeFormOptions {\n pipeId: PipeId;\n publicKey: string;\n defaultValues?: PipePayload;\n resolvers?: FormResolvers;\n userConnections?: { public_id: string; provider: string }[];\n validationContext?: ValidationContext;\n store?: FormStore;\n /**\n * Hide / relabel / reorder sections by section key. `null` hides a section.\n * Note: when `resolvers.getConnections` is omitted, the `connector` section\n * is hidden automatically — there's no value to render without a resolver.\n */\n sectionMap?: SectionMap;\n /** Hide / relabel / reorder groups by group path. `null` hides a group. */\n groupMap?: GroupMap;\n /** Hide / relabel fields by field path. `null` hides a field. */\n pathMap?: PathMap;\n /**\n * Form-level scope tags. Bundled into every `resolvers.getSecrets` call so\n * the backend can return only the secrets allowed in the declared scopes.\n */\n scopes?: string[];\n /**\n * Current team context. Bundled into every `resolvers.getSecrets` call so\n * the backend can restrict team-level secrets to this team only.\n */\n teamId?: string;\n}\n\nexport function usePipeForm(options: UsePipeFormOptions): PipeFormContext {\n const {\n pipeId,\n publicKey,\n defaultValues,\n resolvers,\n validationContext,\n store: defaultFormStore,\n sectionMap,\n groupMap,\n pathMap,\n scopes,\n teamId,\n } = options;\n\n const schema = useMemo(() => getPipePayloadSchema(pipeId), [pipeId]);\n\n const [store, setStore] = useState<FormStore>(defaultFormStore ?? { field_options: {} });\n\n const formConfig = useMemo(() => {\n const defaultPayload = getPipeDefaultPayload(pipeId);\n if (!defaultPayload) throw new Error(\"No default payload\");\n\n return getPipePayloadFormConfig({\n pipePayload: defaultPayload,\n store,\n validationContext,\n formResolvers: resolvers,\n });\n }, [pipeId, defaultValues, validationContext, store]);\n\n const core = useFormCore<PipePayload>({\n pipeOrSearchId: pipeId,\n kind: \"pipe\",\n schema,\n publicKey,\n defaultValues,\n store,\n setStore,\n formConfig,\n resolvers,\n environment: validationContext?.environment,\n scopes,\n teamId,\n });\n\n // Customization is owned by the hook so consumers see already-filtered\n // sections/fields. Connector is auto-hidden when no `getConnections`\n // resolver is wired nothing to render without one.\n const hasGetConnections = resolvers?.getConnections != null;\n const customization = useMemo<FormCustomizationState>(\n () => ({\n sectionMap: hasGetConnections\n ? (sectionMap ?? {})\n : { ...(sectionMap ?? {}), connector: null },\n groupMap: groupMap ?? {},\n pathMap: pathMap ?? {},\n }),\n [sectionMap, groupMap, pathMap, hasGetConnections],\n );\n\n const sections = useMemo(\n () => applyFormCustomization(core.sections, customization),\n [core.sections, customization],\n );\n\n const fields = useMemo(\n () => sections.flatMap((s) => s.groups.flatMap((g) => g.fields)),\n [sections],\n );\n\n const fieldPaths = useMemo(\n () => new Set(sections.flatMap((s) => s.groups.flatMap((g) => g.fields.map((f) => f.path)))),\n [sections],\n );\n\n return useMemo<PipeFormContext>(\n () => ({\n id: pipeId,\n publicKey,\n form: asFormHandle(core.form),\n sections,\n fields,\n fieldPaths,\n connectionsStatus: core.connectionsStatus,\n fieldLoadStates: core.fieldLoadStates,\n fieldLoaderErrors: core.fieldLoaderErrors,\n loadingFieldLoaders: core.loadingFieldLoaders,\n hasFieldLoaderError: core.hasFieldLoaderError,\n isFieldLoaderLoading: core.isFieldLoaderLoading,\n resolvers,\n store,\n reset: core.reset,\n }),\n [\n pipeId,\n publicKey,\n core.form,\n sections,\n fields,\n fieldPaths,\n core.connectionsStatus,\n core.fieldLoadStates,\n core.fieldLoaderErrors,\n core.loadingFieldLoaders,\n core.hasFieldLoaderError,\n core.isFieldLoaderLoading,\n resolvers,\n store,\n core.reset,\n ],\n );\n}\n"],"mappings":";;;;;;;AAsDA,SAAgB,YAAY,SAA8C;CACxE,MAAM,EACJ,QACA,WACA,eACA,WACA,mBACA,OAAO,kBACP,YACA,UACA,SACA,QACA,WACE;CAEJ,MAAM,SAAS,cAAc,qBAAqB,OAAO,EAAE,CAAC,OAAO,CAAC;CAEpE,MAAM,CAAC,OAAO,YAAY,SAAoB,oBAAoB,EAAE,eAAe,EAAE,EAAE,CAAC;CAcxF,MAAM,OAAO,YAAyB;EACpC,gBAAgB;EAChB,MAAM;EACN;EACA;EACA;EACA;EACA;EACA,YApBiB,cAAc;GAC/B,MAAM,iBAAiB,sBAAsB,OAAO;AACpD,OAAI,CAAC,eAAgB,OAAM,IAAI,MAAM,qBAAqB;AAE1D,UAAO,yBAAyB;IAC9B,aAAa;IACb;IACA;IACA,eAAe;IAChB,CAAC;KACD;GAAC;GAAQ;GAAe;GAAmB;GAAM,CAAC;EAWnD;EACA,aAAa,mBAAmB;EAChC;EACA;EACD,CAAC;CAKF,MAAM,oBAAoB,WAAW,kBAAkB;CACvD,MAAM,gBAAgB,eACb;EACL,YAAY,oBACP,cAAc,EAAE,GACjB;GAAE,GAAI,cAAc,EAAE;GAAG,WAAW;GAAM;EAC9C,UAAU,YAAY,EAAE;EACxB,SAAS,WAAW,EAAE;EACvB,GACD;EAAC;EAAY;EAAU;EAAS;EAAkB,CACnD;CAED,MAAM,WAAW,cACT,uBAAuB,KAAK,UAAU,cAAc,EAC1D,CAAC,KAAK,UAAU,cAAc,CAC/B;CAED,MAAM,SAAS,cACP,SAAS,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,OAAO,CAAC,EAChE,CAAC,SAAS,CACX;CAED,MAAM,aAAa,cACX,IAAI,IAAI,SAAS,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAC5F,CAAC,SAAS,CACX;AAED,QAAO,eACE;EACL,IAAI;EACJ;EACA,MAAM,aAAa,KAAK,KAAK;EAC7B;EACA;EACA;EACA,mBAAmB,KAAK;EACxB,iBAAiB,KAAK;EACtB,mBAAmB,KAAK;EACxB,qBAAqB,KAAK;EAC1B,qBAAqB,KAAK;EAC1B,sBAAsB,KAAK;EAC3B;EACA;EACA,OAAO,KAAK;EACb,GACD;EACE;EACA;EACA,KAAK;EACL;EACA;EACA;EACA,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL;EACA;EACA,KAAK;EACN,CACF"}
1
+ {"version":3,"file":"use-pipe-form.mjs","names":[],"sources":["../../src/hooks/use-pipe-form.ts"],"sourcesContent":["import {\n type FormResolvers,\n type FormStore,\n getPipeDefaultPayload,\n getPipePayloadFormConfig,\n getPipePayloadSchema,\n type PipeId,\n type PipePayload,\n type ValidationContext,\n} from \"@pipe0/base\";\nimport { useMemo, useState } from \"react\";\nimport type { PipeFormContext } from \"../context/pipe-form-context.js\";\nimport type { GroupMap, PathMap, SectionMap } from \"../types/form-customization.js\";\nimport { asFormHandle } from \"../utils/internal-form.js\";\nimport { type ResourceStatus, useFormCore } from \"./use-form-core.js\";\n\nexport type { PipeFormContext, ResourceStatus };\n\nexport interface UsePipeFormOptions {\n pipeId: PipeId;\n publicKey: string;\n defaultValues?: PipePayload;\n resolvers?: FormResolvers;\n userConnections?: { public_id: string; provider: string }[];\n validationContext?: ValidationContext;\n store?: FormStore;\n /**\n * Hide / relabel / reorder sections by section key. `null` hides a section.\n * Note: when `resolvers.getConnections` is omitted, the `connector` section\n * is hidden automatically — there's no value to render without a resolver.\n */\n sectionMap?: SectionMap;\n /** Hide / relabel / reorder groups by group path. `null` hides a group. */\n groupMap?: GroupMap;\n /** Hide / relabel fields by field path. `null` hides a field. */\n pathMap?: PathMap;\n /**\n * Form-level scope tags. Bundled into every `resolvers.getSecrets` call so\n * the backend can return only the secrets allowed in the declared scopes.\n */\n scopes?: string[];\n /**\n * Current team context. Bundled into every `resolvers.getSecrets` call so\n * the backend can restrict team-level secrets to this team only.\n */\n teamId?: string;\n}\n\nexport function usePipeForm(options: UsePipeFormOptions): PipeFormContext {\n const {\n pipeId,\n publicKey,\n defaultValues,\n resolvers,\n validationContext,\n store: defaultFormStore,\n sectionMap,\n groupMap,\n pathMap,\n scopes,\n teamId,\n } = options;\n\n const schema = useMemo(() => getPipePayloadSchema(pipeId), [pipeId]);\n\n const [store, setStore] = useState<FormStore>(defaultFormStore ?? { field_options: {} });\n\n // Customization is applied while the form config is built (in `@pipe0/base`'s\n // `extractFormMetadata`), so `core.sections` is already filtered/relabeled.\n // Connector auto-hides without a `getConnections` resolver — it's a *group*\n // (groupPath \"connector\"), so hide it via `groupMap`.\n const hasGetConnections = resolvers?.getConnections != null;\n // Stable content key: callers pass fresh inline customization objects every\n // render, so key on contents to avoid re-walking the schema needlessly.\n const customizationKey = JSON.stringify({ sectionMap, groupMap, pathMap, hasGetConnections });\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: customization inputs + resolver flag are tracked by value via `customizationKey` to keep the config stable across inline-object renders.\n const formConfig = useMemo(() => {\n const defaultPayload = getPipeDefaultPayload(pipeId);\n if (!defaultPayload) throw new Error(\"No default payload\");\n\n return getPipePayloadFormConfig({\n pipePayload: defaultPayload,\n store,\n validationContext,\n formResolvers: resolvers,\n customization: {\n sectionMap,\n groupMap: hasGetConnections ? groupMap : { ...groupMap, connector: null },\n pathMap,\n },\n });\n }, [pipeId, validationContext, store, customizationKey]);\n\n const core = useFormCore<PipePayload>({\n pipeOrSearchId: pipeId,\n kind: \"pipe\",\n schema,\n publicKey,\n defaultValues,\n store,\n setStore,\n formConfig,\n resolvers,\n environment: validationContext?.environment,\n scopes,\n teamId,\n });\n\n // `core.sections` is already customized (hidden/relabeled) by the metadata\n // extractor, so the hook exposes it directly.\n const sections = core.sections;\n\n const fields = useMemo(\n () => sections.flatMap((s) => s.groups.flatMap((g) => g.fields)),\n [sections],\n );\n\n const fieldPaths = useMemo(\n () => new Set(sections.flatMap((s) => s.groups.flatMap((g) => g.fields.map((f) => f.path)))),\n [sections],\n );\n\n return useMemo<PipeFormContext>(\n () => ({\n id: pipeId,\n publicKey,\n form: asFormHandle(core.form),\n sections,\n fields,\n fieldPaths,\n connectionsStatus: core.connectionsStatus,\n fieldLoadStates: core.fieldLoadStates,\n fieldLoaderErrors: core.fieldLoaderErrors,\n loadingFieldLoaders: core.loadingFieldLoaders,\n hasFieldLoaderError: core.hasFieldLoaderError,\n isFieldLoaderLoading: core.isFieldLoaderLoading,\n resolvers,\n store,\n reset: core.reset,\n }),\n [\n pipeId,\n publicKey,\n core.form,\n sections,\n fields,\n fieldPaths,\n core.connectionsStatus,\n core.fieldLoadStates,\n core.fieldLoaderErrors,\n core.loadingFieldLoaders,\n core.hasFieldLoaderError,\n core.isFieldLoaderLoading,\n resolvers,\n store,\n core.reset,\n ],\n );\n}\n"],"mappings":";;;;;;AAgDA,SAAgB,YAAY,SAA8C;CACxE,MAAM,EACJ,QACA,WACA,eACA,WACA,mBACA,OAAO,kBACP,YACA,UACA,SACA,QACA,WACE;CAEJ,MAAM,SAAS,cAAc,qBAAqB,OAAO,EAAE,CAAC,OAAO,CAAC;CAEpE,MAAM,CAAC,OAAO,YAAY,SAAoB,oBAAoB,EAAE,eAAe,EAAE,EAAE,CAAC;CAMxF,MAAM,oBAAoB,WAAW,kBAAkB;CAuBvD,MAAM,OAAO,YAAyB;EACpC,gBAAgB;EAChB,MAAM;EACN;EACA;EACA;EACA;EACA;EACA,YAzBiB,cAAc;GAC/B,MAAM,iBAAiB,sBAAsB,OAAO;AACpD,OAAI,CAAC,eAAgB,OAAM,IAAI,MAAM,qBAAqB;AAE1D,UAAO,yBAAyB;IAC9B,aAAa;IACb;IACA;IACA,eAAe;IACf,eAAe;KACb;KACA,UAAU,oBAAoB,WAAW;MAAE,GAAG;MAAU,WAAW;MAAM;KACzE;KACD;IACF,CAAC;KACD;GAAC;GAAQ;GAAmB;GAlBN,KAAK,UAAU;IAAE;IAAY;IAAU;IAAS;IAAmB,CAAC;GAkBtC,CAAC;EAWtD;EACA,aAAa,mBAAmB;EAChC;EACA;EACD,CAAC;CAIF,MAAM,WAAW,KAAK;CAEtB,MAAM,SAAS,cACP,SAAS,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,OAAO,CAAC,EAChE,CAAC,SAAS,CACX;CAED,MAAM,aAAa,cACX,IAAI,IAAI,SAAS,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAC5F,CAAC,SAAS,CACX;AAED,QAAO,eACE;EACL,IAAI;EACJ;EACA,MAAM,aAAa,KAAK,KAAK;EAC7B;EACA;EACA;EACA,mBAAmB,KAAK;EACxB,iBAAiB,KAAK;EACtB,mBAAmB,KAAK;EACxB,qBAAqB,KAAK;EAC1B,qBAAqB,KAAK;EAC1B,sBAAsB,KAAK;EAC3B;EACA;EACA,OAAO,KAAK;EACb,GACD;EACE;EACA;EACA,KAAK;EACL;EACA;EACA;EACA,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL;EACA;EACA,KAAK;EACN,CACF"}
@@ -27,12 +27,12 @@ declare function useSearchCatalogTable(config?: {
27
27
  removeColumnFilter: (id: "inputFields" | "outputFields" | "tags" | "providers") => void;
28
28
  resetFilters: () => void;
29
29
  getColumnFilterValue: (id: "inputFields" | "outputFields" | "tags" | "providers") => string;
30
- sortedOutputFieldEntries: [string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:amplemarket@1" | "companies:profiles:amplemarket@2" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "people:eventguests:luma@1" | "sheet:rows@1" | "query:postgres@1" | "query:databricks@1")[]][];
31
- sortedTagEntries: [string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:amplemarket@1" | "companies:profiles:amplemarket@2" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "people:eventguests:luma@1" | "sheet:rows@1" | "query:postgres@1" | "query:databricks@1")[]][];
32
- sortedProviderEntries: [string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:amplemarket@1" | "companies:profiles:amplemarket@2" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "people:eventguests:luma@1" | "sheet:rows@1" | "query:postgres@1" | "query:databricks@1")[]][];
33
- searchIdsByOutputField: Record<string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:amplemarket@1" | "companies:profiles:amplemarket@2" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "people:eventguests:luma@1" | "sheet:rows@1" | "query:postgres@1" | "query:databricks@1")[]>;
34
- searchIdsByProvider: Record<string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:amplemarket@1" | "companies:profiles:amplemarket@2" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "people:eventguests:luma@1" | "sheet:rows@1" | "query:postgres@1" | "query:databricks@1")[]>;
35
- searchIdsByTag: Record<string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:amplemarket@1" | "companies:profiles:amplemarket@2" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "people:eventguests:luma@1" | "sheet:rows@1" | "query:postgres@1" | "query:databricks@1")[]>;
30
+ sortedOutputFieldEntries: [string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:amplemarket@1" | "companies:profiles:amplemarket@2" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:crustdata@3" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "people:eventguests:luma@1" | "sheet:rows@1" | "query:postgres@1" | "query:databricks@1" | "posts:content:crustdata@1")[]][];
31
+ sortedTagEntries: [string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:amplemarket@1" | "companies:profiles:amplemarket@2" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:crustdata@3" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "people:eventguests:luma@1" | "sheet:rows@1" | "query:postgres@1" | "query:databricks@1" | "posts:content:crustdata@1")[]][];
32
+ sortedProviderEntries: [string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:amplemarket@1" | "companies:profiles:amplemarket@2" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:crustdata@3" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "people:eventguests:luma@1" | "sheet:rows@1" | "query:postgres@1" | "query:databricks@1" | "posts:content:crustdata@1")[]][];
33
+ searchIdsByOutputField: Record<string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:amplemarket@1" | "companies:profiles:amplemarket@2" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:crustdata@3" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "people:eventguests:luma@1" | "sheet:rows@1" | "query:postgres@1" | "query:databricks@1" | "posts:content:crustdata@1")[]>;
34
+ searchIdsByProvider: Record<string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:amplemarket@1" | "companies:profiles:amplemarket@2" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:crustdata@3" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "people:eventguests:luma@1" | "sheet:rows@1" | "query:postgres@1" | "query:databricks@1" | "posts:content:crustdata@1")[]>;
35
+ searchIdsByTag: Record<string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:amplemarket@1" | "companies:profiles:amplemarket@2" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:crustdata@3" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "people:eventguests:luma@1" | "sheet:rows@1" | "query:postgres@1" | "query:databricks@1" | "posts:content:crustdata@1")[]>;
36
36
  };
37
37
  type UseSearchCatalogTableReturn = ReturnType<typeof useSearchCatalogTable>;
38
38
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"use-search-form.d.mts","names":[],"sources":["../../src/hooks/use-search-form.ts"],"mappings":";;;;;;UAuBiB,oBAAA;EACf,QAAA,EAAU,QAAA;EACV,SAAA;EACA,aAAA,GAAgB,aAAA;EAChB,SAAA,GAAY,aAAA;EACZ,WAAA,GAAc,gBAAA;EACd,KAAA,GAAQ,SAAA;EADM;;;;;EAOd,UAAA,GAAa,UAAA;EAII;EAFjB,QAAA,GAAW,QAAA;EAbD;EAeV,OAAA,GAAU,OAAA;AAAA;AAAA,iBAGI,aAAA,CAAc,OAAA,EAAS,oBAAA,GAAuB,iBAAA"}
1
+ {"version":3,"file":"use-search-form.d.mts","names":[],"sources":["../../src/hooks/use-search-form.ts"],"mappings":";;;;;;UAiBiB,oBAAA;EACf,QAAA,EAAU,QAAA;EACV,SAAA;EACA,aAAA,GAAgB,aAAA;EAChB,SAAA,GAAY,aAAA;EACZ,WAAA,GAAc,gBAAA;EACd,KAAA,GAAQ,SAAA;EADM;;;;;EAOd,UAAA,GAAa,UAAA;EAII;EAFjB,QAAA,GAAW,QAAA;EAbD;EAeV,OAAA,GAAU,OAAA;AAAA;AAAA,iBAGI,aAAA,CAAc,OAAA,EAAS,oBAAA,GAAuB,iBAAA"}
@@ -1,5 +1,4 @@
1
1
  import { asFormHandle } from "../utils/internal-form.mjs";
2
- import { applyFormCustomization } from "../utils/build-section-handlers.mjs";
3
2
  import { useFormCore } from "./use-form-core.mjs";
4
3
  import { useMemo, useState } from "react";
5
4
  import { getSearchPayloadFormConfig, getSearchPayloadSchema } from "@pipe0/base";
@@ -9,6 +8,7 @@ function useSearchForm(options) {
9
8
  const { searchId, publicKey, defaultValues, resolvers, environment, store: defaultStore, sectionMap, groupMap, pathMap } = options;
10
9
  const schema = useMemo(() => getSearchPayloadSchema(searchId), [searchId]);
11
10
  const [store, setStore] = useState(defaultStore ?? { field_options: {} });
11
+ const hasGetConnections = resolvers?.getConnections != null;
12
12
  const core = useFormCore({
13
13
  pipeOrSearchId: searchId,
14
14
  kind: "search",
@@ -20,31 +20,31 @@ function useSearchForm(options) {
20
20
  formConfig: useMemo(() => {
21
21
  return getSearchPayloadFormConfig({
22
22
  searchPayload: defaultValues ?? { search_id: searchId },
23
- formContext: store
23
+ formContext: store,
24
+ customization: {
25
+ sectionMap,
26
+ groupMap: hasGetConnections ? groupMap : {
27
+ ...groupMap,
28
+ connector: null
29
+ },
30
+ pathMap
31
+ }
24
32
  });
25
33
  }, [
26
34
  searchId,
27
35
  defaultValues,
28
- store
36
+ store,
37
+ JSON.stringify({
38
+ sectionMap,
39
+ groupMap,
40
+ pathMap,
41
+ hasGetConnections
42
+ })
29
43
  ]),
30
44
  resolvers,
31
45
  environment
32
46
  });
33
- const hasGetConnections = resolvers?.getConnections != null;
34
- const customization = useMemo(() => ({
35
- sectionMap: hasGetConnections ? sectionMap ?? {} : {
36
- ...sectionMap ?? {},
37
- connector: null
38
- },
39
- groupMap: groupMap ?? {},
40
- pathMap: pathMap ?? {}
41
- }), [
42
- sectionMap,
43
- groupMap,
44
- pathMap,
45
- hasGetConnections
46
- ]);
47
- const sections = useMemo(() => applyFormCustomization(core.sections, customization), [core.sections, customization]);
47
+ const sections = core.sections;
48
48
  const fields = useMemo(() => sections.flatMap((s) => s.groups.flatMap((g) => g.fields)), [sections]);
49
49
  const fieldPaths = useMemo(() => new Set(sections.flatMap((s) => s.groups.flatMap((g) => g.fields.map((f) => f.path)))), [sections]);
50
50
  return useMemo(() => ({
@@ -1 +1 @@
1
- {"version":3,"file":"use-search-form.mjs","names":[],"sources":["../../src/hooks/use-search-form.ts"],"sourcesContent":["import {\n type FormResolvers,\n type FormStore,\n getSearchPayloadFormConfig,\n getSearchPayloadSchema,\n type PipesEnvironment,\n type SearchId,\n type SearchPayload,\n} from \"@pipe0/base\";\nimport { useMemo, useState } from \"react\";\nimport type { SearchFormContext } from \"../context/search-form-context.js\";\nimport type {\n FormCustomizationState,\n GroupMap,\n PathMap,\n SectionMap,\n} from \"../types/form-customization.js\";\nimport { applyFormCustomization } from \"../utils/build-section-handlers.js\";\nimport { asFormHandle } from \"../utils/internal-form.js\";\nimport { type ResourceStatus, useFormCore } from \"./use-form-core.js\";\n\nexport type { ResourceStatus, SearchFormContext };\n\nexport interface UseSearchFormOptions {\n searchId: SearchId;\n publicKey: string;\n defaultValues?: SearchPayload;\n resolvers?: FormResolvers;\n environment?: PipesEnvironment;\n store?: FormStore;\n /**\n * Hide / relabel / reorder sections by section key. `null` hides a section.\n * Note: when `resolvers.getConnections` is omitted, the `connector` section\n * is hidden automatically — there's no value to render without a resolver.\n */\n sectionMap?: SectionMap;\n /** Hide / relabel / reorder groups by group path. `null` hides a group. */\n groupMap?: GroupMap;\n /** Hide / relabel fields by field path. `null` hides a field. */\n pathMap?: PathMap;\n}\n\nexport function useSearchForm(options: UseSearchFormOptions): SearchFormContext {\n const {\n searchId,\n publicKey,\n defaultValues,\n resolvers,\n environment,\n store: defaultStore,\n sectionMap,\n groupMap,\n pathMap,\n } = options;\n\n const schema = useMemo(() => getSearchPayloadSchema(searchId), [searchId]);\n\n const [store, setStore] = useState<FormStore>(defaultStore ?? { field_options: {} });\n\n const formConfig = useMemo(() => {\n return getSearchPayloadFormConfig({\n searchPayload: defaultValues ?? ({ search_id: searchId } as SearchPayload),\n formContext: store,\n });\n }, [searchId, defaultValues, store]);\n\n const core = useFormCore<SearchPayload>({\n pipeOrSearchId: searchId,\n kind: \"search\",\n schema,\n publicKey,\n defaultValues,\n store,\n setStore,\n formConfig,\n resolvers,\n environment,\n });\n\n const hasGetConnections = resolvers?.getConnections != null;\n const customization = useMemo<FormCustomizationState>(\n () => ({\n sectionMap: hasGetConnections\n ? (sectionMap ?? {})\n : { ...(sectionMap ?? {}), connector: null },\n groupMap: groupMap ?? {},\n pathMap: pathMap ?? {},\n }),\n [sectionMap, groupMap, pathMap, hasGetConnections],\n );\n\n const sections = useMemo(\n () => applyFormCustomization(core.sections, customization),\n [core.sections, customization],\n );\n\n const fields = useMemo(\n () => sections.flatMap((s) => s.groups.flatMap((g) => g.fields)),\n [sections],\n );\n\n const fieldPaths = useMemo(\n () => new Set(sections.flatMap((s) => s.groups.flatMap((g) => g.fields.map((f) => f.path)))),\n [sections],\n );\n\n return useMemo<SearchFormContext>(\n () => ({\n id: searchId,\n publicKey,\n form: asFormHandle(core.form),\n sections,\n fields,\n fieldPaths,\n connectionsStatus: core.connectionsStatus,\n fieldLoadStates: core.fieldLoadStates,\n fieldLoaderErrors: core.fieldLoaderErrors,\n loadingFieldLoaders: core.loadingFieldLoaders,\n hasFieldLoaderError: core.hasFieldLoaderError,\n isFieldLoaderLoading: core.isFieldLoaderLoading,\n resolvers,\n store,\n reset: core.reset,\n }),\n [\n searchId,\n publicKey,\n core.form,\n sections,\n fields,\n fieldPaths,\n core.connectionsStatus,\n core.fieldLoadStates,\n core.fieldLoaderErrors,\n core.loadingFieldLoaders,\n core.hasFieldLoaderError,\n core.isFieldLoaderLoading,\n resolvers,\n store,\n core.reset,\n ],\n );\n}\n"],"mappings":";;;;;;;AA0CA,SAAgB,cAAc,SAAkD;CAC9E,MAAM,EACJ,UACA,WACA,eACA,WACA,aACA,OAAO,cACP,YACA,UACA,YACE;CAEJ,MAAM,SAAS,cAAc,uBAAuB,SAAS,EAAE,CAAC,SAAS,CAAC;CAE1E,MAAM,CAAC,OAAO,YAAY,SAAoB,gBAAgB,EAAE,eAAe,EAAE,EAAE,CAAC;CASpF,MAAM,OAAO,YAA2B;EACtC,gBAAgB;EAChB,MAAM;EACN;EACA;EACA;EACA;EACA;EACA,YAfiB,cAAc;AAC/B,UAAO,2BAA2B;IAChC,eAAe,iBAAkB,EAAE,WAAW,UAAU;IACxD,aAAa;IACd,CAAC;KACD;GAAC;GAAU;GAAe;GAAM,CAAC;EAWlC;EACA;EACD,CAAC;CAEF,MAAM,oBAAoB,WAAW,kBAAkB;CACvD,MAAM,gBAAgB,eACb;EACL,YAAY,oBACP,cAAc,EAAE,GACjB;GAAE,GAAI,cAAc,EAAE;GAAG,WAAW;GAAM;EAC9C,UAAU,YAAY,EAAE;EACxB,SAAS,WAAW,EAAE;EACvB,GACD;EAAC;EAAY;EAAU;EAAS;EAAkB,CACnD;CAED,MAAM,WAAW,cACT,uBAAuB,KAAK,UAAU,cAAc,EAC1D,CAAC,KAAK,UAAU,cAAc,CAC/B;CAED,MAAM,SAAS,cACP,SAAS,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,OAAO,CAAC,EAChE,CAAC,SAAS,CACX;CAED,MAAM,aAAa,cACX,IAAI,IAAI,SAAS,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAC5F,CAAC,SAAS,CACX;AAED,QAAO,eACE;EACL,IAAI;EACJ;EACA,MAAM,aAAa,KAAK,KAAK;EAC7B;EACA;EACA;EACA,mBAAmB,KAAK;EACxB,iBAAiB,KAAK;EACtB,mBAAmB,KAAK;EACxB,qBAAqB,KAAK;EAC1B,qBAAqB,KAAK;EAC1B,sBAAsB,KAAK;EAC3B;EACA;EACA,OAAO,KAAK;EACb,GACD;EACE;EACA;EACA,KAAK;EACL;EACA;EACA;EACA,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL;EACA;EACA,KAAK;EACN,CACF"}
1
+ {"version":3,"file":"use-search-form.mjs","names":[],"sources":["../../src/hooks/use-search-form.ts"],"sourcesContent":["import {\n type FormResolvers,\n type FormStore,\n getSearchPayloadFormConfig,\n getSearchPayloadSchema,\n type PipesEnvironment,\n type SearchId,\n type SearchPayload,\n} from \"@pipe0/base\";\nimport { useMemo, useState } from \"react\";\nimport type { SearchFormContext } from \"../context/search-form-context.js\";\nimport type { GroupMap, PathMap, SectionMap } from \"../types/form-customization.js\";\nimport { asFormHandle } from \"../utils/internal-form.js\";\nimport { type ResourceStatus, useFormCore } from \"./use-form-core.js\";\n\nexport type { ResourceStatus, SearchFormContext };\n\nexport interface UseSearchFormOptions {\n searchId: SearchId;\n publicKey: string;\n defaultValues?: SearchPayload;\n resolvers?: FormResolvers;\n environment?: PipesEnvironment;\n store?: FormStore;\n /**\n * Hide / relabel / reorder sections by section key. `null` hides a section.\n * Note: when `resolvers.getConnections` is omitted, the `connector` section\n * is hidden automatically — there's no value to render without a resolver.\n */\n sectionMap?: SectionMap;\n /** Hide / relabel / reorder groups by group path. `null` hides a group. */\n groupMap?: GroupMap;\n /** Hide / relabel fields by field path. `null` hides a field. */\n pathMap?: PathMap;\n}\n\nexport function useSearchForm(options: UseSearchFormOptions): SearchFormContext {\n const {\n searchId,\n publicKey,\n defaultValues,\n resolvers,\n environment,\n store: defaultStore,\n sectionMap,\n groupMap,\n pathMap,\n } = options;\n\n const schema = useMemo(() => getSearchPayloadSchema(searchId), [searchId]);\n\n const [store, setStore] = useState<FormStore>(defaultStore ?? { field_options: {} });\n\n // Connector auto-hides without a `getConnections` resolver — it's a *group*\n // (groupPath \"connector\"), so hide it via `groupMap`. Customization is applied\n // while the form config is built, so `core.sections` is already filtered.\n const hasGetConnections = resolvers?.getConnections != null;\n const customizationKey = JSON.stringify({ sectionMap, groupMap, pathMap, hasGetConnections });\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: customization inputs + resolver flag are tracked by value via `customizationKey` to keep the config stable across inline-object renders.\n const formConfig = useMemo(() => {\n return getSearchPayloadFormConfig({\n searchPayload: defaultValues ?? ({ search_id: searchId } as SearchPayload),\n formContext: store,\n customization: {\n sectionMap,\n groupMap: hasGetConnections ? groupMap : { ...groupMap, connector: null },\n pathMap,\n },\n });\n }, [searchId, defaultValues, store, customizationKey]);\n\n const core = useFormCore<SearchPayload>({\n pipeOrSearchId: searchId,\n kind: \"search\",\n schema,\n publicKey,\n defaultValues,\n store,\n setStore,\n formConfig,\n resolvers,\n environment,\n });\n\n const sections = core.sections;\n\n const fields = useMemo(\n () => sections.flatMap((s) => s.groups.flatMap((g) => g.fields)),\n [sections],\n );\n\n const fieldPaths = useMemo(\n () => new Set(sections.flatMap((s) => s.groups.flatMap((g) => g.fields.map((f) => f.path)))),\n [sections],\n );\n\n return useMemo<SearchFormContext>(\n () => ({\n id: searchId,\n publicKey,\n form: asFormHandle(core.form),\n sections,\n fields,\n fieldPaths,\n connectionsStatus: core.connectionsStatus,\n fieldLoadStates: core.fieldLoadStates,\n fieldLoaderErrors: core.fieldLoaderErrors,\n loadingFieldLoaders: core.loadingFieldLoaders,\n hasFieldLoaderError: core.hasFieldLoaderError,\n isFieldLoaderLoading: core.isFieldLoaderLoading,\n resolvers,\n store,\n reset: core.reset,\n }),\n [\n searchId,\n publicKey,\n core.form,\n sections,\n fields,\n fieldPaths,\n core.connectionsStatus,\n core.fieldLoadStates,\n core.fieldLoaderErrors,\n core.loadingFieldLoaders,\n core.hasFieldLoaderError,\n core.isFieldLoaderLoading,\n resolvers,\n store,\n core.reset,\n ],\n );\n}\n"],"mappings":";;;;;;AAoCA,SAAgB,cAAc,SAAkD;CAC9E,MAAM,EACJ,UACA,WACA,eACA,WACA,aACA,OAAO,cACP,YACA,UACA,YACE;CAEJ,MAAM,SAAS,cAAc,uBAAuB,SAAS,EAAE,CAAC,SAAS,CAAC;CAE1E,MAAM,CAAC,OAAO,YAAY,SAAoB,gBAAgB,EAAE,eAAe,EAAE,EAAE,CAAC;CAKpF,MAAM,oBAAoB,WAAW,kBAAkB;CAgBvD,MAAM,OAAO,YAA2B;EACtC,gBAAgB;EAChB,MAAM;EACN;EACA;EACA;EACA;EACA;EACA,YApBiB,cAAc;AAC/B,UAAO,2BAA2B;IAChC,eAAe,iBAAkB,EAAE,WAAW,UAAU;IACxD,aAAa;IACb,eAAe;KACb;KACA,UAAU,oBAAoB,WAAW;MAAE,GAAG;MAAU,WAAW;MAAM;KACzE;KACD;IACF,CAAC;KACD;GAAC;GAAU;GAAe;GAbJ,KAAK,UAAU;IAAE;IAAY;IAAU;IAAS;IAAmB,CAAC;GAaxC,CAAC;EAWpD;EACA;EACD,CAAC;CAEF,MAAM,WAAW,KAAK;CAEtB,MAAM,SAAS,cACP,SAAS,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,OAAO,CAAC,EAChE,CAAC,SAAS,CACX;CAED,MAAM,aAAa,cACX,IAAI,IAAI,SAAS,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAC5F,CAAC,SAAS,CACX;AAED,QAAO,eACE;EACL,IAAI;EACJ;EACA,MAAM,aAAa,KAAK,KAAK;EAC7B;EACA;EACA;EACA,mBAAmB,KAAK;EACxB,iBAAiB,KAAK;EACtB,mBAAmB,KAAK;EACxB,qBAAqB,KAAK;EAC1B,qBAAqB,KAAK;EAC1B,sBAAsB,KAAK;EAC3B;EACA;EACA,OAAO,KAAK;EACb,GACD;EACE;EACA;EACA,KAAK;EACL;EACA;EACA;EACA,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL;EACA;EACA,KAAK;EACN,CACF"}
@@ -0,0 +1,35 @@
1
+ import { PipeFormContext } from "../context/pipe-form-context.mjs";
2
+ import { GroupMap, PathMap, SectionMap } from "../types/form-customization.mjs";
3
+ import { FormResolvers, FormStore, SheetEffectId, SheetEffectPayload, ValidationContext } from "@pipe0/base";
4
+
5
+ //#region src/hooks/use-sheet-effect-form.d.ts
6
+ interface UseSheetEffectFormOptions {
7
+ effectId: SheetEffectId;
8
+ publicKey: string;
9
+ defaultValues?: SheetEffectPayload;
10
+ resolvers?: FormResolvers;
11
+ validationContext?: ValidationContext;
12
+ store?: FormStore;
13
+ /** Hide / relabel / reorder sections by section key. `null` hides a section. */
14
+ sectionMap?: SectionMap;
15
+ /** Hide / relabel / reorder groups by group path. `null` hides a group. */
16
+ groupMap?: GroupMap;
17
+ /** Hide / relabel fields by field path. `null` hides a field. */
18
+ pathMap?: PathMap;
19
+ scopes?: string[];
20
+ teamId?: string;
21
+ }
22
+ /**
23
+ * Effect analog of `usePipeForm` — drives a form for a sheet-effect payload
24
+ * (e.g. `sheet:rows:dedupe@1`) from `getSheetEffectPayloadFormConfig`.
25
+ *
26
+ * Returns a `PipeFormContext`-shaped object so the existing `<PipeForm>`
27
+ * compound components render it unchanged (the context interface is
28
+ * structural; only the `id`/payload generics differ). A dedicated
29
+ * `SheetEffectForm` compound family can be split out once effect forms need
30
+ * to diverge visually.
31
+ */
32
+ declare function useSheetEffectForm(options: UseSheetEffectFormOptions): PipeFormContext;
33
+ //#endregion
34
+ export { UseSheetEffectFormOptions, useSheetEffectForm };
35
+ //# sourceMappingURL=use-sheet-effect-form.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sheet-effect-form.d.mts","names":[],"sources":["../../src/hooks/use-sheet-effect-form.ts"],"mappings":";;;;;UAgBiB,yBAAA;EACf,QAAA,EAAU,aAAA;EACV,SAAA;EACA,aAAA,GAAgB,kBAAA;EAChB,SAAA,GAAY,aAAA;EACZ,iBAAA,GAAoB,iBAAA;EACpB,KAAA,GAAQ,SAAA;EAFI;EAIZ,UAAA,GAAa,UAAA;EAFL;EAIR,QAAA,GAAW,QAAA;EAAA;EAEX,OAAA,GAAU,OAAA;EACV,MAAA;EACA,MAAA;AAAA;;;;;;;;;;;iBAac,kBAAA,CAAmB,OAAA,EAAS,yBAAA,GAA4B,eAAA"}
@@ -0,0 +1,103 @@
1
+ import { asFormHandle } from "../utils/internal-form.mjs";
2
+ import { useFormCore } from "./use-form-core.mjs";
3
+ import { useMemo, useState } from "react";
4
+ import { getSheetEffectDefaultPayload, getSheetEffectPayloadFormConfig, getSheetEffectPayloadSchema } from "@pipe0/base";
5
+
6
+ //#region src/hooks/use-sheet-effect-form.ts
7
+ /**
8
+ * Effect analog of `usePipeForm` — drives a form for a sheet-effect payload
9
+ * (e.g. `sheet:rows:dedupe@1`) from `getSheetEffectPayloadFormConfig`.
10
+ *
11
+ * Returns a `PipeFormContext`-shaped object so the existing `<PipeForm>`
12
+ * compound components render it unchanged (the context interface is
13
+ * structural; only the `id`/payload generics differ). A dedicated
14
+ * `SheetEffectForm` compound family can be split out once effect forms need
15
+ * to diverge visually.
16
+ */
17
+ function useSheetEffectForm(options) {
18
+ const { effectId, publicKey, defaultValues, resolvers, validationContext, store: defaultFormStore, sectionMap, groupMap, pathMap, scopes, teamId } = options;
19
+ const schema = useMemo(() => getSheetEffectPayloadSchema(effectId), [effectId]);
20
+ const [store, setStore] = useState(defaultFormStore ?? { field_options: {} });
21
+ const hasGetConnections = resolvers?.getConnections != null;
22
+ const core = useFormCore({
23
+ pipeOrSearchId: effectId,
24
+ kind: "effect",
25
+ schema,
26
+ publicKey,
27
+ defaultValues,
28
+ store,
29
+ setStore,
30
+ formConfig: useMemo(() => {
31
+ const defaultPayload = getSheetEffectDefaultPayload(effectId);
32
+ if (!defaultPayload) throw new Error("No default payload");
33
+ return getSheetEffectPayloadFormConfig({
34
+ effectPayload: defaultPayload,
35
+ store,
36
+ validationContext,
37
+ formResolvers: resolvers,
38
+ customization: {
39
+ sectionMap,
40
+ groupMap: hasGetConnections ? groupMap : {
41
+ ...groupMap,
42
+ connector: null
43
+ },
44
+ pathMap
45
+ }
46
+ });
47
+ }, [
48
+ effectId,
49
+ validationContext,
50
+ store,
51
+ JSON.stringify({
52
+ sectionMap,
53
+ groupMap,
54
+ pathMap,
55
+ hasGetConnections
56
+ })
57
+ ]),
58
+ resolvers,
59
+ environment: validationContext?.environment,
60
+ scopes,
61
+ teamId
62
+ });
63
+ const sections = core.sections;
64
+ const fields = useMemo(() => sections.flatMap((s) => s.groups.flatMap((g) => g.fields)), [sections]);
65
+ const fieldPaths = useMemo(() => new Set(sections.flatMap((s) => s.groups.flatMap((g) => g.fields.map((f) => f.path)))), [sections]);
66
+ return useMemo(() => ({
67
+ id: effectId,
68
+ publicKey,
69
+ form: asFormHandle(core.form),
70
+ sections,
71
+ fields,
72
+ fieldPaths,
73
+ connectionsStatus: core.connectionsStatus,
74
+ fieldLoadStates: core.fieldLoadStates,
75
+ fieldLoaderErrors: core.fieldLoaderErrors,
76
+ loadingFieldLoaders: core.loadingFieldLoaders,
77
+ hasFieldLoaderError: core.hasFieldLoaderError,
78
+ isFieldLoaderLoading: core.isFieldLoaderLoading,
79
+ resolvers,
80
+ store,
81
+ reset: core.reset
82
+ }), [
83
+ effectId,
84
+ publicKey,
85
+ core.form,
86
+ sections,
87
+ fields,
88
+ fieldPaths,
89
+ core.connectionsStatus,
90
+ core.fieldLoadStates,
91
+ core.fieldLoaderErrors,
92
+ core.loadingFieldLoaders,
93
+ core.hasFieldLoaderError,
94
+ core.isFieldLoaderLoading,
95
+ resolvers,
96
+ store,
97
+ core.reset
98
+ ]);
99
+ }
100
+
101
+ //#endregion
102
+ export { useSheetEffectForm };
103
+ //# sourceMappingURL=use-sheet-effect-form.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sheet-effect-form.mjs","names":[],"sources":["../../src/hooks/use-sheet-effect-form.ts"],"sourcesContent":["import {\n type FormResolvers,\n type FormStore,\n getSheetEffectDefaultPayload,\n getSheetEffectPayloadFormConfig,\n getSheetEffectPayloadSchema,\n type SheetEffectId,\n type SheetEffectPayload,\n type ValidationContext,\n} from \"@pipe0/base\";\nimport { useMemo, useState } from \"react\";\nimport type { PipeFormContext } from \"../context/pipe-form-context.js\";\nimport type { GroupMap, PathMap, SectionMap } from \"../types/form-customization.js\";\nimport { asFormHandle } from \"../utils/internal-form.js\";\nimport { useFormCore } from \"./use-form-core.js\";\n\nexport interface UseSheetEffectFormOptions {\n effectId: SheetEffectId;\n publicKey: string;\n defaultValues?: SheetEffectPayload;\n resolvers?: FormResolvers;\n validationContext?: ValidationContext;\n store?: FormStore;\n /** Hide / relabel / reorder sections by section key. `null` hides a section. */\n sectionMap?: SectionMap;\n /** Hide / relabel / reorder groups by group path. `null` hides a group. */\n groupMap?: GroupMap;\n /** Hide / relabel fields by field path. `null` hides a field. */\n pathMap?: PathMap;\n scopes?: string[];\n teamId?: string;\n}\n\n/**\n * Effect analog of `usePipeForm` — drives a form for a sheet-effect payload\n * (e.g. `sheet:rows:dedupe@1`) from `getSheetEffectPayloadFormConfig`.\n *\n * Returns a `PipeFormContext`-shaped object so the existing `<PipeForm>`\n * compound components render it unchanged (the context interface is\n * structural; only the `id`/payload generics differ). A dedicated\n * `SheetEffectForm` compound family can be split out once effect forms need\n * to diverge visually.\n */\nexport function useSheetEffectForm(options: UseSheetEffectFormOptions): PipeFormContext {\n const {\n effectId,\n publicKey,\n defaultValues,\n resolvers,\n validationContext,\n store: defaultFormStore,\n sectionMap,\n groupMap,\n pathMap,\n scopes,\n teamId,\n } = options;\n\n const schema = useMemo(() => getSheetEffectPayloadSchema(effectId), [effectId]);\n\n const [store, setStore] = useState<FormStore>(defaultFormStore ?? { field_options: {} });\n\n // Connector auto-hides without a `getConnections` resolver — it's a *group*\n // (groupPath \"connector\"), so hide it via `groupMap`. Mirrors `usePipeForm`.\n const hasGetConnections = resolvers?.getConnections != null;\n const customizationKey = JSON.stringify({ sectionMap, groupMap, pathMap, hasGetConnections });\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: customization inputs + resolver flag are tracked by value via `customizationKey` to keep the config stable across inline-object renders.\n const formConfig = useMemo(() => {\n const defaultPayload = getSheetEffectDefaultPayload(effectId);\n if (!defaultPayload) throw new Error(\"No default payload\");\n\n return getSheetEffectPayloadFormConfig({\n effectPayload: defaultPayload as SheetEffectPayload,\n store,\n validationContext,\n formResolvers: resolvers,\n customization: {\n sectionMap,\n groupMap: hasGetConnections ? groupMap : { ...groupMap, connector: null },\n pathMap,\n },\n });\n }, [effectId, validationContext, store, customizationKey]);\n\n const core = useFormCore<SheetEffectPayload>({\n pipeOrSearchId: effectId,\n kind: \"effect\",\n schema,\n publicKey,\n defaultValues,\n store,\n setStore,\n formConfig,\n resolvers,\n environment: validationContext?.environment,\n scopes,\n teamId,\n });\n\n const sections = core.sections;\n\n const fields = useMemo(\n () => sections.flatMap((s) => s.groups.flatMap((g) => g.fields)),\n [sections],\n );\n\n const fieldPaths = useMemo(\n () => new Set(sections.flatMap((s) => s.groups.flatMap((g) => g.fields.map((f) => f.path)))),\n [sections],\n );\n\n return useMemo<PipeFormContext>(\n () => ({\n // Structural reuse of PipeFormContext — see the function docblock.\n id: effectId as unknown as PipeFormContext[\"id\"],\n publicKey,\n form: asFormHandle(core.form) as unknown as PipeFormContext[\"form\"],\n sections,\n fields,\n fieldPaths,\n connectionsStatus: core.connectionsStatus,\n fieldLoadStates: core.fieldLoadStates,\n fieldLoaderErrors: core.fieldLoaderErrors,\n loadingFieldLoaders: core.loadingFieldLoaders,\n hasFieldLoaderError: core.hasFieldLoaderError,\n isFieldLoaderLoading: core.isFieldLoaderLoading,\n resolvers,\n store,\n reset: core.reset as unknown as PipeFormContext[\"reset\"],\n }),\n [\n effectId,\n publicKey,\n core.form,\n sections,\n fields,\n fieldPaths,\n core.connectionsStatus,\n core.fieldLoadStates,\n core.fieldLoaderErrors,\n core.loadingFieldLoaders,\n core.hasFieldLoaderError,\n core.isFieldLoaderLoading,\n resolvers,\n store,\n core.reset,\n ],\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA2CA,SAAgB,mBAAmB,SAAqD;CACtF,MAAM,EACJ,UACA,WACA,eACA,WACA,mBACA,OAAO,kBACP,YACA,UACA,SACA,QACA,WACE;CAEJ,MAAM,SAAS,cAAc,4BAA4B,SAAS,EAAE,CAAC,SAAS,CAAC;CAE/E,MAAM,CAAC,OAAO,YAAY,SAAoB,oBAAoB,EAAE,eAAe,EAAE,EAAE,CAAC;CAIxF,MAAM,oBAAoB,WAAW,kBAAkB;CAqBvD,MAAM,OAAO,YAAgC;EAC3C,gBAAgB;EAChB,MAAM;EACN;EACA;EACA;EACA;EACA;EACA,YAzBiB,cAAc;GAC/B,MAAM,iBAAiB,6BAA6B,SAAS;AAC7D,OAAI,CAAC,eAAgB,OAAM,IAAI,MAAM,qBAAqB;AAE1D,UAAO,gCAAgC;IACrC,eAAe;IACf;IACA;IACA,eAAe;IACf,eAAe;KACb;KACA,UAAU,oBAAoB,WAAW;MAAE,GAAG;MAAU,WAAW;MAAM;KACzE;KACD;IACF,CAAC;KACD;GAAC;GAAU;GAAmB;GAlBR,KAAK,UAAU;IAAE;IAAY;IAAU;IAAS;IAAmB,CAAC;GAkBpC,CAAC;EAWxD;EACA,aAAa,mBAAmB;EAChC;EACA;EACD,CAAC;CAEF,MAAM,WAAW,KAAK;CAEtB,MAAM,SAAS,cACP,SAAS,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,OAAO,CAAC,EAChE,CAAC,SAAS,CACX;CAED,MAAM,aAAa,cACX,IAAI,IAAI,SAAS,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAC5F,CAAC,SAAS,CACX;AAED,QAAO,eACE;EAEL,IAAI;EACJ;EACA,MAAM,aAAa,KAAK,KAAK;EAC7B;EACA;EACA;EACA,mBAAmB,KAAK;EACxB,iBAAiB,KAAK;EACtB,mBAAmB,KAAK;EACxB,qBAAqB,KAAK;EAC1B,qBAAqB,KAAK;EAC1B,sBAAsB,KAAK;EAC3B;EACA;EACA,OAAO,KAAK;EACb,GACD;EACE;EACA;EACA,KAAK;EACL;EACA;EACA;EACA,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL;EACA;EACA,KAAK;EACN,CACF"}
package/dist/index.d.mts CHANGED
@@ -1,5 +1,12 @@
1
+ import { CatalogClassNames, CatalogComponentOverrides, CostMode, EffectCardData, PipeCardData, SearchCardData, SearchesCardData } from "./types/catalog-adapters.mjs";
2
+ import { EffectCatalogCard, EffectCatalogCardProps, EffectCatalogCardState } from "./components/compound/effect-catalog/card.mjs";
3
+ import { EffectCatalogCategoryFilter, EffectCatalogCategoryFilterProps, EffectCatalogCategoryFilterState } from "./components/compound/effect-catalog/category-filter.mjs";
4
+ import { EffectCatalogEmpty, EffectCatalogEmptyProps, EffectCatalogEmptyState } from "./components/compound/effect-catalog/empty.mjs";
5
+ import { EffectCatalogList, EffectCatalogListProps, EffectCatalogListState } from "./components/compound/effect-catalog/list.mjs";
6
+ import { UseEffectCatalogTableReturn, useEffectCatalogTable } from "./hooks/use-effect-catalog-table.mjs";
7
+ import { EffectCatalog, EffectCatalogInstanceProps, EffectCatalogProps, EffectCatalogZeroConfigProps } from "./components/compound/effect-catalog/root.mjs";
8
+ import { EffectCatalogSearchFilter, EffectCatalogSearchFilterProps, EffectCatalogSearchFilterState } from "./components/compound/effect-catalog/search-filter.mjs";
1
9
  import { ActiveFilter, PipeCatalogActiveFilters, PipeCatalogActiveFiltersProps, PipeCatalogActiveFiltersState } from "./components/compound/pipe-catalog/active-filters.mjs";
2
- import { CatalogClassNames, CatalogComponentOverrides, CostMode, PipeCardData, SearchCardData, SearchesCardData } from "./types/catalog-adapters.mjs";
3
10
  import { PipeCatalogCard, PipeCatalogCardProps } from "./components/compound/pipe-catalog/card.mjs";
4
11
  import { PipeCatalogCategoryFilter, PipeCatalogCategoryFilterProps, PipeCatalogCategoryFilterState } from "./components/compound/pipe-catalog/category-filter.mjs";
5
12
  import { ColumnFilterState, PipeCatalogColumnFilter, PipeCatalogColumnFilterProps, PipeColumnFilterId } from "./components/compound/pipe-catalog/column-filter.mjs";
@@ -22,7 +29,8 @@ import { PipeFormFooter } from "./components/compound/pipe-form/footer.mjs";
22
29
  import { PipeFormGroup } from "./components/compound/pipe-form/group.mjs";
23
30
  import { PipeFormHeader } from "./components/compound/pipe-form/header.mjs";
24
31
  import { PipeFormContext, usePipeFormContext } from "./context/pipe-form-context.mjs";
25
- import { FieldAdapterMap, FormClassNames } from "./types/adapters.mjs";
32
+ import { Alert, AlertDescription, AlertProps, AlertTitle, AlertVariant, alertVariants } from "./components/ui/alert.mjs";
33
+ import { FieldAdapterMap, FormClassNames, FormComponents } from "./types/adapters.mjs";
26
34
  import { GroupMap, GroupOverride, PathMap, PathOverride, SectionMap, SectionOverride } from "./types/form-customization.mjs";
27
35
  import { PipeForm, PipeFormInstanceProps, PipeFormProps, PipeFormZeroConfigProps } from "./components/compound/pipe-form/root.mjs";
28
36
  import { PipeFormSection } from "./components/compound/pipe-form/section.mjs";
@@ -74,6 +82,9 @@ import { CatalogProviderAvatars, CatalogProviderAvatarsProps } from "./component
74
82
  import { FieldKind } from "./types/field-handle.mjs";
75
83
  import { FieldRenderer } from "./components/field-renderer.mjs";
76
84
  import { CatalogConfig, CatalogProvider, CatalogProviderProps, CatalogRoot, useCatalogConfig } from "./context/catalog-config-context.mjs";
85
+ import { EffectCatalogCardContext, EffectCatalogCardContextValue, useEffectCatalogCard } from "./context/effect-catalog-card-context.mjs";
86
+ import { EffectCatalogContext, EffectCatalogContextValue, useEffectCatalogContext } from "./context/effect-catalog-context.mjs";
87
+ import { FormConfig, useFormAlert, useFormConfig } from "./context/form-context.mjs";
77
88
  import { FormProvider, FormRoot } from "./context/form-provider.mjs";
78
89
  import { PipeCatalogCardContext, PipeCatalogCardContextValue, usePipeCatalogCard } from "./context/pipe-catalog-card-context.mjs";
79
90
  import { PipeCatalogContext, PipeCatalogContextValue, usePipeCatalogContext } from "./context/pipe-catalog-context.mjs";
@@ -85,6 +96,7 @@ import { SearchesCatalogContext, SearchesCatalogContextValue, useSearchesCatalog
85
96
  import { useFieldError } from "./hooks/use-field-error.mjs";
86
97
  import { UsePipeFormOptions, usePipeForm } from "./hooks/use-pipe-form.mjs";
87
98
  import { UseSearchFormOptions, useSearchForm } from "./hooks/use-search-form.mjs";
99
+ import { UseSheetEffectFormOptions, useSheetEffectForm } from "./hooks/use-sheet-effect-form.mjs";
88
100
  import { fuzzyFilter, getFieldStatusIcon, getFieldTypeIcon } from "./utils/catalog-helpers.mjs";
89
101
  import { EmojiGlyph } from "./widgets/emoji-glyph.mjs";
90
102
  import { FieldTypeBadge } from "./widgets/field-type-badge.mjs";
@@ -94,4 +106,4 @@ import { PricingBadge } from "./widgets/pricing-badge.mjs";
94
106
  import { ProviderLogo } from "./widgets/provider-logo.mjs";
95
107
  import { WidgetStrip } from "./widgets/widget-strip.mjs";
96
108
  import { WidgetView } from "./widgets/widget-view.mjs";
97
- export { type AnyFieldProps as AnyFieldHandle, AvatarGroup, type AvatarGroupProps, type AvatarGroupState, CatalogCard, CatalogCardBadge, type CatalogCardBadgeProps, CatalogCardBadges, type CatalogCardBadgesProps, CatalogCardDescription, type CatalogCardDescriptionProps, CatalogCardHeader, type CatalogCardHeaderProps, type CatalogCardProps, CatalogCardTitle, type CatalogCardTitleProps, CatalogCategorySection, type CatalogCategorySectionProps, type CatalogClassNames, type CatalogComponentOverrides, type CatalogConfig, CatalogCopyId, type CatalogCopyIdProps, CatalogCreditBadge, type CatalogCreditBadgeProps, CatalogDocsBadge, type CatalogDocsBadgeProps, CatalogFieldBadge, type CatalogFieldBadgeProps, type CatalogFieldBadgeState, CatalogProvider, CatalogProviderAvatars, type CatalogProviderAvatarsProps, type CatalogProviderProps, CatalogRoot, type CostMode, EmojiGlyph, type FieldAdapterMap, type GeneratedFieldProps as FieldHandle, type FieldKind, type FieldMeta, FieldRenderer, FieldTypeBadge, type FormClassNames, type FormErrorEntry, type FormErrors, type FormFieldState, type FormHandle, FormProvider, type FormResetFieldOptions, type FormResetOptions, FormRoot, type FormSetValueOptions, type FormStateSnapshot, type GroupMap, type GroupOverride, IconGlyph, type InputFieldEntries, LogoUrl, type OutputFieldEntries, type PathMap, type PathOverride, type ActiveFilter as PipeActiveFilter, type PipeCardData, PipeCatalog, PipeCatalogActiveFilters, type PipeCatalogActiveFiltersProps, type PipeCatalogActiveFiltersState, PipeCatalogCard, PipeCatalogCardContext, type PipeCatalogCardContextValue, type PipeCatalogCardProps, PipeCatalogCategoryFilter, type PipeCatalogCategoryFilterProps, type PipeCatalogCategoryFilterState, PipeCatalogColumnFilter, type PipeCatalogColumnFilterProps, PipeCatalogColumnFilters, type PipeCatalogColumnFiltersProps, PipeCatalogContext, type PipeCatalogContextValue, PipeCatalogEmpty, type PipeCatalogEmptyProps, type PipeCatalogEmptyState, PipeCatalogInputFieldFilter, type PipeCatalogInputFieldFilterProps, type PipeCatalogInstanceProps, PipeCatalogList, type PipeCatalogListProps, type PipeCatalogListState, PipeCatalogOutputFieldFilter, type PipeCatalogOutputFieldFilterProps, type PipeCatalogProps, PipeCatalogProviderFilter, type PipeCatalogProviderFilterProps, PipeCatalogSearchFilter, type PipeCatalogSearchFilterProps, type PipeCatalogSearchFilterState, PipeCatalogTagFilter, type PipeCatalogTagFilterProps, type PipeCatalogZeroConfigProps, type PipeColumnFilterId, type ColumnFilterState as PipeColumnFilterState, PipeForm, PipeFormContent, PipeFormContext, PipeFormErrors, PipeFormField, PipeFormFooter, PipeFormGroup, PipeFormHeader, type PipeFormInstanceProps, type PipeFormProps, PipeFormSection, PipeFormSubmitButton, PipeFormTitle, type PipeFormZeroConfigProps, PricingBadge, ProviderLogo, type ActiveFilter$1 as SearchActiveFilter, type SearchCardData, SearchCatalog, SearchCatalogActiveFilters, type SearchCatalogActiveFiltersProps, type SearchCatalogActiveFiltersState, SearchCatalogCard, SearchCatalogCardContext, type SearchCatalogCardContextValue, type SearchCatalogCardProps, SearchCatalogCategoryFilter, type SearchCatalogCategoryFilterProps, type SearchCatalogCategoryFilterState, SearchCatalogColumnFilter, type SearchCatalogColumnFilterProps, SearchCatalogColumnFilters, type SearchCatalogColumnFiltersProps, SearchCatalogContext, type SearchCatalogContextValue, SearchCatalogEmpty, type SearchCatalogEmptyProps, type SearchCatalogEmptyState, type SearchCatalogInstanceProps, SearchCatalogList, type SearchCatalogListProps, type SearchCatalogListState, SearchCatalogOutputFieldFilter, type SearchCatalogOutputFieldFilterProps, type SearchCatalogProps, SearchCatalogProviderFilter, type SearchCatalogProviderFilterProps, SearchCatalogSearchFilter, type SearchCatalogSearchFilterProps, type SearchCatalogSearchFilterState, SearchCatalogTagFilter, type SearchCatalogTagFilterProps, type SearchCatalogZeroConfigProps, type SearchColumnFilterId, type ColumnFilterState$1 as SearchColumnFilterState, SearchForm, SearchFormContent, SearchFormContext, SearchFormErrors, SearchFormField, SearchFormFooter, SearchFormGroup, SearchFormHeader, type SearchFormInstanceProps, type SearchFormProps, SearchFormSection, SearchFormSubmitButton, SearchFormTitle, type SearchFormZeroConfigProps, type SearchOutputFieldEntries, type ActiveFilter$2 as SearchesActiveFilter, type SearchesCardData, SearchesCatalog, SearchesCatalogActiveFilters, type SearchesCatalogActiveFiltersProps, type SearchesCatalogActiveFiltersState, SearchesCatalogCard, SearchesCatalogCardContext, type SearchesCatalogCardContextValue, type SearchesCatalogCardProps, SearchesCatalogCategoryFilter, type SearchesCatalogCategoryFilterProps, type SearchesCatalogCategoryFilterState, SearchesCatalogColumnFilter, type SearchesCatalogColumnFilterProps, SearchesCatalogColumnFilters, type SearchesCatalogColumnFiltersProps, SearchesCatalogContext, type SearchesCatalogContextValue, SearchesCatalogEmpty, type SearchesCatalogEmptyProps, type SearchesCatalogEmptyState, type SearchesCatalogInstanceProps, SearchesCatalogList, type SearchesCatalogListProps, type SearchesCatalogListState, SearchesCatalogOutputFieldFilter, type SearchesCatalogOutputFieldFilterProps, type SearchesCatalogProps, SearchesCatalogProviderFilter, type SearchesCatalogProviderFilterProps, SearchesCatalogSearchFilter, type SearchesCatalogSearchFilterProps, type SearchesCatalogSearchFilterState, SearchesCatalogTagFilter, type SearchesCatalogTagFilterProps, type SearchesCatalogZeroConfigProps, type SearchesColumnFilterId, type ColumnFilterState$2 as SearchesColumnFilterState, type SearchesOutputFieldEntries, type SectionMap, type SectionOverride, type UsePipeCatalogTableReturn, type UsePipeFormOptions, type UseSearchCatalogTableReturn, type UseSearchFormOptions, type UseSearchesCatalogTableReturn, WidgetStrip, WidgetView, defaultAdapters, fuzzyFilter, getFieldStatusIcon, getFieldTypeIcon, useCatalogConfig, useFieldError, usePipeCatalogCard, usePipeCatalogContext, usePipeCatalogTable, usePipeForm, usePipeFormContext, usePortalContainer, useSearchCatalogCard, useSearchCatalogContext, useSearchCatalogTable, useSearchForm, useSearchFormContext, useSearchesCatalogCard, useSearchesCatalogContext, useSearchesCatalogTable };
109
+ export { Alert, AlertDescription, type AlertProps, AlertTitle, type AlertVariant, type AnyFieldProps as AnyFieldHandle, AvatarGroup, type AvatarGroupProps, type AvatarGroupState, CatalogCard, CatalogCardBadge, type CatalogCardBadgeProps, CatalogCardBadges, type CatalogCardBadgesProps, CatalogCardDescription, type CatalogCardDescriptionProps, CatalogCardHeader, type CatalogCardHeaderProps, type CatalogCardProps, CatalogCardTitle, type CatalogCardTitleProps, CatalogCategorySection, type CatalogCategorySectionProps, type CatalogClassNames, type CatalogComponentOverrides, type CatalogConfig, CatalogCopyId, type CatalogCopyIdProps, CatalogCreditBadge, type CatalogCreditBadgeProps, CatalogDocsBadge, type CatalogDocsBadgeProps, CatalogFieldBadge, type CatalogFieldBadgeProps, type CatalogFieldBadgeState, CatalogProvider, CatalogProviderAvatars, type CatalogProviderAvatarsProps, type CatalogProviderProps, CatalogRoot, type CostMode, type EffectCardData, EffectCatalog, EffectCatalogCard, EffectCatalogCardContext, type EffectCatalogCardContextValue, type EffectCatalogCardProps, type EffectCatalogCardState, EffectCatalogCategoryFilter, type EffectCatalogCategoryFilterProps, type EffectCatalogCategoryFilterState, EffectCatalogContext, type EffectCatalogContextValue, EffectCatalogEmpty, type EffectCatalogEmptyProps, type EffectCatalogEmptyState, type EffectCatalogInstanceProps, EffectCatalogList, type EffectCatalogListProps, type EffectCatalogListState, type EffectCatalogProps, EffectCatalogSearchFilter, type EffectCatalogSearchFilterProps, type EffectCatalogSearchFilterState, type EffectCatalogZeroConfigProps, EmojiGlyph, type FieldAdapterMap, type GeneratedFieldProps as FieldHandle, type FieldKind, type FieldMeta, FieldRenderer, FieldTypeBadge, type FormClassNames, type FormComponents, type FormConfig, type FormErrorEntry, type FormErrors, type FormFieldState, type FormHandle, FormProvider, type FormResetFieldOptions, type FormResetOptions, FormRoot, type FormSetValueOptions, type FormStateSnapshot, type GroupMap, type GroupOverride, IconGlyph, type InputFieldEntries, LogoUrl, type OutputFieldEntries, type PathMap, type PathOverride, type ActiveFilter as PipeActiveFilter, type PipeCardData, PipeCatalog, PipeCatalogActiveFilters, type PipeCatalogActiveFiltersProps, type PipeCatalogActiveFiltersState, PipeCatalogCard, PipeCatalogCardContext, type PipeCatalogCardContextValue, type PipeCatalogCardProps, PipeCatalogCategoryFilter, type PipeCatalogCategoryFilterProps, type PipeCatalogCategoryFilterState, PipeCatalogColumnFilter, type PipeCatalogColumnFilterProps, PipeCatalogColumnFilters, type PipeCatalogColumnFiltersProps, PipeCatalogContext, type PipeCatalogContextValue, PipeCatalogEmpty, type PipeCatalogEmptyProps, type PipeCatalogEmptyState, PipeCatalogInputFieldFilter, type PipeCatalogInputFieldFilterProps, type PipeCatalogInstanceProps, PipeCatalogList, type PipeCatalogListProps, type PipeCatalogListState, PipeCatalogOutputFieldFilter, type PipeCatalogOutputFieldFilterProps, type PipeCatalogProps, PipeCatalogProviderFilter, type PipeCatalogProviderFilterProps, PipeCatalogSearchFilter, type PipeCatalogSearchFilterProps, type PipeCatalogSearchFilterState, PipeCatalogTagFilter, type PipeCatalogTagFilterProps, type PipeCatalogZeroConfigProps, type PipeColumnFilterId, type ColumnFilterState as PipeColumnFilterState, PipeForm, PipeFormContent, PipeFormContext, PipeFormErrors, PipeFormField, PipeFormFooter, PipeFormGroup, PipeFormHeader, type PipeFormInstanceProps, type PipeFormProps, PipeFormSection, PipeFormSubmitButton, PipeFormTitle, type PipeFormZeroConfigProps, PricingBadge, ProviderLogo, type ActiveFilter$1 as SearchActiveFilter, type SearchCardData, SearchCatalog, SearchCatalogActiveFilters, type SearchCatalogActiveFiltersProps, type SearchCatalogActiveFiltersState, SearchCatalogCard, SearchCatalogCardContext, type SearchCatalogCardContextValue, type SearchCatalogCardProps, SearchCatalogCategoryFilter, type SearchCatalogCategoryFilterProps, type SearchCatalogCategoryFilterState, SearchCatalogColumnFilter, type SearchCatalogColumnFilterProps, SearchCatalogColumnFilters, type SearchCatalogColumnFiltersProps, SearchCatalogContext, type SearchCatalogContextValue, SearchCatalogEmpty, type SearchCatalogEmptyProps, type SearchCatalogEmptyState, type SearchCatalogInstanceProps, SearchCatalogList, type SearchCatalogListProps, type SearchCatalogListState, SearchCatalogOutputFieldFilter, type SearchCatalogOutputFieldFilterProps, type SearchCatalogProps, SearchCatalogProviderFilter, type SearchCatalogProviderFilterProps, SearchCatalogSearchFilter, type SearchCatalogSearchFilterProps, type SearchCatalogSearchFilterState, SearchCatalogTagFilter, type SearchCatalogTagFilterProps, type SearchCatalogZeroConfigProps, type SearchColumnFilterId, type ColumnFilterState$1 as SearchColumnFilterState, SearchForm, SearchFormContent, SearchFormContext, SearchFormErrors, SearchFormField, SearchFormFooter, SearchFormGroup, SearchFormHeader, type SearchFormInstanceProps, type SearchFormProps, SearchFormSection, SearchFormSubmitButton, SearchFormTitle, type SearchFormZeroConfigProps, type SearchOutputFieldEntries, type ActiveFilter$2 as SearchesActiveFilter, type SearchesCardData, SearchesCatalog, SearchesCatalogActiveFilters, type SearchesCatalogActiveFiltersProps, type SearchesCatalogActiveFiltersState, SearchesCatalogCard, SearchesCatalogCardContext, type SearchesCatalogCardContextValue, type SearchesCatalogCardProps, SearchesCatalogCategoryFilter, type SearchesCatalogCategoryFilterProps, type SearchesCatalogCategoryFilterState, SearchesCatalogColumnFilter, type SearchesCatalogColumnFilterProps, SearchesCatalogColumnFilters, type SearchesCatalogColumnFiltersProps, SearchesCatalogContext, type SearchesCatalogContextValue, SearchesCatalogEmpty, type SearchesCatalogEmptyProps, type SearchesCatalogEmptyState, type SearchesCatalogInstanceProps, SearchesCatalogList, type SearchesCatalogListProps, type SearchesCatalogListState, SearchesCatalogOutputFieldFilter, type SearchesCatalogOutputFieldFilterProps, type SearchesCatalogProps, SearchesCatalogProviderFilter, type SearchesCatalogProviderFilterProps, SearchesCatalogSearchFilter, type SearchesCatalogSearchFilterProps, type SearchesCatalogSearchFilterState, SearchesCatalogTagFilter, type SearchesCatalogTagFilterProps, type SearchesCatalogZeroConfigProps, type SearchesColumnFilterId, type ColumnFilterState$2 as SearchesColumnFilterState, type SearchesOutputFieldEntries, type SectionMap, type SectionOverride, type UseEffectCatalogTableReturn, type UsePipeCatalogTableReturn, type UsePipeFormOptions, type UseSearchCatalogTableReturn, type UseSearchFormOptions, type UseSearchesCatalogTableReturn, type UseSheetEffectFormOptions, WidgetStrip, WidgetView, alertVariants, defaultAdapters, fuzzyFilter, getFieldStatusIcon, getFieldTypeIcon, useCatalogConfig, useEffectCatalogCard, useEffectCatalogContext, useEffectCatalogTable, useFieldError, useFormAlert, useFormConfig, usePipeCatalogCard, usePipeCatalogContext, usePipeCatalogTable, usePipeForm, usePipeFormContext, usePortalContainer, useSearchCatalogCard, useSearchCatalogContext, useSearchCatalogTable, useSearchForm, useSearchFormContext, useSearchesCatalogCard, useSearchesCatalogContext, useSearchesCatalogTable, useSheetEffectForm };
package/dist/index.mjs CHANGED
@@ -1,13 +1,23 @@
1
1
  import { usePortalContainer } from "./context/portal-container-context.mjs";
2
2
  import { CatalogProvider, CatalogRoot, useCatalogConfig } from "./context/catalog-config-context.mjs";
3
- import { PipeCatalogContext, usePipeCatalogContext } from "./context/pipe-catalog-context.mjs";
4
- import { PipeCatalogActiveFilters } from "./components/compound/pipe-catalog/active-filters.mjs";
3
+ import { EffectCatalogCardContext, useEffectCatalogCard } from "./context/effect-catalog-card-context.mjs";
4
+ import { EffectCatalogContext, useEffectCatalogContext } from "./context/effect-catalog-context.mjs";
5
5
  import { PipeCatalogCardContext, usePipeCatalogCard } from "./context/pipe-catalog-card-context.mjs";
6
+ import { PipeCatalogContext, usePipeCatalogContext } from "./context/pipe-catalog-context.mjs";
6
7
  import { SearchCatalogCardContext, useSearchCatalogCard } from "./context/search-catalog-card-context.mjs";
7
8
  import { SearchCatalogContext, useSearchCatalogContext } from "./context/search-catalog-context.mjs";
8
9
  import { SearchesCatalogCardContext, useSearchesCatalogCard } from "./context/searches-catalog-card-context.mjs";
9
10
  import { SearchesCatalogContext, useSearchesCatalogContext } from "./context/searches-catalog-context.mjs";
10
11
  import { CatalogCard, CatalogCardBadge, CatalogCardBadges, CatalogCardDescription, CatalogCardHeader, CatalogCardTitle } from "./components/defaults/catalog/card-primitives.mjs";
12
+ import { EffectCatalogCard } from "./components/compound/effect-catalog/card.mjs";
13
+ import { EffectCatalogCategoryFilter } from "./components/compound/effect-catalog/category-filter.mjs";
14
+ import { EffectCatalogEmpty } from "./components/compound/effect-catalog/empty.mjs";
15
+ import { EffectCatalogList } from "./components/compound/effect-catalog/list.mjs";
16
+ import { fuzzyFilter, getFieldStatusIcon, getFieldTypeIcon } from "./utils/catalog-helpers.mjs";
17
+ import { useEffectCatalogTable } from "./hooks/use-effect-catalog-table.mjs";
18
+ import { EffectCatalogSearchFilter } from "./components/compound/effect-catalog/search-filter.mjs";
19
+ import { EffectCatalog } from "./components/compound/effect-catalog/root.mjs";
20
+ import { PipeCatalogActiveFilters } from "./components/compound/pipe-catalog/active-filters.mjs";
11
21
  import { PipeCatalogCard } from "./components/compound/pipe-catalog/card.mjs";
12
22
  import { PipeCatalogCategoryFilter } from "./components/compound/pipe-catalog/category-filter.mjs";
13
23
  import { PipeCatalogColumnFilter } from "./components/compound/pipe-catalog/column-filter.mjs";
@@ -17,12 +27,13 @@ import { PipeCatalogProviderFilter } from "./components/compound/pipe-catalog/pr
17
27
  import { PipeCatalogColumnFilters } from "./components/compound/pipe-catalog/column-filters.mjs";
18
28
  import { PipeCatalogEmpty } from "./components/compound/pipe-catalog/empty.mjs";
19
29
  import { PipeCatalogList } from "./components/compound/pipe-catalog/list.mjs";
20
- import { fuzzyFilter, getFieldStatusIcon, getFieldTypeIcon } from "./utils/catalog-helpers.mjs";
21
30
  import { usePipeCatalogTable } from "./hooks/use-pipe-catalog-table.mjs";
22
31
  import { PipeCatalogSearchFilter } from "./components/compound/pipe-catalog/search-filter.mjs";
23
32
  import { PipeCatalog } from "./components/compound/pipe-catalog/root.mjs";
24
33
  import { PipeCatalogTagFilter } from "./components/compound/pipe-catalog/tag-filter.mjs";
25
34
  import { PipeFormContext, usePipeFormContext } from "./context/pipe-form-context.mjs";
35
+ import { Alert, AlertDescription, AlertTitle, alertVariants } from "./components/ui/alert.mjs";
36
+ import { useFormAlert, useFormConfig } from "./context/form-context.mjs";
26
37
  import { PipeFormErrors } from "./components/compound/pipe-form/errors.mjs";
27
38
  import { IconGlyph } from "./widgets/icon-glyph.mjs";
28
39
  import { useFieldError } from "./hooks/use-field-error.mjs";
@@ -88,5 +99,6 @@ import { SearchesCatalogTagFilter } from "./components/compound/searches-catalog
88
99
  import { CatalogCopyId, CatalogCreditBadge, CatalogDocsBadge, CatalogFieldBadge } from "./components/defaults/catalog/card-derived.mjs";
89
100
  import { CatalogCategorySection } from "./components/defaults/catalog/category-section.mjs";
90
101
  import { CatalogProviderAvatars } from "./components/defaults/catalog/provider-avatars.mjs";
102
+ import { useSheetEffectForm } from "./hooks/use-sheet-effect-form.mjs";
91
103
 
92
- export { AvatarGroup, CatalogCard, CatalogCardBadge, CatalogCardBadges, CatalogCardDescription, CatalogCardHeader, CatalogCardTitle, CatalogCategorySection, CatalogCopyId, CatalogCreditBadge, CatalogDocsBadge, CatalogFieldBadge, CatalogProvider, CatalogProviderAvatars, CatalogRoot, EmojiGlyph, FieldRenderer, FieldTypeBadge, FormProvider, FormRoot, IconGlyph, LogoUrl, PipeCatalog, PipeCatalogActiveFilters, PipeCatalogCard, PipeCatalogCardContext, PipeCatalogCategoryFilter, PipeCatalogColumnFilter, PipeCatalogColumnFilters, PipeCatalogContext, PipeCatalogEmpty, PipeCatalogInputFieldFilter, PipeCatalogList, PipeCatalogOutputFieldFilter, PipeCatalogProviderFilter, PipeCatalogSearchFilter, PipeCatalogTagFilter, PipeForm, PipeFormContent, PipeFormContext, PipeFormErrors, PipeFormField, PipeFormFooter, PipeFormGroup, PipeFormHeader, PipeFormSection, PipeFormSubmitButton, PipeFormTitle, PricingBadge, ProviderLogo, SearchCatalog, SearchCatalogActiveFilters, SearchCatalogCard, SearchCatalogCardContext, SearchCatalogCategoryFilter, SearchCatalogColumnFilter, SearchCatalogColumnFilters, SearchCatalogContext, SearchCatalogEmpty, SearchCatalogList, SearchCatalogOutputFieldFilter, SearchCatalogProviderFilter, SearchCatalogSearchFilter, SearchCatalogTagFilter, SearchForm, SearchFormContent, SearchFormContext, SearchFormErrors, SearchFormField, SearchFormFooter, SearchFormGroup, SearchFormHeader, SearchFormSection, SearchFormSubmitButton, SearchFormTitle, SearchesCatalog, SearchesCatalogActiveFilters, SearchesCatalogCard, SearchesCatalogCardContext, SearchesCatalogCategoryFilter, SearchesCatalogColumnFilter, SearchesCatalogColumnFilters, SearchesCatalogContext, SearchesCatalogEmpty, SearchesCatalogList, SearchesCatalogOutputFieldFilter, SearchesCatalogProviderFilter, SearchesCatalogSearchFilter, SearchesCatalogTagFilter, WidgetStrip, WidgetView, defaultAdapters, fuzzyFilter, getFieldStatusIcon, getFieldTypeIcon, useCatalogConfig, useFieldError, usePipeCatalogCard, usePipeCatalogContext, usePipeCatalogTable, usePipeForm, usePipeFormContext, usePortalContainer, useSearchCatalogCard, useSearchCatalogContext, useSearchCatalogTable, useSearchForm, useSearchFormContext, useSearchesCatalogCard, useSearchesCatalogContext, useSearchesCatalogTable };
104
+ export { Alert, AlertDescription, AlertTitle, AvatarGroup, CatalogCard, CatalogCardBadge, CatalogCardBadges, CatalogCardDescription, CatalogCardHeader, CatalogCardTitle, CatalogCategorySection, CatalogCopyId, CatalogCreditBadge, CatalogDocsBadge, CatalogFieldBadge, CatalogProvider, CatalogProviderAvatars, CatalogRoot, EffectCatalog, EffectCatalogCard, EffectCatalogCardContext, EffectCatalogCategoryFilter, EffectCatalogContext, EffectCatalogEmpty, EffectCatalogList, EffectCatalogSearchFilter, EmojiGlyph, FieldRenderer, FieldTypeBadge, FormProvider, FormRoot, IconGlyph, LogoUrl, PipeCatalog, PipeCatalogActiveFilters, PipeCatalogCard, PipeCatalogCardContext, PipeCatalogCategoryFilter, PipeCatalogColumnFilter, PipeCatalogColumnFilters, PipeCatalogContext, PipeCatalogEmpty, PipeCatalogInputFieldFilter, PipeCatalogList, PipeCatalogOutputFieldFilter, PipeCatalogProviderFilter, PipeCatalogSearchFilter, PipeCatalogTagFilter, PipeForm, PipeFormContent, PipeFormContext, PipeFormErrors, PipeFormField, PipeFormFooter, PipeFormGroup, PipeFormHeader, PipeFormSection, PipeFormSubmitButton, PipeFormTitle, PricingBadge, ProviderLogo, SearchCatalog, SearchCatalogActiveFilters, SearchCatalogCard, SearchCatalogCardContext, SearchCatalogCategoryFilter, SearchCatalogColumnFilter, SearchCatalogColumnFilters, SearchCatalogContext, SearchCatalogEmpty, SearchCatalogList, SearchCatalogOutputFieldFilter, SearchCatalogProviderFilter, SearchCatalogSearchFilter, SearchCatalogTagFilter, SearchForm, SearchFormContent, SearchFormContext, SearchFormErrors, SearchFormField, SearchFormFooter, SearchFormGroup, SearchFormHeader, SearchFormSection, SearchFormSubmitButton, SearchFormTitle, SearchesCatalog, SearchesCatalogActiveFilters, SearchesCatalogCard, SearchesCatalogCardContext, SearchesCatalogCategoryFilter, SearchesCatalogColumnFilter, SearchesCatalogColumnFilters, SearchesCatalogContext, SearchesCatalogEmpty, SearchesCatalogList, SearchesCatalogOutputFieldFilter, SearchesCatalogProviderFilter, SearchesCatalogSearchFilter, SearchesCatalogTagFilter, WidgetStrip, WidgetView, alertVariants, defaultAdapters, fuzzyFilter, getFieldStatusIcon, getFieldTypeIcon, useCatalogConfig, useEffectCatalogCard, useEffectCatalogContext, useEffectCatalogTable, useFieldError, useFormAlert, useFormConfig, usePipeCatalogCard, usePipeCatalogContext, usePipeCatalogTable, usePipeForm, usePipeFormContext, usePortalContainer, useSearchCatalogCard, useSearchCatalogContext, useSearchCatalogTable, useSearchForm, useSearchFormContext, useSearchesCatalogCard, useSearchesCatalogContext, useSearchesCatalogTable, useSheetEffectForm };