@asteby/metacore-runtime-react 47.0.0 → 48.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -0
- package/dist/action-modal-dispatcher.d.ts.map +1 -1
- package/dist/action-modal-dispatcher.js +24 -4
- package/dist/audit-info.d.ts +54 -0
- package/dist/audit-info.d.ts.map +1 -0
- package/dist/audit-info.js +142 -0
- package/dist/business/catalog-product-search.d.ts +25 -0
- package/dist/business/catalog-product-search.d.ts.map +1 -0
- package/dist/business/catalog-product-search.js +57 -0
- package/dist/business/catalog.d.ts.map +1 -1
- package/dist/business/catalog.js +2 -0
- package/dist/business/document-editor-model.d.ts +107 -0
- package/dist/business/document-editor-model.d.ts.map +1 -0
- package/dist/business/document-editor-model.js +279 -0
- package/dist/business/document-editor-panels.d.ts +64 -0
- package/dist/business/document-editor-panels.d.ts.map +1 -0
- package/dist/business/document-editor-panels.js +58 -0
- package/dist/business/document-editor.d.ts +27 -0
- package/dist/business/document-editor.d.ts.map +1 -0
- package/dist/business/document-editor.js +445 -0
- package/dist/business/document-lines.d.ts.map +1 -1
- package/dist/business/document-lines.js +5 -1
- package/dist/business/index.d.ts +5 -0
- package/dist/business/index.d.ts.map +1 -1
- package/dist/business/index.js +5 -0
- package/dist/business/line-items.d.ts +7 -0
- package/dist/business/line-items.d.ts.map +1 -1
- package/dist/business/line-items.js +6 -1
- package/dist/business/payment-allocator.d.ts +19 -0
- package/dist/business/payment-allocator.d.ts.map +1 -0
- package/dist/business/payment-allocator.js +31 -0
- package/dist/business/product-search.d.ts +4 -0
- package/dist/business/product-search.d.ts.map +1 -1
- package/dist/dialogs/dynamic-record.d.ts.map +1 -1
- package/dist/dialogs/dynamic-record.js +19 -8
- package/dist/document-form-dialog.d.ts +31 -2
- package/dist/document-form-dialog.d.ts.map +1 -1
- package/dist/document-form-dialog.js +43 -11
- package/dist/dynamic-columns-helpers.d.ts +9 -0
- package/dist/dynamic-columns-helpers.d.ts.map +1 -1
- package/dist/dynamic-columns-helpers.js +19 -0
- package/dist/dynamic-columns.d.ts +8 -2
- package/dist/dynamic-columns.d.ts.map +1 -1
- package/dist/dynamic-columns.js +21 -5
- package/dist/dynamic-crud-page.d.ts +6 -0
- package/dist/dynamic-crud-page.d.ts.map +1 -1
- package/dist/dynamic-crud-page.js +14 -5
- package/dist/dynamic-form-schema.d.ts.map +1 -1
- package/dist/dynamic-form-schema.js +15 -3
- package/dist/dynamic-form.d.ts +16 -1
- package/dist/dynamic-form.d.ts.map +1 -1
- package/dist/dynamic-form.js +81 -20
- package/dist/dynamic-kanban.d.ts +9 -3
- package/dist/dynamic-kanban.d.ts.map +1 -1
- package/dist/dynamic-kanban.js +39 -13
- package/dist/dynamic-line-items.d.ts.map +1 -1
- package/dist/dynamic-line-items.js +3 -0
- package/dist/dynamic-multi-select-field.d.ts.map +1 -1
- package/dist/dynamic-multi-select-field.js +2 -0
- package/dist/dynamic-relation-helpers.d.ts.map +1 -1
- package/dist/dynamic-relation-helpers.js +8 -0
- package/dist/dynamic-relation.js +1 -1
- package/dist/dynamic-select-field.d.ts.map +1 -1
- package/dist/dynamic-select-field.js +4 -0
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -2
- package/dist/installed-addons-context.d.ts +15 -0
- package/dist/installed-addons-context.d.ts.map +1 -0
- package/dist/installed-addons-context.js +39 -0
- package/dist/option-filter.d.ts +31 -0
- package/dist/option-filter.d.ts.map +1 -0
- package/dist/option-filter.js +49 -0
- package/dist/org-runtime-context.d.ts +8 -0
- package/dist/org-runtime-context.d.ts.map +1 -1
- package/dist/org-runtime-context.js +8 -0
- package/dist/org-runtime-provider.d.ts +3 -1
- package/dist/org-runtime-provider.d.ts.map +1 -1
- package/dist/org-runtime-provider.js +3 -3
- package/dist/primitives/aging.d.ts +34 -0
- package/dist/primitives/aging.d.ts.map +1 -0
- package/dist/primitives/aging.js +48 -0
- package/dist/primitives/allocation.d.ts +42 -0
- package/dist/primitives/allocation.d.ts.map +1 -0
- package/dist/primitives/allocation.js +59 -0
- package/dist/primitives/approvals.d.ts +71 -0
- package/dist/primitives/approvals.d.ts.map +1 -0
- package/dist/primitives/approvals.js +48 -0
- package/dist/primitives/contributions.d.ts +82 -0
- package/dist/primitives/contributions.d.ts.map +1 -0
- package/dist/primitives/contributions.js +126 -0
- package/dist/primitives/document-kinds.d.ts +25 -0
- package/dist/primitives/document-kinds.d.ts.map +1 -0
- package/dist/primitives/document-kinds.js +26 -0
- package/dist/primitives/index.d.ts +8 -0
- package/dist/primitives/index.d.ts.map +1 -0
- package/dist/primitives/index.js +23 -0
- package/dist/primitives/panels.d.ts +68 -0
- package/dist/primitives/panels.d.ts.map +1 -0
- package/dist/primitives/panels.js +3 -0
- package/dist/primitives/use-contributions.d.ts +15 -0
- package/dist/primitives/use-contributions.d.ts.map +1 -0
- package/dist/primitives/use-contributions.js +30 -0
- package/dist/record-prefill-bar.d.ts +11 -0
- package/dist/record-prefill-bar.d.ts.map +1 -0
- package/dist/record-prefill-bar.js +33 -0
- package/dist/types.d.ts +142 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/use-options-resolver.d.ts +8 -0
- package/dist/use-options-resolver.d.ts.map +1 -1
- package/dist/use-options-resolver.js +8 -2
- package/package.json +5 -5
- package/src/__tests__/action-modal-grid-layout.test.tsx +1 -1
- package/src/__tests__/apply-sidebar-layout.test.ts +1 -1
- package/src/__tests__/audit-info.test.tsx +103 -0
- package/src/__tests__/catalog-product-search.test.ts +61 -0
- package/src/__tests__/dependent-options.test.tsx +12 -5
- package/src/__tests__/document-editor-model.test.ts +167 -0
- package/src/__tests__/document-editor.test.tsx +261 -0
- package/src/__tests__/document-form-dialog.test.tsx +118 -3
- package/src/__tests__/dynamic-form-select-edit.test.tsx +155 -0
- package/src/__tests__/dynamic-kanban.test.tsx +24 -3
- package/src/__tests__/dynamic-record-extension-label.test.tsx +88 -0
- package/src/__tests__/dynamic-table-infinite-scroll.test.tsx +4 -0
- package/src/__tests__/installed-addons-context.test.tsx +50 -0
- package/src/__tests__/line-item-totals.test.ts +28 -0
- package/src/__tests__/line-items-lock-rows.test.tsx +2 -1
- package/src/__tests__/option-filter.test.tsx +115 -0
- package/src/__tests__/primitives-federated.test.tsx +156 -0
- package/src/__tests__/primitives.test.ts +224 -0
- package/src/__tests__/record-prefill-bar.test.tsx +50 -0
- package/src/__tests__/structured-view-value.test.tsx +5 -1
- package/src/__tests__/wizard-action-modal.test.tsx +1 -1
- package/src/action-modal-dispatcher.tsx +47 -4
- package/src/audit-info.tsx +219 -0
- package/src/business/catalog-product-search.ts +87 -0
- package/src/business/catalog.ts +2 -0
- package/src/business/document-editor-model.ts +325 -0
- package/src/business/document-editor-panels.tsx +164 -0
- package/src/business/document-editor.tsx +727 -0
- package/src/business/document-lines.ts +5 -1
- package/src/business/index.ts +5 -0
- package/src/business/line-items.ts +15 -1
- package/src/business/payment-allocator.tsx +110 -0
- package/src/business/product-search.ts +4 -0
- package/src/dialogs/dynamic-record.tsx +42 -6
- package/src/document-form-dialog.tsx +92 -12
- package/src/dropdown-menu-entry.test.ts +23 -0
- package/src/dynamic-columns-helpers.ts +22 -0
- package/src/dynamic-columns.tsx +23 -6
- package/src/dynamic-crud-page.tsx +22 -3
- package/src/dynamic-form-schema.ts +15 -2
- package/src/dynamic-form.tsx +120 -39
- package/src/dynamic-kanban.tsx +41 -10
- package/src/dynamic-line-items.tsx +3 -0
- package/src/dynamic-multi-select-field.tsx +2 -0
- package/src/dynamic-relation-helpers.ts +9 -0
- package/src/dynamic-relation.tsx +7 -2
- package/src/dynamic-select-field.tsx +4 -0
- package/src/index.ts +34 -1
- package/src/installed-addons-context.tsx +58 -0
- package/src/option-filter.ts +88 -0
- package/src/org-runtime-context.ts +10 -0
- package/src/org-runtime-provider.tsx +7 -2
- package/src/primitives/aging.ts +76 -0
- package/src/primitives/allocation.ts +104 -0
- package/src/primitives/approvals.ts +103 -0
- package/src/primitives/contributions.ts +208 -0
- package/src/primitives/document-kinds.ts +62 -0
- package/src/primitives/index.ts +23 -0
- package/src/primitives/panels.ts +59 -0
- package/src/primitives/use-contributions.ts +42 -0
- package/src/record-prefill-bar.tsx +62 -0
- package/src/row-action-stage-gate.test.ts +33 -0
- package/src/types.ts +142 -0
- package/src/use-options-resolver.ts +19 -1
- package/vitest.config.ts +1 -0
- package/vitest.setup.ts +7 -0
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,SAAS,CAAA;AACvB,cAAc,wBAAwB,CAAA;AACtC,OAAO,EACH,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,GACvB,MAAM,WAAW,CAAA;AAClB,cAAc,mBAAmB,CAAA;AACjC,OAAO,EACH,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,UAAU,GAClB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACH,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,YAAY,EACZ,yBAAyB,EACzB,KAAK,cAAc,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AACnG,OAAO,EACH,sBAAsB,EACtB,yBAAyB,EACzB,4BAA4B,EAC5B,mBAAmB,EACnB,iBAAiB,GACpB,MAAM,uBAAuB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EACH,aAAa,EACb,KAAK,kBAAkB,EACvB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAClB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,EACH,mBAAmB,EACnB,sBAAsB,EACtB,WAAW,EACX,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,GACnC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,GAC9B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACH,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,oBAAoB,GAC5B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACH,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,GAC/B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACH,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,gBAAgB,GACxB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACH,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC/B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EACH,qBAAqB,EACrB,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,GACnC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACrF,OAAO,EACH,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,cAAc,GACtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACH,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,GACpB,MAAM,UAAU,CAAA;AACjB,OAAO,EACH,WAAW,EACX,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,aAAa,GACrB,MAAM,gBAAgB,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EACH,cAAc,EACd,KAAK,mBAAmB,GAC3B,MAAM,oBAAoB,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EACH,qBAAqB,EACrB,iCAAiC,EACjC,KAAK,gBAAgB,GACxB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,wBAAwB,EAAE,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EACH,kBAAkB,EAClB,eAAe,EACf,KAAK,uBAAuB,EAC5B,KAAK,eAAe,GACvB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACH,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,UAAU,GAClB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACH,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC5B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACH,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,KAAK,uBAAuB,GAC/B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACH,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,WAAW,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACH,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,GAClC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EACH,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,cAAc,GACtB,MAAM,eAAe,CAAA;AACtB,OAAO,EACH,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,WAAW,EAChB,KAAK,wBAAwB,GAChC,MAAM,wBAAwB,CAAA;AAC/B,cAAc,QAAQ,CAAA;AACtB,cAAc,mBAAmB,CAAA;AACjC,OAAO,EACH,mBAAmB,EACnB,MAAM,EACN,oBAAoB,EACpB,OAAO,EACP,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,KAAK,EACV,KAAK,wBAAwB,GAChC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACH,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,GACzB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACH,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC9B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACH,aAAa,EACb,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC5B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACH,oBAAoB,EACpB,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,GACzB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACH,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,wBAAwB,GAChC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACzF,OAAO,EACH,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,OAAO,EACZ,KAAK,SAAS,GACjB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACH,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,cAAc,GACtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACH,oBAAoB,EACpB,KAAK,yBAAyB,GACjC,MAAM,0BAA0B,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,YAAY,CAAA;AAI1B,cAAc,cAAc,CAAA;AAC5B,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,kBAAkB,CAAA;AAChC,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,GAC9B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,2BAA2B,EAC3B,uBAAuB,EACvB,4BAA4B,EAC5B,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,EAC1B,KAAK,8BAA8B,GACtC,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACH,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,WAAW,EACX,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,GAC9B,MAAM,yBAAyB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,YAAY,EACR,kBAAkB,EAClB,YAAY,IAAI,yBAAyB,EACzC,iBAAiB,EACjB,oBAAoB,GACvB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACH,wBAAwB,EACxB,4BAA4B,EAC5B,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,qBAAqB,GAC7B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AACrG,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EACH,OAAO,EACP,QAAQ,EACR,cAAc,EACd,UAAU,EACV,QAAQ,EACR,WAAW,EACX,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,KAAK,OAAO,EACZ,KAAK,cAAc,GACtB,MAAM,YAAY,CAAA;AACnB,OAAO,EACH,UAAU,EACV,WAAW,EACX,cAAc,EACd,cAAc,GACjB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACH,cAAc,EACd,YAAY,EACZ,WAAW,EACX,UAAU,EACV,KAAK,mBAAmB,EACxB,KAAK,SAAS,IAAI,uBAAuB,GAC5C,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AACxE,YAAY,EAAE,wBAAwB,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAC5G,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,YAAY,EACR,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,GACxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EACH,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC9B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,GACjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,UAAU,EACV,KAAK,qBAAqB,GAC7B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GAC3B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACH,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,6BAA6B,EAC7B,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,GAC5B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACH,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,uBAAuB,GAC1B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,QAAQ,EACR,aAAa,EACb,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,GACjB,MAAM,eAAe,CAAA;AACtB,OAAO,EACH,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,GAChC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACH,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,eAAe,GACvB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACH,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,+BAA+B,EAC/B,wBAAwB,EACxB,qBAAqB,EACrB,QAAQ,GACX,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACH,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,mBAAmB,GAC3B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACH,qBAAqB,EACrB,KAAK,0BAA0B,GAClC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACH,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACzB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACH,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,UAAU,GAClB,MAAM,cAAc,CAAA;AACrB,OAAO,EACH,aAAa,EACb,KAAK,kBAAkB,GAC1B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACH,gBAAgB,EAChB,KAAK,qBAAqB,GAC7B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,aAAa,EACb,eAAe,GAClB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,YAAY,EACR,UAAU,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,GACvB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACH,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,KAAK,iBAAiB,GACzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,cAAc,EACd,cAAc,EACd,SAAS,EACT,UAAU,EACV,KAAK,mBAAmB,GAC3B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACH,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,KAAK,eAAe,GACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACH,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,eAAe,GACvB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACpE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACnH,OAAO,EACH,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,KAAK,cAAc,EACnB,KAAK,qBAAqB,GAC7B,MAAM,qBAAqB,CAAA;AAG5B,cAAc,YAAY,CAAA;AAI1B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACtF,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAKrE,OAAO,EACH,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,oBAAoB,GAC5B,MAAM,4BAA4B,CAAA;AAInC,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -37,7 +37,7 @@ export { setFederatedActionLoader } from './federated-action-loader';
|
|
|
37
37
|
export { ModelActionToolbar, useModelActions, } from './model-action-toolbar';
|
|
38
38
|
export { resolveListPrimaryAction, actionReplacesCreate, } from './list-primary-action';
|
|
39
39
|
export { emitRecordMutation, subscribeRecordMutations, RECORD_MUTATION_EVENT, } from './record-mutation-events';
|
|
40
|
-
export { DocumentFormDialog, resolveDocumentForms, } from './document-form-dialog';
|
|
40
|
+
export { DocumentFormDialog, resolveDocumentForms, scopeDocumentFormsToFilter, } from './document-form-dialog';
|
|
41
41
|
export { modelFromNavUrl, capabilityForNavItem, isNavItemAllowed, useNavItemVisible, } from './nav-permissions';
|
|
42
42
|
export { CfdiStampPanel, CfdiStampResultDialog, extractStampResult, } from './cfdi-stamp-panel';
|
|
43
43
|
export { useRecordMutationTick } from './use-record-mutation-tick';
|
|
@@ -59,6 +59,10 @@ export { applySidebarLayout, collectFolderKeys, folderAccessCapability, coreRefK
|
|
|
59
59
|
export { SidebarLayoutManager, } from './sidebar-layout-manager';
|
|
60
60
|
export * from './org-runtime-context';
|
|
61
61
|
export * from './business';
|
|
62
|
+
// Primitivos de negocio (PaymentAllocator, AgingTable, ApprovalInbox,
|
|
63
|
+
// contribuciones/modales federados, tipos de documento y contratos de paneles).
|
|
64
|
+
// Ver primitives/index.ts para el mapa completo.
|
|
65
|
+
export * from './primitives';
|
|
62
66
|
export * from './org-runtime-provider';
|
|
63
67
|
export * from './navigation-builder';
|
|
64
68
|
export * from './i18n-provider';
|
|
@@ -75,7 +79,7 @@ export { ADDON_MANIFEST_CHANGED_TYPE, wireHotSwapInvalidation, useManifestHotSwa
|
|
|
75
79
|
export { useHotSwapReload, applyHotSwapReload, withVersionParam, clearFederationContainer, shortenHash, } from './hotswap-reload-policy';
|
|
76
80
|
export * from './dynamic-icon';
|
|
77
81
|
export { defaultGetDynamicColumns, makeDefaultGetDynamicColumns, relationKeyFor, resolveAvatarSrc, resolveMissingActorLabel, resolveActorDisplayName, resolveRelationLabel, } from './dynamic-columns';
|
|
78
|
-
export { humanizeToken, translateMetadataLabel } from './dynamic-columns-helpers';
|
|
82
|
+
export { humanizeToken, localizeFieldLabel, translateMetadataLabel } from './dynamic-columns-helpers';
|
|
79
83
|
export { UrlChip, FileChip, ImageThumbnail, MediaValue, RichText, linkifyText, classifyUrl, isImageUrl, isFileUrl, ensureHref, smartUrlLabel, fileNameFromUrl, splitTrailingPunct, } from './rich-url';
|
|
80
84
|
export { ImageStack, OptionBadge, statusColorFor, useIsDarkTheme, } from './display-value';
|
|
81
85
|
export { CollectionCell, formatScalar, prettifyKey, countLabel, } from './collection-cell';
|
|
@@ -100,6 +104,7 @@ export { registerValidator, getDependsOn, resolveDependsValue, getOptionsConfig,
|
|
|
100
104
|
export { BranchCreateGateProvider, useBranchCreateGate, } from './branch-create-gate';
|
|
101
105
|
export { ActivityValueRenderer, } from './activity-value-renderer';
|
|
102
106
|
export { ActivityDiff, } from './activity-diff';
|
|
107
|
+
export { AuditInfo, readAuditMeta, resolveAuditActor, SYSTEM_ACTOR_ID, } from './audit-info';
|
|
103
108
|
export { RecordHistory, } from './record-history';
|
|
104
109
|
export { ActivityTimeline, } from './activity-timeline';
|
|
105
110
|
export { DashboardGrid, normalizeGroups, } from './dashboard-grid';
|
|
@@ -112,3 +117,13 @@ export { AssistInterview, AssistCardView } from './assist-interview';
|
|
|
112
117
|
export { useAttributeClasses, resolveAttributeClasses, resetAttributeClassCache, } from './attribute-classes';
|
|
113
118
|
// Página de documento (benchmark §5/§6): cabecera, badges, acciones por estado, botones inteligentes.
|
|
114
119
|
export * from './document';
|
|
120
|
+
// Option filter — hide options of a relation / dynamic picker from the manifest
|
|
121
|
+
// (`option_filter` / `optionFilter` on the field).
|
|
122
|
+
export { getOptionFilter, applyOptionFilter, optionPassesRule } from './option-filter';
|
|
123
|
+
// Addons instalados / capacidades provistas — primitivo único de «¿qué hay
|
|
124
|
+
// instalado?» para hosts y remotes federados. Sin provider los hooks devuelven
|
|
125
|
+
// `undefined` (desconocido): el consumidor NUNCA debe asumir ausente.
|
|
126
|
+
export { InstalledAddonsProvider, useAddonInstalled, useCapabilityProvided, useInstalledAddons, } from './installed-addons-context';
|
|
127
|
+
// Ayudantes de captura (registerRecordPrefill de @asteby/metacore-sdk) arriba
|
|
128
|
+
// del formulario genérico de un modelo; DynamicRecordDialog ya lo monta.
|
|
129
|
+
export { RecordPrefillBar } from './record-prefill-bar';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
export interface InstalledAddonsValue {
|
|
3
|
+
addons: ReadonlySet<string>;
|
|
4
|
+
capabilities: ReadonlySet<string>;
|
|
5
|
+
}
|
|
6
|
+
export declare function InstalledAddonsProvider({ addons, capabilities, children, }: {
|
|
7
|
+
addons: readonly string[];
|
|
8
|
+
capabilities?: readonly string[];
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
}): import("react").JSX.Element;
|
|
11
|
+
/** true/false si el host lo sabe; undefined si no hay provider. */
|
|
12
|
+
export declare function useAddonInstalled(key: string): boolean | undefined;
|
|
13
|
+
export declare function useCapabilityProvided(capability: string): boolean | undefined;
|
|
14
|
+
export declare function useInstalledAddons(): InstalledAddonsValue | null;
|
|
15
|
+
//# sourceMappingURL=installed-addons-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installed-addons-context.d.ts","sourceRoot":"","sources":["../src/installed-addons-context.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAE1E,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC3B,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CACpC;AAID,wBAAgB,uBAAuB,CAAC,EACpC,MAAM,EACN,YAAiB,EACjB,QAAQ,GACX,EAAE;IACC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IACzB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAChC,QAAQ,EAAE,SAAS,CAAA;CACtB,+BASA;AAED,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAGlE;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAG7E;AAED,wBAAgB,kBAAkB,IAAI,oBAAoB,GAAG,IAAI,CAEhE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// InstalledAddonsProvider / useAddonInstalled / useCapabilityProvided —
|
|
3
|
+
// primitivo ÚNICO de "¿qué hay instalado?" para hosts y addons.
|
|
4
|
+
//
|
|
5
|
+
// Hoy cada addon lo resuelve a su manera: POS lee `installedAddons` del host
|
|
6
|
+
// (lib/host.ts addonKnownMissing), sondea `/options/<Model>` (use-model-available:
|
|
7
|
+
// 403/404 = ausente) o hardcodea claves (caja-policy useAnyFiscalAddonInstalled);
|
|
8
|
+
// `useInstalledAddons` vive sólo en @asteby/metacore-marketplace. Esto lo sube a
|
|
9
|
+
// runtime-react con dos niveles:
|
|
10
|
+
// - addon key (useAddonInstalled('fiscal_mexico'))
|
|
11
|
+
// - capability (useCapabilityProvided('fiscal.invoice_issuer')) — contrato
|
|
12
|
+
// independiente del país/vertical: fiscal_mexico, fiscal_colombia… lo proveen
|
|
13
|
+
// vía manifest `provides_capabilities`; caja pregunta por la capacidad,
|
|
14
|
+
// no por la clave del addon.
|
|
15
|
+
// Fuente: el host monta el provider con lo que ya trae su bootstrap
|
|
16
|
+
// (installed addons + provides_capabilities del manifest). Sin provider:
|
|
17
|
+
// `undefined` = desconocido (el consumidor decide; NUNCA asume ausente).
|
|
18
|
+
import { createContext, useContext, useMemo } from 'react';
|
|
19
|
+
const Ctx = createContext(null);
|
|
20
|
+
export function InstalledAddonsProvider({ addons, capabilities = [], children, }) {
|
|
21
|
+
const aKey = [...addons].sort().join(',');
|
|
22
|
+
const cKey = [...capabilities].sort().join(',');
|
|
23
|
+
const value = useMemo(() => ({ addons: new Set(addons), capabilities: new Set(capabilities) }),
|
|
24
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
25
|
+
[aKey, cKey]);
|
|
26
|
+
return _jsx(Ctx.Provider, { value: value, children: children });
|
|
27
|
+
}
|
|
28
|
+
/** true/false si el host lo sabe; undefined si no hay provider. */
|
|
29
|
+
export function useAddonInstalled(key) {
|
|
30
|
+
const v = useContext(Ctx);
|
|
31
|
+
return v ? v.addons.has(key) : undefined;
|
|
32
|
+
}
|
|
33
|
+
export function useCapabilityProvided(capability) {
|
|
34
|
+
const v = useContext(Ctx);
|
|
35
|
+
return v ? v.capabilities.has(capability) : undefined;
|
|
36
|
+
}
|
|
37
|
+
export function useInstalledAddons() {
|
|
38
|
+
return useContext(Ctx);
|
|
39
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ResolvedOption } from './use-options-resolver';
|
|
2
|
+
export interface OptionFilterRule {
|
|
3
|
+
/** Option property to test: a `meta` key (e.g. `status`) or `id`/`value`/`label`/`name`/`description`/`color`/`icon`. */
|
|
4
|
+
field: string;
|
|
5
|
+
/** Keep only options whose value equals this. */
|
|
6
|
+
equals?: string | number | boolean;
|
|
7
|
+
/** snake_case alias of `notEquals`. */
|
|
8
|
+
not_equals?: string | number | boolean;
|
|
9
|
+
/** Hide options whose value equals this. */
|
|
10
|
+
notEquals?: string | number | boolean;
|
|
11
|
+
/** Keep only options whose value is one of these. */
|
|
12
|
+
in?: Array<string | number | boolean>;
|
|
13
|
+
/** Hide options whose value is one of these. */
|
|
14
|
+
not_in?: Array<string | number | boolean>;
|
|
15
|
+
/** camelCase alias of `not_in`. */
|
|
16
|
+
notIn?: Array<string | number | boolean>;
|
|
17
|
+
}
|
|
18
|
+
/** One rule, or a list of rules that must ALL pass (AND). */
|
|
19
|
+
export type OptionFilter = OptionFilterRule | OptionFilterRule[];
|
|
20
|
+
/** Reads the filter from a field (camelCase or the snake_case the kernel serves). */
|
|
21
|
+
export declare function getOptionFilter(field: unknown): OptionFilterRule[];
|
|
22
|
+
/** True when the option satisfies the rule. Comparison is trimmed + case-insensitive. */
|
|
23
|
+
export declare function optionPassesRule(opt: ResolvedOption, rule: OptionFilterRule): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Applies the field's filter to resolved options. Returns the SAME array when
|
|
26
|
+
* there is nothing to filter. `keepValue` (the current selection) is never
|
|
27
|
+
* hidden, so an existing record keeps showing its label after the option
|
|
28
|
+
* became ineligible.
|
|
29
|
+
*/
|
|
30
|
+
export declare function applyOptionFilter(options: ResolvedOption[], rules: OptionFilterRule[], keepValue?: unknown): ResolvedOption[];
|
|
31
|
+
//# sourceMappingURL=option-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"option-filter.d.ts","sourceRoot":"","sources":["../src/option-filter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,MAAM,WAAW,gBAAgB;IAC7B,yHAAyH;IACzH,KAAK,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IAClC,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IACtC,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IACrC,qDAAqD;IACrD,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;IACrC,gDAAgD;IAChD,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;IACzC,mCAAmC;IACnC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;CAC3C;AAED,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,EAAE,CAAA;AAIhE,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,EAAE,CASlE;AAaD,yFAAyF;AACzF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAarF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC7B,OAAO,EAAE,cAAc,EAAE,EACzB,KAAK,EAAE,gBAAgB,EAAE,EACzB,SAAS,CAAC,EAAE,OAAO,GACpB,cAAc,EAAE,CAMlB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/** Reads the filter from a field (camelCase or the snake_case the kernel serves). */
|
|
2
|
+
export function getOptionFilter(field) {
|
|
3
|
+
if (!field || typeof field !== 'object')
|
|
4
|
+
return [];
|
|
5
|
+
const f = field;
|
|
6
|
+
const raw = f.optionFilter ?? f.option_filter;
|
|
7
|
+
const list = Array.isArray(raw) ? raw : raw && typeof raw === 'object' ? [raw] : [];
|
|
8
|
+
return list.filter((r) => !!r && typeof r === 'object' && typeof r.field === 'string' && r.field !== '');
|
|
9
|
+
}
|
|
10
|
+
function norm(v) {
|
|
11
|
+
return String(v).trim().toLowerCase();
|
|
12
|
+
}
|
|
13
|
+
function readProp(opt, key) {
|
|
14
|
+
if (key === 'id' || key === 'value' || key === 'label' || key === 'name' || key === 'description' || key === 'color' || key === 'icon' || key === 'image') {
|
|
15
|
+
return opt[key];
|
|
16
|
+
}
|
|
17
|
+
return opt.meta?.[key];
|
|
18
|
+
}
|
|
19
|
+
/** True when the option satisfies the rule. Comparison is trimmed + case-insensitive. */
|
|
20
|
+
export function optionPassesRule(opt, rule) {
|
|
21
|
+
const raw = readProp(opt, rule.field);
|
|
22
|
+
const known = raw !== undefined && raw !== null;
|
|
23
|
+
const v = known ? norm(raw) : '';
|
|
24
|
+
const notEquals = rule.notEquals ?? rule.not_equals;
|
|
25
|
+
const notIn = rule.notIn ?? rule.not_in;
|
|
26
|
+
// Positive rules need the property to exist; negative rules cannot exclude
|
|
27
|
+
// what they cannot see, so an option lacking the property is kept.
|
|
28
|
+
if (rule.equals !== undefined && !(known && v === norm(rule.equals)))
|
|
29
|
+
return false;
|
|
30
|
+
if (Array.isArray(rule.in) && !(known && rule.in.some((x) => norm(x) === v)))
|
|
31
|
+
return false;
|
|
32
|
+
if (notEquals !== undefined && known && v === norm(notEquals))
|
|
33
|
+
return false;
|
|
34
|
+
if (Array.isArray(notIn) && known && notIn.some((x) => norm(x) === v))
|
|
35
|
+
return false;
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Applies the field's filter to resolved options. Returns the SAME array when
|
|
40
|
+
* there is nothing to filter. `keepValue` (the current selection) is never
|
|
41
|
+
* hidden, so an existing record keeps showing its label after the option
|
|
42
|
+
* became ineligible.
|
|
43
|
+
*/
|
|
44
|
+
export function applyOptionFilter(options, rules, keepValue) {
|
|
45
|
+
if (rules.length === 0)
|
|
46
|
+
return options;
|
|
47
|
+
const keep = keepValue === undefined || keepValue === null || keepValue === '' ? null : String(keepValue);
|
|
48
|
+
return options.filter((o) => (keep !== null && String(o.id) === keep) || rules.every((r) => optionPassesRule(o, r)));
|
|
49
|
+
}
|
|
@@ -14,4 +14,12 @@ export declare const useTimeZone: () => string | undefined;
|
|
|
14
14
|
export declare const CurrencyContext: import("react").Context<string | undefined>;
|
|
15
15
|
/** Reads the nearest org currency (undefined outside a provider). */
|
|
16
16
|
export declare const useCurrency: () => string | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Org default tax rate as a fraction (e.g. `0.16`), from the org's fiscal
|
|
19
|
+
* config. Document line editors use it when the picked product carries no rate
|
|
20
|
+
* of its own. `undefined` outside a provider → lines start at 0.
|
|
21
|
+
*/
|
|
22
|
+
export declare const TaxRateContext: import("react").Context<number | undefined>;
|
|
23
|
+
/** Reads the nearest org default tax rate (undefined outside a provider). */
|
|
24
|
+
export declare const useOrgTaxRate: () => number | undefined;
|
|
17
25
|
//# sourceMappingURL=org-runtime-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"org-runtime-context.d.ts","sourceRoot":"","sources":["../src/org-runtime-context.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,eAAO,MAAM,eAAe,6CAA+C,CAAA;AAE3E,qEAAqE;AACrE,eAAO,MAAM,WAAW,0BAAoC,CAAA;AAE5D;;;;GAIG;AACH,eAAO,MAAM,eAAe,6CAA+C,CAAA;AAE3E,qEAAqE;AACrE,eAAO,MAAM,WAAW,0BAAoC,CAAA"}
|
|
1
|
+
{"version":3,"file":"org-runtime-context.d.ts","sourceRoot":"","sources":["../src/org-runtime-context.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,eAAO,MAAM,eAAe,6CAA+C,CAAA;AAE3E,qEAAqE;AACrE,eAAO,MAAM,WAAW,0BAAoC,CAAA;AAE5D;;;;GAIG;AACH,eAAO,MAAM,eAAe,6CAA+C,CAAA;AAE3E,qEAAqE;AACrE,eAAO,MAAM,WAAW,0BAAoC,CAAA;AAE5D;;;;GAIG;AACH,eAAO,MAAM,cAAc,6CAA+C,CAAA;AAE1E,6EAA6E;AAC7E,eAAO,MAAM,aAAa,0BAAmC,CAAA"}
|
|
@@ -22,3 +22,11 @@ export const useTimeZone = () => useContext(TimeZoneContext);
|
|
|
22
22
|
export const CurrencyContext = createContext(undefined);
|
|
23
23
|
/** Reads the nearest org currency (undefined outside a provider). */
|
|
24
24
|
export const useCurrency = () => useContext(CurrencyContext);
|
|
25
|
+
/**
|
|
26
|
+
* Org default tax rate as a fraction (e.g. `0.16`), from the org's fiscal
|
|
27
|
+
* config. Document line editors use it when the picked product carries no rate
|
|
28
|
+
* of its own. `undefined` outside a provider → lines start at 0.
|
|
29
|
+
*/
|
|
30
|
+
export const TaxRateContext = createContext(undefined);
|
|
31
|
+
/** Reads the nearest org default tax rate (undefined outside a provider). */
|
|
32
|
+
export const useOrgTaxRate = () => useContext(TaxRateContext);
|
|
@@ -5,9 +5,11 @@ export interface OrgRuntimeProviderProps {
|
|
|
5
5
|
timeZone?: string;
|
|
6
6
|
/** Org ISO-4217 currency (e.g. `MXN`). */
|
|
7
7
|
currency?: string;
|
|
8
|
+
/** Org default tax rate as a fraction (e.g. `0.16`) for document lines. */
|
|
9
|
+
taxRate?: number;
|
|
8
10
|
/** Resolver turning a stored path into a fetchable URL. Defaults to identity. */
|
|
9
11
|
getImageUrl?: GetImageUrl;
|
|
10
12
|
children: ReactNode;
|
|
11
13
|
}
|
|
12
|
-
export declare function OrgRuntimeProvider({ timeZone, currency, getImageUrl, children, }: OrgRuntimeProviderProps): import("react").JSX.Element;
|
|
14
|
+
export declare function OrgRuntimeProvider({ timeZone, currency, taxRate, getImageUrl, children, }: OrgRuntimeProviderProps): import("react").JSX.Element;
|
|
13
15
|
//# sourceMappingURL=org-runtime-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"org-runtime-provider.d.ts","sourceRoot":"","sources":["../src/org-runtime-provider.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAA;AAG5B,MAAM,WAAW,uBAAuB;IACtC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iFAAiF;IACjF,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,QAAQ,EACR,WAA8B,EAC9B,QAAQ,GACT,EAAE,uBAAuB,+
|
|
1
|
+
{"version":3,"file":"org-runtime-provider.d.ts","sourceRoot":"","sources":["../src/org-runtime-provider.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAA;AAG5B,MAAM,WAAW,uBAAuB;IACtC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iFAAiF;IACjF,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAA8B,EAC9B,QAAQ,GACT,EAAE,uBAAuB,+BAYzB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { ImageUrlContext, identityImageUrl, } from './image-url-context';
|
|
3
|
-
import { CurrencyContext, TimeZoneContext } from './org-runtime-context';
|
|
4
|
-
export function OrgRuntimeProvider({ timeZone, currency, getImageUrl = identityImageUrl, children, }) {
|
|
5
|
-
return (_jsx(ImageUrlContext.Provider, { value: getImageUrl, children: _jsx(TimeZoneContext.Provider, { value: timeZone, children: _jsx(CurrencyContext.Provider, { value: currency, children: children }) }) }));
|
|
3
|
+
import { CurrencyContext, TaxRateContext, TimeZoneContext } from './org-runtime-context';
|
|
4
|
+
export function OrgRuntimeProvider({ timeZone, currency, taxRate, getImageUrl = identityImageUrl, children, }) {
|
|
5
|
+
return (_jsx(ImageUrlContext.Provider, { value: getImageUrl, children: _jsx(TimeZoneContext.Provider, { value: timeZone, children: _jsx(CurrencyContext.Provider, { value: currency, children: _jsx(TaxRateContext.Provider, { value: taxRate, children: children }) }) }) }));
|
|
6
6
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export interface AgingBucket {
|
|
2
|
+
key: string;
|
|
3
|
+
label: string;
|
|
4
|
+
/** Días vencidos desde (inclusive). `current` usa -Infinity..0. */
|
|
5
|
+
from: number;
|
|
6
|
+
/** Días vencidos hasta (inclusive). `null` = sin tope. */
|
|
7
|
+
to: number | null;
|
|
8
|
+
}
|
|
9
|
+
export declare const DEFAULT_AGING_BUCKETS: AgingBucket[];
|
|
10
|
+
export interface AgingDoc {
|
|
11
|
+
party_id: string;
|
|
12
|
+
party_name?: string;
|
|
13
|
+
due_at: string | null;
|
|
14
|
+
issued_at: string;
|
|
15
|
+
balance: number;
|
|
16
|
+
}
|
|
17
|
+
export interface AgingRow {
|
|
18
|
+
party_id: string;
|
|
19
|
+
party_name?: string;
|
|
20
|
+
buckets: Record<string, number>;
|
|
21
|
+
total: number;
|
|
22
|
+
overdue: number;
|
|
23
|
+
oldest_overdue_days: number;
|
|
24
|
+
}
|
|
25
|
+
/** Días vencidos al corte (negativo = falta para vencer). Fechas en ISO (día). */
|
|
26
|
+
export declare function daysOverdue(dueISO: string, asOfISO: string): number;
|
|
27
|
+
export declare function bucketFor(days: number, buckets?: readonly AgingBucket[]): string;
|
|
28
|
+
/** Agrupa por contraparte y tramo. Saldos ≤ 0 se ignoran (anticipos van aparte). */
|
|
29
|
+
export declare function computeAging(docs: readonly AgingDoc[], asOfISO: string, buckets?: readonly AgingBucket[]): {
|
|
30
|
+
rows: AgingRow[];
|
|
31
|
+
totals: Record<string, number>;
|
|
32
|
+
total: number;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=aging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aging.d.ts","sourceRoot":"","sources":["../../src/primitives/aging.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED,eAAO,MAAM,qBAAqB,EAAE,WAAW,EAM9C,CAAA;AAED,MAAM,WAAW,QAAQ;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,QAAQ;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,mBAAmB,EAAE,MAAM,CAAA;CAC9B;AAID,kFAAkF;AAClF,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAInE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,SAAS,WAAW,EAA0B,GAAG,MAAM,CAGvG;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,SAAS,WAAW,EAA0B,GAAG;IAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAmBrM"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// AgingTable — antigüedad de saldos (CxC y CxP) como función pura.
|
|
2
|
+
//
|
|
3
|
+
// customers ya guarda aging_1_30 … aging_90_plus por cliente (refresh_credit_file).
|
|
4
|
+
// Esta función es la MISMA regla para la UI (drill-down por documento, CxP que
|
|
5
|
+
// hoy no la tiene) y para reportes: un solo lugar decide qué es «corriente».
|
|
6
|
+
import { roundMoney } from '../business/format';
|
|
7
|
+
export const DEFAULT_AGING_BUCKETS = [
|
|
8
|
+
{ key: 'current', label: 'Corriente', from: Number.NEGATIVE_INFINITY, to: 0 },
|
|
9
|
+
{ key: 'd1_30', label: '1–30', from: 1, to: 30 },
|
|
10
|
+
{ key: 'd31_60', label: '31–60', from: 31, to: 60 },
|
|
11
|
+
{ key: 'd61_90', label: '61–90', from: 61, to: 90 },
|
|
12
|
+
{ key: 'd90_plus', label: '90+', from: 91, to: null },
|
|
13
|
+
];
|
|
14
|
+
const DAY = 86_400_000;
|
|
15
|
+
/** Días vencidos al corte (negativo = falta para vencer). Fechas en ISO (día). */
|
|
16
|
+
export function daysOverdue(dueISO, asOfISO) {
|
|
17
|
+
const due = Date.parse(dueISO.slice(0, 10) + 'T00:00:00Z');
|
|
18
|
+
const asOf = Date.parse(asOfISO.slice(0, 10) + 'T00:00:00Z');
|
|
19
|
+
return Math.round((asOf - due) / DAY);
|
|
20
|
+
}
|
|
21
|
+
export function bucketFor(days, buckets = DEFAULT_AGING_BUCKETS) {
|
|
22
|
+
for (const b of buckets)
|
|
23
|
+
if (days >= b.from && (b.to === null || days <= b.to))
|
|
24
|
+
return b.key;
|
|
25
|
+
return buckets[buckets.length - 1].key;
|
|
26
|
+
}
|
|
27
|
+
/** Agrupa por contraparte y tramo. Saldos ≤ 0 se ignoran (anticipos van aparte). */
|
|
28
|
+
export function computeAging(docs, asOfISO, buckets = DEFAULT_AGING_BUCKETS) {
|
|
29
|
+
const rows = new Map();
|
|
30
|
+
const totals = Object.fromEntries(buckets.map(b => [b.key, 0]));
|
|
31
|
+
for (const d of docs) {
|
|
32
|
+
if (d.balance <= 0)
|
|
33
|
+
continue;
|
|
34
|
+
const days = daysOverdue(d.due_at ?? d.issued_at, asOfISO);
|
|
35
|
+
const key = bucketFor(days, buckets);
|
|
36
|
+
const row = rows.get(d.party_id) ?? { party_id: d.party_id, party_name: d.party_name, buckets: Object.fromEntries(buckets.map(b => [b.key, 0])), total: 0, overdue: 0, oldest_overdue_days: 0 };
|
|
37
|
+
row.buckets[key] = roundMoney(row.buckets[key] + d.balance);
|
|
38
|
+
row.total = roundMoney(row.total + d.balance);
|
|
39
|
+
if (days > 0) {
|
|
40
|
+
row.overdue = roundMoney(row.overdue + d.balance);
|
|
41
|
+
row.oldest_overdue_days = Math.max(row.oldest_overdue_days, days);
|
|
42
|
+
}
|
|
43
|
+
totals[key] = roundMoney(totals[key] + d.balance);
|
|
44
|
+
rows.set(d.party_id, row);
|
|
45
|
+
}
|
|
46
|
+
const list = [...rows.values()].sort((a, b) => b.overdue - a.overdue || b.total - a.total);
|
|
47
|
+
return { rows: list, totals, total: roundMoney(list.reduce((s, r) => s + r.total, 0)) };
|
|
48
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** Documento abierto con saldo. `installments_paid` = parcialidades previas vigentes. */
|
|
2
|
+
export interface OpenDocument {
|
|
3
|
+
id: string;
|
|
4
|
+
number: string;
|
|
5
|
+
issued_at: string;
|
|
6
|
+
due_at?: string | null;
|
|
7
|
+
total: number;
|
|
8
|
+
balance: number;
|
|
9
|
+
currency: string;
|
|
10
|
+
/** `PPD` / `PUE` u otro: el núcleo no lo interpreta; fiscal_mexico sí. */
|
|
11
|
+
payment_method?: string | null;
|
|
12
|
+
installments_paid?: number;
|
|
13
|
+
/** Extensiones de país (UUID, serie…). Pasan intactas a la línea. */
|
|
14
|
+
extra?: Record<string, unknown>;
|
|
15
|
+
}
|
|
16
|
+
export interface Allocation {
|
|
17
|
+
document_id: string;
|
|
18
|
+
amount: number;
|
|
19
|
+
/** Saldo anterior / pagado / insoluto: lo que pide el DoctoRelacionado del REP y el estado de cuenta. */
|
|
20
|
+
balance_before: number;
|
|
21
|
+
balance_after: number;
|
|
22
|
+
/** Número de parcialidad de ESTE pago para el documento (1-based). */
|
|
23
|
+
installment: number;
|
|
24
|
+
}
|
|
25
|
+
export type AllocationStrategy = 'oldest_due_first' | 'oldest_issued_first' | 'manual';
|
|
26
|
+
export interface AllocationResult {
|
|
27
|
+
allocations: Allocation[];
|
|
28
|
+
applied: number;
|
|
29
|
+
unapplied: number;
|
|
30
|
+
}
|
|
31
|
+
/** Reparte `amount` sobre `docs` según la estrategia. `manual` respeta `manual[id]`. */
|
|
32
|
+
export declare function allocatePayment(amount: number, docs: readonly OpenDocument[], strategy?: AllocationStrategy, manual?: Readonly<Record<string, number>>): AllocationResult;
|
|
33
|
+
export interface AllocationIssue {
|
|
34
|
+
code: 'over_balance' | 'over_amount' | 'currency_mismatch' | 'unapplied' | 'non_positive';
|
|
35
|
+
document_id?: string;
|
|
36
|
+
severity: 'error' | 'warning';
|
|
37
|
+
}
|
|
38
|
+
/** Revisión previa a guardar (la UI la pinta en ValidationChecklist; el backend la repite). */
|
|
39
|
+
export declare function validateAllocation(amount: number, currency: string, docs: readonly OpenDocument[], allocations: readonly Allocation[], opts?: {
|
|
40
|
+
allowUnapplied?: boolean;
|
|
41
|
+
}): AllocationIssue[];
|
|
42
|
+
//# sourceMappingURL=allocation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"allocation.d.ts","sourceRoot":"","sources":["../../src/primitives/allocation.ts"],"names":[],"mappings":"AAQA,yFAAyF;AACzF,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,UAAU;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,yGAAyG;IACzG,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,QAAQ,CAAA;AAEtF,MAAM,WAAW,gBAAgB;IAC7B,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CACpB;AAMD,wFAAwF;AACxF,wBAAgB,eAAe,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,SAAS,YAAY,EAAE,EAC7B,QAAQ,GAAE,kBAAuC,EACjD,MAAM,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GAC9C,gBAAgB,CAsBlB;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,cAAc,GAAG,aAAa,GAAG,mBAAmB,GAAG,WAAW,GAAG,cAAc,CAAA;IACzF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;CAChC;AAED,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,SAAS,YAAY,EAAE,EAC7B,WAAW,EAAE,SAAS,UAAU,EAAE,EAClC,IAAI,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GACxC,eAAe,EAAE,CAcnB"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// PaymentAllocator — reglas puras para aplicar un pago a varios documentos
|
|
2
|
+
// abiertos (CxC: facturas del cliente; CxP: facturas del proveedor).
|
|
3
|
+
//
|
|
4
|
+
// Lo usan: cobro multi-factura + REP (customers / fiscal_mexico), CxC
|
|
5
|
+
// «Registrar abono», CxP «Aplicar pago», abonos de apartado. Sin React y sin
|
|
6
|
+
// host: la UI (PaymentAllocator) y el backend (wasm) pueden validar con lo mismo.
|
|
7
|
+
import { roundMoney } from '../business/format';
|
|
8
|
+
function sortKey(d, s) {
|
|
9
|
+
return s === 'oldest_issued_first' ? d.issued_at : (d.due_at ?? d.issued_at);
|
|
10
|
+
}
|
|
11
|
+
/** Reparte `amount` sobre `docs` según la estrategia. `manual` respeta `manual[id]`. */
|
|
12
|
+
export function allocatePayment(amount, docs, strategy = 'oldest_due_first', manual = {}) {
|
|
13
|
+
let left = roundMoney(Math.max(0, amount));
|
|
14
|
+
const ordered = strategy === 'manual' ? [...docs] : [...docs].sort((a, b) => sortKey(a, strategy).localeCompare(sortKey(b, strategy)));
|
|
15
|
+
const allocations = [];
|
|
16
|
+
for (const d of ordered) {
|
|
17
|
+
if (left <= 0)
|
|
18
|
+
break;
|
|
19
|
+
const balance = roundMoney(d.balance);
|
|
20
|
+
if (balance <= 0)
|
|
21
|
+
continue;
|
|
22
|
+
const want = strategy === 'manual' ? roundMoney(manual[d.id] ?? 0) : balance;
|
|
23
|
+
const pay = roundMoney(Math.min(want, balance, left));
|
|
24
|
+
if (pay <= 0)
|
|
25
|
+
continue;
|
|
26
|
+
allocations.push({
|
|
27
|
+
document_id: d.id,
|
|
28
|
+
amount: pay,
|
|
29
|
+
balance_before: balance,
|
|
30
|
+
balance_after: roundMoney(balance - pay),
|
|
31
|
+
installment: (d.installments_paid ?? 0) + 1,
|
|
32
|
+
});
|
|
33
|
+
left = roundMoney(left - pay);
|
|
34
|
+
}
|
|
35
|
+
const applied = roundMoney(allocations.reduce((s, a) => s + a.amount, 0));
|
|
36
|
+
return { allocations, applied, unapplied: roundMoney(Math.max(0, amount) - applied) };
|
|
37
|
+
}
|
|
38
|
+
/** Revisión previa a guardar (la UI la pinta en ValidationChecklist; el backend la repite). */
|
|
39
|
+
export function validateAllocation(amount, currency, docs, allocations, opts = {}) {
|
|
40
|
+
const byId = new Map(docs.map(d => [d.id, d]));
|
|
41
|
+
const issues = [];
|
|
42
|
+
if (amount <= 0)
|
|
43
|
+
issues.push({ code: 'non_positive', severity: 'error' });
|
|
44
|
+
for (const a of allocations) {
|
|
45
|
+
const d = byId.get(a.document_id);
|
|
46
|
+
if (!d)
|
|
47
|
+
continue;
|
|
48
|
+
if (a.amount > roundMoney(d.balance) + 0.005)
|
|
49
|
+
issues.push({ code: 'over_balance', document_id: d.id, severity: 'error' });
|
|
50
|
+
if (d.currency !== currency)
|
|
51
|
+
issues.push({ code: 'currency_mismatch', document_id: d.id, severity: 'error' });
|
|
52
|
+
}
|
|
53
|
+
const applied = roundMoney(allocations.reduce((s, a) => s + a.amount, 0));
|
|
54
|
+
if (applied > roundMoney(amount) + 0.005)
|
|
55
|
+
issues.push({ code: 'over_amount', severity: 'error' });
|
|
56
|
+
else if (applied < roundMoney(amount) - 0.005)
|
|
57
|
+
issues.push({ code: 'unapplied', severity: opts.allowUnapplied ? 'warning' : 'error' });
|
|
58
|
+
return issues;
|
|
59
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { ApiClient } from '../api-context';
|
|
2
|
+
/** Espejo de dynamic.ApprovalRequest (JSON). jsonb llega como string. */
|
|
3
|
+
export interface ApprovalRequestDTO {
|
|
4
|
+
id: string;
|
|
5
|
+
addon_key: string;
|
|
6
|
+
model_key: string;
|
|
7
|
+
record_id: string;
|
|
8
|
+
action_key: string;
|
|
9
|
+
constraint_key: string;
|
|
10
|
+
kind: 'constraint' | 'action' | 'explicit' | 'pin';
|
|
11
|
+
label: string;
|
|
12
|
+
status: 'pending' | 'approved' | 'applied' | 'failed' | 'rejected' | 'expired';
|
|
13
|
+
requested_by: string;
|
|
14
|
+
requested_by_role: string;
|
|
15
|
+
requested_at: string;
|
|
16
|
+
expires_at: string | null;
|
|
17
|
+
roles: string | string[];
|
|
18
|
+
reason_required: boolean;
|
|
19
|
+
payload: string | Record<string, unknown>;
|
|
20
|
+
snapshot: string | Record<string, unknown>;
|
|
21
|
+
violation: string | Record<string, unknown>;
|
|
22
|
+
decided_by: string | null;
|
|
23
|
+
decided_at: string | null;
|
|
24
|
+
reason: string;
|
|
25
|
+
error: string;
|
|
26
|
+
}
|
|
27
|
+
export interface ApprovalListQuery {
|
|
28
|
+
status?: ApprovalRequestDTO['status'];
|
|
29
|
+
kind?: ApprovalRequestDTO['kind'];
|
|
30
|
+
model?: string;
|
|
31
|
+
/** Solo las que yo pedí. */
|
|
32
|
+
mine?: boolean;
|
|
33
|
+
/** Solo las que mis roles pueden decidir (default de la bandeja). */
|
|
34
|
+
for_me?: boolean;
|
|
35
|
+
page?: number;
|
|
36
|
+
per_page?: number;
|
|
37
|
+
}
|
|
38
|
+
/** Categoría visible en la bandeja. El mapeo policy → categoría es extensible por addons. */
|
|
39
|
+
export interface ApprovalCategory {
|
|
40
|
+
key: string;
|
|
41
|
+
label: string;
|
|
42
|
+
icon?: string;
|
|
43
|
+
/** Coincide si devuelve true (p. ej. por action_key, constraint_key o model_key). */
|
|
44
|
+
match: (r: ApprovalRequestDTO) => boolean;
|
|
45
|
+
}
|
|
46
|
+
/** Los addons registran su categoría al cargar (purchases: «Compras», fiscal_mexico: «Cancelación CFDI»…). */
|
|
47
|
+
export declare function registerApprovalCategory(c: ApprovalCategory): () => void;
|
|
48
|
+
export declare function categorize(r: ApprovalRequestDTO): string;
|
|
49
|
+
export declare function groupApprovals(items: readonly ApprovalRequestDTO[]): Record<string, ApprovalRequestDTO[]>;
|
|
50
|
+
export declare function parseJSONField<T = Record<string, unknown>>(v: string | T | null | undefined): T | null;
|
|
51
|
+
/** Cliente fino sobre las rutas del kernel; la UI lo usa vía useApi(). */
|
|
52
|
+
export declare function approvalsClient(api: ApiClient): {
|
|
53
|
+
list: (q?: ApprovalListQuery) => Promise<{
|
|
54
|
+
items: ApprovalRequestDTO[];
|
|
55
|
+
total: number;
|
|
56
|
+
}>;
|
|
57
|
+
count: () => Promise<number>;
|
|
58
|
+
approve: (id: string, reason?: string) => Promise<{
|
|
59
|
+
data: any;
|
|
60
|
+
headers?: any;
|
|
61
|
+
}>;
|
|
62
|
+
reject: (id: string, reason: string) => Promise<{
|
|
63
|
+
data: any;
|
|
64
|
+
headers?: any;
|
|
65
|
+
}>;
|
|
66
|
+
approveWithPin: (id: string, pin: string, reason: string) => Promise<{
|
|
67
|
+
data: any;
|
|
68
|
+
headers?: any;
|
|
69
|
+
}>;
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=approvals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approvals.d.ts","sourceRoot":"","sources":["../../src/primitives/approvals.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,yEAAyE;AACzE,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAA;IAClD,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAA;IAC9E,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1C,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACrC,IAAI,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,6FAA6F;AAC7F,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qFAAqF;IACrF,KAAK,EAAE,CAAC,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAA;CAC5C;AAID,8GAA8G;AAC9G,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAMxE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAExD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAIzG;AAED,wBAAgB,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,GAAG,IAAI,CAQtG;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS;eAOtB,iBAAiB;eAEa,kBAAkB,EAAE;;;;kBAGpD,MAAM,WAAW,MAAM;;;;iBACxB,MAAM,UAAU,MAAM;;;;yBACd,MAAM,OAAO,MAAM,UAAU,MAAM;;;;EAE/D"}
|