@pipe0/react 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +119 -0
- package/README.md +172 -0
- package/dist/components/compound/pipe-catalog/active-filters.d.mts +26 -0
- package/dist/components/compound/pipe-catalog/active-filters.d.mts.map +1 -0
- package/dist/components/compound/pipe-catalog/active-filters.mjs +47 -0
- package/dist/components/compound/pipe-catalog/active-filters.mjs.map +1 -0
- package/dist/components/compound/pipe-catalog/card.d.mts +30 -0
- package/dist/components/compound/pipe-catalog/card.d.mts.map +1 -0
- package/dist/components/compound/pipe-catalog/card.mjs +77 -0
- package/dist/components/compound/pipe-catalog/card.mjs.map +1 -0
- package/dist/components/compound/pipe-catalog/category-filter.d.mts +30 -0
- package/dist/components/compound/pipe-catalog/category-filter.d.mts.map +1 -0
- package/dist/components/compound/pipe-catalog/category-filter.mjs +56 -0
- package/dist/components/compound/pipe-catalog/category-filter.mjs.map +1 -0
- package/dist/components/compound/pipe-catalog/column-filter.d.mts +40 -0
- package/dist/components/compound/pipe-catalog/column-filter.d.mts.map +1 -0
- package/dist/components/compound/pipe-catalog/column-filter.mjs +66 -0
- package/dist/components/compound/pipe-catalog/column-filter.mjs.map +1 -0
- package/dist/components/compound/pipe-catalog/column-filters.d.mts +16 -0
- package/dist/components/compound/pipe-catalog/column-filters.d.mts.map +1 -0
- package/dist/components/compound/pipe-catalog/column-filters.mjs +21 -0
- package/dist/components/compound/pipe-catalog/column-filters.mjs.map +1 -0
- package/dist/components/compound/pipe-catalog/empty.d.mts +22 -0
- package/dist/components/compound/pipe-catalog/empty.d.mts.map +1 -0
- package/dist/components/compound/pipe-catalog/empty.mjs +31 -0
- package/dist/components/compound/pipe-catalog/empty.mjs.map +1 -0
- package/dist/components/compound/pipe-catalog/index.d.mts +13 -0
- package/dist/components/compound/pipe-catalog/index.mjs +15 -0
- package/dist/components/compound/pipe-catalog/input-field-filter.d.mts +22 -0
- package/dist/components/compound/pipe-catalog/input-field-filter.d.mts.map +1 -0
- package/dist/components/compound/pipe-catalog/input-field-filter.mjs +22 -0
- package/dist/components/compound/pipe-catalog/input-field-filter.mjs.map +1 -0
- package/dist/components/compound/pipe-catalog/list.d.mts +34 -0
- package/dist/components/compound/pipe-catalog/list.d.mts.map +1 -0
- package/dist/components/compound/pipe-catalog/list.mjs +29 -0
- package/dist/components/compound/pipe-catalog/list.mjs.map +1 -0
- package/dist/components/compound/pipe-catalog/output-field-filter.d.mts +22 -0
- package/dist/components/compound/pipe-catalog/output-field-filter.d.mts.map +1 -0
- package/dist/components/compound/pipe-catalog/output-field-filter.mjs +22 -0
- package/dist/components/compound/pipe-catalog/output-field-filter.mjs.map +1 -0
- package/dist/components/compound/pipe-catalog/provider-filter.d.mts +22 -0
- package/dist/components/compound/pipe-catalog/provider-filter.d.mts.map +1 -0
- package/dist/components/compound/pipe-catalog/provider-filter.mjs +29 -0
- package/dist/components/compound/pipe-catalog/provider-filter.mjs.map +1 -0
- package/dist/components/compound/pipe-catalog/root.d.mts +47 -0
- package/dist/components/compound/pipe-catalog/root.d.mts.map +1 -0
- package/dist/components/compound/pipe-catalog/root.mjs +85 -0
- package/dist/components/compound/pipe-catalog/root.mjs.map +1 -0
- package/dist/components/compound/pipe-catalog/search-filter.d.mts +24 -0
- package/dist/components/compound/pipe-catalog/search-filter.d.mts.map +1 -0
- package/dist/components/compound/pipe-catalog/search-filter.mjs +46 -0
- package/dist/components/compound/pipe-catalog/search-filter.mjs.map +1 -0
- package/dist/components/compound/pipe-catalog/tag-filter.d.mts +22 -0
- package/dist/components/compound/pipe-catalog/tag-filter.d.mts.map +1 -0
- package/dist/components/compound/pipe-catalog/tag-filter.mjs +22 -0
- package/dist/components/compound/pipe-catalog/tag-filter.mjs.map +1 -0
- package/dist/components/compound/pipe-form/content.d.mts +18 -0
- package/dist/components/compound/pipe-form/content.d.mts.map +1 -0
- package/dist/components/compound/pipe-form/content.mjs +45 -0
- package/dist/components/compound/pipe-form/content.mjs.map +1 -0
- package/dist/components/compound/pipe-form/field.d.mts +17 -0
- package/dist/components/compound/pipe-form/field.d.mts.map +1 -0
- package/dist/components/compound/pipe-form/field.mjs +21 -0
- package/dist/components/compound/pipe-form/field.mjs.map +1 -0
- package/dist/components/compound/pipe-form/footer.d.mts +14 -0
- package/dist/components/compound/pipe-form/footer.d.mts.map +1 -0
- package/dist/components/compound/pipe-form/footer.mjs +14 -0
- package/dist/components/compound/pipe-form/footer.mjs.map +1 -0
- package/dist/components/compound/pipe-form/group.d.mts +13 -0
- package/dist/components/compound/pipe-form/group.d.mts.map +1 -0
- package/dist/components/compound/pipe-form/group.mjs +17 -0
- package/dist/components/compound/pipe-form/group.mjs.map +1 -0
- package/dist/components/compound/pipe-form/header.d.mts +14 -0
- package/dist/components/compound/pipe-form/header.d.mts.map +1 -0
- package/dist/components/compound/pipe-form/header.mjs +14 -0
- package/dist/components/compound/pipe-form/header.mjs.map +1 -0
- package/dist/components/compound/pipe-form/index.d.mts +9 -0
- package/dist/components/compound/pipe-form/index.mjs +11 -0
- package/dist/components/compound/pipe-form/root.d.mts +56 -0
- package/dist/components/compound/pipe-form/root.d.mts.map +1 -0
- package/dist/components/compound/pipe-form/root.mjs +98 -0
- package/dist/components/compound/pipe-form/root.mjs.map +1 -0
- package/dist/components/compound/pipe-form/section.d.mts +13 -0
- package/dist/components/compound/pipe-form/section.d.mts.map +1 -0
- package/dist/components/compound/pipe-form/section.mjs +17 -0
- package/dist/components/compound/pipe-form/section.mjs.map +1 -0
- package/dist/components/compound/pipe-form/submit-button.d.mts +9 -0
- package/dist/components/compound/pipe-form/submit-button.d.mts.map +1 -0
- package/dist/components/compound/pipe-form/submit-button.mjs +17 -0
- package/dist/components/compound/pipe-form/submit-button.mjs.map +1 -0
- package/dist/components/compound/pipe-form/title.d.mts +16 -0
- package/dist/components/compound/pipe-form/title.d.mts.map +1 -0
- package/dist/components/compound/pipe-form/title.mjs +14 -0
- package/dist/components/compound/pipe-form/title.mjs.map +1 -0
- package/dist/components/compound/search-catalog/active-filters.d.mts +26 -0
- package/dist/components/compound/search-catalog/active-filters.d.mts.map +1 -0
- package/dist/components/compound/search-catalog/active-filters.mjs +46 -0
- package/dist/components/compound/search-catalog/active-filters.mjs.map +1 -0
- package/dist/components/compound/search-catalog/card.d.mts +30 -0
- package/dist/components/compound/search-catalog/card.d.mts.map +1 -0
- package/dist/components/compound/search-catalog/card.mjs +77 -0
- package/dist/components/compound/search-catalog/card.mjs.map +1 -0
- package/dist/components/compound/search-catalog/category-filter.d.mts +29 -0
- package/dist/components/compound/search-catalog/category-filter.d.mts.map +1 -0
- package/dist/components/compound/search-catalog/category-filter.mjs +51 -0
- package/dist/components/compound/search-catalog/category-filter.mjs.map +1 -0
- package/dist/components/compound/search-catalog/column-filter.d.mts +40 -0
- package/dist/components/compound/search-catalog/column-filter.d.mts.map +1 -0
- package/dist/components/compound/search-catalog/column-filter.mjs +63 -0
- package/dist/components/compound/search-catalog/column-filter.mjs.map +1 -0
- package/dist/components/compound/search-catalog/column-filters.d.mts +15 -0
- package/dist/components/compound/search-catalog/column-filters.d.mts.map +1 -0
- package/dist/components/compound/search-catalog/column-filters.mjs +16 -0
- package/dist/components/compound/search-catalog/column-filters.mjs.map +1 -0
- package/dist/components/compound/search-catalog/empty.d.mts +22 -0
- package/dist/components/compound/search-catalog/empty.d.mts.map +1 -0
- package/dist/components/compound/search-catalog/empty.mjs +31 -0
- package/dist/components/compound/search-catalog/empty.mjs.map +1 -0
- package/dist/components/compound/search-catalog/index.d.mts +12 -0
- package/dist/components/compound/search-catalog/index.mjs +14 -0
- package/dist/components/compound/search-catalog/list.d.mts +19 -0
- package/dist/components/compound/search-catalog/list.d.mts.map +1 -0
- package/dist/components/compound/search-catalog/list.mjs +29 -0
- package/dist/components/compound/search-catalog/list.mjs.map +1 -0
- package/dist/components/compound/search-catalog/output-field-filter.d.mts +22 -0
- package/dist/components/compound/search-catalog/output-field-filter.d.mts.map +1 -0
- package/dist/components/compound/search-catalog/output-field-filter.mjs +22 -0
- package/dist/components/compound/search-catalog/output-field-filter.mjs.map +1 -0
- package/dist/components/compound/search-catalog/provider-filter.d.mts +22 -0
- package/dist/components/compound/search-catalog/provider-filter.d.mts.map +1 -0
- package/dist/components/compound/search-catalog/provider-filter.mjs +29 -0
- package/dist/components/compound/search-catalog/provider-filter.mjs.map +1 -0
- package/dist/components/compound/search-catalog/root.d.mts +33 -0
- package/dist/components/compound/search-catalog/root.d.mts.map +1 -0
- package/dist/components/compound/search-catalog/root.mjs +74 -0
- package/dist/components/compound/search-catalog/root.mjs.map +1 -0
- package/dist/components/compound/search-catalog/search-filter.d.mts +24 -0
- package/dist/components/compound/search-catalog/search-filter.d.mts.map +1 -0
- package/dist/components/compound/search-catalog/search-filter.mjs +46 -0
- package/dist/components/compound/search-catalog/search-filter.mjs.map +1 -0
- package/dist/components/compound/search-catalog/tag-filter.d.mts +22 -0
- package/dist/components/compound/search-catalog/tag-filter.d.mts.map +1 -0
- package/dist/components/compound/search-catalog/tag-filter.mjs +22 -0
- package/dist/components/compound/search-catalog/tag-filter.mjs.map +1 -0
- package/dist/components/compound/search-form/content.d.mts +18 -0
- package/dist/components/compound/search-form/content.d.mts.map +1 -0
- package/dist/components/compound/search-form/content.mjs +45 -0
- package/dist/components/compound/search-form/content.mjs.map +1 -0
- package/dist/components/compound/search-form/field.d.mts +17 -0
- package/dist/components/compound/search-form/field.d.mts.map +1 -0
- package/dist/components/compound/search-form/field.mjs +21 -0
- package/dist/components/compound/search-form/field.mjs.map +1 -0
- package/dist/components/compound/search-form/footer.d.mts +14 -0
- package/dist/components/compound/search-form/footer.d.mts.map +1 -0
- package/dist/components/compound/search-form/footer.mjs +14 -0
- package/dist/components/compound/search-form/footer.mjs.map +1 -0
- package/dist/components/compound/search-form/group.d.mts +13 -0
- package/dist/components/compound/search-form/group.d.mts.map +1 -0
- package/dist/components/compound/search-form/group.mjs +17 -0
- package/dist/components/compound/search-form/group.mjs.map +1 -0
- package/dist/components/compound/search-form/header.d.mts +14 -0
- package/dist/components/compound/search-form/header.d.mts.map +1 -0
- package/dist/components/compound/search-form/header.mjs +14 -0
- package/dist/components/compound/search-form/header.mjs.map +1 -0
- package/dist/components/compound/search-form/index.d.mts +9 -0
- package/dist/components/compound/search-form/index.mjs +11 -0
- package/dist/components/compound/search-form/root.d.mts +45 -0
- package/dist/components/compound/search-form/root.d.mts.map +1 -0
- package/dist/components/compound/search-form/root.mjs +90 -0
- package/dist/components/compound/search-form/root.mjs.map +1 -0
- package/dist/components/compound/search-form/section.d.mts +13 -0
- package/dist/components/compound/search-form/section.d.mts.map +1 -0
- package/dist/components/compound/search-form/section.mjs +17 -0
- package/dist/components/compound/search-form/section.mjs.map +1 -0
- package/dist/components/compound/search-form/submit-button.d.mts +9 -0
- package/dist/components/compound/search-form/submit-button.d.mts.map +1 -0
- package/dist/components/compound/search-form/submit-button.mjs +17 -0
- package/dist/components/compound/search-form/submit-button.mjs.map +1 -0
- package/dist/components/compound/search-form/title.d.mts +16 -0
- package/dist/components/compound/search-form/title.d.mts.map +1 -0
- package/dist/components/compound/search-form/title.mjs +14 -0
- package/dist/components/compound/search-form/title.mjs.map +1 -0
- package/dist/components/compound/searches-catalog/active-filters.d.mts +26 -0
- package/dist/components/compound/searches-catalog/active-filters.d.mts.map +1 -0
- package/dist/components/compound/searches-catalog/active-filters.mjs +46 -0
- package/dist/components/compound/searches-catalog/active-filters.mjs.map +1 -0
- package/dist/components/compound/searches-catalog/card.d.mts +22 -0
- package/dist/components/compound/searches-catalog/card.d.mts.map +1 -0
- package/dist/components/compound/searches-catalog/card.mjs +70 -0
- package/dist/components/compound/searches-catalog/card.mjs.map +1 -0
- package/dist/components/compound/searches-catalog/category-filter.d.mts +29 -0
- package/dist/components/compound/searches-catalog/category-filter.d.mts.map +1 -0
- package/dist/components/compound/searches-catalog/category-filter.mjs +51 -0
- package/dist/components/compound/searches-catalog/category-filter.mjs.map +1 -0
- package/dist/components/compound/searches-catalog/column-filter.d.mts +31 -0
- package/dist/components/compound/searches-catalog/column-filter.d.mts.map +1 -0
- package/dist/components/compound/searches-catalog/column-filter.mjs +58 -0
- package/dist/components/compound/searches-catalog/column-filter.mjs.map +1 -0
- package/dist/components/compound/searches-catalog/column-filters.d.mts +15 -0
- package/dist/components/compound/searches-catalog/column-filters.d.mts.map +1 -0
- package/dist/components/compound/searches-catalog/column-filters.mjs +16 -0
- package/dist/components/compound/searches-catalog/column-filters.mjs.map +1 -0
- package/dist/components/compound/searches-catalog/empty.d.mts +22 -0
- package/dist/components/compound/searches-catalog/empty.d.mts.map +1 -0
- package/dist/components/compound/searches-catalog/empty.mjs +31 -0
- package/dist/components/compound/searches-catalog/empty.mjs.map +1 -0
- package/dist/components/compound/searches-catalog/index.d.mts +12 -0
- package/dist/components/compound/searches-catalog/index.mjs +14 -0
- package/dist/components/compound/searches-catalog/list.d.mts +19 -0
- package/dist/components/compound/searches-catalog/list.d.mts.map +1 -0
- package/dist/components/compound/searches-catalog/list.mjs +29 -0
- package/dist/components/compound/searches-catalog/list.mjs.map +1 -0
- package/dist/components/compound/searches-catalog/output-field-filter.d.mts +22 -0
- package/dist/components/compound/searches-catalog/output-field-filter.d.mts.map +1 -0
- package/dist/components/compound/searches-catalog/output-field-filter.mjs +22 -0
- package/dist/components/compound/searches-catalog/output-field-filter.mjs.map +1 -0
- package/dist/components/compound/searches-catalog/provider-filter.d.mts +22 -0
- package/dist/components/compound/searches-catalog/provider-filter.d.mts.map +1 -0
- package/dist/components/compound/searches-catalog/provider-filter.mjs +29 -0
- package/dist/components/compound/searches-catalog/provider-filter.mjs.map +1 -0
- package/dist/components/compound/searches-catalog/root.d.mts +33 -0
- package/dist/components/compound/searches-catalog/root.d.mts.map +1 -0
- package/dist/components/compound/searches-catalog/root.mjs +74 -0
- package/dist/components/compound/searches-catalog/root.mjs.map +1 -0
- package/dist/components/compound/searches-catalog/search-filter.d.mts +24 -0
- package/dist/components/compound/searches-catalog/search-filter.d.mts.map +1 -0
- package/dist/components/compound/searches-catalog/search-filter.mjs +46 -0
- package/dist/components/compound/searches-catalog/search-filter.mjs.map +1 -0
- package/dist/components/compound/searches-catalog/tag-filter.d.mts +22 -0
- package/dist/components/compound/searches-catalog/tag-filter.d.mts.map +1 -0
- package/dist/components/compound/searches-catalog/tag-filter.mjs +22 -0
- package/dist/components/compound/searches-catalog/tag-filter.mjs.map +1 -0
- package/dist/components/defaults/adapters/async-include-exclude-select-input.mjs +32 -0
- package/dist/components/defaults/adapters/async-include-exclude-select-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/async-multi-select-input.mjs +26 -0
- package/dist/components/defaults/adapters/async-multi-select-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/boolean-input.mjs +82 -0
- package/dist/components/defaults/adapters/boolean-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/connector-input.mjs +94 -0
- package/dist/components/defaults/adapters/connector-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/context-select-input.mjs +74 -0
- package/dist/components/defaults/adapters/context-select-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/cursor-pagination-input.mjs +29 -0
- package/dist/components/defaults/adapters/cursor-pagination-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/date-range-input.mjs +53 -0
- package/dist/components/defaults/adapters/date-range-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/exact-range-input.mjs +75 -0
- package/dist/components/defaults/adapters/exact-range-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/fields-select-input.mjs +25 -0
- package/dist/components/defaults/adapters/fields-select-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/include-exclude-input.mjs +33 -0
- package/dist/components/defaults/adapters/include-exclude-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/include-exclude-select-input.mjs +36 -0
- package/dist/components/defaults/adapters/include-exclude-select-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/index.d.mts +11 -0
- package/dist/components/defaults/adapters/index.d.mts.map +1 -0
- package/dist/components/defaults/adapters/index.mjs +73 -0
- package/dist/components/defaults/adapters/index.mjs.map +1 -0
- package/dist/components/defaults/adapters/int-input.mjs +16 -0
- package/dist/components/defaults/adapters/int-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/json-extraction-input.mjs +333 -0
- package/dist/components/defaults/adapters/json-extraction-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/json-schema-input.mjs +30 -0
- package/dist/components/defaults/adapters/json-schema-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/key-value-list-input.mjs +100 -0
- package/dist/components/defaults/adapters/key-value-list-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/min-max-int-input.mjs +65 -0
- package/dist/components/defaults/adapters/min-max-int-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/multi-create-input.mjs +32 -0
- package/dist/components/defaults/adapters/multi-create-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/multi-select-input.mjs +26 -0
- package/dist/components/defaults/adapters/multi-select-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/number-input.mjs +15 -0
- package/dist/components/defaults/adapters/number-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/ordered-multi-create-input.mjs +43 -0
- package/dist/components/defaults/adapters/ordered-multi-create-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/output-field-input.mjs +37 -0
- package/dist/components/defaults/adapters/output-field-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/pipes-trigger-input.mjs +381 -0
- package/dist/components/defaults/adapters/pipes-trigger-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/prompt-input.mjs +208 -0
- package/dist/components/defaults/adapters/prompt-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/providers-input.mjs +23 -0
- package/dist/components/defaults/adapters/providers-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/range-input.mjs +61 -0
- package/dist/components/defaults/adapters/range-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/select-input.mjs +54 -0
- package/dist/components/defaults/adapters/select-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/tagged-text-input.mjs +154 -0
- package/dist/components/defaults/adapters/tagged-text-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/template-input.mjs +34 -0
- package/dist/components/defaults/adapters/template-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/text-input.mjs +18 -0
- package/dist/components/defaults/adapters/text-input.mjs.map +1 -0
- package/dist/components/defaults/adapters/textarea-input.mjs +17 -0
- package/dist/components/defaults/adapters/textarea-input.mjs.map +1 -0
- package/dist/components/defaults/catalog/active-filter-pill.mjs +30 -0
- package/dist/components/defaults/catalog/active-filter-pill.mjs.map +1 -0
- package/dist/components/defaults/catalog/card-derived.d.mts +98 -0
- package/dist/components/defaults/catalog/card-derived.d.mts.map +1 -0
- package/dist/components/defaults/catalog/card-derived.mjs +172 -0
- package/dist/components/defaults/catalog/card-derived.mjs.map +1 -0
- package/dist/components/defaults/catalog/card-primitives.d.mts +81 -0
- package/dist/components/defaults/catalog/card-primitives.d.mts.map +1 -0
- package/dist/components/defaults/catalog/card-primitives.mjs +108 -0
- package/dist/components/defaults/catalog/card-primitives.mjs.map +1 -0
- package/dist/components/defaults/catalog/category-filter.d.mts +13 -0
- package/dist/components/defaults/catalog/category-filter.d.mts.map +1 -0
- package/dist/components/defaults/catalog/category-filter.mjs +28 -0
- package/dist/components/defaults/catalog/category-filter.mjs.map +1 -0
- package/dist/components/defaults/catalog/category-section.d.mts +39 -0
- package/dist/components/defaults/catalog/category-section.d.mts.map +1 -0
- package/dist/components/defaults/catalog/category-section.mjs +59 -0
- package/dist/components/defaults/catalog/category-section.mjs.map +1 -0
- package/dist/components/defaults/catalog/empty-state.mjs +20 -0
- package/dist/components/defaults/catalog/empty-state.mjs.map +1 -0
- package/dist/components/defaults/catalog/filter-select.d.mts +13 -0
- package/dist/components/defaults/catalog/filter-select.d.mts.map +1 -0
- package/dist/components/defaults/catalog/filter-select.mjs +45 -0
- package/dist/components/defaults/catalog/filter-select.mjs.map +1 -0
- package/dist/components/defaults/catalog/layout.mjs +53 -0
- package/dist/components/defaults/catalog/layout.mjs.map +1 -0
- package/dist/components/defaults/catalog/provider-avatars.d.mts +37 -0
- package/dist/components/defaults/catalog/provider-avatars.d.mts.map +1 -0
- package/dist/components/defaults/catalog/provider-avatars.mjs +98 -0
- package/dist/components/defaults/catalog/provider-avatars.mjs.map +1 -0
- package/dist/components/defaults/field-section-enumeration.mjs +32 -0
- package/dist/components/defaults/field-section-enumeration.mjs.map +1 -0
- package/dist/components/defaults/layout/field-wrapper.d.mts +13 -0
- package/dist/components/defaults/layout/field-wrapper.d.mts.map +1 -0
- package/dist/components/defaults/layout/field-wrapper.mjs +67 -0
- package/dist/components/defaults/layout/field-wrapper.mjs.map +1 -0
- package/dist/components/defaults/layout/form.mjs +21 -0
- package/dist/components/defaults/layout/form.mjs.map +1 -0
- package/dist/components/defaults/layout/group.d.mts +16 -0
- package/dist/components/defaults/layout/group.d.mts.map +1 -0
- package/dist/components/defaults/layout/group.mjs +87 -0
- package/dist/components/defaults/layout/group.mjs.map +1 -0
- package/dist/components/defaults/layout/section.d.mts +14 -0
- package/dist/components/defaults/layout/section.d.mts.map +1 -0
- package/dist/components/defaults/layout/section.mjs +39 -0
- package/dist/components/defaults/layout/section.mjs.map +1 -0
- package/dist/components/defaults/layout/submit-button.d.mts +9 -0
- package/dist/components/defaults/layout/submit-button.d.mts.map +1 -0
- package/dist/components/defaults/layout/submit-button.mjs +23 -0
- package/dist/components/defaults/layout/submit-button.mjs.map +1 -0
- package/dist/components/defaults/toggle-advanced-button.mjs +29 -0
- package/dist/components/defaults/toggle-advanced-button.mjs.map +1 -0
- package/dist/components/field-renderer.d.mts +14 -0
- package/dist/components/field-renderer.d.mts.map +1 -0
- package/dist/components/field-renderer.mjs +21 -0
- package/dist/components/field-renderer.mjs.map +1 -0
- package/dist/components/hover-info.mjs +30 -0
- package/dist/components/hover-info.mjs.map +1 -0
- package/dist/components/internal/LiquidEditor/ChipEditPopover.mjs +319 -0
- package/dist/components/internal/LiquidEditor/ChipEditPopover.mjs.map +1 -0
- package/dist/components/internal/LiquidEditor/LiquidEditor.mjs +208 -0
- package/dist/components/internal/LiquidEditor/LiquidEditor.mjs.map +1 -0
- package/dist/components/internal/LiquidEditor/UnifiedReferencePicker.mjs +240 -0
- package/dist/components/internal/LiquidEditor/UnifiedReferencePicker.mjs.map +1 -0
- package/dist/components/internal/combobox/include-exclude-combobox.mjs +368 -0
- package/dist/components/internal/combobox/include-exclude-combobox.mjs.map +1 -0
- package/dist/components/internal/combobox/suggest-combobox.mjs +294 -0
- package/dist/components/internal/combobox/suggest-combobox.mjs.map +1 -0
- package/dist/components/internal/field-legend.mjs +37 -0
- package/dist/components/internal/field-legend.mjs.map +1 -0
- package/dist/components/internal/form-level-errors.mjs +71 -0
- package/dist/components/internal/form-level-errors.mjs.map +1 -0
- package/dist/components/internal/icons.mjs +131 -0
- package/dist/components/internal/icons.mjs.map +1 -0
- package/dist/components/internal/multi-select-popover-trigger.mjs +26 -0
- package/dist/components/internal/multi-select-popover-trigger.mjs.map +1 -0
- package/dist/components/internal/schema-editor/SchemaEditor.mjs +468 -0
- package/dist/components/internal/schema-editor/SchemaEditor.mjs.map +1 -0
- package/dist/components/internal/schema-editor/generate-schema-rows.mjs +374 -0
- package/dist/components/internal/schema-editor/generate-schema-rows.mjs.map +1 -0
- package/dist/components/internal/schema-editor/schema-editor-context.mjs +32 -0
- package/dist/components/internal/schema-editor/schema-editor-context.mjs.map +1 -0
- package/dist/components/internal/schema-editor/schema-utils.mjs +249 -0
- package/dist/components/internal/schema-editor/schema-utils.mjs.map +1 -0
- package/dist/components/internal/suggestion-menu/suggestion-menu-utils.mjs +12 -0
- package/dist/components/internal/suggestion-menu/suggestion-menu-utils.mjs.map +1 -0
- package/dist/components/internal/suggestion-menu/suggestion-menu.mjs +151 -0
- package/dist/components/internal/suggestion-menu/suggestion-menu.mjs.map +1 -0
- package/dist/components/internal/tag-chip-decoration.mjs +180 -0
- package/dist/components/internal/tag-chip-decoration.mjs.map +1 -0
- package/dist/components/rich-text.mjs +42 -0
- package/dist/components/rich-text.mjs.map +1 -0
- package/dist/components/ui/badge.mjs +32 -0
- package/dist/components/ui/badge.mjs.map +1 -0
- package/dist/components/ui/button.d.mts +19 -0
- package/dist/components/ui/button.d.mts.map +1 -0
- package/dist/components/ui/button.mjs +47 -0
- package/dist/components/ui/button.mjs.map +1 -0
- package/dist/components/ui/combobox.mjs +103 -0
- package/dist/components/ui/combobox.mjs.map +1 -0
- package/dist/components/ui/input-group.mjs +30 -0
- package/dist/components/ui/input-group.mjs.map +1 -0
- package/dist/components/ui/input.mjs +17 -0
- package/dist/components/ui/input.mjs.map +1 -0
- package/dist/components/ui/label.mjs +17 -0
- package/dist/components/ui/label.mjs.map +1 -0
- package/dist/components/ui/popover.mjs +40 -0
- package/dist/components/ui/popover.mjs.map +1 -0
- package/dist/components/ui/select.mjs +92 -0
- package/dist/components/ui/select.mjs.map +1 -0
- package/dist/components/ui/switch.mjs +21 -0
- package/dist/components/ui/switch.mjs.map +1 -0
- package/dist/components/ui/table.mjs +56 -0
- package/dist/components/ui/table.mjs.map +1 -0
- package/dist/components/ui/textarea.mjs +15 -0
- package/dist/components/ui/textarea.mjs.map +1 -0
- package/dist/components/ui/tooltip.mjs +48 -0
- package/dist/components/ui/tooltip.mjs.map +1 -0
- package/dist/context/catalog-card-context.mjs +31 -0
- package/dist/context/catalog-card-context.mjs.map +1 -0
- package/dist/context/catalog-config-context.d.mts +43 -0
- package/dist/context/catalog-config-context.d.mts.map +1 -0
- package/dist/context/catalog-config-context.mjs +48 -0
- package/dist/context/catalog-config-context.mjs.map +1 -0
- package/dist/context/form-context.mjs +11 -0
- package/dist/context/form-context.mjs.map +1 -0
- package/dist/context/form-customization-context.d.mts +71 -0
- package/dist/context/form-customization-context.d.mts.map +1 -0
- package/dist/context/form-customization-context.mjs +114 -0
- package/dist/context/form-customization-context.mjs.map +1 -0
- package/dist/context/form-provider.d.mts +41 -0
- package/dist/context/form-provider.d.mts.map +1 -0
- package/dist/context/form-provider.mjs +53 -0
- package/dist/context/form-provider.mjs.map +1 -0
- package/dist/context/pipe-catalog-card-context.d.mts +17 -0
- package/dist/context/pipe-catalog-card-context.d.mts.map +1 -0
- package/dist/context/pipe-catalog-card-context.mjs +13 -0
- package/dist/context/pipe-catalog-card-context.mjs.map +1 -0
- package/dist/context/pipe-catalog-context.d.mts +26 -0
- package/dist/context/pipe-catalog-context.d.mts.map +1 -0
- package/dist/context/pipe-catalog-context.mjs +13 -0
- package/dist/context/pipe-catalog-context.mjs.map +1 -0
- package/dist/context/pipe-form-context.d.mts +25 -0
- package/dist/context/pipe-form-context.d.mts.map +1 -0
- package/dist/context/pipe-form-context.mjs +13 -0
- package/dist/context/pipe-form-context.mjs.map +1 -0
- package/dist/context/portal-container-context.d.mts +5 -0
- package/dist/context/portal-container-context.d.mts.map +1 -0
- package/dist/context/portal-container-context.mjs +15 -0
- package/dist/context/portal-container-context.mjs.map +1 -0
- package/dist/context/search-catalog-card-context.d.mts +16 -0
- package/dist/context/search-catalog-card-context.d.mts.map +1 -0
- package/dist/context/search-catalog-card-context.mjs +13 -0
- package/dist/context/search-catalog-card-context.mjs.map +1 -0
- package/dist/context/search-catalog-context.d.mts +20 -0
- package/dist/context/search-catalog-context.d.mts.map +1 -0
- package/dist/context/search-catalog-context.mjs +13 -0
- package/dist/context/search-catalog-context.mjs.map +1 -0
- package/dist/context/search-form-context.d.mts +25 -0
- package/dist/context/search-form-context.d.mts.map +1 -0
- package/dist/context/search-form-context.mjs +13 -0
- package/dist/context/search-form-context.mjs.map +1 -0
- package/dist/context/searches-catalog-card-context.d.mts +16 -0
- package/dist/context/searches-catalog-card-context.d.mts.map +1 -0
- package/dist/context/searches-catalog-card-context.mjs +13 -0
- package/dist/context/searches-catalog-card-context.mjs.map +1 -0
- package/dist/context/searches-catalog-context.d.mts +20 -0
- package/dist/context/searches-catalog-context.d.mts.map +1 -0
- package/dist/context/searches-catalog-context.mjs +13 -0
- package/dist/context/searches-catalog-context.mjs.map +1 -0
- package/dist/hooks/use-debounce.mjs +28 -0
- package/dist/hooks/use-debounce.mjs.map +1 -0
- package/dist/hooks/use-debounced-fn.mjs +47 -0
- package/dist/hooks/use-debounced-fn.mjs.map +1 -0
- package/dist/hooks/use-disclosure.mjs +35 -0
- package/dist/hooks/use-disclosure.mjs.map +1 -0
- package/dist/hooks/use-field-error.d.mts +11 -0
- package/dist/hooks/use-field-error.d.mts.map +1 -0
- package/dist/hooks/use-field-error.mjs +23 -0
- package/dist/hooks/use-field-error.mjs.map +1 -0
- package/dist/hooks/use-floating-element.mjs +45 -0
- package/dist/hooks/use-floating-element.mjs.map +1 -0
- package/dist/hooks/use-form-core.d.mts +16 -0
- package/dist/hooks/use-form-core.d.mts.map +1 -0
- package/dist/hooks/use-form-core.mjs +241 -0
- package/dist/hooks/use-form-core.mjs.map +1 -0
- package/dist/hooks/use-jsonata-preview.mjs +38 -0
- package/dist/hooks/use-jsonata-preview.mjs.map +1 -0
- package/dist/hooks/use-menu-navigation.mjs +86 -0
- package/dist/hooks/use-menu-navigation.mjs.map +1 -0
- package/dist/hooks/use-pipe-catalog-table.d.mts +47 -0
- package/dist/hooks/use-pipe-catalog-table.d.mts.map +1 -0
- package/dist/hooks/use-pipe-catalog-table.mjs +170 -0
- package/dist/hooks/use-pipe-catalog-table.mjs.map +1 -0
- package/dist/hooks/use-pipe-form.d.mts +31 -0
- package/dist/hooks/use-pipe-form.d.mts.map +1 -0
- package/dist/hooks/use-pipe-form.mjs +65 -0
- package/dist/hooks/use-pipe-form.mjs.map +1 -0
- package/dist/hooks/use-search-catalog-table.d.mts +40 -0
- package/dist/hooks/use-search-catalog-table.d.mts.map +1 -0
- package/dist/hooks/use-search-catalog-table.mjs +161 -0
- package/dist/hooks/use-search-catalog-table.mjs.map +1 -0
- package/dist/hooks/use-search-form.d.mts +17 -0
- package/dist/hooks/use-search-form.d.mts.map +1 -0
- package/dist/hooks/use-search-form.mjs +58 -0
- package/dist/hooks/use-search-form.mjs.map +1 -0
- package/dist/hooks/use-searches-catalog-table.d.mts +40 -0
- package/dist/hooks/use-searches-catalog-table.d.mts.map +1 -0
- package/dist/hooks/use-searches-catalog-table.mjs +161 -0
- package/dist/hooks/use-searches-catalog-table.mjs.map +1 -0
- package/dist/index.d.mts +96 -0
- package/dist/index.mjs +98 -0
- package/dist/lib/utils.mjs +11 -0
- package/dist/lib/utils.mjs.map +1 -0
- package/dist/styles/pipe0-form.css +3785 -0
- package/dist/types/adapters.d.mts +107 -0
- package/dist/types/adapters.d.mts.map +1 -0
- package/dist/types/catalog-adapters.d.mts +122 -0
- package/dist/types/catalog-adapters.d.mts.map +1 -0
- package/dist/types/field-handle.d.mts +3 -0
- package/dist/types/field-props.d.mts +285 -0
- package/dist/types/field-props.d.mts.map +1 -0
- package/dist/types/form-customization.d.mts +25 -0
- package/dist/types/form-customization.d.mts.map +1 -0
- package/dist/types/form-handle.d.mts +23 -0
- package/dist/types/form-handle.d.mts.map +1 -0
- package/dist/utils/build-section-handlers.mjs +419 -0
- package/dist/utils/build-section-handlers.mjs.map +1 -0
- package/dist/utils/catalog-helpers.d.mts +12 -0
- package/dist/utils/catalog-helpers.d.mts.map +1 -0
- package/dist/utils/catalog-helpers.mjs +35 -0
- package/dist/utils/catalog-helpers.mjs.map +1 -0
- package/dist/utils/generate-random-string.mjs +11 -0
- package/dist/utils/generate-random-string.mjs.map +1 -0
- package/dist/utils/merge-form-stores.mjs +14 -0
- package/dist/utils/merge-form-stores.mjs.map +1 -0
- package/dist/utils/object-path.mjs +72 -0
- package/dist/utils/object-path.mjs.map +1 -0
- package/dist/utils/render-slot.d.mts +44 -0
- package/dist/utils/render-slot.d.mts.map +1 -0
- package/dist/utils/render-slot.mjs +30 -0
- package/dist/utils/render-slot.mjs.map +1 -0
- package/dist/widgets/avatar-group.d.mts +36 -0
- package/dist/widgets/avatar-group.d.mts.map +1 -0
- package/dist/widgets/avatar-group.mjs +114 -0
- package/dist/widgets/avatar-group.mjs.map +1 -0
- package/dist/widgets/emoji-glyph.d.mts +11 -0
- package/dist/widgets/emoji-glyph.d.mts.map +1 -0
- package/dist/widgets/emoji-glyph.mjs +13 -0
- package/dist/widgets/emoji-glyph.mjs.map +1 -0
- package/dist/widgets/field-type-badge.d.mts +13 -0
- package/dist/widgets/field-type-badge.d.mts.map +1 -0
- package/dist/widgets/field-type-badge.mjs +30 -0
- package/dist/widgets/field-type-badge.mjs.map +1 -0
- package/dist/widgets/icon-glyph.d.mts +16 -0
- package/dist/widgets/icon-glyph.d.mts.map +1 -0
- package/dist/widgets/icon-glyph.mjs +59 -0
- package/dist/widgets/icon-glyph.mjs.map +1 -0
- package/dist/widgets/index.d.mts +9 -0
- package/dist/widgets/index.mjs +11 -0
- package/dist/widgets/logo-url.d.mts +17 -0
- package/dist/widgets/logo-url.d.mts.map +1 -0
- package/dist/widgets/logo-url.mjs +17 -0
- package/dist/widgets/logo-url.mjs.map +1 -0
- package/dist/widgets/pricing-badge.d.mts +11 -0
- package/dist/widgets/pricing-badge.d.mts.map +1 -0
- package/dist/widgets/pricing-badge.mjs +13 -0
- package/dist/widgets/pricing-badge.mjs.map +1 -0
- package/dist/widgets/provider-logo.d.mts +16 -0
- package/dist/widgets/provider-logo.d.mts.map +1 -0
- package/dist/widgets/provider-logo.mjs +20 -0
- package/dist/widgets/provider-logo.mjs.map +1 -0
- package/dist/widgets/widget-strip.d.mts +16 -0
- package/dist/widgets/widget-strip.d.mts.map +1 -0
- package/dist/widgets/widget-strip.mjs +42 -0
- package/dist/widgets/widget-strip.mjs.map +1 -0
- package/dist/widgets/widget-view.d.mts +14 -0
- package/dist/widgets/widget-view.d.mts.map +1 -0
- package/dist/widgets/widget-view.mjs +36 -0
- package/dist/widgets/widget-view.mjs.map +1 -0
- package/package.json +82 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# @pipe0/elements-react
|
|
2
|
+
|
|
3
|
+
## 0.0.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Update packages
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @pipe0/base@0.0.2
|
|
10
|
+
|
|
11
|
+
## 0.0.17
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Fix type issue
|
|
16
|
+
- Updated dependencies
|
|
17
|
+
- @pipe0/elements@0.0.14
|
|
18
|
+
|
|
19
|
+
## 0.0.16
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- Update autocomplete dep
|
|
24
|
+
- Updated dependencies
|
|
25
|
+
- @pipe0/elements@0.0.13
|
|
26
|
+
|
|
27
|
+
## 0.0.15
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- Update form-ui
|
|
32
|
+
- Updated dependencies
|
|
33
|
+
- @pipe0/elements@0.0.12
|
|
34
|
+
|
|
35
|
+
## 0.0.14
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- update autocomplete
|
|
40
|
+
- Updated dependencies
|
|
41
|
+
- @pipe0/elements@0.0.11
|
|
42
|
+
|
|
43
|
+
## 0.0.13
|
|
44
|
+
|
|
45
|
+
### Patch Changes
|
|
46
|
+
|
|
47
|
+
- Update autocomplete
|
|
48
|
+
- Updated dependencies
|
|
49
|
+
- @pipe0/elements@0.0.10
|
|
50
|
+
|
|
51
|
+
## 0.0.12
|
|
52
|
+
|
|
53
|
+
### Patch Changes
|
|
54
|
+
|
|
55
|
+
- Update autocomplete config
|
|
56
|
+
- Updated dependencies
|
|
57
|
+
- @pipe0/elements@0.0.9
|
|
58
|
+
|
|
59
|
+
## 0.0.11
|
|
60
|
+
|
|
61
|
+
### Patch Changes
|
|
62
|
+
|
|
63
|
+
- @pipe0/elements@0.0.8
|
|
64
|
+
|
|
65
|
+
## 0.0.10
|
|
66
|
+
|
|
67
|
+
### Patch Changes
|
|
68
|
+
|
|
69
|
+
- Fix style sheet
|
|
70
|
+
|
|
71
|
+
## 0.0.9
|
|
72
|
+
|
|
73
|
+
### Patch Changes
|
|
74
|
+
|
|
75
|
+
- Fix style bleed
|
|
76
|
+
|
|
77
|
+
## 0.0.8
|
|
78
|
+
|
|
79
|
+
### Patch Changes
|
|
80
|
+
|
|
81
|
+
- Removing Geist font from bundle
|
|
82
|
+
|
|
83
|
+
## 0.0.7
|
|
84
|
+
|
|
85
|
+
### Patch Changes
|
|
86
|
+
|
|
87
|
+
- Externalize dependencies correctly
|
|
88
|
+
|
|
89
|
+
## 0.0.6
|
|
90
|
+
|
|
91
|
+
### Patch Changes
|
|
92
|
+
|
|
93
|
+
- Clean build
|
|
94
|
+
- Updated dependencies
|
|
95
|
+
- @pipe0/elements@0.0.7
|
|
96
|
+
|
|
97
|
+
## 0.0.5
|
|
98
|
+
|
|
99
|
+
### Patch Changes
|
|
100
|
+
|
|
101
|
+
- Fix import config
|
|
102
|
+
|
|
103
|
+
## 0.0.4
|
|
104
|
+
|
|
105
|
+
### Patch Changes
|
|
106
|
+
|
|
107
|
+
- Fix type export
|
|
108
|
+
|
|
109
|
+
## 0.0.3
|
|
110
|
+
|
|
111
|
+
### Patch Changes
|
|
112
|
+
|
|
113
|
+
- Fix type export
|
|
114
|
+
|
|
115
|
+
## 0.0.2
|
|
116
|
+
|
|
117
|
+
### Patch Changes
|
|
118
|
+
|
|
119
|
+
- Initial publish
|
package/README.md
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# @pipe0/react
|
|
2
|
+
|
|
3
|
+
Prebuilt React components for rendering [pipe0](https://pipe0.com) pipe and search
|
|
4
|
+
configuration forms. Drop a `pipeId` or `searchId` in and get a fully-typed,
|
|
5
|
+
validated form with the right inputs, autocomplete, and connection pickers.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @pipe0/react
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Import the stylesheet once in your app entry:
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import "@pipe0/react/styles";
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## PipeForm
|
|
20
|
+
|
|
21
|
+
Renders a form for a specific pipe. The simplest usage is fully zero-config:
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
import { PipeForm } from "@pipe0/react";
|
|
25
|
+
|
|
26
|
+
<PipeForm
|
|
27
|
+
pipeId="people:name:split@1"
|
|
28
|
+
publicKey={PIPE0_PUBLIC_KEY}
|
|
29
|
+
onSubmit={(payload) => {
|
|
30
|
+
// payload is a fully-typed PipePayload for the given pipeId
|
|
31
|
+
console.log(payload);
|
|
32
|
+
}}
|
|
33
|
+
/>;
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
For layout control, use the compound API and build the form yourself:
|
|
37
|
+
|
|
38
|
+
```tsx
|
|
39
|
+
import {
|
|
40
|
+
PipeForm,
|
|
41
|
+
PipeFormHeader,
|
|
42
|
+
PipeFormTitle,
|
|
43
|
+
PipeFormContent,
|
|
44
|
+
PipeFormSubmitButton,
|
|
45
|
+
usePipeForm,
|
|
46
|
+
} from "@pipe0/react";
|
|
47
|
+
|
|
48
|
+
function MyForm() {
|
|
49
|
+
const ctx = usePipeForm({
|
|
50
|
+
pipeId: "people:name:split@1",
|
|
51
|
+
publicKey: PIPE0_PUBLIC_KEY,
|
|
52
|
+
resolvers,
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
return (
|
|
56
|
+
<PipeForm context={ctx} onSubmit={(payload) => submit(payload)}>
|
|
57
|
+
<PipeFormHeader>
|
|
58
|
+
<PipeFormTitle>Split name</PipeFormTitle>
|
|
59
|
+
</PipeFormHeader>
|
|
60
|
+
<PipeFormContent />
|
|
61
|
+
<PipeFormSubmitButton>Run</PipeFormSubmitButton>
|
|
62
|
+
</PipeForm>
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## SearchForm
|
|
68
|
+
|
|
69
|
+
Same shape as `PipeForm`, but for searches (e.g. `people:profiles:crustdata@1`):
|
|
70
|
+
|
|
71
|
+
```tsx
|
|
72
|
+
import { SearchForm } from "@pipe0/react";
|
|
73
|
+
|
|
74
|
+
<SearchForm
|
|
75
|
+
searchId="people:profiles:crustdata@1"
|
|
76
|
+
publicKey={PIPE0_PUBLIC_KEY}
|
|
77
|
+
resolvers={resolvers}
|
|
78
|
+
onSubmit={(payload) => runSearch(payload)}
|
|
79
|
+
/>;
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
The compound version uses `useSearchForm` plus `SearchFormHeader`,
|
|
83
|
+
`SearchFormContent`, `SearchFormSubmitButton`, etc.
|
|
84
|
+
|
|
85
|
+
## Resolvers
|
|
86
|
+
|
|
87
|
+
Some fields can't be statically rendered — they depend on the user's own
|
|
88
|
+
data. For example: a Resend "audience" dropdown needs to list the audiences
|
|
89
|
+
attached to that user's Resend connection, and a Crustdata "locations"
|
|
90
|
+
filter needs autocomplete suggestions. These are handled by `resolvers`:
|
|
91
|
+
|
|
92
|
+
```ts
|
|
93
|
+
import type { FormResolvers } from "@pipe0/base";
|
|
94
|
+
|
|
95
|
+
const resolvers: FormResolvers = {
|
|
96
|
+
// Called once on mount. Return the user's connected providers.
|
|
97
|
+
// If omitted, connector-dependent fields are hidden.
|
|
98
|
+
getConnections: async () => [{ public_id: "resend_abc", provider: "resend" }],
|
|
99
|
+
|
|
100
|
+
// Called per dynamic field when its prerequisites are satisfied,
|
|
101
|
+
// when a dependency changes, or when the user types in a dropdown.
|
|
102
|
+
// `args.payload` contains the full form values — including `pipe_id`
|
|
103
|
+
// (from PipeForm) or `search_id` (from SearchForm), and the selected
|
|
104
|
+
// connector. Your backend can derive everything it needs from payload.
|
|
105
|
+
getFieldContext: async (args) => {
|
|
106
|
+
const path =
|
|
107
|
+
"pipe_id" in args.payload
|
|
108
|
+
? "/api/pipe0/pipes/field-context"
|
|
109
|
+
: "/api/pipe0/search/field-context";
|
|
110
|
+
|
|
111
|
+
const res = await fetch(path, {
|
|
112
|
+
method: "POST",
|
|
113
|
+
headers: { "content-type": "application/json" },
|
|
114
|
+
body: JSON.stringify({
|
|
115
|
+
field_path: args.fieldPath,
|
|
116
|
+
query: args.query,
|
|
117
|
+
payload: args.payload,
|
|
118
|
+
}),
|
|
119
|
+
});
|
|
120
|
+
return await res.json(); // FormStore — merged into form store by the SDK
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
`getFieldContext` is used by both pipe and search forms. Discriminate on
|
|
126
|
+
`"pipe_id" in args.payload` vs `"search_id" in args.payload` to decide which
|
|
127
|
+
backend endpoint to call.
|
|
128
|
+
|
|
129
|
+
### Why you proxy instead of calling pipe0 directly
|
|
130
|
+
|
|
131
|
+
`publicKey` identifies your pipe0 project in the browser but **does not
|
|
132
|
+
authorize resolver requests**. Autocomplete and connection lookups hit
|
|
133
|
+
pipe0's private API (`POST /v1/pipes/field-context` and `/v1/search/field-context`) which requires your
|
|
134
|
+
pipe0 API key, and they need to know _which end user_ is asking (so the
|
|
135
|
+
right connections are returned). Shipping the API key to the browser
|
|
136
|
+
would leak it, and pipe0 has no way to know who your user is.
|
|
137
|
+
|
|
138
|
+
So resolvers should call **your** backend, not pipe0's. Your backend:
|
|
139
|
+
|
|
140
|
+
1. Authenticates the incoming request using whatever auth your app uses
|
|
141
|
+
(session cookie, JWT, etc.).
|
|
142
|
+
2. Looks up that user's pipe0 connections / permissions.
|
|
143
|
+
3. Forwards the request to pipe0 using the server-side API key.
|
|
144
|
+
|
|
145
|
+
Minimal proxy example (Next.js route handler):
|
|
146
|
+
|
|
147
|
+
```ts
|
|
148
|
+
// app/api/pipe0/autocomplete/route.ts
|
|
149
|
+
import { Pipe0 } from "@pipe0/client";
|
|
150
|
+
|
|
151
|
+
const pipe0 = new Pipe0({ apiKey: process.env.PIPE0_API_KEY! });
|
|
152
|
+
|
|
153
|
+
export async function POST(req: Request) {
|
|
154
|
+
const user = await requireUser(req); // your auth
|
|
155
|
+
const body = await req.json();
|
|
156
|
+
|
|
157
|
+
// Optionally scope connectionId to this user's connections
|
|
158
|
+
const suggestions = await pipe0.pipes.autocomplete({
|
|
159
|
+
pipe_id: body.pipeId,
|
|
160
|
+
field_path: body.fieldPath,
|
|
161
|
+
query: body.query,
|
|
162
|
+
connection_id: body.connectionId,
|
|
163
|
+
payload: body.payload,
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
return Response.json({ suggestions });
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
`getConnections` follows the same pattern: your backend owns the mapping
|
|
171
|
+
from "logged-in user" → "pipe0 connection ids", and returns only that
|
|
172
|
+
user's connections to the browser.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { RenderProp } from "../../../utils/render-slot.mjs";
|
|
2
|
+
import * as _$react from "react";
|
|
3
|
+
import { ComponentProps } from "react";
|
|
4
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region src/components/compound/pipe-catalog/active-filters.d.ts
|
|
7
|
+
interface ActiveFilter {
|
|
8
|
+
id: string;
|
|
9
|
+
value: string;
|
|
10
|
+
label: string;
|
|
11
|
+
remove: () => void;
|
|
12
|
+
}
|
|
13
|
+
interface PipeCatalogActiveFiltersState {
|
|
14
|
+
filters: ActiveFilter[];
|
|
15
|
+
}
|
|
16
|
+
interface PipeCatalogActiveFiltersProps {
|
|
17
|
+
className?: string;
|
|
18
|
+
render?: RenderProp<ComponentProps<"div">, PipeCatalogActiveFiltersState>;
|
|
19
|
+
}
|
|
20
|
+
declare function PipeCatalogActiveFilters({
|
|
21
|
+
className,
|
|
22
|
+
render
|
|
23
|
+
}: PipeCatalogActiveFiltersProps): string | number | bigint | boolean | _$react_jsx_runtime0.JSX.Element | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined> | null | undefined;
|
|
24
|
+
//#endregion
|
|
25
|
+
export { ActiveFilter, PipeCatalogActiveFilters, PipeCatalogActiveFiltersProps, PipeCatalogActiveFiltersState };
|
|
26
|
+
//# sourceMappingURL=active-filters.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-filters.d.mts","names":[],"sources":["../../../../src/components/compound/pipe-catalog/active-filters.tsx"],"mappings":";;;;;;UAciB,YAAA;EACf,EAAA;EACA,KAAA;EACA,KAAA;EACA,MAAA;AAAA;AAAA,UAGe,6BAAA;EACf,OAAA,EAAS,YAAA;AAAA;AAAA,UAGM,6BAAA;EACf,SAAA;EACA,MAAA,GAAS,UAAA,CAAW,cAAA,SAAuB,6BAAA;AAAA;AAAA,iBAG7B,wBAAA,CAAA;EAA2B,SAAA;EAAW;AAAA,GAAU,6BAAA,wCAA6B,oBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QAAA,CAAA,OAAA,CAAA,SAAA,IAAA,OAAA,sCAAA,OAAA,CAAA,WAAA,GAAA,OAAA,CAAA,YAAA,mBAAA,OAAA,CAAA,qBAAA,SAAA,QAAA,CAAA,OAAA,CAAA,SAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { cn } from "../../../lib/utils.mjs";
|
|
2
|
+
import { useCatalogConfig } from "../../../context/catalog-config-context.mjs";
|
|
3
|
+
import { usePipeCatalogContext } from "../../../context/pipe-catalog-context.mjs";
|
|
4
|
+
import { renderSlot } from "../../../utils/render-slot.mjs";
|
|
5
|
+
import { DefaultActiveFilterPill } from "../../defaults/catalog/active-filter-pill.mjs";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
|
|
8
|
+
//#region src/components/compound/pipe-catalog/active-filters.tsx
|
|
9
|
+
const COLUMN_LABELS = {
|
|
10
|
+
inputFields: "Input",
|
|
11
|
+
outputFields: "Output",
|
|
12
|
+
providers: "Provider",
|
|
13
|
+
tags: "Tag"
|
|
14
|
+
};
|
|
15
|
+
function PipeCatalogActiveFilters({ className, render }) {
|
|
16
|
+
const { classNames } = useCatalogConfig();
|
|
17
|
+
const ctx = usePipeCatalogContext();
|
|
18
|
+
const filters = ctx.table.getState().columnFilters.filter((f) => f.value != null && f.value !== "").map((f) => ({
|
|
19
|
+
id: f.id,
|
|
20
|
+
value: String(f.value),
|
|
21
|
+
label: COLUMN_LABELS[f.id] ?? f.id,
|
|
22
|
+
remove: () => ctx.removeColumnFilter(f.id)
|
|
23
|
+
}));
|
|
24
|
+
if (filters.length === 0) return null;
|
|
25
|
+
if (render) return renderSlot({
|
|
26
|
+
defaultTagName: "div",
|
|
27
|
+
render,
|
|
28
|
+
state: { filters },
|
|
29
|
+
props: {
|
|
30
|
+
"data-p0": "catalog-active-filters",
|
|
31
|
+
className: cn("pz:flex pz:flex-wrap pz:items-center pz:gap-2", classNames?.activeFilters, className)
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
return /* @__PURE__ */ jsx("div", {
|
|
35
|
+
"data-p0": "catalog-active-filters",
|
|
36
|
+
className: cn("pz:flex pz:flex-wrap pz:items-center pz:gap-2", classNames?.activeFilters, className),
|
|
37
|
+
children: filters.map((f) => /* @__PURE__ */ jsx(DefaultActiveFilterPill, {
|
|
38
|
+
label: f.label,
|
|
39
|
+
value: f.value,
|
|
40
|
+
onRemove: f.remove
|
|
41
|
+
}, f.id))
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
46
|
+
export { PipeCatalogActiveFilters };
|
|
47
|
+
//# sourceMappingURL=active-filters.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-filters.mjs","names":[],"sources":["../../../../src/components/compound/pipe-catalog/active-filters.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\nimport { useCatalogConfig } from \"../../../context/catalog-config-context.js\";\nimport { usePipeCatalogContext } from \"../../../context/pipe-catalog-context.js\";\nimport { cn } from \"../../../lib/utils.js\";\nimport { type RenderProp, renderSlot } from \"../../../utils/render-slot.js\";\nimport { DefaultActiveFilterPill } from \"../../defaults/catalog/active-filter-pill.js\";\n\nconst COLUMN_LABELS: Record<string, string> = {\n inputFields: \"Input\",\n outputFields: \"Output\",\n providers: \"Provider\",\n tags: \"Tag\",\n};\n\nexport interface ActiveFilter {\n id: string;\n value: string;\n label: string;\n remove: () => void;\n}\n\nexport interface PipeCatalogActiveFiltersState {\n filters: ActiveFilter[];\n}\n\nexport interface PipeCatalogActiveFiltersProps {\n className?: string;\n render?: RenderProp<ComponentProps<\"div\">, PipeCatalogActiveFiltersState>;\n}\n\nexport function PipeCatalogActiveFilters({ className, render }: PipeCatalogActiveFiltersProps) {\n const { classNames } = useCatalogConfig();\n const ctx = usePipeCatalogContext();\n const filters: ActiveFilter[] = ctx.table\n .getState()\n .columnFilters.filter((f) => f.value != null && f.value !== \"\")\n .map((f) => ({\n id: f.id,\n value: String(f.value),\n label: COLUMN_LABELS[f.id] ?? f.id,\n remove: () =>\n ctx.removeColumnFilter(f.id as \"inputFields\" | \"outputFields\" | \"tags\" | \"providers\"),\n }));\n\n if (filters.length === 0) return null;\n\n if (render) {\n return renderSlot({\n defaultTagName: \"div\",\n render,\n state: { filters },\n props: {\n \"data-p0\": \"catalog-active-filters\",\n className: cn(\n \"pz:flex pz:flex-wrap pz:items-center pz:gap-2\",\n classNames?.activeFilters,\n className,\n ),\n } as ComponentProps<\"div\">,\n });\n }\n\n return (\n <div\n data-p0=\"catalog-active-filters\"\n className={cn(\n \"pz:flex pz:flex-wrap pz:items-center pz:gap-2\",\n classNames?.activeFilters,\n className,\n )}\n >\n {filters.map((f) => (\n <DefaultActiveFilterPill key={f.id} label={f.label} value={f.value} onRemove={f.remove} />\n ))}\n </div>\n );\n}\n"],"mappings":";;;;;;;;AAOA,MAAM,gBAAwC;CAC5C,aAAa;CACb,cAAc;CACd,WAAW;CACX,MAAM;CACP;AAkBD,SAAgB,yBAAyB,EAAE,WAAW,UAAyC;CAC7F,MAAM,EAAE,eAAe,kBAAkB;CACzC,MAAM,MAAM,uBAAuB;CACnC,MAAM,UAA0B,IAAI,MACjC,UAAU,CACV,cAAc,QAAQ,MAAM,EAAE,SAAS,QAAQ,EAAE,UAAU,GAAG,CAC9D,KAAK,OAAO;EACX,IAAI,EAAE;EACN,OAAO,OAAO,EAAE,MAAM;EACtB,OAAO,cAAc,EAAE,OAAO,EAAE;EAChC,cACE,IAAI,mBAAmB,EAAE,GAA4D;EACxF,EAAE;AAEL,KAAI,QAAQ,WAAW,EAAG,QAAO;AAEjC,KAAI,OACF,QAAO,WAAW;EAChB,gBAAgB;EAChB;EACA,OAAO,EAAE,SAAS;EAClB,OAAO;GACL,WAAW;GACX,WAAW,GACT,iDACA,YAAY,eACZ,UACD;GACF;EACF,CAAC;AAGJ,QACE,oBAAC,OAAD;EACE,WAAQ;EACR,WAAW,GACT,iDACA,YAAY,eACZ,UACD;YAEA,QAAQ,KAAK,MACZ,oBAAC,yBAAD;GAAoC,OAAO,EAAE;GAAO,OAAO,EAAE;GAAO,UAAU,EAAE;GAAU,EAA5D,EAAE,GAA0D,CAC1F;EACE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { RenderProp } from "../../../utils/render-slot.mjs";
|
|
2
|
+
import { PipeCardData } from "../../../types/catalog-adapters.mjs";
|
|
3
|
+
import * as _$react from "react";
|
|
4
|
+
import { ComponentProps, MouseEvent } from "react";
|
|
5
|
+
|
|
6
|
+
//#region src/components/compound/pipe-catalog/card.d.ts
|
|
7
|
+
interface PipeCatalogCardState {
|
|
8
|
+
card: PipeCardData;
|
|
9
|
+
selected: boolean;
|
|
10
|
+
/** Whether this card's expansion drawer is currently open. */
|
|
11
|
+
expanded: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Open or close this card's expansion drawer. Only a single card inside a
|
|
14
|
+
* `<PipeCatalog>` can be expanded at any time — opening one closes the
|
|
15
|
+
* previously expanded card.
|
|
16
|
+
*/
|
|
17
|
+
setExpanded: (open: boolean) => void;
|
|
18
|
+
}
|
|
19
|
+
interface PipeCatalogCardProps extends Omit<ComponentProps<"div">, "onClick" | "children"> {
|
|
20
|
+
card: PipeCardData;
|
|
21
|
+
index?: number;
|
|
22
|
+
selected?: boolean;
|
|
23
|
+
render?: RenderProp<ComponentProps<"div">, PipeCatalogCardState>;
|
|
24
|
+
/** Overrides the default click handler that fires `onSelectCard`. */
|
|
25
|
+
onClick?: (e: MouseEvent<HTMLDivElement>) => void;
|
|
26
|
+
}
|
|
27
|
+
declare const PipeCatalogCard: _$react.ForwardRefExoticComponent<Omit<PipeCatalogCardProps, "ref"> & _$react.RefAttributes<HTMLDivElement>>;
|
|
28
|
+
//#endregion
|
|
29
|
+
export { PipeCatalogCard, PipeCatalogCardProps };
|
|
30
|
+
//# sourceMappingURL=card.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.d.mts","names":[],"sources":["../../../../src/components/compound/pipe-catalog/card.tsx"],"mappings":";;;;;;UAyBiB,oBAAA;EACf,IAAA,EAAM,YAAA;EACN,QAAA;EAFe;EAIf,QAAA;;;;;;EAMA,WAAA,GAAc,IAAA;AAAA;AAAA,UAGC,oBAAA,SAA6B,IAAA,CAAK,cAAA;EACjD,IAAA,EAAM,YAAA;EACN,KAAA;EACA,QAAA;EACA,MAAA,GAAS,UAAA,CAAW,cAAA,SAAuB,oBAAA;;EAE3C,OAAA,IAAW,CAAA,EAAG,UAAA,CAAW,cAAA;AAAA;AAAA,cAUd,eAAA,EAAe,OAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,oBAAA,WAAA,OAAA,CAAA,aAAA,CAAA,cAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { cn } from "../../../lib/utils.mjs";
|
|
2
|
+
import { useCatalogConfig } from "../../../context/catalog-config-context.mjs";
|
|
3
|
+
import { usePipeCatalogContext } from "../../../context/pipe-catalog-context.mjs";
|
|
4
|
+
import { renderSlot } from "../../../utils/render-slot.mjs";
|
|
5
|
+
import { PipeCatalogCardContext } from "../../../context/pipe-catalog-card-context.mjs";
|
|
6
|
+
import { CatalogCardDescription, CatalogCardHeader, CatalogCardTitle } from "../../defaults/catalog/card-primitives.mjs";
|
|
7
|
+
import { forwardRef, useCallback, useId, useMemo } from "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
|
|
10
|
+
//#region src/components/compound/pipe-catalog/card.tsx
|
|
11
|
+
const DEFAULT_BODY = /* @__PURE__ */ jsxs(CatalogCardHeader, { children: [/* @__PURE__ */ jsx(CatalogCardTitle, {}), /* @__PURE__ */ jsx(CatalogCardDescription, {})] });
|
|
12
|
+
const PipeCatalogCard = forwardRef(function PipeCatalogCard({ card, index = 0, selected = false, render, onClick, className, ...rest }, ref) {
|
|
13
|
+
const { onSelectCard, expandedCardId, setExpandedCardId } = usePipeCatalogContext();
|
|
14
|
+
const { classNames, components } = useCatalogConfig();
|
|
15
|
+
const instanceId = useId();
|
|
16
|
+
const expanded = expandedCardId === instanceId;
|
|
17
|
+
const setExpanded = useCallback((open) => {
|
|
18
|
+
setExpandedCardId(open ? instanceId : null);
|
|
19
|
+
}, [instanceId, setExpandedCardId]);
|
|
20
|
+
const onSelect = useCallback((e) => {
|
|
21
|
+
onSelectCard?.(card, e);
|
|
22
|
+
}, [onSelectCard, card]);
|
|
23
|
+
const contextValue = useMemo(() => ({
|
|
24
|
+
card,
|
|
25
|
+
index,
|
|
26
|
+
selected,
|
|
27
|
+
onSelect
|
|
28
|
+
}), [
|
|
29
|
+
card,
|
|
30
|
+
index,
|
|
31
|
+
selected,
|
|
32
|
+
onSelect
|
|
33
|
+
]);
|
|
34
|
+
const interactive = !!(onClick || onSelectCard);
|
|
35
|
+
const handleClick = onClick ? onClick : onSelectCard ? (e) => onSelect(e) : void 0;
|
|
36
|
+
const handleKeyDown = interactive ? (e) => {
|
|
37
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
38
|
+
e.preventDefault();
|
|
39
|
+
if (onClick) onClick(e);
|
|
40
|
+
else onSelect(e);
|
|
41
|
+
}
|
|
42
|
+
} : void 0;
|
|
43
|
+
const Card = components?.Card;
|
|
44
|
+
if (Card) return /* @__PURE__ */ jsx(PipeCatalogCardContext.Provider, {
|
|
45
|
+
value: contextValue,
|
|
46
|
+
children: /* @__PURE__ */ jsx(Card, { children: DEFAULT_BODY })
|
|
47
|
+
});
|
|
48
|
+
const isUsingDefaultBody = !render;
|
|
49
|
+
return /* @__PURE__ */ jsx(PipeCatalogCardContext.Provider, {
|
|
50
|
+
value: contextValue,
|
|
51
|
+
children: renderSlot({
|
|
52
|
+
defaultTagName: "div",
|
|
53
|
+
render,
|
|
54
|
+
state: {
|
|
55
|
+
card,
|
|
56
|
+
selected,
|
|
57
|
+
expanded,
|
|
58
|
+
setExpanded
|
|
59
|
+
},
|
|
60
|
+
props: {
|
|
61
|
+
"data-p0": "catalog-card",
|
|
62
|
+
role: interactive ? "button" : void 0,
|
|
63
|
+
tabIndex: interactive ? 0 : void 0,
|
|
64
|
+
onClick: handleClick,
|
|
65
|
+
onKeyDown: handleKeyDown,
|
|
66
|
+
className: cn("pz:flex pz:flex-col", isUsingDefaultBody && "pz:rounded-md pz:border pz:border-input pz:bg-card pz:px-3 pz:py-2.5 pz:transition-colors", isUsingDefaultBody && interactive && "pz:hover:bg-muted/40", interactive && "pz:cursor-pointer", classNames?.card, className),
|
|
67
|
+
...isUsingDefaultBody ? { children: DEFAULT_BODY } : {}
|
|
68
|
+
},
|
|
69
|
+
externalProps: rest,
|
|
70
|
+
ref
|
|
71
|
+
})
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
//#endregion
|
|
76
|
+
export { PipeCatalogCard };
|
|
77
|
+
//# sourceMappingURL=card.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.mjs","names":[],"sources":["../../../../src/components/compound/pipe-catalog/card.tsx"],"sourcesContent":["import {\n type ComponentProps,\n forwardRef,\n type KeyboardEvent,\n type MouseEvent,\n type SyntheticEvent,\n useCallback,\n useId,\n useMemo,\n} from \"react\";\nimport { useCatalogConfig } from \"../../../context/catalog-config-context.js\";\nimport {\n PipeCatalogCardContext,\n type PipeCatalogCardContextValue,\n} from \"../../../context/pipe-catalog-card-context.js\";\nimport { usePipeCatalogContext } from \"../../../context/pipe-catalog-context.js\";\nimport { cn } from \"../../../lib/utils.js\";\nimport type { PipeCardData } from \"../../../types/catalog-adapters.js\";\nimport { type RenderProp, renderSlot } from \"../../../utils/render-slot.js\";\nimport {\n CatalogCardDescription,\n CatalogCardHeader,\n CatalogCardTitle,\n} from \"../../defaults/catalog/card-primitives.js\";\n\nexport interface PipeCatalogCardState {\n card: PipeCardData;\n selected: boolean;\n /** Whether this card's expansion drawer is currently open. */\n expanded: boolean;\n /**\n * Open or close this card's expansion drawer. Only a single card inside a\n * `<PipeCatalog>` can be expanded at any time — opening one closes the\n * previously expanded card.\n */\n setExpanded: (open: boolean) => void;\n}\n\nexport interface PipeCatalogCardProps extends Omit<ComponentProps<\"div\">, \"onClick\" | \"children\"> {\n card: PipeCardData;\n index?: number;\n selected?: boolean;\n render?: RenderProp<ComponentProps<\"div\">, PipeCatalogCardState>;\n /** Overrides the default click handler that fires `onSelectCard`. */\n onClick?: (e: MouseEvent<HTMLDivElement>) => void;\n}\n\nconst DEFAULT_BODY = (\n <CatalogCardHeader>\n <CatalogCardTitle />\n <CatalogCardDescription />\n </CatalogCardHeader>\n);\n\nexport const PipeCatalogCard = forwardRef<HTMLDivElement, PipeCatalogCardProps>(\n function PipeCatalogCard(\n { card, index = 0, selected = false, render, onClick, className, ...rest },\n ref,\n ) {\n const { onSelectCard, expandedCardId, setExpandedCardId } = usePipeCatalogContext();\n const { classNames, components } = useCatalogConfig();\n const instanceId = useId();\n const expanded = expandedCardId === instanceId;\n\n const setExpanded = useCallback(\n (open: boolean) => {\n setExpandedCardId(open ? instanceId : null);\n },\n [instanceId, setExpandedCardId],\n );\n\n const onSelect = useCallback(\n (e: SyntheticEvent) => {\n onSelectCard?.(card, e);\n },\n [onSelectCard, card],\n );\n\n const contextValue = useMemo<PipeCatalogCardContextValue>(\n () => ({ card, index, selected, onSelect }),\n [card, index, selected, onSelect],\n );\n\n const interactive = !!(onClick || onSelectCard);\n const handleClick = onClick\n ? onClick\n : onSelectCard\n ? (e: MouseEvent<HTMLDivElement>) => onSelect(e)\n : undefined;\n const handleKeyDown = interactive\n ? (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n if (onClick) onClick(e as unknown as MouseEvent<HTMLDivElement>);\n else onSelect(e);\n }\n }\n : undefined;\n\n const Card = components?.Card;\n\n if (Card) {\n return (\n <PipeCatalogCardContext.Provider value={contextValue}>\n <Card>{DEFAULT_BODY}</Card>\n </PipeCatalogCardContext.Provider>\n );\n }\n\n const isUsingDefaultBody = !render;\n\n return (\n <PipeCatalogCardContext.Provider value={contextValue}>\n {renderSlot({\n defaultTagName: \"div\",\n render,\n state: { card, selected, expanded, setExpanded },\n props: {\n \"data-p0\": \"catalog-card\",\n role: interactive ? \"button\" : undefined,\n tabIndex: interactive ? 0 : undefined,\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n className: cn(\n \"pz:flex pz:flex-col\",\n isUsingDefaultBody &&\n \"pz:rounded-md pz:border pz:border-input pz:bg-card pz:px-3 pz:py-2.5 pz:transition-colors\",\n isUsingDefaultBody && interactive && \"pz:hover:bg-muted/40\",\n interactive && \"pz:cursor-pointer\",\n classNames?.card,\n className,\n ),\n ...(isUsingDefaultBody ? { children: DEFAULT_BODY } : {}),\n } as ComponentProps<\"div\">,\n externalProps: rest as Record<string, unknown>,\n ref,\n })}\n </PipeCatalogCardContext.Provider>\n );\n },\n);\n"],"mappings":";;;;;;;;;;AA+CA,MAAM,eACJ,qBAAC,mBAAD,aACE,oBAAC,kBAAD,EAAoB,GACpB,oBAAC,wBAAD,EAA0B,EACR;AAGtB,MAAa,kBAAkB,WAC7B,SAAS,gBACP,EAAE,MAAM,QAAQ,GAAG,WAAW,OAAO,QAAQ,SAAS,WAAW,GAAG,QACpE,KACA;CACA,MAAM,EAAE,cAAc,gBAAgB,sBAAsB,uBAAuB;CACnF,MAAM,EAAE,YAAY,eAAe,kBAAkB;CACrD,MAAM,aAAa,OAAO;CAC1B,MAAM,WAAW,mBAAmB;CAEpC,MAAM,cAAc,aACjB,SAAkB;AACjB,oBAAkB,OAAO,aAAa,KAAK;IAE7C,CAAC,YAAY,kBAAkB,CAChC;CAED,MAAM,WAAW,aACd,MAAsB;AACrB,iBAAe,MAAM,EAAE;IAEzB,CAAC,cAAc,KAAK,CACrB;CAED,MAAM,eAAe,eACZ;EAAE;EAAM;EAAO;EAAU;EAAU,GAC1C;EAAC;EAAM;EAAO;EAAU;EAAS,CAClC;CAED,MAAM,cAAc,CAAC,EAAE,WAAW;CAClC,MAAM,cAAc,UAChB,UACA,gBACG,MAAkC,SAAS,EAAE,GAC9C;CACN,MAAM,gBAAgB,eACjB,MAAqC;AACpC,MAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACtC,KAAE,gBAAgB;AAClB,OAAI,QAAS,SAAQ,EAA2C;OAC3D,UAAS,EAAE;;KAGpB;CAEJ,MAAM,OAAO,YAAY;AAEzB,KAAI,KACF,QACE,oBAAC,uBAAuB,UAAxB;EAAiC,OAAO;YACtC,oBAAC,MAAD,YAAO,cAAoB;EACK;CAItC,MAAM,qBAAqB,CAAC;AAE5B,QACE,oBAAC,uBAAuB,UAAxB;EAAiC,OAAO;YACrC,WAAW;GACV,gBAAgB;GAChB;GACA,OAAO;IAAE;IAAM;IAAU;IAAU;IAAa;GAChD,OAAO;IACL,WAAW;IACX,MAAM,cAAc,WAAW;IAC/B,UAAU,cAAc,IAAI;IAC5B,SAAS;IACT,WAAW;IACX,WAAW,GACT,uBACA,sBACE,6FACF,sBAAsB,eAAe,wBACrC,eAAe,qBACf,YAAY,MACZ,UACD;IACD,GAAI,qBAAqB,EAAE,UAAU,cAAc,GAAG,EAAE;IACzD;GACD,eAAe;GACf;GACD,CAAC;EAC8B;EAGvC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { RenderProp } from "../../../utils/render-slot.mjs";
|
|
2
|
+
import { CategoryOption } from "../../defaults/catalog/category-filter.mjs";
|
|
3
|
+
import * as _$react from "react";
|
|
4
|
+
import { ComponentProps } from "react";
|
|
5
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
6
|
+
import { PipeCategory } from "@pipe0/base";
|
|
7
|
+
|
|
8
|
+
//#region src/components/compound/pipe-catalog/category-filter.d.ts
|
|
9
|
+
interface PipeCatalogCategoryFilterState {
|
|
10
|
+
value: PipeCategory | null;
|
|
11
|
+
setValue: (v: PipeCategory | null) => void;
|
|
12
|
+
options: ReadonlyArray<CategoryOption<PipeCategory>>;
|
|
13
|
+
counts: Partial<Record<PipeCategory, number>>;
|
|
14
|
+
totalCount: number;
|
|
15
|
+
isActive: (id: PipeCategory | null) => boolean;
|
|
16
|
+
}
|
|
17
|
+
interface PipeCatalogCategoryFilterProps {
|
|
18
|
+
/** Override the default category options. */
|
|
19
|
+
options?: ReadonlyArray<CategoryOption<PipeCategory>>;
|
|
20
|
+
className?: string;
|
|
21
|
+
render?: RenderProp<ComponentProps<"div">, PipeCatalogCategoryFilterState>;
|
|
22
|
+
}
|
|
23
|
+
declare function PipeCatalogCategoryFilter({
|
|
24
|
+
options,
|
|
25
|
+
className,
|
|
26
|
+
render
|
|
27
|
+
}: PipeCatalogCategoryFilterProps): string | number | bigint | boolean | _$react_jsx_runtime0.JSX.Element | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined> | null | undefined;
|
|
28
|
+
//#endregion
|
|
29
|
+
export { PipeCatalogCategoryFilter, PipeCatalogCategoryFilterProps, PipeCatalogCategoryFilterState };
|
|
30
|
+
//# sourceMappingURL=category-filter.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"category-filter.d.mts","names":[],"sources":["../../../../src/components/compound/pipe-catalog/category-filter.tsx"],"mappings":";;;;;;;;UA4CiB,8BAAA;EACf,KAAA,EAAO,YAAA;EACP,QAAA,GAAW,CAAA,EAAG,YAAA;EACd,OAAA,EAAS,aAAA,CAAc,cAAA,CAAe,YAAA;EACtC,MAAA,EAAQ,OAAA,CAAQ,MAAA,CAAO,YAAA;EACvB,UAAA;EACA,QAAA,GAAW,EAAA,EAAI,YAAA;AAAA;AAAA,UAGA,8BAAA;EANuB;EAQtC,OAAA,GAAU,aAAA,CAAc,cAAA,CAAe,YAAA;EACvC,SAAA;EACA,MAAA,GAAS,UAAA,CAAW,cAAA,SAAuB,8BAAA;AAAA;AAAA,iBAG7B,yBAAA,CAAA;EACd,OAAA;EACA,SAAA;EACA;AAAA,GACC,8BAAA,wCAA8B,oBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QAAA,CAAA,OAAA,CAAA,SAAA,IAAA,OAAA,sCAAA,OAAA,CAAA,WAAA,GAAA,OAAA,CAAA,YAAA,mBAAA,OAAA,CAAA,qBAAA,SAAA,QAAA,CAAA,OAAA,CAAA,SAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { usePipeCatalogContext } from "../../../context/pipe-catalog-context.mjs";
|
|
2
|
+
import { renderSlot } from "../../../utils/render-slot.mjs";
|
|
3
|
+
import { DefaultCategoryFilter } from "../../defaults/catalog/category-filter.mjs";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { Building2, Database, Hammer, Plug, ScanFace, Search, Users, X, Zap } from "lucide-react";
|
|
6
|
+
import { getPipeCategoryEntries } from "@pipe0/base";
|
|
7
|
+
|
|
8
|
+
//#region src/components/compound/pipe-catalog/category-filter.tsx
|
|
9
|
+
const PIPE_CATEGORY_ICONS = {
|
|
10
|
+
people_data: ScanFace,
|
|
11
|
+
company_data: Building2,
|
|
12
|
+
find_people: Users,
|
|
13
|
+
find_comapnies: Search,
|
|
14
|
+
tools: Hammer,
|
|
15
|
+
actions: Zap,
|
|
16
|
+
integrations: Plug,
|
|
17
|
+
deprecated: X
|
|
18
|
+
};
|
|
19
|
+
const DEFAULT_OPTIONS = [{
|
|
20
|
+
id: null,
|
|
21
|
+
label: "All",
|
|
22
|
+
icon: Database
|
|
23
|
+
}, ...[...getPipeCategoryEntries()].sort((a, b) => a.order - b.order).map((entry) => ({
|
|
24
|
+
id: entry.id,
|
|
25
|
+
label: entry.label,
|
|
26
|
+
icon: PIPE_CATEGORY_ICONS[entry.id]
|
|
27
|
+
}))];
|
|
28
|
+
function PipeCatalogCategoryFilter({ options = DEFAULT_OPTIONS, className, render }) {
|
|
29
|
+
const ctx = usePipeCatalogContext();
|
|
30
|
+
if (render) return renderSlot({
|
|
31
|
+
defaultTagName: "div",
|
|
32
|
+
render,
|
|
33
|
+
state: {
|
|
34
|
+
value: ctx.category,
|
|
35
|
+
setValue: ctx.setCategory,
|
|
36
|
+
options,
|
|
37
|
+
counts: ctx.baselineCategoryCounts,
|
|
38
|
+
totalCount: ctx.baselineCardCount,
|
|
39
|
+
isActive: (id) => ctx.category === id
|
|
40
|
+
},
|
|
41
|
+
props: {
|
|
42
|
+
"data-p0": "catalog-category-filter",
|
|
43
|
+
className
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return /* @__PURE__ */ jsx(DefaultCategoryFilter, {
|
|
47
|
+
options,
|
|
48
|
+
value: ctx.category,
|
|
49
|
+
onChange: ctx.setCategory,
|
|
50
|
+
className
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
//#endregion
|
|
55
|
+
export { PipeCatalogCategoryFilter };
|
|
56
|
+
//# sourceMappingURL=category-filter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"category-filter.mjs","names":["SearchIcon"],"sources":["../../../../src/components/compound/pipe-catalog/category-filter.tsx"],"sourcesContent":["import { getPipeCategoryEntries, type PipeCategory } from \"@pipe0/base\";\nimport {\n Building2,\n Database,\n Hammer,\n Plug,\n ScanFace,\n Search as SearchIcon,\n Users,\n X,\n Zap,\n} from \"lucide-react\";\nimport type { ComponentProps } from \"react\";\nimport { usePipeCatalogContext } from \"../../../context/pipe-catalog-context.js\";\nimport { type RenderProp, renderSlot } from \"../../../utils/render-slot.js\";\nimport {\n type CategoryOption,\n DefaultCategoryFilter,\n} from \"../../defaults/catalog/category-filter.js\";\n\nconst PIPE_CATEGORY_ICONS: Record<PipeCategory, CategoryOption<PipeCategory>[\"icon\"]> = {\n people_data: ScanFace,\n company_data: Building2,\n find_people: Users,\n find_comapnies: SearchIcon,\n tools: Hammer,\n actions: Zap,\n integrations: Plug,\n deprecated: X,\n};\n\nconst DEFAULT_OPTIONS: ReadonlyArray<CategoryOption<PipeCategory>> = [\n { id: null, label: \"All\", icon: Database },\n ...[...getPipeCategoryEntries()]\n .sort((a, b) => a.order - b.order)\n .map(\n (entry): CategoryOption<PipeCategory> => ({\n id: entry.id,\n label: entry.label,\n icon: PIPE_CATEGORY_ICONS[entry.id],\n }),\n ),\n];\n\nexport interface PipeCatalogCategoryFilterState {\n value: PipeCategory | null;\n setValue: (v: PipeCategory | null) => void;\n options: ReadonlyArray<CategoryOption<PipeCategory>>;\n counts: Partial<Record<PipeCategory, number>>;\n totalCount: number;\n isActive: (id: PipeCategory | null) => boolean;\n}\n\nexport interface PipeCatalogCategoryFilterProps {\n /** Override the default category options. */\n options?: ReadonlyArray<CategoryOption<PipeCategory>>;\n className?: string;\n render?: RenderProp<ComponentProps<\"div\">, PipeCatalogCategoryFilterState>;\n}\n\nexport function PipeCatalogCategoryFilter({\n options = DEFAULT_OPTIONS,\n className,\n render,\n}: PipeCatalogCategoryFilterProps) {\n const ctx = usePipeCatalogContext();\n\n if (render) {\n return renderSlot({\n defaultTagName: \"div\",\n render,\n state: {\n value: ctx.category,\n setValue: ctx.setCategory,\n options,\n counts: ctx.baselineCategoryCounts,\n totalCount: ctx.baselineCardCount,\n isActive: (id: PipeCategory | null) => ctx.category === id,\n },\n props: {\n \"data-p0\": \"catalog-category-filter\",\n className,\n } as ComponentProps<\"div\">,\n });\n }\n\n return (\n <DefaultCategoryFilter\n options={options}\n value={ctx.category}\n onChange={ctx.setCategory}\n className={className}\n />\n );\n}\n"],"mappings":";;;;;;;;AAoBA,MAAM,sBAAkF;CACtF,aAAa;CACb,cAAc;CACd,aAAa;CACb,gBAAgBA;CAChB,OAAO;CACP,SAAS;CACT,cAAc;CACd,YAAY;CACb;AAED,MAAM,kBAA+D,CACnE;CAAE,IAAI;CAAM,OAAO;CAAO,MAAM;CAAU,EAC1C,GAAG,CAAC,GAAG,wBAAwB,CAAC,CAC7B,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,CACjC,KACE,WAAyC;CACxC,IAAI,MAAM;CACV,OAAO,MAAM;CACb,MAAM,oBAAoB,MAAM;CACjC,EACF,CACJ;AAkBD,SAAgB,0BAA0B,EACxC,UAAU,iBACV,WACA,UACiC;CACjC,MAAM,MAAM,uBAAuB;AAEnC,KAAI,OACF,QAAO,WAAW;EAChB,gBAAgB;EAChB;EACA,OAAO;GACL,OAAO,IAAI;GACX,UAAU,IAAI;GACd;GACA,QAAQ,IAAI;GACZ,YAAY,IAAI;GAChB,WAAW,OAA4B,IAAI,aAAa;GACzD;EACD,OAAO;GACL,WAAW;GACX;GACD;EACF,CAAC;AAGJ,QACE,oBAAC,uBAAD;EACW;EACT,OAAO,IAAI;EACX,UAAU,IAAI;EACH;EACX"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { RenderProp } from "../../../utils/render-slot.mjs";
|
|
2
|
+
import { FilterSelectOption } from "../../defaults/catalog/filter-select.mjs";
|
|
3
|
+
import * as _$react from "react";
|
|
4
|
+
import { ComponentProps, ReactNode } from "react";
|
|
5
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
6
|
+
|
|
7
|
+
//#region src/components/compound/pipe-catalog/column-filter.d.ts
|
|
8
|
+
type PipeColumnFilterId = "inputFields" | "outputFields" | "providers" | "tags";
|
|
9
|
+
/**
|
|
10
|
+
* Render-prop state shared by every specific column filter component
|
|
11
|
+
* (input/output/provider/tag) and the generic `<PipeCatalogColumnFilter>`.
|
|
12
|
+
*/
|
|
13
|
+
interface ColumnFilterState {
|
|
14
|
+
value: string;
|
|
15
|
+
setValue: (v: string | null) => void;
|
|
16
|
+
options: ReadonlyArray<FilterSelectOption>;
|
|
17
|
+
isActive: boolean;
|
|
18
|
+
}
|
|
19
|
+
interface PipeCatalogColumnFilterProps {
|
|
20
|
+
id: PipeColumnFilterId;
|
|
21
|
+
placeholder?: ReactNode;
|
|
22
|
+
options?: ReadonlyArray<FilterSelectOption>;
|
|
23
|
+
className?: string;
|
|
24
|
+
render?: RenderProp<ComponentProps<"div">, ColumnFilterState>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Generic column-filter escape hatch. For built-in filters prefer the specific
|
|
28
|
+
* components: `<PipeCatalogInputFieldFilter>`, `<PipeCatalogOutputFieldFilter>`,
|
|
29
|
+
* `<PipeCatalogProviderFilter>`, `<PipeCatalogTagFilter>`.
|
|
30
|
+
*/
|
|
31
|
+
declare function PipeCatalogColumnFilter({
|
|
32
|
+
id,
|
|
33
|
+
placeholder,
|
|
34
|
+
options,
|
|
35
|
+
className,
|
|
36
|
+
render
|
|
37
|
+
}: PipeCatalogColumnFilterProps): string | number | bigint | boolean | _$react_jsx_runtime0.JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
|
|
38
|
+
//#endregion
|
|
39
|
+
export { ColumnFilterState, PipeCatalogColumnFilter, PipeCatalogColumnFilterProps, PipeColumnFilterId };
|
|
40
|
+
//# sourceMappingURL=column-filter.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-filter.d.mts","names":[],"sources":["../../../../src/components/compound/pipe-catalog/column-filter.tsx"],"mappings":";;;;;;;KAQY,kBAAA;;;;AAAZ;UAMiB,iBAAA;EACf,KAAA;EACA,QAAA,GAAW,CAAA;EACX,OAAA,EAAS,aAAA,CAAc,kBAAA;EACvB,QAAA;AAAA;AAAA,UAGe,4BAAA;EACf,EAAA,EAAI,kBAAA;EACJ,WAAA,GAAc,SAAA;EACd,OAAA,GAAU,aAAA,CAAc,kBAAA;EACxB,SAAA;EACA,MAAA,GAAS,UAAA,CAAW,cAAA,SAAuB,iBAAA;AAAA;;;;;AAL7C;iBAmCgB,uBAAA,CAAA;EACd,EAAA;EACA,WAAA;EACA,OAAA;EACA,SAAA;EACA;AAAA,GACC,4BAAA,wCAA4B,oBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QAAA,CAAA,SAAA,IAAA,OAAA,sCAAA,OAAA,CAAA,WAAA,GAAA,OAAA,CAAA,YAAA,mBAAA,OAAA,CAAA,qBAAA,SAAA,QAAA,CAAA,SAAA"}
|