@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
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SuggestCombobox } from "../../internal/combobox/suggest-combobox.mjs";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/components/defaults/adapters/multi-select-input.tsx
|
|
5
|
+
function MultiSelectInputAdapter(field) {
|
|
6
|
+
return /* @__PURE__ */ jsx("div", {
|
|
7
|
+
"data-p0": "input",
|
|
8
|
+
children: /* @__PURE__ */ jsx(SuggestCombobox, {
|
|
9
|
+
value: field.selected,
|
|
10
|
+
onChange: (next) => {
|
|
11
|
+
const current = new Set(field.selected);
|
|
12
|
+
const incoming = new Set(next);
|
|
13
|
+
[...current, ...incoming].forEach((v) => {
|
|
14
|
+
if (current.has(v) !== incoming.has(v)) field.onToggle(v);
|
|
15
|
+
});
|
|
16
|
+
},
|
|
17
|
+
options: field.options,
|
|
18
|
+
ariaInvalid: !!field.error,
|
|
19
|
+
placeholder: field.meta.placeholder
|
|
20
|
+
})
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
//#endregion
|
|
25
|
+
export { MultiSelectInputAdapter };
|
|
26
|
+
//# sourceMappingURL=multi-select-input.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-select-input.mjs","names":[],"sources":["../../../../src/components/defaults/adapters/multi-select-input.tsx"],"sourcesContent":["import type { FieldHandle } from \"../../../types/field-handle.js\";\nimport { SuggestCombobox } from \"../../internal/combobox/suggest-combobox.js\";\n\nexport function MultiSelectInputAdapter(field: FieldHandle<\"multi_select_input\">) {\n return (\n <div data-p0=\"input\">\n <SuggestCombobox\n value={field.selected}\n onChange={(next) => {\n // Replay as toggles so the field handle stays the source of truth.\n const current = new Set(field.selected);\n const incoming = new Set(next);\n [...current, ...incoming].forEach((v) => {\n if (current.has(v) !== incoming.has(v)) field.onToggle(v);\n });\n }}\n options={field.options}\n ariaInvalid={!!field.error}\n placeholder={field.meta.placeholder}\n />\n </div>\n );\n}\n"],"mappings":";;;;AAGA,SAAgB,wBAAwB,OAA0C;AAChF,QACE,oBAAC,OAAD;EAAK,WAAQ;YACX,oBAAC,iBAAD;GACE,OAAO,MAAM;GACb,WAAW,SAAS;IAElB,MAAM,UAAU,IAAI,IAAI,MAAM,SAAS;IACvC,MAAM,WAAW,IAAI,IAAI,KAAK;AAC9B,KAAC,GAAG,SAAS,GAAG,SAAS,CAAC,SAAS,MAAM;AACvC,SAAI,QAAQ,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,CAAE,OAAM,SAAS,EAAE;MACzD;;GAEJ,SAAS,MAAM;GACf,aAAa,CAAC,CAAC,MAAM;GACrB,aAAa,MAAM,KAAK;GACxB;EACE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Input } from "../../ui/input.mjs";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/components/defaults/adapters/number-input.tsx
|
|
5
|
+
function NumberInputAdapter(field) {
|
|
6
|
+
return /* @__PURE__ */ jsx(Input, {
|
|
7
|
+
...field.inputProps,
|
|
8
|
+
"data-p0": "input",
|
|
9
|
+
"aria-invalid": !!field.error
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { NumberInputAdapter };
|
|
15
|
+
//# sourceMappingURL=number-input.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-input.mjs","names":[],"sources":["../../../../src/components/defaults/adapters/number-input.tsx"],"sourcesContent":["import type { FieldHandle } from \"../../../types/field-handle.js\";\nimport { Input } from \"../../ui/input.js\";\n\nexport function NumberInputAdapter(field: FieldHandle<\"number_input\">) {\n return <Input {...field.inputProps} data-p0=\"input\" aria-invalid={!!field.error} />;\n}\n"],"mappings":";;;;AAGA,SAAgB,mBAAmB,OAAoC;AACrE,QAAO,oBAAC,OAAD;EAAO,GAAI,MAAM;EAAY,WAAQ;EAAQ,gBAAc,CAAC,CAAC,MAAM;EAAS"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { useFieldError } from "../../../hooks/use-field-error.mjs";
|
|
2
|
+
import { SuggestCombobox } from "../../internal/combobox/suggest-combobox.mjs";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region src/components/defaults/adapters/ordered-multi-create-input.tsx
|
|
6
|
+
function OrderedMultiCreateInputAdapter(field) {
|
|
7
|
+
const itemsError = useFieldError(field.form, field.path);
|
|
8
|
+
const onChange = (next) => {
|
|
9
|
+
const prev = field.items;
|
|
10
|
+
const prevSet = new Set(prev);
|
|
11
|
+
const nextSet = new Set(next);
|
|
12
|
+
for (const v of prev) if (!nextSet.has(v)) field.remove(v);
|
|
13
|
+
for (const v of next) if (!prevSet.has(v)) field.add(v);
|
|
14
|
+
const afterAddRemove = prev.filter((v) => nextSet.has(v)).concat(next.filter((v) => !prevSet.has(v)));
|
|
15
|
+
for (let target = 0; target < next.length; target++) {
|
|
16
|
+
if (afterAddRemove[target] === next[target]) continue;
|
|
17
|
+
const source = afterAddRemove.indexOf(next[target], target);
|
|
18
|
+
if (source === -1 || source === target) continue;
|
|
19
|
+
field.reorder(source, target);
|
|
20
|
+
const [moved] = afterAddRemove.splice(source, 1);
|
|
21
|
+
afterAddRemove.splice(target, 0, moved);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
return /* @__PURE__ */ jsx("div", {
|
|
25
|
+
"data-p0": "input",
|
|
26
|
+
className: "pz:flex pz:flex-col pz:gap-1",
|
|
27
|
+
children: /* @__PURE__ */ jsx(SuggestCombobox, {
|
|
28
|
+
value: field.items,
|
|
29
|
+
onChange,
|
|
30
|
+
options: field.options,
|
|
31
|
+
loadOptions: field.loadOptions,
|
|
32
|
+
allowCreate: true,
|
|
33
|
+
reorderable: true,
|
|
34
|
+
maxItems: field.meta.maxItems,
|
|
35
|
+
placeholder: field.meta.placeholder,
|
|
36
|
+
ariaInvalid: !!itemsError || !!field.error
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
export { OrderedMultiCreateInputAdapter };
|
|
43
|
+
//# sourceMappingURL=ordered-multi-create-input.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ordered-multi-create-input.mjs","names":[],"sources":["../../../../src/components/defaults/adapters/ordered-multi-create-input.tsx"],"sourcesContent":["import { useFieldError } from \"../../../hooks/use-field-error.js\";\nimport type { FieldHandle } from \"../../../types/field-handle.js\";\nimport { SuggestCombobox } from \"../../internal/combobox/suggest-combobox.js\";\n\nexport function OrderedMultiCreateInputAdapter(field: FieldHandle<\"ordered_multi_create_input\">) {\n const itemsError = useFieldError(field.form, field.path);\n\n const onChange = (next: string[]) => {\n const prev = field.items;\n const prevSet = new Set(prev);\n const nextSet = new Set(next);\n\n for (const v of prev) if (!nextSet.has(v)) field.remove(v);\n for (const v of next) if (!prevSet.has(v)) field.add(v);\n\n const afterAddRemove = prev\n .filter((v) => nextSet.has(v))\n .concat(next.filter((v) => !prevSet.has(v)));\n\n for (let target = 0; target < next.length; target++) {\n if (afterAddRemove[target] === next[target]) continue;\n const source = afterAddRemove.indexOf(next[target], target);\n if (source === -1 || source === target) continue;\n field.reorder(source, target);\n const [moved] = afterAddRemove.splice(source, 1);\n afterAddRemove.splice(target, 0, moved);\n }\n };\n\n return (\n <div data-p0=\"input\" className=\"pz:flex pz:flex-col pz:gap-1\">\n <SuggestCombobox\n value={field.items}\n onChange={onChange}\n options={field.options}\n loadOptions={field.loadOptions}\n allowCreate\n reorderable\n maxItems={field.meta.maxItems}\n placeholder={field.meta.placeholder}\n ariaInvalid={!!itemsError || !!field.error}\n />\n </div>\n );\n}\n"],"mappings":";;;;;AAIA,SAAgB,+BAA+B,OAAkD;CAC/F,MAAM,aAAa,cAAc,MAAM,MAAM,MAAM,KAAK;CAExD,MAAM,YAAY,SAAmB;EACnC,MAAM,OAAO,MAAM;EACnB,MAAM,UAAU,IAAI,IAAI,KAAK;EAC7B,MAAM,UAAU,IAAI,IAAI,KAAK;AAE7B,OAAK,MAAM,KAAK,KAAM,KAAI,CAAC,QAAQ,IAAI,EAAE,CAAE,OAAM,OAAO,EAAE;AAC1D,OAAK,MAAM,KAAK,KAAM,KAAI,CAAC,QAAQ,IAAI,EAAE,CAAE,OAAM,IAAI,EAAE;EAEvD,MAAM,iBAAiB,KACpB,QAAQ,MAAM,QAAQ,IAAI,EAAE,CAAC,CAC7B,OAAO,KAAK,QAAQ,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;AAE9C,OAAK,IAAI,SAAS,GAAG,SAAS,KAAK,QAAQ,UAAU;AACnD,OAAI,eAAe,YAAY,KAAK,QAAS;GAC7C,MAAM,SAAS,eAAe,QAAQ,KAAK,SAAS,OAAO;AAC3D,OAAI,WAAW,MAAM,WAAW,OAAQ;AACxC,SAAM,QAAQ,QAAQ,OAAO;GAC7B,MAAM,CAAC,SAAS,eAAe,OAAO,QAAQ,EAAE;AAChD,kBAAe,OAAO,QAAQ,GAAG,MAAM;;;AAI3C,QACE,oBAAC,OAAD;EAAK,WAAQ;EAAQ,WAAU;YAC7B,oBAAC,iBAAD;GACE,OAAO,MAAM;GACH;GACV,SAAS,MAAM;GACf,aAAa,MAAM;GACnB;GACA;GACA,UAAU,MAAM,KAAK;GACrB,aAAa,MAAM,KAAK;GACxB,aAAa,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM;GACrC;EACE"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Input } from "../../ui/input.mjs";
|
|
2
|
+
import { Switch } from "../../ui/switch.mjs";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region src/components/defaults/adapters/output-field-input.tsx
|
|
6
|
+
function OutputFieldInputAdapter(field) {
|
|
7
|
+
const value = field.value ?? {
|
|
8
|
+
alias: "",
|
|
9
|
+
enabled: true
|
|
10
|
+
};
|
|
11
|
+
const enabled = value.enabled;
|
|
12
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
13
|
+
"data-p0": "input",
|
|
14
|
+
className: "pz:flex pz:items-center pz:gap-2",
|
|
15
|
+
children: [/* @__PURE__ */ jsx(Input, {
|
|
16
|
+
className: "pz:flex-1",
|
|
17
|
+
value: value.alias,
|
|
18
|
+
onChange: (e) => field.setValue({
|
|
19
|
+
...value,
|
|
20
|
+
alias: e.target.value
|
|
21
|
+
}),
|
|
22
|
+
placeholder: field.meta.placeholder,
|
|
23
|
+
disabled: !enabled,
|
|
24
|
+
"aria-invalid": !!field.error
|
|
25
|
+
}), /* @__PURE__ */ jsx(Switch, {
|
|
26
|
+
checked: enabled,
|
|
27
|
+
onCheckedChange: (checked) => field.setValue({
|
|
28
|
+
...value,
|
|
29
|
+
enabled: !!checked
|
|
30
|
+
})
|
|
31
|
+
})]
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
export { OutputFieldInputAdapter };
|
|
37
|
+
//# sourceMappingURL=output-field-input.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-field-input.mjs","names":[],"sources":["../../../../src/components/defaults/adapters/output-field-input.tsx"],"sourcesContent":["import type { FieldHandle } from \"../../../types/field-handle.js\";\nimport { Input } from \"../../ui/input.js\";\nimport { Switch } from \"../../ui/switch.js\";\n\nexport function OutputFieldInputAdapter(field: FieldHandle<\"output_field_input\">) {\n const value = field.value ?? { alias: \"\", enabled: true };\n const enabled = value.enabled;\n\n return (\n <div data-p0=\"input\" className=\"pz:flex pz:items-center pz:gap-2\">\n <Input\n className=\"pz:flex-1\"\n value={value.alias}\n onChange={(e) => field.setValue({ ...value, alias: e.target.value })}\n placeholder={field.meta.placeholder}\n disabled={!enabled}\n aria-invalid={!!field.error}\n />\n <Switch\n checked={enabled}\n onCheckedChange={(checked) => field.setValue({ ...value, enabled: !!checked })}\n />\n </div>\n );\n}\n"],"mappings":";;;;;AAIA,SAAgB,wBAAwB,OAA0C;CAChF,MAAM,QAAQ,MAAM,SAAS;EAAE,OAAO;EAAI,SAAS;EAAM;CACzD,MAAM,UAAU,MAAM;AAEtB,QACE,qBAAC,OAAD;EAAK,WAAQ;EAAQ,WAAU;YAA/B,CACE,oBAAC,OAAD;GACE,WAAU;GACV,OAAO,MAAM;GACb,WAAW,MAAM,MAAM,SAAS;IAAE,GAAG;IAAO,OAAO,EAAE,OAAO;IAAO,CAAC;GACpE,aAAa,MAAM,KAAK;GACxB,UAAU,CAAC;GACX,gBAAc,CAAC,CAAC,MAAM;GACtB,GACF,oBAAC,QAAD;GACE,SAAS;GACT,kBAAkB,YAAY,MAAM,SAAS;IAAE,GAAG;IAAO,SAAS,CAAC,CAAC;IAAS,CAAC;GAC9E,EACE"}
|
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
import { cn } from "../../../lib/utils.mjs";
|
|
2
|
+
import { Button } from "../../ui/button.mjs";
|
|
3
|
+
import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from "../../ui/select.mjs";
|
|
4
|
+
import { Input } from "../../ui/input.mjs";
|
|
5
|
+
import { IconPlus } from "../../internal/icons.mjs";
|
|
6
|
+
import { HoverInfo } from "../../hover-info.mjs";
|
|
7
|
+
import { Badge } from "../../ui/badge.mjs";
|
|
8
|
+
import { useFieldError } from "../../../hooks/use-field-error.mjs";
|
|
9
|
+
import { FieldSectionEnumeration } from "../field-section-enumeration.mjs";
|
|
10
|
+
import { useCallback, useMemo } from "react";
|
|
11
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
import { TRIGGER_OPERATOR_LABELS, TRIGGER_STATUS_OPERATORS, TRIGGER_VALUE_OPERATORS } from "@pipe0/base";
|
|
13
|
+
|
|
14
|
+
//#region src/components/defaults/adapters/pipes-trigger-input.tsx
|
|
15
|
+
const OPERATORS_BY_TYPE = {
|
|
16
|
+
string: [
|
|
17
|
+
"eq",
|
|
18
|
+
"neq",
|
|
19
|
+
"contains"
|
|
20
|
+
],
|
|
21
|
+
number: [
|
|
22
|
+
"eq",
|
|
23
|
+
"neq",
|
|
24
|
+
"gt",
|
|
25
|
+
"gte",
|
|
26
|
+
"lt",
|
|
27
|
+
"lte"
|
|
28
|
+
],
|
|
29
|
+
boolean: ["eq", "neq"],
|
|
30
|
+
json: [],
|
|
31
|
+
unknown: []
|
|
32
|
+
};
|
|
33
|
+
const EMPTY_CONDITION = {
|
|
34
|
+
field_name: "",
|
|
35
|
+
property: "value",
|
|
36
|
+
operator: "eq",
|
|
37
|
+
value: ""
|
|
38
|
+
};
|
|
39
|
+
const CONNECTOR_GAP = 32;
|
|
40
|
+
function ConditionRow({ condition, index, eligibleFields, fieldsByName, isFirst, isLast, logic, form, basePath, onUpdate, onRemove, onAddCondition, onLogicChange }) {
|
|
41
|
+
const conditionPath = `${basePath}.when.conditions.${index}`;
|
|
42
|
+
const valueError = useFieldError(form, `${conditionPath}.value`);
|
|
43
|
+
const fieldNameError = useFieldError(form, `${conditionPath}.field_name`);
|
|
44
|
+
const operatorError = useFieldError(form, `${conditionPath}.operator`);
|
|
45
|
+
const propertyError = useFieldError(form, `${conditionPath}.property`);
|
|
46
|
+
const showConnector = !(isFirst && isLast);
|
|
47
|
+
const hasEligibleFields = eligibleFields.length > 0;
|
|
48
|
+
const selectedField = condition.field_name ? fieldsByName.get(condition.field_name) : void 0;
|
|
49
|
+
const availableOperators = useMemo(() => {
|
|
50
|
+
if (condition.property === "status") return TRIGGER_STATUS_OPERATORS.map((op) => ({
|
|
51
|
+
value: op,
|
|
52
|
+
label: TRIGGER_OPERATOR_LABELS[op]
|
|
53
|
+
}));
|
|
54
|
+
if (!selectedField?.type) return [];
|
|
55
|
+
return TRIGGER_VALUE_OPERATORS.map((op) => ({
|
|
56
|
+
value: op,
|
|
57
|
+
label: TRIGGER_OPERATOR_LABELS[op]
|
|
58
|
+
})).filter((op) => OPERATORS_BY_TYPE[selectedField.type].includes(op.value));
|
|
59
|
+
}, [condition.property, selectedField]);
|
|
60
|
+
const renderValueInput = () => {
|
|
61
|
+
if (!condition.field_name || !selectedField) return /* @__PURE__ */ jsx(Input, {
|
|
62
|
+
className: "pz:w-32",
|
|
63
|
+
placeholder: "",
|
|
64
|
+
disabled: true,
|
|
65
|
+
"aria-invalid": !!valueError
|
|
66
|
+
});
|
|
67
|
+
if (condition.property === "status") return /* @__PURE__ */ jsxs(Select, {
|
|
68
|
+
value: String(condition.value) || void 0,
|
|
69
|
+
onValueChange: (v) => onUpdate(index, {
|
|
70
|
+
...condition,
|
|
71
|
+
value: v
|
|
72
|
+
}),
|
|
73
|
+
children: [/* @__PURE__ */ jsx(SelectTrigger, {
|
|
74
|
+
className: "pz:w-32",
|
|
75
|
+
"aria-invalid": !!valueError,
|
|
76
|
+
children: /* @__PURE__ */ jsx(SelectValue, { placeholder: "--status--" })
|
|
77
|
+
}), /* @__PURE__ */ jsxs(SelectContent, { children: [
|
|
78
|
+
/* @__PURE__ */ jsx(SelectItem, {
|
|
79
|
+
value: "completed",
|
|
80
|
+
children: "completed"
|
|
81
|
+
}),
|
|
82
|
+
/* @__PURE__ */ jsx(SelectItem, {
|
|
83
|
+
value: "skipped",
|
|
84
|
+
children: "skipped"
|
|
85
|
+
}),
|
|
86
|
+
/* @__PURE__ */ jsx(SelectItem, {
|
|
87
|
+
value: "failed",
|
|
88
|
+
children: "failed"
|
|
89
|
+
}),
|
|
90
|
+
/* @__PURE__ */ jsx(SelectItem, {
|
|
91
|
+
value: "no_result",
|
|
92
|
+
children: "no_result"
|
|
93
|
+
})
|
|
94
|
+
] })]
|
|
95
|
+
});
|
|
96
|
+
if (selectedField.type === "boolean") return /* @__PURE__ */ jsxs(Select, {
|
|
97
|
+
value: String(condition.value),
|
|
98
|
+
onValueChange: (v) => onUpdate(index, {
|
|
99
|
+
...condition,
|
|
100
|
+
value: v
|
|
101
|
+
}),
|
|
102
|
+
children: [/* @__PURE__ */ jsx(SelectTrigger, {
|
|
103
|
+
className: "pz:w-24",
|
|
104
|
+
"aria-invalid": !!valueError,
|
|
105
|
+
children: /* @__PURE__ */ jsx(SelectValue, {})
|
|
106
|
+
}), /* @__PURE__ */ jsxs(SelectContent, { children: [/* @__PURE__ */ jsx(SelectItem, {
|
|
107
|
+
value: "true",
|
|
108
|
+
children: "true"
|
|
109
|
+
}), /* @__PURE__ */ jsx(SelectItem, {
|
|
110
|
+
value: "false",
|
|
111
|
+
children: "false"
|
|
112
|
+
})] })]
|
|
113
|
+
});
|
|
114
|
+
if (selectedField.type === "number") return /* @__PURE__ */ jsx(Input, {
|
|
115
|
+
type: "number",
|
|
116
|
+
className: "pz:w-32",
|
|
117
|
+
"aria-invalid": !!valueError,
|
|
118
|
+
value: String(Number(condition.value ?? 0)),
|
|
119
|
+
onChange: (e) => onUpdate(index, {
|
|
120
|
+
...condition,
|
|
121
|
+
value: Number(e.target.value) || 0
|
|
122
|
+
}),
|
|
123
|
+
placeholder: ""
|
|
124
|
+
});
|
|
125
|
+
return /* @__PURE__ */ jsx(Input, {
|
|
126
|
+
className: "pz:w-32",
|
|
127
|
+
"aria-invalid": !!valueError,
|
|
128
|
+
value: String(condition.value ?? ""),
|
|
129
|
+
onChange: (e) => onUpdate(index, {
|
|
130
|
+
...condition,
|
|
131
|
+
value: e.target.value
|
|
132
|
+
}),
|
|
133
|
+
placeholder: ""
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
const errorMessage = valueError || fieldNameError || operatorError || propertyError;
|
|
137
|
+
return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("div", {
|
|
138
|
+
className: cn("pz:relative", showConnector && "pz:pl-17"),
|
|
139
|
+
children: [
|
|
140
|
+
showConnector && /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
141
|
+
isFirst ? /* @__PURE__ */ jsx("div", {
|
|
142
|
+
className: "pz:absolute pz:left-7 pz:w-10 pz:border-l-2 pz:border-t-2 pz:border-input pz:rounded-tl-lg pz:pointer-events-none",
|
|
143
|
+
style: {
|
|
144
|
+
top: "50%",
|
|
145
|
+
bottom: -CONNECTOR_GAP
|
|
146
|
+
}
|
|
147
|
+
}) : /* @__PURE__ */ jsx("div", {
|
|
148
|
+
className: "pz:absolute pz:left-7 pz:w-10 pz:border-l-2 pz:border-b-2 pz:border-input pz:rounded-bl-lg pz:pointer-events-none",
|
|
149
|
+
style: {
|
|
150
|
+
top: -CONNECTOR_GAP,
|
|
151
|
+
bottom: "50%"
|
|
152
|
+
}
|
|
153
|
+
}),
|
|
154
|
+
!isFirst && !isLast && /* @__PURE__ */ jsx("div", {
|
|
155
|
+
className: "pz:absolute pz:left-7 pz:border-l-2 pz:border-input pz:pointer-events-none",
|
|
156
|
+
style: {
|
|
157
|
+
top: "50%",
|
|
158
|
+
bottom: -CONNECTOR_GAP
|
|
159
|
+
}
|
|
160
|
+
}),
|
|
161
|
+
!isFirst && /* @__PURE__ */ jsx("div", {
|
|
162
|
+
className: "pz:absolute pz:left-7 pz:z-10",
|
|
163
|
+
style: {
|
|
164
|
+
top: -CONNECTOR_GAP / 2,
|
|
165
|
+
transform: "translate(-50%, -50%)"
|
|
166
|
+
},
|
|
167
|
+
children: /* @__PURE__ */ jsxs(Select, {
|
|
168
|
+
value: logic,
|
|
169
|
+
onValueChange: (v) => onLogicChange(v),
|
|
170
|
+
children: [/* @__PURE__ */ jsx(SelectTrigger, {
|
|
171
|
+
className: "pz:w-17 pz:h-6 pz:text-xs pz:bg-background pz:hover:bg-accent",
|
|
172
|
+
children: /* @__PURE__ */ jsx(SelectValue, {})
|
|
173
|
+
}), /* @__PURE__ */ jsx(SelectContent, { children: /* @__PURE__ */ jsxs(SelectGroup, { children: [/* @__PURE__ */ jsx(SelectItem, {
|
|
174
|
+
value: "and",
|
|
175
|
+
children: "AND"
|
|
176
|
+
}), /* @__PURE__ */ jsx(SelectItem, {
|
|
177
|
+
value: "or",
|
|
178
|
+
children: "OR"
|
|
179
|
+
})] }) })]
|
|
180
|
+
})
|
|
181
|
+
})
|
|
182
|
+
] }),
|
|
183
|
+
/* @__PURE__ */ jsxs("div", {
|
|
184
|
+
className: "pz:flex pz:flex-wrap pz:items-center pz:gap-2",
|
|
185
|
+
children: [
|
|
186
|
+
/* @__PURE__ */ jsx(FieldSectionEnumeration, {
|
|
187
|
+
index,
|
|
188
|
+
onRemove
|
|
189
|
+
}),
|
|
190
|
+
/* @__PURE__ */ jsxs(Select, {
|
|
191
|
+
value: condition.field_name || void 0,
|
|
192
|
+
disabled: !hasEligibleFields,
|
|
193
|
+
onValueChange: (v) => {
|
|
194
|
+
if (v === null) return;
|
|
195
|
+
onUpdate(index, {
|
|
196
|
+
...condition,
|
|
197
|
+
field_name: v,
|
|
198
|
+
operator: "eq",
|
|
199
|
+
value: ""
|
|
200
|
+
});
|
|
201
|
+
},
|
|
202
|
+
children: [/* @__PURE__ */ jsx(SelectTrigger, {
|
|
203
|
+
className: "pz:w-40",
|
|
204
|
+
"aria-invalid": !!fieldNameError,
|
|
205
|
+
children: /* @__PURE__ */ jsx(SelectValue, { placeholder: "Select field" })
|
|
206
|
+
}), /* @__PURE__ */ jsx(SelectContent, { children: eligibleFields.map((f) => /* @__PURE__ */ jsx(SelectItem, {
|
|
207
|
+
value: f.fieldName,
|
|
208
|
+
children: f.fieldLabel || f.fieldName
|
|
209
|
+
}, f.fieldName)) })]
|
|
210
|
+
}),
|
|
211
|
+
!hasEligibleFields && /* @__PURE__ */ jsxs("span", {
|
|
212
|
+
className: "pz:text-xs pz:text-muted-foreground",
|
|
213
|
+
children: [
|
|
214
|
+
"No fields available",
|
|
215
|
+
" ",
|
|
216
|
+
/* @__PURE__ */ jsx(HoverInfo, { children: "Conditions require plain fields. JSON fields are not allowed." })
|
|
217
|
+
]
|
|
218
|
+
}),
|
|
219
|
+
selectedField?.type && /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
220
|
+
/* @__PURE__ */ jsx(Badge, {
|
|
221
|
+
variant: "secondary",
|
|
222
|
+
className: "pz:bg-accent pz:border pz:border-input pz:font-normal pz:text-muted-foreground pz:h-8",
|
|
223
|
+
children: "'s"
|
|
224
|
+
}),
|
|
225
|
+
/* @__PURE__ */ jsxs(Select, {
|
|
226
|
+
defaultValue: "value",
|
|
227
|
+
value: condition.property,
|
|
228
|
+
onValueChange: (v) => {
|
|
229
|
+
if (v === null) return;
|
|
230
|
+
onUpdate(index, {
|
|
231
|
+
...condition,
|
|
232
|
+
property: v,
|
|
233
|
+
operator: "eq",
|
|
234
|
+
value: ""
|
|
235
|
+
});
|
|
236
|
+
},
|
|
237
|
+
children: [/* @__PURE__ */ jsx(SelectTrigger, {
|
|
238
|
+
className: "pz:w-28",
|
|
239
|
+
"aria-invalid": !!propertyError,
|
|
240
|
+
children: /* @__PURE__ */ jsx(SelectValue, {})
|
|
241
|
+
}), /* @__PURE__ */ jsxs(SelectContent, { children: [/* @__PURE__ */ jsx(SelectItem, {
|
|
242
|
+
value: "value",
|
|
243
|
+
children: "value"
|
|
244
|
+
}), /* @__PURE__ */ jsx(SelectItem, {
|
|
245
|
+
value: "status",
|
|
246
|
+
children: "status"
|
|
247
|
+
})] })]
|
|
248
|
+
}),
|
|
249
|
+
/* @__PURE__ */ jsxs(Select, {
|
|
250
|
+
value: condition.operator,
|
|
251
|
+
onValueChange: (v) => onUpdate(index, {
|
|
252
|
+
...condition,
|
|
253
|
+
operator: v
|
|
254
|
+
}),
|
|
255
|
+
children: [/* @__PURE__ */ jsx(SelectTrigger, {
|
|
256
|
+
className: "pz:w-28",
|
|
257
|
+
"aria-invalid": !!operatorError,
|
|
258
|
+
children: /* @__PURE__ */ jsx(SelectValue, {})
|
|
259
|
+
}), /* @__PURE__ */ jsx(SelectContent, { children: availableOperators.map((op) => /* @__PURE__ */ jsx(SelectItem, {
|
|
260
|
+
value: op.value,
|
|
261
|
+
children: op.label
|
|
262
|
+
}, op.value)) })]
|
|
263
|
+
}),
|
|
264
|
+
renderValueInput()
|
|
265
|
+
] })
|
|
266
|
+
]
|
|
267
|
+
}),
|
|
268
|
+
errorMessage && /* @__PURE__ */ jsx("span", {
|
|
269
|
+
className: "pz:text-destructive pz:text-xs pz:font-medium pz:mt-1 pz:block",
|
|
270
|
+
role: "alert",
|
|
271
|
+
children: errorMessage
|
|
272
|
+
})
|
|
273
|
+
]
|
|
274
|
+
}), isLast && /* @__PURE__ */ jsx("div", {
|
|
275
|
+
className: "pz:flex pz:items-center pz:gap-2",
|
|
276
|
+
children: /* @__PURE__ */ jsxs(Button, {
|
|
277
|
+
type: "button",
|
|
278
|
+
variant: "link",
|
|
279
|
+
size: "xs",
|
|
280
|
+
onClick: onAddCondition,
|
|
281
|
+
children: [/* @__PURE__ */ jsx(IconPlus, {}), "New rule"]
|
|
282
|
+
})
|
|
283
|
+
})] });
|
|
284
|
+
}
|
|
285
|
+
function PipesTriggerInputAdapter(field) {
|
|
286
|
+
const pipeTrigger = field.value;
|
|
287
|
+
const meta = field.meta;
|
|
288
|
+
const eligibleFields = useMemo(() => meta.fields.filter((f) => OPERATORS_BY_TYPE[f.type].length > 0), [meta.fields]);
|
|
289
|
+
const fieldsByName = useMemo(() => new Map(meta.fields.map((f) => [f.fieldName, f])), [meta.fields]);
|
|
290
|
+
const addTrigger = useCallback(() => {
|
|
291
|
+
field.setValue({
|
|
292
|
+
action: "run",
|
|
293
|
+
when: {
|
|
294
|
+
logic: "and",
|
|
295
|
+
conditions: [{ ...EMPTY_CONDITION }]
|
|
296
|
+
}
|
|
297
|
+
});
|
|
298
|
+
}, [field]);
|
|
299
|
+
const updateCondition = (index, condition) => {
|
|
300
|
+
if (!pipeTrigger) return;
|
|
301
|
+
const newConditions = [...pipeTrigger.when.conditions];
|
|
302
|
+
newConditions[index] = condition;
|
|
303
|
+
field.setValue({
|
|
304
|
+
...pipeTrigger,
|
|
305
|
+
when: {
|
|
306
|
+
...pipeTrigger.when,
|
|
307
|
+
conditions: newConditions
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
};
|
|
311
|
+
const removeCondition = (index) => {
|
|
312
|
+
if (!pipeTrigger) return;
|
|
313
|
+
if (pipeTrigger.when.conditions.length <= 1) {
|
|
314
|
+
field.setValue(null);
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
const newConditions = pipeTrigger.when.conditions.filter((_, i) => i !== index);
|
|
318
|
+
field.setValue({
|
|
319
|
+
...pipeTrigger,
|
|
320
|
+
when: {
|
|
321
|
+
...pipeTrigger.when,
|
|
322
|
+
conditions: newConditions
|
|
323
|
+
}
|
|
324
|
+
});
|
|
325
|
+
};
|
|
326
|
+
const addCondition = () => {
|
|
327
|
+
if (!pipeTrigger) return;
|
|
328
|
+
field.setValue({
|
|
329
|
+
...pipeTrigger,
|
|
330
|
+
when: {
|
|
331
|
+
...pipeTrigger.when,
|
|
332
|
+
conditions: [...pipeTrigger.when.conditions, { ...EMPTY_CONDITION }]
|
|
333
|
+
}
|
|
334
|
+
});
|
|
335
|
+
};
|
|
336
|
+
const changeLogic = (logic) => {
|
|
337
|
+
if (!pipeTrigger) return;
|
|
338
|
+
field.setValue({
|
|
339
|
+
...pipeTrigger,
|
|
340
|
+
when: {
|
|
341
|
+
...pipeTrigger.when,
|
|
342
|
+
logic
|
|
343
|
+
}
|
|
344
|
+
});
|
|
345
|
+
};
|
|
346
|
+
return /* @__PURE__ */ jsx("div", {
|
|
347
|
+
"data-p0": "input",
|
|
348
|
+
children: !pipeTrigger ? /* @__PURE__ */ jsx("div", {
|
|
349
|
+
className: "pz:flex pz:items-center",
|
|
350
|
+
children: /* @__PURE__ */ jsxs(Button, {
|
|
351
|
+
type: "button",
|
|
352
|
+
variant: "link",
|
|
353
|
+
size: "xs",
|
|
354
|
+
className: "pz:px-0",
|
|
355
|
+
onClick: addTrigger,
|
|
356
|
+
children: [/* @__PURE__ */ jsx(IconPlus, {}), "New rule"]
|
|
357
|
+
})
|
|
358
|
+
}) : /* @__PURE__ */ jsx("div", {
|
|
359
|
+
className: "pz:flex pz:flex-col pz:gap-8",
|
|
360
|
+
children: pipeTrigger.when.conditions.map((condition, idx) => /* @__PURE__ */ jsx(ConditionRow, {
|
|
361
|
+
condition,
|
|
362
|
+
index: idx,
|
|
363
|
+
eligibleFields,
|
|
364
|
+
fieldsByName,
|
|
365
|
+
isFirst: idx === 0,
|
|
366
|
+
isLast: idx === pipeTrigger.when.conditions.length - 1,
|
|
367
|
+
logic: pipeTrigger.when.logic,
|
|
368
|
+
form: field.form,
|
|
369
|
+
basePath: field.path,
|
|
370
|
+
onUpdate: updateCondition,
|
|
371
|
+
onRemove: removeCondition,
|
|
372
|
+
onAddCondition: addCondition,
|
|
373
|
+
onLogicChange: changeLogic
|
|
374
|
+
}, idx))
|
|
375
|
+
})
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
//#endregion
|
|
380
|
+
export { PipesTriggerInputAdapter };
|
|
381
|
+
//# sourceMappingURL=pipes-trigger-input.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipes-trigger-input.mjs","names":[],"sources":["../../../../src/components/defaults/adapters/pipes-trigger-input.tsx"],"sourcesContent":["import {\n type ConditionOperators,\n type PipesTriggerMeta,\n type PipeTrigger,\n type RecordFieldType,\n TRIGGER_OPERATOR_LABELS,\n TRIGGER_STATUS_OPERATORS,\n TRIGGER_VALUE_OPERATORS,\n} from \"@pipe0/base\";\nimport { useCallback, useMemo } from \"react\";\nimport type { UseFormReturn } from \"react-hook-form\";\nimport { useFieldError } from \"../../../hooks/use-field-error.js\";\nimport { cn } from \"../../../lib/utils.js\";\nimport type { FieldHandle } from \"../../../types/field-handle.js\";\nimport { HoverInfo } from \"../../hover-info.js\";\nimport { IconPlus } from \"../../internal/icons.js\";\nimport { Badge } from \"../../ui/badge.js\";\nimport { Button } from \"../../ui/button.js\";\nimport { Input } from \"../../ui/input.js\";\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"../../ui/select.js\";\nimport { FieldSectionEnumeration } from \"../field-section-enumeration.js\";\n\n// Use a loose type for internal manipulation since the discriminated union\n// is strict about property/operator/value combinations.\ntype Condition = {\n field_name: string;\n property: string;\n operator: string;\n value: unknown;\n};\n\nconst OPERATORS_BY_TYPE: Record<RecordFieldType, ConditionOperators[]> = {\n string: [\"eq\", \"neq\", \"contains\"],\n number: [\"eq\", \"neq\", \"gt\", \"gte\", \"lt\", \"lte\"],\n boolean: [\"eq\", \"neq\"],\n json: [],\n unknown: [],\n};\n\nconst EMPTY_CONDITION: Condition = {\n field_name: \"\",\n property: \"value\",\n operator: \"eq\",\n value: \"\",\n};\n\nconst CONNECTOR_GAP = 32;\n\ntype MetaField = {\n fieldName: string;\n fieldLabel: string;\n type: RecordFieldType;\n format: string | null;\n};\n\nfunction ConditionRow({\n condition,\n index,\n eligibleFields,\n fieldsByName,\n isFirst,\n isLast,\n logic,\n form,\n basePath,\n onUpdate,\n onRemove,\n onAddCondition,\n onLogicChange,\n}: {\n condition: Condition;\n index: number;\n eligibleFields: MetaField[];\n fieldsByName: ReadonlyMap<string, MetaField>;\n isFirst: boolean;\n isLast: boolean;\n logic: PipeTrigger[\"when\"][\"logic\"];\n form: UseFormReturn<any>;\n basePath: string;\n onUpdate: (index: number, condition: Condition) => void;\n onRemove: (index: number) => void;\n onAddCondition: () => void;\n onLogicChange: (logic: PipeTrigger[\"when\"][\"logic\"]) => void;\n}) {\n const conditionPath = `${basePath}.when.conditions.${index}`;\n const valueError = useFieldError(form, `${conditionPath}.value`);\n const fieldNameError = useFieldError(form, `${conditionPath}.field_name`);\n const operatorError = useFieldError(form, `${conditionPath}.operator`);\n const propertyError = useFieldError(form, `${conditionPath}.property`);\n\n const showConnector = !(isFirst && isLast);\n const hasEligibleFields = eligibleFields.length > 0;\n const selectedField = condition.field_name ? fieldsByName.get(condition.field_name) : undefined;\n\n const availableOperators = useMemo(() => {\n if (condition.property === \"status\") {\n return TRIGGER_STATUS_OPERATORS.map((op) => ({\n value: op,\n label: TRIGGER_OPERATOR_LABELS[op],\n }));\n }\n if (!selectedField?.type) return [];\n return TRIGGER_VALUE_OPERATORS.map((op) => ({\n value: op,\n label: TRIGGER_OPERATOR_LABELS[op],\n })).filter((op) => OPERATORS_BY_TYPE[selectedField.type].includes(op.value));\n }, [condition.property, selectedField]);\n\n const renderValueInput = () => {\n if (!condition.field_name || !selectedField) {\n return <Input className=\"pz:w-32\" placeholder=\"\" disabled aria-invalid={!!valueError} />;\n }\n\n if (condition.property === \"status\") {\n return (\n <Select\n value={String(condition.value) || undefined}\n onValueChange={(v) => onUpdate(index, { ...condition, value: v })}\n >\n <SelectTrigger className=\"pz:w-32\" aria-invalid={!!valueError}>\n <SelectValue placeholder=\"--status--\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"completed\">completed</SelectItem>\n <SelectItem value=\"skipped\">skipped</SelectItem>\n <SelectItem value=\"failed\">failed</SelectItem>\n <SelectItem value=\"no_result\">no_result</SelectItem>\n </SelectContent>\n </Select>\n );\n }\n\n if (selectedField.type === \"boolean\") {\n return (\n <Select\n value={String(condition.value)}\n onValueChange={(v) => onUpdate(index, { ...condition, value: v })}\n >\n <SelectTrigger className=\"pz:w-24\" aria-invalid={!!valueError}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"true\">true</SelectItem>\n <SelectItem value=\"false\">false</SelectItem>\n </SelectContent>\n </Select>\n );\n }\n\n if (selectedField.type === \"number\") {\n return (\n <Input\n type=\"number\"\n className=\"pz:w-32\"\n aria-invalid={!!valueError}\n value={String(Number(condition.value ?? 0))}\n onChange={(e) =>\n onUpdate(index, {\n ...condition,\n value: Number(e.target.value) || 0,\n })\n }\n placeholder=\"\"\n />\n );\n }\n\n return (\n <Input\n className=\"pz:w-32\"\n aria-invalid={!!valueError}\n value={String(condition.value ?? \"\")}\n onChange={(e) => onUpdate(index, { ...condition, value: e.target.value })}\n placeholder=\"\"\n />\n );\n };\n\n const errorMessage = valueError || fieldNameError || operatorError || propertyError;\n\n return (\n <div>\n <div className={cn(\"pz:relative\", showConnector && \"pz:pl-17\")}>\n {showConnector && (\n <>\n {isFirst ? (\n <div\n className=\"pz:absolute pz:left-7 pz:w-10 pz:border-l-2 pz:border-t-2 pz:border-input pz:rounded-tl-lg pz:pointer-events-none\"\n style={{ top: \"50%\", bottom: -CONNECTOR_GAP }}\n />\n ) : (\n <div\n className=\"pz:absolute pz:left-7 pz:w-10 pz:border-l-2 pz:border-b-2 pz:border-input pz:rounded-bl-lg pz:pointer-events-none\"\n style={{ top: -CONNECTOR_GAP, bottom: \"50%\" }}\n />\n )}\n {!isFirst && !isLast && (\n <div\n className=\"pz:absolute pz:left-7 pz:border-l-2 pz:border-input pz:pointer-events-none\"\n style={{ top: \"50%\", bottom: -CONNECTOR_GAP }}\n />\n )}\n {!isFirst && (\n <div\n className=\"pz:absolute pz:left-7 pz:z-10\"\n style={{\n top: -CONNECTOR_GAP / 2,\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <Select value={logic} onValueChange={(v) => onLogicChange(v as \"and\" | \"or\")}>\n <SelectTrigger className=\"pz:w-17 pz:h-6 pz:text-xs pz:bg-background pz:hover:bg-accent\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectItem value=\"and\">AND</SelectItem>\n <SelectItem value=\"or\">OR</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n </div>\n )}\n </>\n )}\n <div className=\"pz:flex pz:flex-wrap pz:items-center pz:gap-2\">\n <FieldSectionEnumeration index={index} onRemove={onRemove} />\n <Select\n value={condition.field_name || undefined}\n disabled={!hasEligibleFields}\n onValueChange={(v) => {\n if (v === null) return;\n onUpdate(index, {\n ...condition,\n field_name: v,\n operator: \"eq\",\n value: \"\",\n });\n }}\n >\n <SelectTrigger className=\"pz:w-40\" aria-invalid={!!fieldNameError}>\n <SelectValue placeholder=\"Select field\" />\n </SelectTrigger>\n <SelectContent>\n {eligibleFields.map((f) => (\n <SelectItem key={f.fieldName} value={f.fieldName}>\n {f.fieldLabel || f.fieldName}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {!hasEligibleFields && (\n <span className=\"pz:text-xs pz:text-muted-foreground\">\n No fields available{\" \"}\n <HoverInfo>Conditions require plain fields. JSON fields are not allowed.</HoverInfo>\n </span>\n )}\n\n {selectedField?.type && (\n <>\n <Badge\n variant=\"secondary\"\n className=\"pz:bg-accent pz:border pz:border-input pz:font-normal pz:text-muted-foreground pz:h-8\"\n >\n 's\n </Badge>\n <Select\n defaultValue=\"value\"\n value={condition.property}\n onValueChange={(v) => {\n if (v === null) return;\n onUpdate(index, {\n ...condition,\n property: v,\n operator: \"eq\",\n value: \"\",\n });\n }}\n >\n <SelectTrigger className=\"pz:w-28\" aria-invalid={!!propertyError}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"value\">value</SelectItem>\n <SelectItem value=\"status\">status</SelectItem>\n </SelectContent>\n </Select>\n\n <Select\n value={condition.operator}\n onValueChange={(v) =>\n onUpdate(index, {\n ...condition,\n operator: v as ConditionOperators,\n })\n }\n >\n <SelectTrigger className=\"pz:w-28\" aria-invalid={!!operatorError}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {availableOperators.map((op) => (\n <SelectItem key={op.value} value={op.value}>\n {op.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n\n {renderValueInput()}\n </>\n )}\n </div>\n {errorMessage && (\n <span\n className=\"pz:text-destructive pz:text-xs pz:font-medium pz:mt-1 pz:block\"\n role=\"alert\"\n >\n {errorMessage}\n </span>\n )}\n </div>\n {isLast && (\n <div className=\"pz:flex pz:items-center pz:gap-2\">\n <Button type=\"button\" variant=\"link\" size=\"xs\" onClick={onAddCondition}>\n <IconPlus />\n New rule\n </Button>\n </div>\n )}\n </div>\n );\n}\n\nexport function PipesTriggerInputAdapter(field: FieldHandle<\"pipes_trigger_input\">) {\n const pipeTrigger = field.value as PipeTrigger | null;\n const meta = field.meta as PipesTriggerMeta;\n\n // Built once per render of the adapter and reused across every condition\n // row, instead of each row scanning `meta.fields` linearly. With N rows and\n // M fields this turns O(N·M) lookups into O(N+M).\n const eligibleFields = useMemo(\n () => meta.fields.filter((f) => OPERATORS_BY_TYPE[f.type].length > 0),\n [meta.fields],\n );\n const fieldsByName = useMemo(\n () => new Map(meta.fields.map((f) => [f.fieldName, f])),\n [meta.fields],\n );\n\n const addTrigger = useCallback(() => {\n field.setValue({\n action: \"run\",\n when: {\n logic: \"and\",\n conditions: [{ ...EMPTY_CONDITION }],\n },\n });\n }, [field]);\n\n const updateCondition = (index: number, condition: Condition) => {\n if (!pipeTrigger) return;\n const newConditions = [...pipeTrigger.when.conditions] as Condition[];\n newConditions[index] = condition;\n field.setValue({\n ...pipeTrigger,\n when: { ...pipeTrigger.when, conditions: newConditions },\n });\n };\n\n const removeCondition = (index: number) => {\n if (!pipeTrigger) return;\n if (pipeTrigger.when.conditions.length <= 1) {\n field.setValue(null);\n return;\n }\n const newConditions = pipeTrigger.when.conditions.filter((_, i) => i !== index);\n field.setValue({\n ...pipeTrigger,\n when: { ...pipeTrigger.when, conditions: newConditions },\n });\n };\n\n const addCondition = () => {\n if (!pipeTrigger) return;\n field.setValue({\n ...pipeTrigger,\n when: {\n ...pipeTrigger.when,\n conditions: [...pipeTrigger.when.conditions, { ...EMPTY_CONDITION }],\n },\n });\n };\n\n const changeLogic = (logic: \"and\" | \"or\") => {\n if (!pipeTrigger) return;\n field.setValue({\n ...pipeTrigger,\n when: { ...pipeTrigger.when, logic },\n });\n };\n\n return (\n <div data-p0=\"input\">\n {!pipeTrigger ? (\n <div className=\"pz:flex pz:items-center\">\n <Button type=\"button\" variant=\"link\" size=\"xs\" className=\"pz:px-0\" onClick={addTrigger}>\n <IconPlus />\n New rule\n </Button>\n </div>\n ) : (\n <div className=\"pz:flex pz:flex-col pz:gap-8\">\n {pipeTrigger.when.conditions.map((condition, idx) => (\n <ConditionRow\n key={idx}\n condition={condition}\n index={idx}\n eligibleFields={eligibleFields}\n fieldsByName={fieldsByName}\n isFirst={idx === 0}\n isLast={idx === pipeTrigger.when.conditions.length - 1}\n logic={pipeTrigger.when.logic}\n form={field.form}\n basePath={field.path}\n onUpdate={updateCondition}\n onRemove={removeCondition}\n onAddCondition={addCondition}\n onLogicChange={changeLogic}\n />\n ))}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|