@almadar/std 15.15.0 → 15.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/behaviors/registry/app/atoms/std-ap-bill.orb +423 -171
- package/behaviors/registry/app/atoms/std-applicant.orb +207 -165
- package/behaviors/registry/app/atoms/std-application.orb +300 -188
- package/behaviors/registry/app/atoms/std-approval-request.orb +370 -215
- package/behaviors/registry/app/atoms/std-campaign-goal.orb +382 -167
- package/behaviors/registry/app/atoms/std-change-order.orb +458 -194
- package/behaviors/registry/app/atoms/std-chart-of-accounts.orb +201 -130
- package/behaviors/registry/app/atoms/std-checkin.orb +215 -151
- package/behaviors/registry/app/atoms/std-checkout-terminal.orb +322 -133
- package/behaviors/registry/app/atoms/std-class-roster.orb +343 -170
- package/behaviors/registry/app/atoms/std-class-session.orb +321 -190
- package/behaviors/registry/app/atoms/std-court-deadline.orb +353 -182
- package/behaviors/registry/app/atoms/std-customer-account.orb +376 -157
- package/behaviors/registry/app/atoms/std-donation-receipt.orb +214 -143
- package/behaviors/registry/app/atoms/std-donor.orb +191 -156
- package/behaviors/registry/app/atoms/std-drip-sequence.orb +409 -170
- package/behaviors/registry/app/atoms/std-driver.orb +440 -202
- package/behaviors/registry/app/atoms/std-dunning.orb +431 -167
- package/behaviors/registry/app/atoms/std-email-broadcast.orb +386 -143
- package/behaviors/registry/app/atoms/std-event.orb +309 -178
- package/behaviors/registry/app/atoms/std-form-builder.orb +353 -220
- package/behaviors/registry/app/atoms/std-health-score.orb +218 -183
- package/behaviors/registry/app/atoms/std-help-article.orb +425 -162
- package/behaviors/registry/app/atoms/std-help-category.orb +409 -166
- package/behaviors/registry/app/atoms/std-interview-slot.orb +311 -138
- package/behaviors/registry/app/atoms/std-invoice.orb +349 -211
- package/behaviors/registry/app/atoms/std-kitchen-display.orb +308 -184
- package/behaviors/registry/app/atoms/std-lease.orb +411 -178
- package/behaviors/registry/app/atoms/std-ledger-entry.orb +266 -195
- package/behaviors/registry/app/atoms/std-maintenance-request.orb +396 -177
- package/behaviors/registry/app/atoms/std-matter.orb +415 -189
- package/behaviors/registry/app/atoms/std-membership.orb +387 -167
- package/behaviors/registry/app/atoms/std-menu.orb +232 -175
- package/behaviors/registry/app/atoms/std-modifier-group.orb +224 -167
- package/behaviors/registry/app/atoms/std-nps-survey.orb +390 -138
- package/behaviors/registry/app/atoms/std-offer-letter.orb +242 -133
- package/behaviors/registry/app/atoms/std-payout-ledger.orb +428 -176
- package/behaviors/registry/app/atoms/std-question-bank.orb +211 -145
- package/behaviors/registry/app/atoms/std-receipt.orb +248 -177
- package/behaviors/registry/app/atoms/std-recurring-charge.orb +421 -149
- package/behaviors/registry/app/atoms/std-renewal-risk.orb +382 -153
- package/behaviors/registry/app/atoms/std-rent-charge.orb +476 -176
- package/behaviors/registry/app/atoms/std-reorder-rule.orb +246 -176
- package/behaviors/registry/app/atoms/std-response-collector.orb +213 -150
- package/behaviors/registry/app/atoms/std-rfi.orb +365 -210
- package/behaviors/registry/app/atoms/std-route-optimize.orb +195 -146
- package/behaviors/registry/app/atoms/std-segment.orb +173 -139
- package/behaviors/registry/app/atoms/std-stock-level.orb +205 -135
- package/behaviors/registry/app/atoms/std-submittal.orb +323 -166
- package/behaviors/registry/app/atoms/std-table-map.orb +187 -63
- package/behaviors/registry/app/atoms/std-technician-dispatch.orb +290 -202
- package/behaviors/registry/app/atoms/std-telematics-event.orb +156 -128
- package/behaviors/registry/app/atoms/std-template-editor.orb +255 -189
- package/behaviors/registry/app/atoms/std-tenant.orb +375 -147
- package/behaviors/registry/app/atoms/std-ticket-tier.orb +463 -150
- package/behaviors/registry/app/atoms/std-time-entry.orb +259 -150
- package/behaviors/registry/app/atoms/std-timesheet.orb +292 -183
- package/behaviors/registry/app/atoms/std-trial.orb +401 -183
- package/behaviors/registry/app/atoms/std-vehicle.orb +447 -205
- package/behaviors/registry/app/atoms/std-vendor-onboarding.orb +289 -245
- package/behaviors/registry/app/atoms/std-waitlist.orb +308 -177
- package/behaviors/registry/app/atoms/std-warehouse.orb +211 -141
- package/behaviors/registry/app/atoms/std-work-order.orb +374 -219
- package/behaviors/registry/app/organisms/std-subscription-billing.orb +282 -195
- package/behaviors/registry/core/atoms/std-approval-gate.orb +703 -0
- package/behaviors/registry/core/atoms/std-audit-capture.orb +150 -64
- package/behaviors/registry/core/atoms/std-data-erasure.orb +546 -0
- package/behaviors/registry/core/atoms/std-lifecycle.orb +343 -0
- package/behaviors/registry/core/atoms/std-notify-on-event.orb +132 -46
- package/behaviors/registry/core/atoms/std-reminder-scheduler.orb +330 -0
- package/behaviors/registry/marketing/atoms/std-marketing-article.orb +96 -0
- package/behaviors/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
- package/behaviors/registry/marketing/atoms/std-marketing-community.orb +134 -0
- package/behaviors/registry/marketing/atoms/std-marketing-cta.orb +206 -0
- package/behaviors/registry/marketing/atoms/std-marketing-features.orb +193 -0
- package/behaviors/registry/marketing/atoms/std-marketing-footer.orb +192 -0
- package/behaviors/registry/marketing/atoms/std-marketing-hero.orb +262 -0
- package/behaviors/registry/marketing/atoms/std-marketing-nav.orb +190 -0
- package/behaviors/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
- package/behaviors/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
- package/behaviors/registry/marketing/atoms/std-marketing-split.orb +135 -0
- package/behaviors/registry/marketing/atoms/std-marketing-stats.orb +120 -0
- package/behaviors/registry/marketing/atoms/std-marketing-steps.orb +179 -0
- package/behaviors/registry/marketing/atoms/std-marketing-team.orb +192 -0
- package/behaviors/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
- package/behaviors/registry/marketing/molecules/std-about-page.orb +440 -0
- package/behaviors/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
- package/behaviors/registry/marketing/molecules/std-landing-page.orb +521 -0
- package/behaviors/registry/marketing/molecules/std-pricing-page.orb +406 -0
- package/behaviors/registry/marketing/organisms/std-marketing-site.orb +1654 -0
- package/dist/behaviors/behaviors-registry.json +2913 -156
- package/dist/behaviors/registry/app/atoms/std-ap-bill.orb +423 -171
- package/dist/behaviors/registry/app/atoms/std-applicant.orb +207 -165
- package/dist/behaviors/registry/app/atoms/std-application.orb +300 -188
- package/dist/behaviors/registry/app/atoms/std-approval-request.orb +370 -215
- package/dist/behaviors/registry/app/atoms/std-campaign-goal.orb +382 -167
- package/dist/behaviors/registry/app/atoms/std-change-order.orb +458 -194
- package/dist/behaviors/registry/app/atoms/std-chart-of-accounts.orb +201 -130
- package/dist/behaviors/registry/app/atoms/std-checkin.orb +215 -151
- package/dist/behaviors/registry/app/atoms/std-checkout-terminal.orb +322 -133
- package/dist/behaviors/registry/app/atoms/std-class-roster.orb +343 -170
- package/dist/behaviors/registry/app/atoms/std-class-session.orb +321 -190
- package/dist/behaviors/registry/app/atoms/std-court-deadline.orb +353 -182
- package/dist/behaviors/registry/app/atoms/std-customer-account.orb +376 -157
- package/dist/behaviors/registry/app/atoms/std-donation-receipt.orb +214 -143
- package/dist/behaviors/registry/app/atoms/std-donor.orb +191 -156
- package/dist/behaviors/registry/app/atoms/std-drip-sequence.orb +409 -170
- package/dist/behaviors/registry/app/atoms/std-driver.orb +440 -202
- package/dist/behaviors/registry/app/atoms/std-dunning.orb +431 -167
- package/dist/behaviors/registry/app/atoms/std-email-broadcast.orb +386 -143
- package/dist/behaviors/registry/app/atoms/std-event.orb +309 -178
- package/dist/behaviors/registry/app/atoms/std-form-builder.orb +353 -220
- package/dist/behaviors/registry/app/atoms/std-health-score.orb +218 -183
- package/dist/behaviors/registry/app/atoms/std-help-article.orb +425 -162
- package/dist/behaviors/registry/app/atoms/std-help-category.orb +409 -166
- package/dist/behaviors/registry/app/atoms/std-interview-slot.orb +311 -138
- package/dist/behaviors/registry/app/atoms/std-invoice.orb +349 -211
- package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +308 -184
- package/dist/behaviors/registry/app/atoms/std-lease.orb +411 -178
- package/dist/behaviors/registry/app/atoms/std-ledger-entry.orb +266 -195
- package/dist/behaviors/registry/app/atoms/std-maintenance-request.orb +396 -177
- package/dist/behaviors/registry/app/atoms/std-matter.orb +415 -189
- package/dist/behaviors/registry/app/atoms/std-membership.orb +387 -167
- package/dist/behaviors/registry/app/atoms/std-menu.orb +232 -175
- package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +224 -167
- package/dist/behaviors/registry/app/atoms/std-nps-survey.orb +390 -138
- package/dist/behaviors/registry/app/atoms/std-offer-letter.orb +242 -133
- package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +428 -176
- package/dist/behaviors/registry/app/atoms/std-question-bank.orb +211 -145
- package/dist/behaviors/registry/app/atoms/std-receipt.orb +248 -177
- package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +421 -149
- package/dist/behaviors/registry/app/atoms/std-renewal-risk.orb +382 -153
- package/dist/behaviors/registry/app/atoms/std-rent-charge.orb +476 -176
- package/dist/behaviors/registry/app/atoms/std-reorder-rule.orb +246 -176
- package/dist/behaviors/registry/app/atoms/std-response-collector.orb +213 -150
- package/dist/behaviors/registry/app/atoms/std-rfi.orb +365 -210
- package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +195 -146
- package/dist/behaviors/registry/app/atoms/std-segment.orb +173 -139
- package/dist/behaviors/registry/app/atoms/std-stock-level.orb +205 -135
- package/dist/behaviors/registry/app/atoms/std-submittal.orb +323 -166
- package/dist/behaviors/registry/app/atoms/std-table-map.orb +187 -63
- package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +290 -202
- package/dist/behaviors/registry/app/atoms/std-telematics-event.orb +156 -128
- package/dist/behaviors/registry/app/atoms/std-template-editor.orb +255 -189
- package/dist/behaviors/registry/app/atoms/std-tenant.orb +375 -147
- package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +463 -150
- package/dist/behaviors/registry/app/atoms/std-time-entry.orb +259 -150
- package/dist/behaviors/registry/app/atoms/std-timesheet.orb +292 -183
- package/dist/behaviors/registry/app/atoms/std-trial.orb +401 -183
- package/dist/behaviors/registry/app/atoms/std-vehicle.orb +447 -205
- package/dist/behaviors/registry/app/atoms/std-vendor-onboarding.orb +289 -245
- package/dist/behaviors/registry/app/atoms/std-waitlist.orb +308 -177
- package/dist/behaviors/registry/app/atoms/std-warehouse.orb +211 -141
- package/dist/behaviors/registry/app/atoms/std-work-order.orb +374 -219
- package/dist/behaviors/registry/app/organisms/std-subscription-billing.orb +282 -195
- package/dist/behaviors/registry/core/atoms/std-approval-gate.orb +703 -0
- package/dist/behaviors/registry/core/atoms/std-audit-capture.orb +150 -64
- package/dist/behaviors/registry/core/atoms/std-data-erasure.orb +546 -0
- package/dist/behaviors/registry/core/atoms/std-lifecycle.orb +343 -0
- package/dist/behaviors/registry/core/atoms/std-notify-on-event.orb +132 -46
- package/dist/behaviors/registry/core/atoms/std-reminder-scheduler.orb +330 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-article.orb +96 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-community.orb +134 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-cta.orb +206 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-features.orb +193 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-footer.orb +192 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-hero.orb +262 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-nav.orb +190 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-split.orb +135 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-stats.orb +120 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-steps.orb +179 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-team.orb +192 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
- package/dist/behaviors/registry/marketing/molecules/std-about-page.orb +440 -0
- package/dist/behaviors/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
- package/dist/behaviors/registry/marketing/molecules/std-landing-page.orb +521 -0
- package/dist/behaviors/registry/marketing/molecules/std-pricing-page.orb +406 -0
- package/dist/behaviors/registry/marketing/organisms/std-marketing-site.orb +1654 -0
- package/dist/behaviors-registry.json +2913 -156
- package/dist/registry/app/atoms/std-ap-bill.orb +423 -171
- package/dist/registry/app/atoms/std-applicant.orb +207 -165
- package/dist/registry/app/atoms/std-application.orb +300 -188
- package/dist/registry/app/atoms/std-approval-request.orb +370 -215
- package/dist/registry/app/atoms/std-campaign-goal.orb +382 -167
- package/dist/registry/app/atoms/std-change-order.orb +458 -194
- package/dist/registry/app/atoms/std-chart-of-accounts.orb +201 -130
- package/dist/registry/app/atoms/std-checkin.orb +215 -151
- package/dist/registry/app/atoms/std-checkout-terminal.orb +322 -133
- package/dist/registry/app/atoms/std-class-roster.orb +343 -170
- package/dist/registry/app/atoms/std-class-session.orb +321 -190
- package/dist/registry/app/atoms/std-court-deadline.orb +353 -182
- package/dist/registry/app/atoms/std-customer-account.orb +376 -157
- package/dist/registry/app/atoms/std-donation-receipt.orb +214 -143
- package/dist/registry/app/atoms/std-donor.orb +191 -156
- package/dist/registry/app/atoms/std-drip-sequence.orb +409 -170
- package/dist/registry/app/atoms/std-driver.orb +440 -202
- package/dist/registry/app/atoms/std-dunning.orb +431 -167
- package/dist/registry/app/atoms/std-email-broadcast.orb +386 -143
- package/dist/registry/app/atoms/std-event.orb +309 -178
- package/dist/registry/app/atoms/std-form-builder.orb +353 -220
- package/dist/registry/app/atoms/std-health-score.orb +218 -183
- package/dist/registry/app/atoms/std-help-article.orb +425 -162
- package/dist/registry/app/atoms/std-help-category.orb +409 -166
- package/dist/registry/app/atoms/std-interview-slot.orb +311 -138
- package/dist/registry/app/atoms/std-invoice.orb +349 -211
- package/dist/registry/app/atoms/std-kitchen-display.orb +308 -184
- package/dist/registry/app/atoms/std-lease.orb +411 -178
- package/dist/registry/app/atoms/std-ledger-entry.orb +266 -195
- package/dist/registry/app/atoms/std-maintenance-request.orb +396 -177
- package/dist/registry/app/atoms/std-matter.orb +415 -189
- package/dist/registry/app/atoms/std-membership.orb +387 -167
- package/dist/registry/app/atoms/std-menu.orb +232 -175
- package/dist/registry/app/atoms/std-modifier-group.orb +224 -167
- package/dist/registry/app/atoms/std-nps-survey.orb +390 -138
- package/dist/registry/app/atoms/std-offer-letter.orb +242 -133
- package/dist/registry/app/atoms/std-payout-ledger.orb +428 -176
- package/dist/registry/app/atoms/std-question-bank.orb +211 -145
- package/dist/registry/app/atoms/std-receipt.orb +248 -177
- package/dist/registry/app/atoms/std-recurring-charge.orb +421 -149
- package/dist/registry/app/atoms/std-renewal-risk.orb +382 -153
- package/dist/registry/app/atoms/std-rent-charge.orb +476 -176
- package/dist/registry/app/atoms/std-reorder-rule.orb +246 -176
- package/dist/registry/app/atoms/std-response-collector.orb +213 -150
- package/dist/registry/app/atoms/std-rfi.orb +365 -210
- package/dist/registry/app/atoms/std-route-optimize.orb +195 -146
- package/dist/registry/app/atoms/std-segment.orb +173 -139
- package/dist/registry/app/atoms/std-stock-level.orb +205 -135
- package/dist/registry/app/atoms/std-submittal.orb +323 -166
- package/dist/registry/app/atoms/std-table-map.orb +187 -63
- package/dist/registry/app/atoms/std-technician-dispatch.orb +290 -202
- package/dist/registry/app/atoms/std-telematics-event.orb +156 -128
- package/dist/registry/app/atoms/std-template-editor.orb +255 -189
- package/dist/registry/app/atoms/std-tenant.orb +375 -147
- package/dist/registry/app/atoms/std-ticket-tier.orb +463 -150
- package/dist/registry/app/atoms/std-time-entry.orb +259 -150
- package/dist/registry/app/atoms/std-timesheet.orb +292 -183
- package/dist/registry/app/atoms/std-trial.orb +401 -183
- package/dist/registry/app/atoms/std-vehicle.orb +447 -205
- package/dist/registry/app/atoms/std-vendor-onboarding.orb +289 -245
- package/dist/registry/app/atoms/std-waitlist.orb +308 -177
- package/dist/registry/app/atoms/std-warehouse.orb +211 -141
- package/dist/registry/app/atoms/std-work-order.orb +374 -219
- package/dist/registry/app/organisms/std-subscription-billing.orb +282 -195
- package/dist/registry/core/atoms/std-approval-gate.orb +703 -0
- package/dist/registry/core/atoms/std-audit-capture.orb +150 -64
- package/dist/registry/core/atoms/std-data-erasure.orb +546 -0
- package/dist/registry/core/atoms/std-lifecycle.orb +343 -0
- package/dist/registry/core/atoms/std-notify-on-event.orb +132 -46
- package/dist/registry/core/atoms/std-reminder-scheduler.orb +330 -0
- package/dist/registry/marketing/atoms/std-marketing-article.orb +96 -0
- package/dist/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
- package/dist/registry/marketing/atoms/std-marketing-community.orb +134 -0
- package/dist/registry/marketing/atoms/std-marketing-cta.orb +206 -0
- package/dist/registry/marketing/atoms/std-marketing-features.orb +193 -0
- package/dist/registry/marketing/atoms/std-marketing-footer.orb +192 -0
- package/dist/registry/marketing/atoms/std-marketing-hero.orb +262 -0
- package/dist/registry/marketing/atoms/std-marketing-nav.orb +190 -0
- package/dist/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
- package/dist/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
- package/dist/registry/marketing/atoms/std-marketing-split.orb +135 -0
- package/dist/registry/marketing/atoms/std-marketing-stats.orb +120 -0
- package/dist/registry/marketing/atoms/std-marketing-steps.orb +179 -0
- package/dist/registry/marketing/atoms/std-marketing-team.orb +192 -0
- package/dist/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
- package/dist/registry/marketing/molecules/std-about-page.orb +440 -0
- package/dist/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
- package/dist/registry/marketing/molecules/std-landing-page.orb +521 -0
- package/dist/registry/marketing/molecules/std-pricing-page.orb +406 -0
- package/dist/registry/marketing/organisms/std-marketing-site.orb +1654 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "std-approval-request",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "std-approval-request — approver inbox
|
|
3
|
+
"version": "1.4.0",
|
|
4
|
+
"description": "std-approval-request — approver inbox/triage queue (use std-approval-chain for sequential single-item approvals). Listens for SET_STATUS so std-lifecycle can auto-withdraw stale requests. Exposes Service/Operations knobs (responseTimeMinutes, resolutionSLAHours, …).",
|
|
5
5
|
"orbitals": [
|
|
6
6
|
{
|
|
7
7
|
"name": "ApprovalRequestOrbital",
|
|
@@ -327,6 +327,22 @@
|
|
|
327
327
|
}
|
|
328
328
|
]
|
|
329
329
|
},
|
|
330
|
+
{
|
|
331
|
+
"key": "SET_STATUS",
|
|
332
|
+
"name": "Set Status",
|
|
333
|
+
"payloadSchema": [
|
|
334
|
+
{
|
|
335
|
+
"name": "entityId",
|
|
336
|
+
"type": "string",
|
|
337
|
+
"required": true
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"name": "newStatus",
|
|
341
|
+
"type": "string",
|
|
342
|
+
"required": true
|
|
343
|
+
}
|
|
344
|
+
]
|
|
345
|
+
},
|
|
330
346
|
{
|
|
331
347
|
"key": "CLOSE_REQUEST",
|
|
332
348
|
"name": "Close Request"
|
|
@@ -405,8 +421,8 @@
|
|
|
405
421
|
"ApprovalRequest",
|
|
406
422
|
{
|
|
407
423
|
"emit": {
|
|
408
|
-
"
|
|
409
|
-
"
|
|
424
|
+
"success": "ApprovalRequestLoaded",
|
|
425
|
+
"failure": "ApprovalRequestLoadFailed"
|
|
410
426
|
}
|
|
411
427
|
}
|
|
412
428
|
],
|
|
@@ -414,22 +430,22 @@
|
|
|
414
430
|
"render-ui",
|
|
415
431
|
"main",
|
|
416
432
|
{
|
|
417
|
-
"align": "center",
|
|
418
433
|
"children": [
|
|
419
434
|
{
|
|
420
435
|
"type": "spinner"
|
|
421
436
|
},
|
|
422
437
|
{
|
|
423
|
-
"type": "typography",
|
|
424
438
|
"variant": "caption",
|
|
439
|
+
"content": "Loading approval requests…",
|
|
425
440
|
"color": "muted",
|
|
426
|
-
"
|
|
441
|
+
"type": "typography"
|
|
427
442
|
}
|
|
428
443
|
],
|
|
429
|
-
"gap": "md",
|
|
430
444
|
"className": "py-12",
|
|
431
445
|
"type": "stack",
|
|
432
|
-
"direction": "vertical"
|
|
446
|
+
"direction": "vertical",
|
|
447
|
+
"gap": "md",
|
|
448
|
+
"align": "center"
|
|
433
449
|
}
|
|
434
450
|
]
|
|
435
451
|
]
|
|
@@ -443,53 +459,52 @@
|
|
|
443
459
|
"render-ui",
|
|
444
460
|
"main",
|
|
445
461
|
{
|
|
446
|
-
"type": "stack",
|
|
447
462
|
"direction": "vertical",
|
|
448
463
|
"children": [
|
|
449
464
|
{
|
|
450
|
-
"align": "center",
|
|
451
465
|
"type": "stack",
|
|
466
|
+
"gap": "sm",
|
|
467
|
+
"direction": "horizontal",
|
|
468
|
+
"align": "center",
|
|
452
469
|
"children": [
|
|
453
470
|
{
|
|
454
|
-
"
|
|
455
|
-
"
|
|
471
|
+
"type": "icon",
|
|
472
|
+
"name": "check-circle"
|
|
456
473
|
},
|
|
457
474
|
{
|
|
458
475
|
"content": "@config.title",
|
|
459
|
-
"
|
|
460
|
-
"
|
|
476
|
+
"type": "typography",
|
|
477
|
+
"variant": "h3"
|
|
461
478
|
}
|
|
462
|
-
]
|
|
463
|
-
"direction": "horizontal",
|
|
464
|
-
"gap": "sm"
|
|
479
|
+
]
|
|
465
480
|
},
|
|
466
481
|
{
|
|
467
482
|
"type": "simple-grid",
|
|
468
483
|
"cols": 4.0,
|
|
469
484
|
"children": [
|
|
470
485
|
{
|
|
471
|
-
"type": "stat-display",
|
|
472
486
|
"icon": "inbox",
|
|
473
|
-
"
|
|
474
|
-
"
|
|
487
|
+
"value": "@payload.data.length",
|
|
488
|
+
"type": "stat-display",
|
|
489
|
+
"label": "Total requests"
|
|
475
490
|
},
|
|
476
491
|
{
|
|
477
492
|
"label": "Pending",
|
|
478
493
|
"value": "14",
|
|
479
|
-
"
|
|
480
|
-
"
|
|
494
|
+
"icon": "clock",
|
|
495
|
+
"type": "stat-display"
|
|
481
496
|
},
|
|
482
497
|
{
|
|
483
|
-
"type": "stat-display",
|
|
484
498
|
"value": "82%",
|
|
499
|
+
"type": "stat-display",
|
|
485
500
|
"label": "Approved",
|
|
486
501
|
"icon": "check-circle"
|
|
487
502
|
},
|
|
488
503
|
{
|
|
489
504
|
"label": "Avg cycle",
|
|
490
|
-
"icon": "timer",
|
|
491
505
|
"type": "stat-display",
|
|
492
|
-
"value": "1.4 days"
|
|
506
|
+
"value": "1.4 days",
|
|
507
|
+
"icon": "timer"
|
|
493
508
|
}
|
|
494
509
|
]
|
|
495
510
|
},
|
|
@@ -497,15 +512,16 @@
|
|
|
497
512
|
"type": "divider"
|
|
498
513
|
},
|
|
499
514
|
{
|
|
500
|
-
"fields": "@config.fields",
|
|
501
|
-
"itemActions": "@config.itemActions",
|
|
502
|
-
"entity": "@payload.data",
|
|
503
515
|
"type": "data-grid",
|
|
504
|
-
"
|
|
505
|
-
"
|
|
516
|
+
"entity": "@payload.data",
|
|
517
|
+
"itemActions": "@config.itemActions",
|
|
518
|
+
"gap": "sm",
|
|
519
|
+
"fields": "@config.fields",
|
|
520
|
+
"cols": 1.0
|
|
506
521
|
}
|
|
507
522
|
],
|
|
508
|
-
"gap": "md"
|
|
523
|
+
"gap": "md",
|
|
524
|
+
"type": "stack"
|
|
509
525
|
}
|
|
510
526
|
]
|
|
511
527
|
]
|
|
@@ -519,9 +535,9 @@
|
|
|
519
535
|
"render-ui",
|
|
520
536
|
"main",
|
|
521
537
|
{
|
|
538
|
+
"type": "alert",
|
|
522
539
|
"variant": "error",
|
|
523
|
-
"message": "@payload.message"
|
|
524
|
-
"type": "alert"
|
|
540
|
+
"message": "@payload.message"
|
|
525
541
|
}
|
|
526
542
|
]
|
|
527
543
|
]
|
|
@@ -591,26 +607,25 @@
|
|
|
591
607
|
"main",
|
|
592
608
|
{
|
|
593
609
|
"type": "stack",
|
|
594
|
-
"direction": "vertical",
|
|
595
|
-
"gap": "md",
|
|
596
610
|
"children": [
|
|
597
611
|
{
|
|
612
|
+
"gap": "sm",
|
|
598
613
|
"align": "center",
|
|
599
614
|
"children": [
|
|
600
615
|
{
|
|
601
|
-
"variant": "ghost",
|
|
602
|
-
"action": "CLOSE_REQUEST",
|
|
603
616
|
"label": "Back",
|
|
604
|
-
"
|
|
617
|
+
"action": "CLOSE_REQUEST",
|
|
618
|
+
"type": "button",
|
|
619
|
+
"variant": "ghost"
|
|
605
620
|
},
|
|
606
621
|
{
|
|
607
622
|
"type": "icon",
|
|
608
623
|
"name": "check-circle"
|
|
609
624
|
},
|
|
610
625
|
{
|
|
611
|
-
"type": "typography",
|
|
612
626
|
"variant": "h3",
|
|
613
|
-
"content": "@entity.title"
|
|
627
|
+
"content": "@entity.title",
|
|
628
|
+
"type": "typography"
|
|
614
629
|
},
|
|
615
630
|
{
|
|
616
631
|
"type": "badge",
|
|
@@ -623,9 +638,8 @@
|
|
|
623
638
|
"label": "@entity.approverDecision"
|
|
624
639
|
}
|
|
625
640
|
],
|
|
626
|
-
"
|
|
627
|
-
"
|
|
628
|
-
"direction": "horizontal"
|
|
641
|
+
"direction": "horizontal",
|
|
642
|
+
"type": "stack"
|
|
629
643
|
},
|
|
630
644
|
{
|
|
631
645
|
"type": "divider"
|
|
@@ -638,79 +652,79 @@
|
|
|
638
652
|
{
|
|
639
653
|
"children": [
|
|
640
654
|
{
|
|
641
|
-
"color": "muted",
|
|
642
655
|
"type": "typography",
|
|
643
|
-
"
|
|
644
|
-
"variant": "caption"
|
|
656
|
+
"color": "muted",
|
|
657
|
+
"variant": "caption",
|
|
658
|
+
"content": "Target"
|
|
645
659
|
},
|
|
646
660
|
{
|
|
647
|
-
"variant": "body",
|
|
648
661
|
"type": "typography",
|
|
662
|
+
"variant": "body",
|
|
649
663
|
"content": "@entity.targetType"
|
|
650
664
|
},
|
|
651
665
|
{
|
|
652
|
-
"content": "@entity.targetId",
|
|
653
666
|
"type": "typography",
|
|
667
|
+
"content": "@entity.targetId",
|
|
654
668
|
"variant": "body"
|
|
655
669
|
}
|
|
656
670
|
],
|
|
657
671
|
"type": "stack",
|
|
658
|
-
"
|
|
659
|
-
"
|
|
672
|
+
"direction": "horizontal",
|
|
673
|
+
"gap": "md"
|
|
660
674
|
},
|
|
661
675
|
{
|
|
662
|
-
"type": "stack",
|
|
663
676
|
"direction": "horizontal",
|
|
664
|
-
"gap": "md",
|
|
665
677
|
"children": [
|
|
666
678
|
{
|
|
667
679
|
"type": "typography",
|
|
668
|
-
"content": "Requested by",
|
|
669
680
|
"variant": "caption",
|
|
670
|
-
"color": "muted"
|
|
681
|
+
"color": "muted",
|
|
682
|
+
"content": "Requested by"
|
|
671
683
|
},
|
|
672
684
|
{
|
|
673
685
|
"variant": "body",
|
|
674
|
-
"
|
|
675
|
-
"
|
|
686
|
+
"type": "typography",
|
|
687
|
+
"content": "@entity.requestedBy"
|
|
676
688
|
}
|
|
677
|
-
]
|
|
689
|
+
],
|
|
690
|
+
"gap": "md",
|
|
691
|
+
"type": "stack"
|
|
678
692
|
},
|
|
679
693
|
{
|
|
680
694
|
"direction": "horizontal",
|
|
681
|
-
"gap": "md",
|
|
682
695
|
"type": "stack",
|
|
696
|
+
"gap": "md",
|
|
683
697
|
"children": [
|
|
684
698
|
{
|
|
699
|
+
"color": "muted",
|
|
685
700
|
"variant": "caption",
|
|
686
|
-
"content": "Approver",
|
|
687
701
|
"type": "typography",
|
|
688
|
-
"
|
|
702
|
+
"content": "Approver"
|
|
689
703
|
},
|
|
690
704
|
{
|
|
691
|
-
"variant": "body",
|
|
692
705
|
"type": "typography",
|
|
706
|
+
"variant": "body",
|
|
693
707
|
"content": "@entity.assignedApprover"
|
|
694
708
|
}
|
|
695
709
|
]
|
|
696
710
|
},
|
|
697
711
|
{
|
|
712
|
+
"direction": "horizontal",
|
|
698
713
|
"type": "stack",
|
|
699
714
|
"gap": "md",
|
|
700
715
|
"children": [
|
|
701
716
|
{
|
|
702
|
-
"content": "Comment",
|
|
703
717
|
"color": "muted",
|
|
704
718
|
"type": "typography",
|
|
719
|
+
"content": "Comment",
|
|
705
720
|
"variant": "caption"
|
|
706
721
|
},
|
|
707
722
|
{
|
|
708
723
|
"type": "typography",
|
|
709
|
-
"
|
|
710
|
-
"
|
|
724
|
+
"variant": "body",
|
|
725
|
+
"content": "@entity.comment"
|
|
711
726
|
}
|
|
712
|
-
]
|
|
713
|
-
"direction": "horizontal"
|
|
727
|
+
]
|
|
714
728
|
}
|
|
715
729
|
]
|
|
716
730
|
},
|
|
@@ -719,67 +733,69 @@
|
|
|
719
733
|
},
|
|
720
734
|
{
|
|
721
735
|
"cols": 2.0,
|
|
736
|
+
"type": "simple-grid",
|
|
722
737
|
"children": [
|
|
723
738
|
{
|
|
724
|
-
"value": "@entity.requestedAt",
|
|
725
|
-
"icon": "calendar",
|
|
726
739
|
"type": "stat-display",
|
|
727
|
-
"label": "Requested at"
|
|
740
|
+
"label": "Requested at",
|
|
741
|
+
"icon": "calendar",
|
|
742
|
+
"value": "@entity.requestedAt"
|
|
728
743
|
},
|
|
729
744
|
{
|
|
730
|
-
"
|
|
731
|
-
"type": "stat-display",
|
|
745
|
+
"value": "@entity.decidedAt",
|
|
732
746
|
"icon": "calendar-check",
|
|
733
|
-
"
|
|
747
|
+
"type": "stat-display",
|
|
748
|
+
"label": "Decided at"
|
|
734
749
|
}
|
|
735
|
-
]
|
|
736
|
-
"type": "simple-grid"
|
|
750
|
+
]
|
|
737
751
|
},
|
|
738
752
|
{
|
|
753
|
+
"align": "center",
|
|
754
|
+
"type": "stack",
|
|
755
|
+
"direction": "horizontal",
|
|
739
756
|
"children": [
|
|
740
757
|
{
|
|
741
|
-
"variant": "primary",
|
|
742
|
-
"type": "button",
|
|
743
|
-
"action": "APPROVE",
|
|
744
|
-
"label": "Approve",
|
|
745
758
|
"actionPayload": {
|
|
746
759
|
"id": "@entity.id"
|
|
747
|
-
}
|
|
760
|
+
},
|
|
761
|
+
"type": "button",
|
|
762
|
+
"variant": "primary",
|
|
763
|
+
"action": "APPROVE",
|
|
764
|
+
"label": "Approve"
|
|
748
765
|
},
|
|
749
766
|
{
|
|
767
|
+
"action": "REJECT",
|
|
768
|
+
"label": "Reject",
|
|
769
|
+
"type": "button",
|
|
750
770
|
"actionPayload": {
|
|
751
771
|
"id": "@entity.id"
|
|
752
772
|
},
|
|
753
|
-
"
|
|
754
|
-
"label": "Reject",
|
|
755
|
-
"variant": "danger",
|
|
756
|
-
"action": "REJECT"
|
|
773
|
+
"variant": "danger"
|
|
757
774
|
},
|
|
758
775
|
{
|
|
759
|
-
"label": "Request Info",
|
|
760
|
-
"variant": "secondary",
|
|
761
|
-
"type": "button",
|
|
762
776
|
"action": "REQUEST_INFO",
|
|
777
|
+
"variant": "secondary",
|
|
763
778
|
"actionPayload": {
|
|
764
779
|
"id": "@entity.id"
|
|
765
|
-
}
|
|
780
|
+
},
|
|
781
|
+
"type": "button",
|
|
782
|
+
"label": "Request Info"
|
|
766
783
|
},
|
|
767
784
|
{
|
|
768
785
|
"label": "Withdraw",
|
|
769
786
|
"action": "WITHDRAW",
|
|
770
|
-
"
|
|
787
|
+
"type": "button",
|
|
771
788
|
"actionPayload": {
|
|
772
789
|
"id": "@entity.id"
|
|
773
790
|
},
|
|
774
|
-
"
|
|
791
|
+
"variant": "ghost"
|
|
775
792
|
}
|
|
776
793
|
],
|
|
777
|
-
"
|
|
778
|
-
"align": "center",
|
|
779
|
-
"gap": "sm",
|
|
780
|
-
"direction": "horizontal"
|
|
794
|
+
"gap": "sm"
|
|
781
795
|
}
|
|
782
|
-
]
|
|
796
|
+
],
|
|
797
|
+
"gap": "md",
|
|
798
|
+
"direction": "vertical"
|
|
783
799
|
}
|
|
784
800
|
]
|
|
785
801
|
]
|
|
@@ -808,22 +824,73 @@
|
|
|
808
824
|
"render-ui",
|
|
809
825
|
"main",
|
|
810
826
|
{
|
|
811
|
-
"direction": "vertical",
|
|
812
|
-
"className": "py-12",
|
|
813
827
|
"children": [
|
|
814
828
|
{
|
|
815
829
|
"type": "spinner"
|
|
816
830
|
},
|
|
817
831
|
{
|
|
818
|
-
"variant": "caption",
|
|
819
|
-
"color": "muted",
|
|
820
832
|
"content": "Withdrawing request…",
|
|
821
|
-
"type": "typography"
|
|
833
|
+
"type": "typography",
|
|
834
|
+
"color": "muted",
|
|
835
|
+
"variant": "caption"
|
|
822
836
|
}
|
|
823
837
|
],
|
|
838
|
+
"gap": "md",
|
|
824
839
|
"type": "stack",
|
|
840
|
+
"className": "py-12",
|
|
841
|
+
"align": "center",
|
|
842
|
+
"direction": "vertical"
|
|
843
|
+
}
|
|
844
|
+
]
|
|
845
|
+
]
|
|
846
|
+
},
|
|
847
|
+
{
|
|
848
|
+
"from": "browsing",
|
|
849
|
+
"to": "loading",
|
|
850
|
+
"event": "SET_STATUS",
|
|
851
|
+
"effects": [
|
|
852
|
+
[
|
|
853
|
+
"set",
|
|
854
|
+
"@entity.id",
|
|
855
|
+
"@payload.entityId"
|
|
856
|
+
],
|
|
857
|
+
[
|
|
858
|
+
"set",
|
|
859
|
+
"@entity.status",
|
|
860
|
+
"@payload.newStatus"
|
|
861
|
+
],
|
|
862
|
+
[
|
|
863
|
+
"persist",
|
|
864
|
+
"update",
|
|
865
|
+
"ApprovalRequest",
|
|
866
|
+
"@entity",
|
|
867
|
+
{
|
|
868
|
+
"emit": {
|
|
869
|
+
"failure": "ApprovalRequestLoadFailed",
|
|
870
|
+
"success": "ApprovalRequestLoaded"
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
],
|
|
874
|
+
[
|
|
875
|
+
"render-ui",
|
|
876
|
+
"main",
|
|
877
|
+
{
|
|
878
|
+
"direction": "vertical",
|
|
879
|
+
"align": "center",
|
|
825
880
|
"gap": "md",
|
|
826
|
-
"
|
|
881
|
+
"className": "py-12",
|
|
882
|
+
"children": [
|
|
883
|
+
{
|
|
884
|
+
"type": "spinner"
|
|
885
|
+
},
|
|
886
|
+
{
|
|
887
|
+
"color": "muted",
|
|
888
|
+
"content": "Updating approval status…",
|
|
889
|
+
"type": "typography",
|
|
890
|
+
"variant": "caption"
|
|
891
|
+
}
|
|
892
|
+
],
|
|
893
|
+
"type": "stack"
|
|
827
894
|
}
|
|
828
895
|
]
|
|
829
896
|
]
|
|
@@ -847,22 +914,22 @@
|
|
|
847
914
|
"render-ui",
|
|
848
915
|
"main",
|
|
849
916
|
{
|
|
917
|
+
"className": "py-12",
|
|
850
918
|
"children": [
|
|
851
919
|
{
|
|
852
920
|
"type": "spinner"
|
|
853
921
|
},
|
|
854
922
|
{
|
|
855
|
-
"
|
|
856
|
-
"variant": "caption",
|
|
923
|
+
"color": "muted",
|
|
857
924
|
"content": "Loading approval requests…",
|
|
858
|
-
"
|
|
925
|
+
"type": "typography",
|
|
926
|
+
"variant": "caption"
|
|
859
927
|
}
|
|
860
928
|
],
|
|
861
|
-
"className": "py-12",
|
|
862
929
|
"direction": "vertical",
|
|
863
|
-
"
|
|
930
|
+
"gap": "md",
|
|
864
931
|
"align": "center",
|
|
865
|
-
"
|
|
932
|
+
"type": "stack"
|
|
866
933
|
}
|
|
867
934
|
]
|
|
868
935
|
]
|
|
@@ -882,8 +949,8 @@
|
|
|
882
949
|
"ApprovalRequest",
|
|
883
950
|
{
|
|
884
951
|
"emit": {
|
|
885
|
-
"
|
|
886
|
-
"
|
|
952
|
+
"failure": "ApprovalRequestLoadFailed",
|
|
953
|
+
"success": "ApprovalRequestLoaded"
|
|
887
954
|
}
|
|
888
955
|
}
|
|
889
956
|
],
|
|
@@ -891,22 +958,22 @@
|
|
|
891
958
|
"render-ui",
|
|
892
959
|
"main",
|
|
893
960
|
{
|
|
894
|
-
"className": "py-12",
|
|
895
961
|
"direction": "vertical",
|
|
896
|
-
"gap": "md",
|
|
897
|
-
"type": "stack",
|
|
898
|
-
"align": "center",
|
|
899
962
|
"children": [
|
|
900
963
|
{
|
|
901
964
|
"type": "spinner"
|
|
902
965
|
},
|
|
903
966
|
{
|
|
904
967
|
"variant": "caption",
|
|
968
|
+
"color": "muted",
|
|
905
969
|
"content": "Recording approval…",
|
|
906
|
-
"type": "typography"
|
|
907
|
-
"color": "muted"
|
|
970
|
+
"type": "typography"
|
|
908
971
|
}
|
|
909
|
-
]
|
|
972
|
+
],
|
|
973
|
+
"className": "py-12",
|
|
974
|
+
"gap": "md",
|
|
975
|
+
"type": "stack",
|
|
976
|
+
"align": "center"
|
|
910
977
|
}
|
|
911
978
|
]
|
|
912
979
|
]
|
|
@@ -931,8 +998,8 @@
|
|
|
931
998
|
"ApprovalRequest",
|
|
932
999
|
{
|
|
933
1000
|
"emit": {
|
|
934
|
-
"
|
|
935
|
-
"
|
|
1001
|
+
"failure": "ApprovalRequestLoadFailed",
|
|
1002
|
+
"success": "ApprovalRequestLoaded"
|
|
936
1003
|
}
|
|
937
1004
|
}
|
|
938
1005
|
],
|
|
@@ -940,22 +1007,22 @@
|
|
|
940
1007
|
"render-ui",
|
|
941
1008
|
"main",
|
|
942
1009
|
{
|
|
943
|
-
"direction": "vertical",
|
|
944
1010
|
"children": [
|
|
945
1011
|
{
|
|
946
1012
|
"type": "spinner"
|
|
947
1013
|
},
|
|
948
1014
|
{
|
|
1015
|
+
"color": "muted",
|
|
949
1016
|
"content": "Recording rejection…",
|
|
950
1017
|
"variant": "caption",
|
|
951
|
-
"type": "typography"
|
|
952
|
-
"color": "muted"
|
|
1018
|
+
"type": "typography"
|
|
953
1019
|
}
|
|
954
1020
|
],
|
|
955
1021
|
"type": "stack",
|
|
956
|
-
"
|
|
1022
|
+
"align": "center",
|
|
957
1023
|
"gap": "md",
|
|
958
|
-
"
|
|
1024
|
+
"className": "py-12",
|
|
1025
|
+
"direction": "vertical"
|
|
959
1026
|
}
|
|
960
1027
|
]
|
|
961
1028
|
]
|
|
@@ -984,35 +1051,33 @@
|
|
|
984
1051
|
"render-ui",
|
|
985
1052
|
"main",
|
|
986
1053
|
{
|
|
987
|
-
"type": "stack",
|
|
988
1054
|
"direction": "vertical",
|
|
989
|
-
"gap": "md",
|
|
990
1055
|
"children": [
|
|
991
1056
|
{
|
|
1057
|
+
"align": "center",
|
|
992
1058
|
"type": "stack",
|
|
993
1059
|
"direction": "horizontal",
|
|
994
|
-
"align": "center",
|
|
995
|
-
"gap": "sm",
|
|
996
1060
|
"children": [
|
|
997
1061
|
{
|
|
998
|
-
"
|
|
999
|
-
"
|
|
1062
|
+
"type": "icon",
|
|
1063
|
+
"name": "x-circle"
|
|
1000
1064
|
},
|
|
1001
1065
|
{
|
|
1002
1066
|
"type": "typography",
|
|
1003
1067
|
"content": "Reject request",
|
|
1004
1068
|
"variant": "h3"
|
|
1005
1069
|
}
|
|
1006
|
-
]
|
|
1070
|
+
],
|
|
1071
|
+
"gap": "sm"
|
|
1007
1072
|
},
|
|
1008
1073
|
{
|
|
1009
1074
|
"type": "divider"
|
|
1010
1075
|
},
|
|
1011
1076
|
{
|
|
1012
|
-
"variant": "caption",
|
|
1013
|
-
"color": "muted",
|
|
1014
1077
|
"type": "typography",
|
|
1015
|
-
"
|
|
1078
|
+
"variant": "caption",
|
|
1079
|
+
"content": "Provide a reason for rejecting this request.",
|
|
1080
|
+
"color": "muted"
|
|
1016
1081
|
},
|
|
1017
1082
|
{
|
|
1018
1083
|
"action": "EDIT_COMMENT",
|
|
@@ -1020,31 +1085,33 @@
|
|
|
1020
1085
|
"placeholder": "Reason for rejection"
|
|
1021
1086
|
},
|
|
1022
1087
|
{
|
|
1023
|
-
"type": "stack",
|
|
1024
1088
|
"children": [
|
|
1025
1089
|
{
|
|
1026
|
-
"variant": "danger",
|
|
1027
1090
|
"type": "button",
|
|
1091
|
+
"variant": "danger",
|
|
1092
|
+
"action": "SUBMIT_REJECTION",
|
|
1028
1093
|
"actionPayload": {
|
|
1029
|
-
"
|
|
1030
|
-
"
|
|
1094
|
+
"comment": "@entity.comment",
|
|
1095
|
+
"id": "@entity.id"
|
|
1031
1096
|
},
|
|
1032
|
-
"
|
|
1033
|
-
"label": "Submit rejection"
|
|
1034
|
-
"icon": "send"
|
|
1097
|
+
"icon": "send",
|
|
1098
|
+
"label": "Submit rejection"
|
|
1035
1099
|
},
|
|
1036
1100
|
{
|
|
1101
|
+
"label": "Cancel",
|
|
1102
|
+
"variant": "ghost",
|
|
1037
1103
|
"action": "CANCEL_REJECTION",
|
|
1038
|
-
"type": "button",
|
|
1039
1104
|
"icon": "x",
|
|
1040
|
-
"
|
|
1041
|
-
"variant": "ghost"
|
|
1105
|
+
"type": "button"
|
|
1042
1106
|
}
|
|
1043
1107
|
],
|
|
1044
|
-
"
|
|
1045
|
-
"direction": "horizontal"
|
|
1108
|
+
"type": "stack",
|
|
1109
|
+
"direction": "horizontal",
|
|
1110
|
+
"gap": "sm"
|
|
1046
1111
|
}
|
|
1047
|
-
]
|
|
1112
|
+
],
|
|
1113
|
+
"gap": "md",
|
|
1114
|
+
"type": "stack"
|
|
1048
1115
|
}
|
|
1049
1116
|
]
|
|
1050
1117
|
]
|
|
@@ -1073,22 +1140,22 @@
|
|
|
1073
1140
|
"render-ui",
|
|
1074
1141
|
"main",
|
|
1075
1142
|
{
|
|
1076
|
-
"direction": "vertical",
|
|
1077
|
-
"className": "py-12",
|
|
1078
|
-
"align": "center",
|
|
1079
|
-
"gap": "md",
|
|
1080
1143
|
"children": [
|
|
1081
1144
|
{
|
|
1082
1145
|
"type": "spinner"
|
|
1083
1146
|
},
|
|
1084
1147
|
{
|
|
1085
|
-
"content": "Requesting more info…",
|
|
1086
1148
|
"variant": "caption",
|
|
1087
1149
|
"color": "muted",
|
|
1088
|
-
"type": "typography"
|
|
1150
|
+
"type": "typography",
|
|
1151
|
+
"content": "Requesting more info…"
|
|
1089
1152
|
}
|
|
1090
1153
|
],
|
|
1091
|
-
"
|
|
1154
|
+
"direction": "vertical",
|
|
1155
|
+
"type": "stack",
|
|
1156
|
+
"align": "center",
|
|
1157
|
+
"gap": "md",
|
|
1158
|
+
"className": "py-12"
|
|
1092
1159
|
}
|
|
1093
1160
|
]
|
|
1094
1161
|
]
|
|
@@ -1108,8 +1175,8 @@
|
|
|
1108
1175
|
"ApprovalRequest",
|
|
1109
1176
|
{
|
|
1110
1177
|
"emit": {
|
|
1111
|
-
"
|
|
1112
|
-
"
|
|
1178
|
+
"failure": "ApprovalRequestLoadFailed",
|
|
1179
|
+
"success": "ApprovalRequestLoaded"
|
|
1113
1180
|
}
|
|
1114
1181
|
}
|
|
1115
1182
|
],
|
|
@@ -1117,22 +1184,22 @@
|
|
|
1117
1184
|
"render-ui",
|
|
1118
1185
|
"main",
|
|
1119
1186
|
{
|
|
1120
|
-
"
|
|
1187
|
+
"gap": "md",
|
|
1188
|
+
"type": "stack",
|
|
1121
1189
|
"children": [
|
|
1122
1190
|
{
|
|
1123
1191
|
"type": "spinner"
|
|
1124
1192
|
},
|
|
1125
1193
|
{
|
|
1126
|
-
"type": "typography",
|
|
1127
|
-
"color": "muted",
|
|
1128
1194
|
"variant": "caption",
|
|
1129
|
-
"
|
|
1195
|
+
"color": "muted",
|
|
1196
|
+
"content": "Withdrawing request…",
|
|
1197
|
+
"type": "typography"
|
|
1130
1198
|
}
|
|
1131
1199
|
],
|
|
1132
1200
|
"direction": "vertical",
|
|
1133
1201
|
"className": "py-12",
|
|
1134
|
-
"
|
|
1135
|
-
"type": "stack"
|
|
1202
|
+
"align": "center"
|
|
1136
1203
|
}
|
|
1137
1204
|
]
|
|
1138
1205
|
]
|
|
@@ -1173,22 +1240,22 @@
|
|
|
1173
1240
|
"render-ui",
|
|
1174
1241
|
"main",
|
|
1175
1242
|
{
|
|
1176
|
-
"type": "stack",
|
|
1177
1243
|
"align": "center",
|
|
1178
1244
|
"className": "py-12",
|
|
1179
|
-
"direction": "vertical",
|
|
1180
|
-
"gap": "md",
|
|
1181
1245
|
"children": [
|
|
1182
1246
|
{
|
|
1183
1247
|
"type": "spinner"
|
|
1184
1248
|
},
|
|
1185
1249
|
{
|
|
1250
|
+
"color": "muted",
|
|
1186
1251
|
"variant": "caption",
|
|
1187
|
-
"type": "typography",
|
|
1188
1252
|
"content": "Recording rejection…",
|
|
1189
|
-
"
|
|
1253
|
+
"type": "typography"
|
|
1190
1254
|
}
|
|
1191
|
-
]
|
|
1255
|
+
],
|
|
1256
|
+
"direction": "vertical",
|
|
1257
|
+
"type": "stack",
|
|
1258
|
+
"gap": "md"
|
|
1192
1259
|
}
|
|
1193
1260
|
]
|
|
1194
1261
|
]
|
|
@@ -1212,22 +1279,22 @@
|
|
|
1212
1279
|
"render-ui",
|
|
1213
1280
|
"main",
|
|
1214
1281
|
{
|
|
1215
|
-
"
|
|
1216
|
-
"gap": "md",
|
|
1282
|
+
"className": "py-12",
|
|
1217
1283
|
"children": [
|
|
1218
1284
|
{
|
|
1219
1285
|
"type": "spinner"
|
|
1220
1286
|
},
|
|
1221
1287
|
{
|
|
1222
|
-
"
|
|
1288
|
+
"color": "muted",
|
|
1223
1289
|
"variant": "caption",
|
|
1224
|
-
"
|
|
1225
|
-
"
|
|
1290
|
+
"content": "Loading approval requests…",
|
|
1291
|
+
"type": "typography"
|
|
1226
1292
|
}
|
|
1227
1293
|
],
|
|
1294
|
+
"gap": "md",
|
|
1228
1295
|
"type": "stack",
|
|
1229
|
-
"
|
|
1230
|
-
"
|
|
1296
|
+
"direction": "vertical",
|
|
1297
|
+
"align": "center"
|
|
1231
1298
|
}
|
|
1232
1299
|
]
|
|
1233
1300
|
]
|
|
@@ -1260,6 +1327,96 @@
|
|
|
1260
1327
|
]
|
|
1261
1328
|
},
|
|
1262
1329
|
"config": {
|
|
1330
|
+
"responseTimeMinutes": {
|
|
1331
|
+
"type": "number",
|
|
1332
|
+
"default": 240.0,
|
|
1333
|
+
"label": "Response time SLA (min)",
|
|
1334
|
+
"description": "Target minutes from request submitted to first approver acknowledgement.",
|
|
1335
|
+
"tier": "essential"
|
|
1336
|
+
},
|
|
1337
|
+
"requireCommentOnReject": {
|
|
1338
|
+
"type": "boolean",
|
|
1339
|
+
"default": false,
|
|
1340
|
+
"label": "Require reject comment",
|
|
1341
|
+
"description": "Force approvers to enter a reason when rejecting",
|
|
1342
|
+
"tier": "customization"
|
|
1343
|
+
},
|
|
1344
|
+
"serviceAreaRadius": {
|
|
1345
|
+
"type": "number",
|
|
1346
|
+
"default": 0.0,
|
|
1347
|
+
"label": "Service area radius (mi)",
|
|
1348
|
+
"description": "Geographic distance limit for assignable approvers. Zero = no restriction.",
|
|
1349
|
+
"tier": "customization"
|
|
1350
|
+
},
|
|
1351
|
+
"serviceZones": {
|
|
1352
|
+
"type": "[string]",
|
|
1353
|
+
"default": [],
|
|
1354
|
+
"label": "Service zones",
|
|
1355
|
+
"description": "Named approver pools (e.g. by region, department, business unit).",
|
|
1356
|
+
"tier": "customization",
|
|
1357
|
+
"items": {
|
|
1358
|
+
"type": "string"
|
|
1359
|
+
}
|
|
1360
|
+
},
|
|
1361
|
+
"skillsRequired": {
|
|
1362
|
+
"type": "[string]",
|
|
1363
|
+
"default": [],
|
|
1364
|
+
"label": "Required skills",
|
|
1365
|
+
"description": "Capability tags an approver must hold (e.g. 'finance', 'legal', 'security').",
|
|
1366
|
+
"tier": "customization",
|
|
1367
|
+
"items": {
|
|
1368
|
+
"type": "string"
|
|
1369
|
+
}
|
|
1370
|
+
},
|
|
1371
|
+
"resolutionSLAHours": {
|
|
1372
|
+
"type": "number",
|
|
1373
|
+
"default": 48.0,
|
|
1374
|
+
"label": "Resolution SLA (hours)",
|
|
1375
|
+
"description": "Target hours from submitted to decided. Compose std-lifecycle to auto-escalate.",
|
|
1376
|
+
"tier": "essential"
|
|
1377
|
+
},
|
|
1378
|
+
"escalationThresholdHours": {
|
|
1379
|
+
"type": "number",
|
|
1380
|
+
"default": 72.0,
|
|
1381
|
+
"label": "Escalation threshold (hours)",
|
|
1382
|
+
"description": "Hours after which a pending request auto-escalates to backup approvers.",
|
|
1383
|
+
"tier": "customization"
|
|
1384
|
+
},
|
|
1385
|
+
"requirePhotoOnComplete": {
|
|
1386
|
+
"type": "boolean",
|
|
1387
|
+
"default": false,
|
|
1388
|
+
"label": "Require photo on complete",
|
|
1389
|
+
"description": "Block APPROVE unless supporting evidence is attached.",
|
|
1390
|
+
"tier": "customization"
|
|
1391
|
+
},
|
|
1392
|
+
"requireSignatureOnComplete": {
|
|
1393
|
+
"type": "boolean",
|
|
1394
|
+
"default": false,
|
|
1395
|
+
"label": "Require approver signature on complete",
|
|
1396
|
+
"description": "Block APPROVE unless approver signature is captured (compose std-signature-capture).",
|
|
1397
|
+
"tier": "customization"
|
|
1398
|
+
},
|
|
1399
|
+
"customerVisibleStatuses": {
|
|
1400
|
+
"type": "[string]",
|
|
1401
|
+
"default": [
|
|
1402
|
+
"submitted",
|
|
1403
|
+
"approved",
|
|
1404
|
+
"rejected"
|
|
1405
|
+
],
|
|
1406
|
+
"label": "Customer-visible statuses",
|
|
1407
|
+
"description": "Subset of statuses the requester sees in their tracking view.",
|
|
1408
|
+
"tier": "customization",
|
|
1409
|
+
"items": {
|
|
1410
|
+
"type": "string"
|
|
1411
|
+
}
|
|
1412
|
+
},
|
|
1413
|
+
"title": {
|
|
1414
|
+
"type": "string",
|
|
1415
|
+
"default": "Approval Requests",
|
|
1416
|
+
"label": "Section title",
|
|
1417
|
+
"description": "Heading shown above the approval queue",
|
|
1418
|
+
"tier": "customization"
|
|
1419
|
+
},
|
|
1263
1420
|
"fields": {
|
|
1264
1421
|
"type": "[FieldSpec]",
|
|
1265
1422
|
"default": [
|
|
@@ -1269,14 +1426,14 @@
|
|
|
1269
1426
|
"variant": "caption"
|
|
1270
1427
|
},
|
|
1271
1428
|
{
|
|
1272
|
-
"
|
|
1429
|
+
"variant": "badge",
|
|
1273
1430
|
"label": "Target",
|
|
1274
|
-
"
|
|
1431
|
+
"name": "targetType"
|
|
1275
1432
|
},
|
|
1276
1433
|
{
|
|
1434
|
+
"label": "Requested By",
|
|
1277
1435
|
"variant": "caption",
|
|
1278
|
-
"name": "requestedBy"
|
|
1279
|
-
"label": "Requested By"
|
|
1436
|
+
"name": "requestedBy"
|
|
1280
1437
|
},
|
|
1281
1438
|
{
|
|
1282
1439
|
"name": "assignedApprover",
|
|
@@ -1285,17 +1442,17 @@
|
|
|
1285
1442
|
},
|
|
1286
1443
|
{
|
|
1287
1444
|
"name": "approverDecision",
|
|
1288
|
-
"
|
|
1289
|
-
"
|
|
1445
|
+
"label": "Decision",
|
|
1446
|
+
"variant": "badge"
|
|
1290
1447
|
},
|
|
1291
1448
|
{
|
|
1292
1449
|
"variant": "badge",
|
|
1293
|
-
"
|
|
1294
|
-
"
|
|
1450
|
+
"label": "Status",
|
|
1451
|
+
"name": "status"
|
|
1295
1452
|
},
|
|
1296
1453
|
{
|
|
1297
|
-
"name": "decidedAt",
|
|
1298
1454
|
"label": "Decided",
|
|
1455
|
+
"name": "decidedAt",
|
|
1299
1456
|
"variant": "caption"
|
|
1300
1457
|
}
|
|
1301
1458
|
],
|
|
@@ -1305,8 +1462,8 @@
|
|
|
1305
1462
|
"items": {
|
|
1306
1463
|
"type": "object",
|
|
1307
1464
|
"properties": {
|
|
1308
|
-
"
|
|
1309
|
-
"name": "
|
|
1465
|
+
"key": {
|
|
1466
|
+
"name": "key",
|
|
1310
1467
|
"type": "string",
|
|
1311
1468
|
"required": false
|
|
1312
1469
|
},
|
|
@@ -1315,6 +1472,11 @@
|
|
|
1315
1472
|
"type": "string",
|
|
1316
1473
|
"required": false
|
|
1317
1474
|
},
|
|
1475
|
+
"icon": {
|
|
1476
|
+
"name": "icon",
|
|
1477
|
+
"type": "string",
|
|
1478
|
+
"required": false
|
|
1479
|
+
},
|
|
1318
1480
|
"label": {
|
|
1319
1481
|
"name": "label",
|
|
1320
1482
|
"type": "string",
|
|
@@ -1325,39 +1487,27 @@
|
|
|
1325
1487
|
"type": "string",
|
|
1326
1488
|
"required": true
|
|
1327
1489
|
},
|
|
1328
|
-
"icon": {
|
|
1329
|
-
"name": "icon",
|
|
1330
|
-
"type": "string",
|
|
1331
|
-
"required": false
|
|
1332
|
-
},
|
|
1333
1490
|
"variant": {
|
|
1334
1491
|
"name": "variant",
|
|
1335
1492
|
"type": "string",
|
|
1336
1493
|
"required": false
|
|
1337
1494
|
},
|
|
1338
|
-
"
|
|
1339
|
-
"name": "
|
|
1495
|
+
"format": {
|
|
1496
|
+
"name": "format",
|
|
1340
1497
|
"type": "string",
|
|
1341
1498
|
"required": false
|
|
1342
1499
|
}
|
|
1343
1500
|
}
|
|
1344
1501
|
}
|
|
1345
1502
|
},
|
|
1346
|
-
"requireCommentOnReject": {
|
|
1347
|
-
"type": "boolean",
|
|
1348
|
-
"default": false,
|
|
1349
|
-
"label": "Require reject comment",
|
|
1350
|
-
"description": "Force approvers to enter a reason when rejecting",
|
|
1351
|
-
"tier": "customization"
|
|
1352
|
-
},
|
|
1353
1503
|
"itemActions": {
|
|
1354
1504
|
"type": "[ItemAction]",
|
|
1355
1505
|
"default": [
|
|
1356
1506
|
{
|
|
1507
|
+
"variant": "primary",
|
|
1357
1508
|
"label": "Open",
|
|
1358
|
-
"event": "OPEN_REQUEST",
|
|
1359
1509
|
"icon": "arrow-right",
|
|
1360
|
-
"
|
|
1510
|
+
"event": "OPEN_REQUEST"
|
|
1361
1511
|
},
|
|
1362
1512
|
{
|
|
1363
1513
|
"variant": "danger",
|
|
@@ -1371,35 +1521,40 @@
|
|
|
1371
1521
|
"items": {
|
|
1372
1522
|
"type": "object",
|
|
1373
1523
|
"properties": {
|
|
1374
|
-
"
|
|
1375
|
-
"name": "
|
|
1524
|
+
"label": {
|
|
1525
|
+
"name": "label",
|
|
1376
1526
|
"type": "string",
|
|
1377
|
-
"required":
|
|
1527
|
+
"required": true
|
|
1378
1528
|
},
|
|
1379
1529
|
"event": {
|
|
1380
1530
|
"name": "event",
|
|
1381
1531
|
"type": "string",
|
|
1382
1532
|
"required": true
|
|
1383
1533
|
},
|
|
1384
|
-
"label": {
|
|
1385
|
-
"name": "label",
|
|
1386
|
-
"type": "string",
|
|
1387
|
-
"required": true
|
|
1388
|
-
},
|
|
1389
1534
|
"icon": {
|
|
1390
1535
|
"name": "icon",
|
|
1391
1536
|
"type": "string",
|
|
1392
1537
|
"required": false
|
|
1538
|
+
},
|
|
1539
|
+
"variant": {
|
|
1540
|
+
"name": "variant",
|
|
1541
|
+
"type": "string",
|
|
1542
|
+
"required": false
|
|
1393
1543
|
}
|
|
1394
1544
|
}
|
|
1395
1545
|
}
|
|
1396
1546
|
},
|
|
1397
|
-
"
|
|
1547
|
+
"dispatchStrategy": {
|
|
1398
1548
|
"type": "string",
|
|
1399
|
-
"default": "
|
|
1400
|
-
"label": "
|
|
1401
|
-
"description": "
|
|
1402
|
-
"tier": "customization"
|
|
1549
|
+
"default": "manual",
|
|
1550
|
+
"label": "Dispatch strategy",
|
|
1551
|
+
"description": "How approvers are assigned to incoming requests.",
|
|
1552
|
+
"tier": "customization",
|
|
1553
|
+
"values": [
|
|
1554
|
+
"nearest",
|
|
1555
|
+
"round-robin",
|
|
1556
|
+
"manual"
|
|
1557
|
+
]
|
|
1403
1558
|
}
|
|
1404
1559
|
},
|
|
1405
1560
|
"scope": "collection"
|
|
@@ -1418,4 +1573,4 @@
|
|
|
1418
1573
|
]
|
|
1419
1574
|
}
|
|
1420
1575
|
]
|
|
1421
|
-
}
|
|
1576
|
+
}
|