@lostgradient/cinder 0.8.0 → 0.11.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 +25 -0
- package/README.md +2 -2
- package/components.json +140 -18
- package/dist/components/_internal/command-list-context.d.ts +3 -3
- package/dist/components/_internal/create-command-list-state.svelte.d.ts +11 -11
- package/dist/components/access-gate/index.js +435 -218
- package/dist/components/approval-card/approval-card-actions.svelte.d.ts +16 -0
- package/dist/components/approval-card/approval-card-state.d.ts +65 -0
- package/dist/components/approval-card/approval-card.css +269 -92
- package/dist/components/approval-card/approval-card.schema.js +10 -31
- package/dist/components/approval-card/approval-card.svelte.d.ts +3 -3
- package/dist/components/approval-card/approval-card.types.d.ts +14 -28
- package/dist/components/approval-card/index.d.ts +1 -1
- package/dist/components/approval-card/index.js +4268 -2884
- package/dist/components/card/card.css +5 -0
- package/dist/components/card/card.schema.js +2 -2
- package/dist/components/card/card.types.d.ts +2 -2
- package/dist/components/card/index.js +2 -1
- package/dist/components/chat/builders.d.ts +17 -8
- package/dist/components/chat/chat.schema.js +44 -2
- package/dist/components/chat/chat.svelte.d.ts +4 -2
- package/dist/components/chat/chat.types.d.ts +34 -3
- package/dist/components/chat/container/chat.svelte.d.ts +4 -2
- package/dist/components/chat/conversation-model.d.ts +1 -1
- package/dist/components/chat/index.d.ts +4 -4
- package/dist/components/chat/index.js +2767 -6278
- package/dist/components/chat/input/chat-attachment-serialization.d.ts +9 -0
- package/dist/components/chat/input/chat-input.svelte.d.ts +22 -1
- package/dist/components/chat/input/index.d.ts +1 -0
- package/dist/components/chat/utilities/conversation.d.ts +6 -6
- package/dist/components/chat-composer-popover/chat-composer-popover-filter.d.ts +11 -0
- package/dist/components/chat-composer-popover/chat-composer-popover.css +7 -0
- package/dist/components/chat-composer-popover/chat-composer-popover.css.d.ts +1 -0
- package/dist/components/chat-composer-popover/chat-composer-popover.schema.d.ts +3 -0
- package/dist/components/chat-composer-popover/chat-composer-popover.schema.js +150 -0
- package/dist/components/chat-composer-popover/chat-composer-popover.svelte.d.ts +46 -0
- package/dist/components/chat-composer-popover/chat-composer-popover.types.d.ts +77 -0
- package/dist/components/chat-composer-popover/chat-composer-popover.variables.d.ts +2 -0
- package/dist/components/chat-composer-popover/chat-composer-popover.variables.js +61 -0
- package/dist/components/chat-composer-popover/index.d.ts +6 -0
- package/dist/components/chat-composer-popover/index.js +3285 -0
- package/dist/components/chat-conversation-header/index.js +577 -4537
- package/dist/components/chat-conversation-list/index.js +24 -3984
- package/dist/components/code-block/code-block.schema.js +5 -1
- package/dist/components/code-block/code-block.types.d.ts +6 -0
- package/dist/components/code-block/index.js +4 -4
- package/dist/components/command-item/index.js +7 -6
- package/dist/components/command-menu/command-menu.schema.js +5 -1
- package/dist/components/command-menu/command-menu.types.d.ts +2 -0
- package/dist/components/command-menu/index.js +48 -19
- package/dist/components/command-palette/index.js +40 -14
- package/dist/components/connection-indicator/connection-indicator.css +136 -0
- package/dist/components/connection-indicator/connection-indicator.css.d.ts +1 -0
- package/dist/components/connection-indicator/connection-indicator.schema.d.ts +3 -0
- package/dist/components/connection-indicator/connection-indicator.schema.js +89 -0
- package/dist/components/connection-indicator/connection-indicator.svelte.d.ts +21 -0
- package/dist/components/connection-indicator/connection-indicator.types.d.ts +46 -0
- package/dist/components/connection-indicator/connection-indicator.variables.d.ts +2 -0
- package/dist/components/connection-indicator/connection-indicator.variables.js +61 -0
- package/dist/components/connection-indicator/index.d.ts +5 -0
- package/dist/components/connection-indicator/index.js +409 -0
- package/dist/components/container/container.schema.js +4 -4
- package/dist/components/event-stream-viewer/index.js +44 -44
- package/dist/components/experimental/json-viewer/index.js +44 -44
- package/dist/components/invocation-rule-builder/index.d.ts +1 -1
- package/dist/components/invocation-rule-builder/index.js +305 -150
- package/dist/components/invocation-rule-builder/invocation-rule-builder.css +28 -0
- package/dist/components/invocation-rule-builder/invocation-rule-builder.schema.js +89 -5
- package/dist/components/invocation-rule-builder/invocation-rule-builder.svelte.d.ts +2 -1
- package/dist/components/invocation-rule-builder/invocation-rule-builder.types.d.ts +114 -16
- package/dist/components/json-schema-editor/index.js +5 -2
- package/dist/components/json-viewer/index.js +44 -44
- package/dist/components/json-viewer/json-viewer.css +10 -6
- package/dist/components/payload-inspector/index.d.ts +1 -1
- package/dist/components/payload-inspector/index.js +306 -1422
- package/dist/components/payload-inspector/payload-inspector.css +15 -75
- package/dist/components/payload-inspector/payload-inspector.schema.js +5 -41
- package/dist/components/payload-inspector/payload-inspector.svelte.d.ts +5 -5
- package/dist/components/payload-inspector/payload-inspector.types.d.ts +10 -56
- package/dist/components/run-step-timeline/index.d.ts +1 -1
- package/dist/components/run-step-timeline/index.js +992 -559
- package/dist/components/run-step-timeline/run-step-branch-disclosure.svelte.d.ts +17 -0
- package/dist/components/run-step-timeline/run-step-timeline.css +124 -0
- package/dist/components/run-step-timeline/run-step-timeline.schema.js +873 -350
- package/dist/components/run-step-timeline/run-step-timeline.svelte.d.ts +1 -15
- package/dist/components/run-step-timeline/run-step-timeline.types.d.ts +182 -5
- package/dist/components/run-step-timeline/run-step-timeline.utilities.d.ts +52 -0
- package/dist/components/schedule-builder/index.d.ts +5 -0
- package/dist/components/schedule-builder/index.js +3176 -0
- package/dist/components/schedule-builder/schedule-builder.css +121 -0
- package/dist/components/schedule-builder/schedule-builder.css.d.ts +1 -0
- package/dist/components/schedule-builder/schedule-builder.schema.d.ts +3 -0
- package/dist/components/schedule-builder/schedule-builder.schema.js +141 -0
- package/dist/components/schedule-builder/schedule-builder.svelte.d.ts +22 -0
- package/dist/components/schedule-builder/schedule-builder.types.d.ts +130 -0
- package/dist/components/schedule-builder/schedule-builder.utilities.d.ts +78 -0
- package/dist/components/schedule-builder/schedule-builder.variables.d.ts +2 -0
- package/dist/components/schedule-builder/schedule-builder.variables.js +61 -0
- package/dist/components/tab/index.js +5 -2
- package/dist/components/tab/tab.schema.js +7 -3
- package/dist/components/tab/tab.svelte.d.ts +2 -1
- package/dist/components/tab/tab.types.d.ts +8 -2
- package/dist/components/tabs/index.js +5 -2
- package/dist/components/tag-input/index.js +22 -4
- package/dist/components/tag-input/tag-input.schema.js +5 -1
- package/dist/components/tag-input/tag-input.types.d.ts +4 -0
- package/dist/components/team-section/index.js +2 -1
- package/dist/components/testimonial-section/index.js +2 -1
- package/dist/index.d.ts +10 -4
- package/dist/index.js +28577 -30168
- package/dist/server/components/access-gate/index.js +3 -1
- package/dist/server/components/accordion/index.js +2 -2
- package/dist/server/components/alert-dialog/index.js +2 -2
- package/dist/server/components/approval-card/index.js +15 -19
- package/dist/server/components/autocomplete/index.js +7 -7
- package/dist/server/components/avatar-group/index.js +5 -5
- package/dist/server/components/button-group/index.js +3 -5
- package/dist/server/components/card/index.js +2 -2
- package/dist/server/components/chat/index.js +15 -12
- package/dist/server/components/chat-composer-popover/index.js +26 -0
- package/dist/server/components/chat-conversation-header/index.js +10 -11
- package/dist/server/components/chat-conversation-list/index.js +4 -5
- package/dist/server/components/checkbox/index.js +3 -3
- package/dist/server/components/choice-grid/index.js +2 -2
- package/dist/server/components/code-block/index.js +2 -2
- package/dist/server/components/color-field/index.js +3 -3
- package/dist/server/components/combobox/index.js +6 -6
- package/dist/server/components/command-item/index.js +5 -3
- package/dist/server/components/command-menu/index.js +6 -4
- package/dist/server/components/command-palette/index.js +2 -2
- package/dist/server/components/confirm-dialog/index.js +2 -2
- package/dist/server/components/connection-indicator/index.js +16 -0
- package/dist/server/components/context-menu/index.js +5 -5
- package/dist/server/components/data-table/index.js +5 -5
- package/dist/server/components/date-picker/index.js +6 -6
- package/dist/server/components/date-range-field/index.js +7 -7
- package/dist/server/components/description-list/index.js +3 -5
- package/dist/server/components/diff-viewer/index.js +9 -8
- package/dist/server/components/drawer/index.js +3 -3
- package/dist/server/components/dropdown/index.js +4 -4
- package/dist/server/components/event-stream-viewer/index.js +2 -2
- package/dist/server/components/experimental/json-viewer/index.js +2 -2
- package/dist/server/components/faceted-filter-bar/index.js +1 -1
- package/dist/server/components/hover-card/index.js +1 -1
- package/dist/server/components/input/index.js +3 -3
- package/dist/server/components/invocation-rule-builder/index.js +1 -1
- package/dist/server/components/json-schema-editor/index.js +24 -23
- package/dist/server/components/json-viewer/index.js +2 -2
- package/dist/server/components/markdown-editor/index.js +13 -13
- package/dist/server/components/modal/index.js +1 -1
- package/dist/server/components/multi-select/index.js +1 -1
- package/dist/server/components/newsletter-section/index.js +3 -3
- package/dist/server/components/payload-inspector/index.js +4 -16
- package/dist/server/components/popover/index.js +5 -5
- package/dist/server/components/review-editor/index.js +27 -26
- package/dist/server/components/run-step-timeline/index.js +2 -2
- package/dist/server/components/schedule-builder/index.js +30 -0
- package/dist/server/components/schema-form/index.js +4 -4
- package/dist/server/components/secret-value-field/index.js +3 -5
- package/dist/server/components/segment/index.js +3 -3
- package/dist/server/components/segmented-control/index.js +4 -4
- package/dist/server/components/selection-popover/index.js +4 -4
- package/dist/server/components/sheet/index.js +2 -2
- package/dist/server/components/side-navigation/index.js +2 -2
- package/dist/server/components/sidebar/index.js +3 -3
- package/dist/server/components/tab/index.js +2 -2
- package/dist/server/components/table/index.js +3 -3
- package/dist/server/components/tabs/index.js +4 -4
- package/dist/server/components/tag-input/index.js +3 -3
- package/dist/server/components/team-section/index.js +8 -8
- package/dist/server/components/testimonial-section/index.js +2 -2
- package/dist/server/components/time-field/index.js +5 -3
- package/dist/server/components/toggle/index.js +2 -2
- package/dist/server/components/tooltip/index.js +1 -1
- package/dist/server/index.js +235 -211
- package/dist/server/{index.server-20y4mdhm.js → index.server-0chhpkg7.js} +40 -14
- package/dist/server/index.server-0sx92swg.js +9 -0
- package/dist/server/{index.server-ecm1vs3g.js → index.server-1nq7z1qw.js} +1 -1
- package/dist/server/{index.server-s9khh4ry.js → index.server-2bbwajb2.js} +3 -5
- package/dist/server/index.server-2hqrv7ca.js +9 -0
- package/dist/server/{index.server-69epaape.js → index.server-2qj6s2mh.js} +1 -1
- package/dist/server/{index.server-gxf0d1p5.js → index.server-2s5h1d05.js} +2 -2
- package/dist/server/{index.server-qfa2rxzx.js → index.server-2zdbz3rj.js} +3 -5
- package/dist/server/{index.server-pt8b65mt.js → index.server-38aywdk1.js} +1 -1
- package/dist/server/{index.server-0jhra85x.js → index.server-3w72dxz7.js} +4 -4
- package/dist/server/{index.server-rermas0k.js → index.server-47v2fhp4.js} +4 -4
- package/dist/server/{index.server-v4zabrsx.js → index.server-4x4hgvqe.js} +434 -26
- package/dist/server/{index.server-9j5sym59.js → index.server-4x91gzy1.js} +2 -2
- package/dist/server/{index.server-q48q15g7.js → index.server-4y2jtvv1.js} +4 -2
- package/dist/server/{index.server-j3ddzcaa.js → index.server-5gzyqv78.js} +6 -6
- package/dist/server/index.server-67qgdypc.js +9 -0
- package/dist/server/index.server-6hnfzc7f.js +263 -0
- package/dist/server/{index.server-9jete4xx.js → index.server-6sh11ap6.js} +4 -4
- package/dist/server/{index.server-4ztq565m.js → index.server-85p4ydph.js} +1 -1
- package/dist/server/{index.server-4nk7gy0q.js → index.server-894t97kv.js} +1 -1
- package/dist/server/{index.server-1vscnped.js → index.server-8dt36sdm.js} +2 -1
- package/dist/server/{index.server-bfsbp9dz.js → index.server-8xvc73zh.js} +4 -4
- package/dist/server/{index.server-cvnw3hw9.js → index.server-9kz37z89.js} +1 -1
- package/dist/server/{index.server-kc1k02tk.js → index.server-9ykk1kbg.js} +1 -1
- package/dist/server/{index.server-g789yep6.js → index.server-aqethy0w.js} +2 -2
- package/dist/server/index.server-be9bpqeh.js +93 -0
- package/dist/server/{index.server-wc9aggfz.js → index.server-bmxbsk4y.js} +7 -7
- package/dist/server/{index.server-f3z7tpxr.js → index.server-c42b462p.js} +2 -4
- package/dist/server/{index.server-7vyzen5x.js → index.server-c5qv3p61.js} +171 -63
- package/dist/server/index.server-cch0eed5.js +144 -0
- package/dist/server/{index.server-q89dz8h1.js → index.server-d3pqthtp.js} +4 -3
- package/dist/server/{index.server-jk4rx4aa.js → index.server-dmmvwy6p.js} +1 -1
- package/dist/server/{index.server-hcfnae5y.js → index.server-dwwqssey.js} +4 -4
- package/dist/server/{index.server-e8x1hgw6.js → index.server-dz1r9xw5.js} +4 -4
- package/dist/server/{index.server-wm7mk5kw.js → index.server-ez5hp0ya.js} +1 -1
- package/dist/server/{index.server-wc8dbm5e.js → index.server-g95bk8rc.js} +4 -2
- package/dist/server/index.server-gkazv439.js +576 -0
- package/dist/server/index.server-gmh5ar16.js +2 -0
- package/dist/server/{index.server-dp9j2kkr.js → index.server-h0cvwvhy.js} +1 -1
- package/dist/server/{index.server-cbtg8rq5.js → index.server-h89zk5ev.js} +8 -8
- package/dist/server/{index.server-pacrqvyz.js → index.server-h90pjrez.js} +1 -1
- package/dist/server/{index.server-p8d04em5.js → index.server-hcsd5gdb.js} +6 -2
- package/dist/server/{index.server-n39drzes.js → index.server-hpeavvnq.js} +1 -1
- package/dist/server/{index.server-1p3patnj.js → index.server-hx91ng7z.js} +1 -1
- package/dist/server/{index.server-mehav5vs.js → index.server-jdcq5zza.js} +7 -7
- package/dist/server/{index.server-jync915v.js → index.server-jfrssta6.js} +25 -25
- package/dist/server/{index.server-jtj3r53y.js → index.server-jgb8yh5k.js} +1 -1
- package/dist/server/{index.server-ejyf7e48.js → index.server-jj76374p.js} +1 -1
- package/dist/server/{index.server-w1g5q9j9.js → index.server-jtgw9d23.js} +4 -2
- package/dist/server/{index.server-hd8gpehd.js → index.server-jxseyx33.js} +1 -1
- package/dist/server/{index.server-kg2sepsr.js → index.server-krqvnt6p.js} +14 -15
- package/dist/server/{index.server-0e1m3agz.js → index.server-ks49bprh.js} +1 -1
- package/dist/server/{index.server-f0hma3jp.js → index.server-kt0ncrqs.js} +1 -1
- package/dist/server/index.server-m0ezemav.js +170 -0
- package/dist/server/index.server-m191rm44.js +79 -0
- package/dist/server/{index.server-z721a5gp.js → index.server-n82rcv0m.js} +4 -4
- package/dist/server/{index.server-rhhmdxtz.js → index.server-np3c7kx0.js} +4 -4
- package/dist/server/{index.server-hpcs7tmh.js → index.server-p56xxef1.js} +1 -1
- package/dist/server/{index.server-w83kmcrx.js → index.server-pag862vz.js} +10 -10
- package/dist/server/index.server-qbkxz7r2.js +750 -0
- package/dist/server/{index.server-sh2rxejg.js → index.server-qke3ekjt.js} +1 -1
- package/dist/server/{index.server-73x2d3j3.js → index.server-rbpvcrr3.js} +1 -1
- package/dist/server/{index.server-8cxs4kya.js → index.server-rga8sc7j.js} +41 -44
- package/dist/server/{index.server-e3fnv1g6.js → index.server-sedjxt36.js} +5 -5
- package/dist/server/{index.server-pen9pxt6.js → index.server-sf3nk3j2.js} +2 -2
- package/dist/server/{index.server-f23vtaw4.js → index.server-tcay903b.js} +8 -7
- package/dist/server/{index.server-7fp0epev.js → index.server-veastatv.js} +4 -4
- package/dist/server/{index.server-jeqg2d22.js → index.server-xeqtpv61.js} +1 -1
- package/dist/server/{index.server-9s4na701.js → index.server-xjnge1yw.js} +4 -4
- package/dist/server/index.server-xtjjmsyq.js +315 -0
- package/dist/server/{index.server-hhxjaeen.js → index.server-xz99aed4.js} +4 -4
- package/dist/server/{index.server-vne4rzfa.js → index.server-y4n8vc08.js} +1 -1
- package/dist/server/{index.server-5d01cn4f.js → index.server-y83kqayt.js} +4 -4
- package/dist/server/{index.server-1nh09ck7.js → index.server-yhzydqxe.js} +5 -5
- package/dist/server/index.server-z38bxms8.js +734 -0
- package/dist/server/{index.server-atjc1qcq.js → index.server-z7hxtqs1.js} +1 -1
- package/dist/server/{index.server-w6k62afr.js → index.server-ze1ymmbw.js} +2 -2
- package/dist/server/{index.server-914v805w.js → index.server-zgd1g8mk.js} +1 -1
- package/dist/server/{index.server-aeexcxdp.js → index.server-zh3r8vfd.js} +1 -1
- package/dist/server/{index.server-10jb2jzm.js → index.server-zsjf8enc.js} +4 -4
- package/package.json +102 -5
- package/src/components/_internal/command-list-context.ts +3 -3
- package/src/components/_internal/create-command-list-state.svelte.ts +39 -13
- package/src/components/approval-card/approval-card-actions.svelte +168 -0
- package/src/components/approval-card/approval-card-state.ts +152 -1
- package/src/components/approval-card/approval-card.css +269 -92
- package/src/components/approval-card/approval-card.examples.json +3 -3
- package/src/components/approval-card/approval-card.schema.json +9 -30
- package/src/components/approval-card/approval-card.schema.ts +13 -31
- package/src/components/approval-card/approval-card.svelte +176 -470
- package/src/components/approval-card/approval-card.types.ts +15 -28
- package/src/components/approval-card/index.ts +1 -0
- package/src/components/card/card.css +5 -0
- package/src/components/card/card.schema.json +1 -1
- package/src/components/card/card.schema.ts +1 -1
- package/src/components/card/card.svelte +1 -0
- package/src/components/card/card.types.ts +2 -2
- package/src/components/chat/builders.ts +445 -14
- package/src/components/chat/chat.schema.json +36 -1
- package/src/components/chat/chat.schema.ts +44 -1
- package/src/components/chat/chat.svelte +12 -0
- package/src/components/chat/chat.types.ts +35 -3
- package/src/components/chat/container/chat.svelte +73 -3
- package/src/components/chat/conversation-model.ts +1 -0
- package/src/components/chat/index.ts +16 -3
- package/src/components/chat/input/chat-attachment-serialization.ts +63 -0
- package/src/components/chat/input/chat-input.svelte +22 -5
- package/src/components/chat/input/index.ts +5 -0
- package/src/components/chat/utilities/conversation.ts +33 -15
- package/src/components/chat-composer-popover/chat-composer-popover-filter.ts +68 -0
- package/src/components/chat-composer-popover/chat-composer-popover.css +7 -0
- package/src/components/chat-composer-popover/chat-composer-popover.examples.json +13 -0
- package/src/components/chat-composer-popover/chat-composer-popover.schema.json +90 -0
- package/src/components/chat-composer-popover/chat-composer-popover.schema.ts +95 -0
- package/src/components/chat-composer-popover/chat-composer-popover.svelte +234 -0
- package/src/components/chat-composer-popover/chat-composer-popover.types.ts +88 -0
- package/src/components/chat-composer-popover/chat-composer-popover.variables.json +1 -0
- package/src/components/chat-composer-popover/chat-composer-popover.variables.ts +3 -0
- package/src/components/chat-composer-popover/index.ts +19 -0
- package/src/components/code-block/code-block.schema.json +4 -0
- package/src/components/code-block/code-block.schema.ts +5 -0
- package/src/components/code-block/code-block.svelte +3 -3
- package/src/components/code-block/code-block.types.ts +6 -0
- package/src/components/command-item/command-item.svelte +7 -6
- package/src/components/command-menu/command-menu.schema.json +4 -0
- package/src/components/command-menu/command-menu.schema.ts +4 -0
- package/src/components/command-menu/command-menu.svelte +16 -5
- package/src/components/command-menu/command-menu.types.ts +2 -0
- package/src/components/connection-indicator/connection-indicator.css +136 -0
- package/src/components/connection-indicator/connection-indicator.examples.json +31 -0
- package/src/components/connection-indicator/connection-indicator.schema.json +29 -0
- package/src/components/connection-indicator/connection-indicator.schema.ts +36 -0
- package/src/components/connection-indicator/connection-indicator.svelte +63 -0
- package/src/components/connection-indicator/connection-indicator.types.ts +58 -0
- package/src/components/connection-indicator/connection-indicator.variables.json +1 -0
- package/src/components/connection-indicator/connection-indicator.variables.ts +3 -0
- package/src/components/connection-indicator/index.ts +10 -0
- package/src/components/container/container.schema.json +3 -3
- package/src/components/container/container.schema.ts +3 -3
- package/src/components/invocation-rule-builder/index.ts +4 -0
- package/src/components/invocation-rule-builder/invocation-rule-builder.css +28 -0
- package/src/components/invocation-rule-builder/invocation-rule-builder.examples.json +6 -0
- package/src/components/invocation-rule-builder/invocation-rule-builder.schema.json +76 -3
- package/src/components/invocation-rule-builder/invocation-rule-builder.schema.ts +83 -3
- package/src/components/invocation-rule-builder/invocation-rule-builder.svelte +326 -113
- package/src/components/invocation-rule-builder/invocation-rule-builder.types.ts +157 -43
- package/src/components/json-viewer/_json-viewer-node.svelte +15 -1
- package/src/components/json-viewer/json-viewer.css +10 -6
- package/src/components/payload-inspector/index.ts +0 -2
- package/src/components/payload-inspector/payload-inspector.css +15 -75
- package/src/components/payload-inspector/payload-inspector.examples.json +5 -5
- package/src/components/payload-inspector/payload-inspector.schema.json +3 -31
- package/src/components/payload-inspector/payload-inspector.schema.ts +3 -36
- package/src/components/payload-inspector/payload-inspector.svelte +46 -239
- package/src/components/payload-inspector/payload-inspector.types.ts +10 -58
- package/src/components/run-step-timeline/index.ts +8 -0
- package/src/components/run-step-timeline/run-step-branch-disclosure.svelte +16 -0
- package/src/components/run-step-timeline/run-step-timeline.css +124 -0
- package/src/components/run-step-timeline/run-step-timeline.examples.json +18 -0
- package/src/components/run-step-timeline/run-step-timeline.schema.json +872 -349
- package/src/components/run-step-timeline/run-step-timeline.schema.ts +931 -349
- package/src/components/run-step-timeline/run-step-timeline.svelte +387 -268
- package/src/components/run-step-timeline/run-step-timeline.types.ts +192 -5
- package/src/components/run-step-timeline/run-step-timeline.utilities.ts +242 -0
- package/src/components/schedule-builder/index.ts +14 -0
- package/src/components/schedule-builder/schedule-builder.css +121 -0
- package/src/components/schedule-builder/schedule-builder.examples.json +31 -0
- package/src/components/schedule-builder/schedule-builder.schema.json +78 -0
- package/src/components/schedule-builder/schedule-builder.schema.ts +86 -0
- package/src/components/schedule-builder/schedule-builder.svelte +629 -0
- package/src/components/schedule-builder/schedule-builder.types.ts +137 -0
- package/src/components/schedule-builder/schedule-builder.utilities.ts +344 -0
- package/src/components/schedule-builder/schedule-builder.variables.json +1 -0
- package/src/components/schedule-builder/schedule-builder.variables.ts +3 -0
- package/src/components/tab/tab.schema.json +6 -2
- package/src/components/tab/tab.schema.ts +8 -2
- package/src/components/tab/tab.svelte +9 -5
- package/src/components/tab/tab.types.ts +8 -2
- package/src/components/tag-input/tag-input.schema.json +4 -0
- package/src/components/tag-input/tag-input.schema.ts +4 -0
- package/src/components/tag-input/tag-input.svelte +20 -3
- package/src/components/tag-input/tag-input.types.ts +4 -0
- package/src/index.ts +41 -5
- package/src/styles/components.css +3 -0
- package/dist/server/index-49we2xfs.js +0 -344
- package/dist/server/index-8fhvxk30.js +0 -265
- package/dist/server/index-x2ysg8ds.js +0 -388
- package/dist/server/index.server-20j0jh30.js +0 -9
- package/dist/server/index.server-dc35kh7d.js +0 -1835
- package/dist/server/index.server-kd4b0342.js +0 -607
- package/dist/server/index.server-n5cdmsz4.js +0 -30
- package/dist/server/index.server-pxg74pyp.js +0 -393
- package/dist/server/index.server-rjap4k7y.js +0 -1389
- package/dist/server/index.server-vt6sn9y4.js +0 -447
- package/dist/server/index.server-w63n618v.js +0 -9
- package/dist/server/index.server-y2pa1k46.js +0 -9
|
@@ -48,6 +48,27 @@ export type InvocationRule = {
|
|
|
48
48
|
actions: InvocationRuleAction[];
|
|
49
49
|
};
|
|
50
50
|
|
|
51
|
+
/**
|
|
52
|
+
* The value type a condition field represents. Determines which typed value
|
|
53
|
+
* control renders for that field in conditions-only mode (`mode="conditions"`).
|
|
54
|
+
* Ignored in full mode, where the condition value is always a free-text input.
|
|
55
|
+
*/
|
|
56
|
+
export type InvocationRuleFieldType = 'string' | 'number' | 'boolean' | 'enum';
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* A single selectable choice for an `'enum'`-typed field's value, rendered as
|
|
60
|
+
* a select in conditions-only mode. A flat value/label pair — enum choices do
|
|
61
|
+
* not nest further.
|
|
62
|
+
*
|
|
63
|
+
* @schemaObject
|
|
64
|
+
*/
|
|
65
|
+
export type InvocationRuleValueChoice = {
|
|
66
|
+
/** The value stored on the condition. */
|
|
67
|
+
value: string;
|
|
68
|
+
/** The human-readable label shown in the select. */
|
|
69
|
+
label: string;
|
|
70
|
+
};
|
|
71
|
+
|
|
51
72
|
/**
|
|
52
73
|
* An option in a field, operator, or action-target select list.
|
|
53
74
|
*
|
|
@@ -58,8 +79,41 @@ export type InvocationRuleOption = {
|
|
|
58
79
|
value: string;
|
|
59
80
|
/** The human-readable label shown in the select. */
|
|
60
81
|
label: string;
|
|
82
|
+
/**
|
|
83
|
+
* The value type this option represents when used as a field option in
|
|
84
|
+
* conditions-only mode (`mode="conditions"`). Defaults to `'string'` when
|
|
85
|
+
* omitted. Ignored for operator and action-target options, and ignored
|
|
86
|
+
* entirely in full mode.
|
|
87
|
+
*/
|
|
88
|
+
type?: InvocationRuleFieldType;
|
|
89
|
+
/**
|
|
90
|
+
* Enum choices for this field's value, rendered as a select in
|
|
91
|
+
* conditions-only mode when `type` is `'enum'`. Provide these for an enum
|
|
92
|
+
* field; if omitted or empty, the value select renders with no choices.
|
|
93
|
+
* Ignored for non-enum field types.
|
|
94
|
+
*/
|
|
95
|
+
options?: InvocationRuleValueChoice[];
|
|
61
96
|
};
|
|
62
97
|
|
|
98
|
+
/**
|
|
99
|
+
* Rendering mode for InvocationRuleBuilder.
|
|
100
|
+
*
|
|
101
|
+
* - `'full'` (default) renders both conditions and actions, matching the
|
|
102
|
+
* component's original behavior exactly.
|
|
103
|
+
* - `'conditions'` renders conditions only: action controls are hidden
|
|
104
|
+
* entirely, rules never emit action descriptors, the operator set is
|
|
105
|
+
* fixed to {@link InvocationRuleConditionsOnlyOperator}, and condition
|
|
106
|
+
* value controls are inferred from each field option's `type`.
|
|
107
|
+
*/
|
|
108
|
+
export type InvocationRuleBuilderMode = 'full' | 'conditions';
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* The fixed operator vocabulary used in conditions-only mode
|
|
112
|
+
* (`mode="conditions"`). Cinder supplies these five operators with default
|
|
113
|
+
* labels; the `operatorOptions` prop is not accepted in this mode.
|
|
114
|
+
*/
|
|
115
|
+
export type InvocationRuleConditionsOnlyOperator = 'eq' | 'gt' | 'lt' | 'gte' | 'lte';
|
|
116
|
+
|
|
63
117
|
/**
|
|
64
118
|
* Describes the change that caused an `onchange` call.
|
|
65
119
|
* Consumers use the type to determine what to persist.
|
|
@@ -105,6 +159,34 @@ type InvocationRuleBuilderBaseProps = Omit<
|
|
|
105
159
|
*/
|
|
106
160
|
fieldOptions: InvocationRuleOption[];
|
|
107
161
|
|
|
162
|
+
/**
|
|
163
|
+
* Label for the "Add rule" button. Defaults to "Add rule".
|
|
164
|
+
*/
|
|
165
|
+
addRuleLabel?: string;
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Label for the "Add condition" button. Defaults to "Add condition".
|
|
169
|
+
*/
|
|
170
|
+
addConditionLabel?: string;
|
|
171
|
+
|
|
172
|
+
/** Accessible label for the entire rule builder region. */
|
|
173
|
+
label?: string;
|
|
174
|
+
|
|
175
|
+
/** Additional CSS classes applied to the root element. */
|
|
176
|
+
class?: string;
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Mode-specific props for `mode="full"` (the default). Behavior and prop
|
|
181
|
+
* shape are unchanged from before conditions-only mode existed.
|
|
182
|
+
*/
|
|
183
|
+
type InvocationRuleBuilderFullModeProps = {
|
|
184
|
+
/**
|
|
185
|
+
* Rendering mode. Omit or pass `'full'` to render both conditions and
|
|
186
|
+
* actions — the component's original, unchanged behavior.
|
|
187
|
+
*/
|
|
188
|
+
mode?: 'full';
|
|
189
|
+
|
|
108
190
|
/**
|
|
109
191
|
* Options for the condition operator selector. Consumer-provided list
|
|
110
192
|
* of operators, e.g. "matches", "is", "is-not", "contains".
|
|
@@ -118,61 +200,78 @@ type InvocationRuleBuilderBaseProps = Omit<
|
|
|
118
200
|
actionOptions: InvocationRuleOption[];
|
|
119
201
|
|
|
120
202
|
/**
|
|
121
|
-
* Label for the "Add
|
|
203
|
+
* Label for the "Add action" button. Defaults to "Add action".
|
|
122
204
|
*/
|
|
123
|
-
|
|
205
|
+
addActionLabel?: string;
|
|
206
|
+
};
|
|
124
207
|
|
|
208
|
+
/**
|
|
209
|
+
* Mode-specific props for `mode="conditions"`. Actions are not rendered, so
|
|
210
|
+
* action-related props are not accepted — cinder owns the operator
|
|
211
|
+
* vocabulary and there is nothing to configure for actions.
|
|
212
|
+
*/
|
|
213
|
+
type InvocationRuleBuilderConditionsOnlyModeProps = {
|
|
125
214
|
/**
|
|
126
|
-
*
|
|
215
|
+
* Renders conditions only: action controls are hidden entirely and rules
|
|
216
|
+
* never emit action descriptors.
|
|
127
217
|
*/
|
|
128
|
-
|
|
218
|
+
mode: 'conditions';
|
|
129
219
|
|
|
130
220
|
/**
|
|
131
|
-
*
|
|
221
|
+
* Not accepted in conditions-only mode. Cinder supplies the fixed
|
|
222
|
+
* eq/gt/lt/gte/lte operator set internally; see
|
|
223
|
+
* {@link InvocationRuleConditionsOnlyOperator}.
|
|
132
224
|
*/
|
|
133
|
-
|
|
225
|
+
operatorOptions?: never;
|
|
134
226
|
|
|
135
|
-
/**
|
|
136
|
-
|
|
227
|
+
/** Not accepted in conditions-only mode — action controls are not rendered. */
|
|
228
|
+
actionOptions?: never;
|
|
137
229
|
|
|
138
|
-
/**
|
|
139
|
-
|
|
230
|
+
/** Not accepted in conditions-only mode — action controls are not rendered. */
|
|
231
|
+
addActionLabel?: never;
|
|
140
232
|
};
|
|
141
233
|
|
|
234
|
+
type InvocationRuleBuilderModeProps =
|
|
235
|
+
| InvocationRuleBuilderFullModeProps
|
|
236
|
+
| InvocationRuleBuilderConditionsOnlyModeProps;
|
|
237
|
+
|
|
142
238
|
type InvocationRuleBuilderChangeHandler = (
|
|
143
239
|
nextRules: InvocationRule[],
|
|
144
240
|
change: InvocationRuleChange,
|
|
145
241
|
) => void;
|
|
146
242
|
|
|
147
|
-
export type InvocationRuleBuilderProps =
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
243
|
+
export type InvocationRuleBuilderProps = InvocationRuleBuilderBaseProps &
|
|
244
|
+
InvocationRuleBuilderModeProps &
|
|
245
|
+
(
|
|
246
|
+
| {
|
|
247
|
+
/**
|
|
248
|
+
* Called whenever the user makes any edit. Required for editable runtime
|
|
249
|
+
* usage because editable controls must commit controlled state changes.
|
|
250
|
+
* Receives the next rule array (pure, not mutated) and a change descriptor.
|
|
251
|
+
* Consumer owns persistence, validation, and execution.
|
|
252
|
+
*/
|
|
253
|
+
onchange: InvocationRuleBuilderChangeHandler;
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* When false or omitted, renders editable controls. Editable mode requires
|
|
257
|
+
* `onchange` so controls cannot become interactive-but-no-op.
|
|
258
|
+
*/
|
|
259
|
+
readonly?: false;
|
|
260
|
+
}
|
|
261
|
+
| {
|
|
262
|
+
/**
|
|
263
|
+
* Optional in readonly usage because no edit controls are rendered.
|
|
264
|
+
* Runtime consumers may still pass it when sharing props between modes.
|
|
265
|
+
*/
|
|
266
|
+
onchange?: InvocationRuleBuilderChangeHandler;
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* When true, renders a readonly summary of each rule instead of editable
|
|
270
|
+
* controls.
|
|
271
|
+
*/
|
|
272
|
+
readonly: true;
|
|
273
|
+
}
|
|
274
|
+
);
|
|
176
275
|
|
|
177
276
|
/**
|
|
178
277
|
* Cinder-specific schema surface for InvocationRuleBuilder.
|
|
@@ -193,17 +292,32 @@ export type InvocationRuleBuilderSchemaProps = {
|
|
|
193
292
|
*/
|
|
194
293
|
fieldOptions: InvocationRuleOption[];
|
|
195
294
|
|
|
295
|
+
/**
|
|
296
|
+
* Rendering mode. Omit or pass `'full'` for the original conditions +
|
|
297
|
+
* actions behavior; pass `'conditions'` to render conditions only. Not
|
|
298
|
+
* expressible as a schema-driven discriminant here because JSON Schema
|
|
299
|
+
* validation of this component is documented, not enforced at runtime
|
|
300
|
+
* against `operatorOptions`/`actionOptions` presence; see the component
|
|
301
|
+
* types for the full mode-discriminated prop shape.
|
|
302
|
+
*/
|
|
303
|
+
mode?: InvocationRuleBuilderMode;
|
|
304
|
+
|
|
196
305
|
/**
|
|
197
306
|
* Options for the condition operator selector. Consumer-provided list
|
|
198
|
-
* of operators, e.g. "matches", "is", "is-not", "contains".
|
|
307
|
+
* of operators, e.g. "matches", "is", "is-not", "contains". Required in
|
|
308
|
+
* full mode; optional (and ignored) when `mode` is `'conditions'`, since
|
|
309
|
+
* cinder supplies a fixed operator set in that mode — so a conditions-only
|
|
310
|
+
* configuration validates without it.
|
|
199
311
|
*/
|
|
200
|
-
operatorOptions
|
|
312
|
+
operatorOptions?: InvocationRuleOption[];
|
|
201
313
|
|
|
202
314
|
/**
|
|
203
315
|
* Options for the action target selector. Consumer-provided list of
|
|
204
|
-
* targets, e.g. review-agent slugs or step identifiers.
|
|
316
|
+
* targets, e.g. review-agent slugs or step identifiers. Required in full
|
|
317
|
+
* mode; optional (and ignored) when `mode` is `'conditions'`, since actions
|
|
318
|
+
* are not rendered — so a conditions-only configuration validates without it.
|
|
205
319
|
*/
|
|
206
|
-
actionOptions
|
|
320
|
+
actionOptions?: InvocationRuleOption[];
|
|
207
321
|
|
|
208
322
|
/**
|
|
209
323
|
* Must be true for schema-driven usage because editable mode requires
|
|
@@ -62,7 +62,21 @@ function valueClass(v) {
|
|
|
62
62
|
{#if keyName !== undefined}
|
|
63
63
|
<span class="cinder-json-viewer__key">{keyName}:</span>
|
|
64
64
|
{/if}
|
|
65
|
-
<
|
|
65
|
+
<svg
|
|
66
|
+
class="cinder-json-viewer__caret"
|
|
67
|
+
data-cinder-collapsed={collapsed || undefined}
|
|
68
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
69
|
+
viewBox="0 0 20 20"
|
|
70
|
+
fill="currentColor"
|
|
71
|
+
aria-hidden="true"
|
|
72
|
+
focusable="false"
|
|
73
|
+
>
|
|
74
|
+
<path
|
|
75
|
+
fill-rule="evenodd"
|
|
76
|
+
d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06z"
|
|
77
|
+
clip-rule="evenodd"
|
|
78
|
+
></path>
|
|
79
|
+
</svg>
|
|
66
80
|
<span class="cinder-json-viewer__brace">
|
|
67
81
|
{isArray ? '[' : '{'}
|
|
68
82
|
</span>
|
|
@@ -80,12 +80,10 @@
|
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
.cinder-json-viewer__caret {
|
|
83
|
-
|
|
84
|
-
width: 0;
|
|
85
|
-
height: 0;
|
|
86
|
-
|
|
87
|
-
border-inline-end: 0.25rem solid transparent;
|
|
88
|
-
border-top: 0.375rem solid currentColor;
|
|
83
|
+
flex: 0 0 auto;
|
|
84
|
+
width: 0.75rem;
|
|
85
|
+
height: 0.75rem;
|
|
86
|
+
color: var(--cinder-text-muted);
|
|
89
87
|
transition: transform var(--cinder-duration-fast) var(--cinder-ease-standard);
|
|
90
88
|
}
|
|
91
89
|
|
|
@@ -93,6 +91,12 @@
|
|
|
93
91
|
transform: rotate(-90deg);
|
|
94
92
|
}
|
|
95
93
|
|
|
94
|
+
@media (prefers-reduced-motion: reduce) {
|
|
95
|
+
.cinder-json-viewer__caret {
|
|
96
|
+
transition: none;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
96
100
|
.cinder-json-viewer__brace {
|
|
97
101
|
color: var(--cinder-text-muted);
|
|
98
102
|
}
|
|
@@ -3,10 +3,8 @@ import PayloadInspector from './payload-inspector.svelte';
|
|
|
3
3
|
|
|
4
4
|
export default PayloadInspector;
|
|
5
5
|
export type {
|
|
6
|
-
PayloadInspectorMeta,
|
|
7
6
|
PayloadInspectorProps,
|
|
8
7
|
PayloadInspectorSchemaProps,
|
|
9
8
|
PayloadInspectorSchemaValue,
|
|
10
|
-
PayloadInspectorView,
|
|
11
9
|
} from './payload-inspector.types.ts';
|
|
12
10
|
export { PayloadInspector };
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
@layer cinder.tokens, cinder.foundation, cinder.components, cinder.utilities;
|
|
2
2
|
@import '../badge/badge.css';
|
|
3
|
-
@import '../code-block/code-block.css';
|
|
4
3
|
@import '../copy-button/copy-button.css';
|
|
5
|
-
@import '../description-list/description-list.css';
|
|
6
4
|
@import '../json-viewer/json-viewer.css';
|
|
7
|
-
@import '../tabs/tabs.css';
|
|
8
5
|
|
|
9
6
|
@layer cinder.components {
|
|
10
7
|
.cinder-payload-inspector {
|
|
11
8
|
display: flex;
|
|
12
9
|
flex-direction: column;
|
|
13
|
-
gap: var(--cinder-space-0);
|
|
14
10
|
border: 1px solid var(--cinder-border-muted);
|
|
15
11
|
border-radius: var(--cinder-radius-md);
|
|
16
12
|
overflow: hidden;
|
|
@@ -27,7 +23,7 @@
|
|
|
27
23
|
align-items: center;
|
|
28
24
|
justify-content: space-between;
|
|
29
25
|
gap: var(--cinder-space-2);
|
|
30
|
-
padding: var(--cinder-space-2) var(--cinder-space-3);
|
|
26
|
+
padding: var(--cinder-space-1) var(--cinder-space-2) var(--cinder-space-1) var(--cinder-space-3);
|
|
31
27
|
background: var(--cinder-surface-raised);
|
|
32
28
|
border-bottom: 1px solid var(--cinder-border-muted);
|
|
33
29
|
flex-wrap: wrap;
|
|
@@ -55,71 +51,29 @@
|
|
|
55
51
|
}
|
|
56
52
|
|
|
57
53
|
/* ----------------------------------------
|
|
58
|
-
*
|
|
59
|
-
* ---------------------------------------- */
|
|
60
|
-
|
|
61
|
-
.cinder-payload-inspector__tabs {
|
|
62
|
-
display: flex;
|
|
63
|
-
flex-direction: column;
|
|
64
|
-
flex: 1;
|
|
65
|
-
min-block-size: 0;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/* ----------------------------------------
|
|
69
|
-
* Panel content areas
|
|
54
|
+
* Panel content
|
|
70
55
|
* ---------------------------------------- */
|
|
71
56
|
|
|
72
57
|
.cinder-payload-inspector__panel {
|
|
73
|
-
padding: var(--cinder-space-4);
|
|
74
|
-
overflow: auto;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
.cinder-payload-inspector__panel--code {
|
|
78
|
-
padding: var(--cinder-space-0);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/* ----------------------------------------
|
|
82
|
-
* Raw view (CodeBlock wrapper)
|
|
83
|
-
* ---------------------------------------- */
|
|
84
|
-
|
|
85
|
-
.cinder-payload-inspector__raw {
|
|
86
|
-
/* Remove the built-in CodeBlock rounded corners so the block sits flush
|
|
87
|
-
inside the panel. Border radius is handled by the outer inspector. */
|
|
88
|
-
border-radius: 0;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/* ----------------------------------------
|
|
92
|
-
* Summary view
|
|
93
|
-
* ---------------------------------------- */
|
|
94
|
-
|
|
95
|
-
.cinder-payload-inspector__summary {
|
|
96
|
-
display: flex;
|
|
97
|
-
flex-direction: column;
|
|
98
|
-
gap: var(--cinder-space-4);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
.cinder-payload-inspector__summary-badges {
|
|
102
|
-
display: flex;
|
|
103
|
-
align-items: center;
|
|
104
|
-
gap: var(--cinder-space-2);
|
|
105
|
-
flex-wrap: wrap;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
.cinder-payload-inspector__summary-value {
|
|
109
58
|
display: flex;
|
|
110
59
|
flex-direction: column;
|
|
111
60
|
gap: var(--cinder-space-2);
|
|
61
|
+
padding: var(--cinder-space-2);
|
|
62
|
+
overflow: auto;
|
|
112
63
|
}
|
|
113
64
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
65
|
+
/* JsonViewer carries its own border/background/padding for standalone use,
|
|
66
|
+
but nested here it would double the framing this component's own header
|
|
67
|
+
bar + outer border already provide — strip it back to flush content. */
|
|
68
|
+
.cinder-payload-inspector__panel .cinder-json-viewer {
|
|
69
|
+
padding: 0;
|
|
70
|
+
border: none;
|
|
71
|
+
border-radius: 0;
|
|
72
|
+
background: transparent;
|
|
120
73
|
}
|
|
121
74
|
|
|
122
75
|
.cinder-payload-inspector__primitive {
|
|
76
|
+
margin: 0;
|
|
123
77
|
font-family: var(--cinder-font-mono);
|
|
124
78
|
font-size: var(--cinder-text-sm);
|
|
125
79
|
color: var(--cinder-text);
|
|
@@ -127,6 +81,7 @@
|
|
|
127
81
|
padding: var(--cinder-space-2) var(--cinder-space-3);
|
|
128
82
|
border-radius: var(--cinder-radius-sm);
|
|
129
83
|
border: 1px solid var(--cinder-border-muted);
|
|
84
|
+
white-space: pre-wrap;
|
|
130
85
|
word-break: break-all;
|
|
131
86
|
}
|
|
132
87
|
|
|
@@ -156,24 +111,9 @@
|
|
|
156
111
|
display: flex;
|
|
157
112
|
align-items: center;
|
|
158
113
|
justify-content: center;
|
|
159
|
-
padding: var(--cinder-space-
|
|
114
|
+
padding: var(--cinder-space-4);
|
|
160
115
|
color: var(--cinder-text-disabled);
|
|
161
116
|
font-size: var(--cinder-text-sm);
|
|
162
117
|
font-style: italic;
|
|
163
118
|
}
|
|
164
|
-
|
|
165
|
-
/* ----------------------------------------
|
|
166
|
-
* Focus ring on focusable elements we own
|
|
167
|
-
* ---------------------------------------- */
|
|
168
|
-
|
|
169
|
-
.cinder-payload-inspector:focus-visible {
|
|
170
|
-
outline: var(--cinder-ring-width) solid transparent;
|
|
171
|
-
box-shadow: var(--_cinder-focus-ring-shadow);
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
@media (forced-colors: active) {
|
|
175
|
-
.cinder-payload-inspector:focus-visible {
|
|
176
|
-
outline: var(--cinder-ring-width) solid ButtonText;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
119
|
}
|
|
@@ -6,26 +6,26 @@
|
|
|
6
6
|
{
|
|
7
7
|
"id": "basic",
|
|
8
8
|
"title": "Basic payload inspector",
|
|
9
|
-
"description": "Inspect a structured object payload
|
|
10
|
-
"code": "<script lang=\"ts\">\n import { PayloadInspector } from '@lostgradient/cinder/payload-inspector';\n\n const payload = {\n userId: 'u_8f2a3b',\n action: 'checkout',\n cart: {\n items: [\n { id: 'p_001', name: 'Widget', qty: 2, price: 19.99 },\n { id: 'p_002', name: 'Gadget', qty: 1, price: 49.95 },\n ],\n total: 89.93,\n },\n timestamp: '2026-06-11T14:22:00Z',\n flags: { guestCheckout: false, promoApplied: true },\n };\n</script>\n\n<PayloadInspector
|
|
9
|
+
"description": "Inspect a structured object payload as an interactive tree with a copy action and byte size.",
|
|
10
|
+
"code": "<script lang=\"ts\">\n import { PayloadInspector } from '@lostgradient/cinder/payload-inspector';\n\n const payload = {\n userId: 'u_8f2a3b',\n action: 'checkout',\n cart: {\n items: [\n { id: 'p_001', name: 'Widget', qty: 2, price: 19.99 },\n { id: 'p_002', name: 'Gadget', qty: 1, price: 49.95 },\n ],\n total: 89.93,\n },\n timestamp: '2026-06-11T14:22:00Z',\n flags: { guestCheckout: false, promoApplied: true },\n };\n</script>\n\n<PayloadInspector value={payload} label=\"Checkout payload\" />\n"
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
13
|
"id": "edge-cases",
|
|
14
14
|
"title": "Edge cases",
|
|
15
15
|
"description": "Demonstrates null, invalid JSON, and empty payload states in the inspector.",
|
|
16
|
-
"code": "<script lang=\"ts\">\n import { Button } from '@lostgradient/cinder/button';\n import { PayloadInspector } from '@lostgradient/cinder/payload-inspector';\n\n type Scenario = 'empty' | 'null' | 'invalid-json' | 'truncated' | 'primitive';\n\n let scenario = $state<Scenario>('empty');\n\n const scenarios: Record<Scenario, { value?: unknown; truncated?: boolean; label: string }> = {\n empty: { value: undefined, label: 'No payload' },\n null: { value: null, label: 'Null value' },\n 'invalid-json': { value: '{ not valid json at all', label: 'Invalid JSON string' },\n truncated: { value: { partial: 'data', more: '...' }, truncated: true, label: 'Truncated' },\n primitive: { value: 42, label: 'Number primitive' },\n };\n\n const current = $derived(scenarios[scenario]);\n</script>\n\n<div style=\"display: flex; flex-direction: column; gap: 1rem;\">\n <div style=\"display: flex; gap: 0.5rem; flex-wrap: wrap;\">\n {#each Object.keys(scenarios) as key (key)}\n <Button\n variant={scenario === key ? 'primary' : 'secondary'}\n size=\"sm\"\n onclick={() => (scenario = key as Scenario)}\n >\n {scenarios[key as Scenario].label}\n </Button>\n {/each}\n </div>\n\n <PayloadInspector
|
|
16
|
+
"code": "<script lang=\"ts\">\n import { Button } from '@lostgradient/cinder/button';\n import { PayloadInspector } from '@lostgradient/cinder/payload-inspector';\n\n type Scenario = 'empty' | 'null' | 'invalid-json' | 'truncated' | 'primitive';\n\n let scenario = $state<Scenario>('empty');\n\n const scenarios: Record<Scenario, { value?: unknown; truncated?: boolean; label: string }> = {\n empty: { value: undefined, label: 'No payload' },\n null: { value: null, label: 'Null value' },\n 'invalid-json': { value: '{ not valid json at all', label: 'Invalid JSON string' },\n truncated: { value: { partial: 'data', more: '...' }, truncated: true, label: 'Truncated' },\n primitive: { value: 42, label: 'Number primitive' },\n };\n\n const current = $derived(scenarios[scenario]);\n</script>\n\n<div style=\"display: flex; flex-direction: column; gap: 1rem;\">\n <div style=\"display: flex; gap: 0.5rem; flex-wrap: wrap;\">\n {#each Object.keys(scenarios) as key (key)}\n <Button\n variant={scenario === key ? 'primary' : 'secondary'}\n size=\"sm\"\n onclick={() => (scenario = key as Scenario)}\n >\n {scenarios[key as Scenario].label}\n </Button>\n {/each}\n </div>\n\n <PayloadInspector value={current.value} truncated={current.truncated ?? false} />\n</div>\n"
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
"id": "signal-payload",
|
|
20
20
|
"title": "Signal payload",
|
|
21
21
|
"description": "Inspect a workflow signal payload — a common pattern in activity result dashboards.",
|
|
22
|
-
"code": "<script lang=\"ts\">\n import { PayloadInspector } from '@lostgradient/cinder/payload-inspector';\n\n const signalPayload = {\n signalName: 'PaymentConfirmed',\n data: {\n transactionId: 'txn_5e8b2a',\n amount: 89.93,\n currency: 'USD',\n provider: 'stripe',\n confirmedAt: '2026-06-11T14:23:01Z',\n metadata: {\n statementDescriptor: 'ACME STORE',\n riskScore: 0.12,\n },\n },\n sentAt: '2026-06-11T14:23:01.543Z',\n correlationId: 'ord_9c4e1f',\n };\n</script>\n\n<PayloadInspector
|
|
22
|
+
"code": "<script lang=\"ts\">\n import { PayloadInspector } from '@lostgradient/cinder/payload-inspector';\n\n const signalPayload = {\n signalName: 'PaymentConfirmed',\n data: {\n transactionId: 'txn_5e8b2a',\n amount: 89.93,\n currency: 'USD',\n provider: 'stripe',\n confirmedAt: '2026-06-11T14:23:01Z',\n metadata: {\n statementDescriptor: 'ACME STORE',\n riskScore: 0.12,\n },\n },\n sentAt: '2026-06-11T14:23:01.543Z',\n correlationId: 'ord_9c4e1f',\n };\n</script>\n\n<PayloadInspector value={signalPayload} label=\"Signal payload\" />\n"
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
25
|
"id": "workflow-input",
|
|
26
26
|
"title": "Workflow input",
|
|
27
27
|
"description": "Inspecting a workflow launch payload with signal input, retry policy, and schedule metadata.",
|
|
28
|
-
"code": "<script lang=\"ts\">\n import { PayloadInspector } from '@lostgradient/cinder/payload-inspector';\n\n const workflowInput = {\n workflowType: 'OrderFulfillment',\n input: {\n orderId: 'ord_9c4e1f',\n customerId: 'cust_221a',\n priority: 'express',\n items: ['sku-100', 'sku-201', 'sku-303'],\n shipTo: {\n name: 'Alex Rivera',\n address: '42 Elm St',\n city: 'Springfield',\n zip: '12345',\n },\n },\n retryPolicy: {\n maximumAttempts: 3,\n initialInterval: '1s',\n maximumInterval: '30s',\n backoffCoefficient: 2,\n },\n searchAttributes: {\n OrderStatus: 'pending',\n CustomerId: 'cust_221a',\n },\n };\n</script>\n\n<PayloadInspector
|
|
28
|
+
"code": "<script lang=\"ts\">\n import { PayloadInspector } from '@lostgradient/cinder/payload-inspector';\n\n const workflowInput = {\n workflowType: 'OrderFulfillment',\n input: {\n orderId: 'ord_9c4e1f',\n customerId: 'cust_221a',\n priority: 'express',\n items: ['sku-100', 'sku-201', 'sku-303'],\n shipTo: {\n name: 'Alex Rivera',\n address: '42 Elm St',\n city: 'Springfield',\n zip: '12345',\n },\n },\n retryPolicy: {\n maximumAttempts: 3,\n initialInterval: '1s',\n maximumInterval: '30s',\n backoffCoefficient: 2,\n },\n searchAttributes: {\n OrderStatus: 'pending',\n CustomerId: 'cust_221a',\n },\n };\n</script>\n\n<PayloadInspector value={workflowInput} label=\"Workflow input\" />\n"
|
|
29
29
|
}
|
|
30
30
|
]
|
|
31
31
|
}
|
|
@@ -7,38 +7,15 @@
|
|
|
7
7
|
},
|
|
8
8
|
"truncated": {
|
|
9
9
|
"type": "boolean",
|
|
10
|
-
"description": "When true, the payload has been truncated by the producer (e.g. because it\nexceeded a wire size limit). The inspector renders a truncation badge in
|
|
10
|
+
"description": "When true, the payload has been truncated by the producer (e.g. because it\nexceeded a wire size limit). The inspector renders a truncation badge in\nthe header."
|
|
11
11
|
},
|
|
12
12
|
"maxBytes": {
|
|
13
13
|
"type": "number",
|
|
14
|
-
"description": "Maximum byte size before the tree view is replaced with an oversize\nplaceholder. Defaults to 1,048,576 (1 MB).
|
|
15
|
-
},
|
|
16
|
-
"meta": {
|
|
17
|
-
"type": "object",
|
|
18
|
-
"properties": {
|
|
19
|
-
"contentType": {
|
|
20
|
-
"type": "string",
|
|
21
|
-
"description": "Content type or serializer label, e.g. \"application/json\" or \"Protobuf\"."
|
|
22
|
-
},
|
|
23
|
-
"source": {
|
|
24
|
-
"type": "string",
|
|
25
|
-
"description": "Optional source label, e.g. a workflow name, activity name, or endpoint path."
|
|
26
|
-
},
|
|
27
|
-
"timestamp": {
|
|
28
|
-
"type": "string",
|
|
29
|
-
"description": "Optional ISO 8601 timestamp string rendered in the summary."
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
"additionalProperties": false,
|
|
33
|
-
"description": "Structured metadata shown in the summary panel. Pass contentType, source,\nand/or timestamp to populate the description list rows."
|
|
34
|
-
},
|
|
35
|
-
"activeView": {
|
|
36
|
-
"enum": ["summary", "tree", "raw"],
|
|
37
|
-
"description": "Initially active view tab. Defaults to \"summary\". Bind to control\nthe active tab from outside."
|
|
14
|
+
"description": "Maximum byte size before the tree view is replaced with an oversize\nplaceholder. Defaults to 1,048,576 (1 MB)."
|
|
38
15
|
},
|
|
39
16
|
"label": {
|
|
40
17
|
"type": "string",
|
|
41
|
-
"description": "
|
|
18
|
+
"description": "Visible header label for the inspector. Defaults to \"Payload inspector\"."
|
|
42
19
|
},
|
|
43
20
|
"class": {
|
|
44
21
|
"type": "string",
|
|
@@ -48,11 +25,6 @@
|
|
|
48
25
|
"additionalProperties": false,
|
|
49
26
|
"metadata": {
|
|
50
27
|
"unsupportedProps": [
|
|
51
|
-
{
|
|
52
|
-
"name": "format",
|
|
53
|
-
"reason": "function-or-snippet",
|
|
54
|
-
"description": "Custom serializer for the Raw view display text. Receives the parsed value\nand must return a string. Defaults to JSON.stringify with 2-space\nindentation. Use this to customize key ordering, indentation, or\nalternative serialization formats. Does not affect the Summary or Tree\nviews, or the copy buttons. For redaction, transform the value upstream and\npass the already-redacted value as `value`."
|
|
55
|
-
},
|
|
56
28
|
{
|
|
57
29
|
"name": "parse",
|
|
58
30
|
"reason": "function-or-snippet",
|
|
@@ -11,43 +11,16 @@ const schema = {
|
|
|
11
11
|
truncated: {
|
|
12
12
|
type: 'boolean',
|
|
13
13
|
description:
|
|
14
|
-
'When true, the payload has been truncated by the producer (e.g. because it\nexceeded a wire size limit). The inspector renders a truncation badge in
|
|
14
|
+
'When true, the payload has been truncated by the producer (e.g. because it\nexceeded a wire size limit). The inspector renders a truncation badge in\nthe header.',
|
|
15
15
|
},
|
|
16
16
|
maxBytes: {
|
|
17
17
|
type: 'number',
|
|
18
18
|
description:
|
|
19
|
-
'Maximum byte size before the tree view is replaced with an oversize\nplaceholder. Defaults to 1,048,576 (1 MB).
|
|
20
|
-
},
|
|
21
|
-
meta: {
|
|
22
|
-
type: 'object',
|
|
23
|
-
properties: {
|
|
24
|
-
contentType: {
|
|
25
|
-
type: 'string',
|
|
26
|
-
description: 'Content type or serializer label, e.g. "application/json" or "Protobuf".',
|
|
27
|
-
},
|
|
28
|
-
source: {
|
|
29
|
-
type: 'string',
|
|
30
|
-
description:
|
|
31
|
-
'Optional source label, e.g. a workflow name, activity name, or endpoint path.',
|
|
32
|
-
},
|
|
33
|
-
timestamp: {
|
|
34
|
-
type: 'string',
|
|
35
|
-
description: 'Optional ISO 8601 timestamp string rendered in the summary.',
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
additionalProperties: false,
|
|
39
|
-
description:
|
|
40
|
-
'Structured metadata shown in the summary panel. Pass contentType, source,\nand/or timestamp to populate the description list rows.',
|
|
41
|
-
},
|
|
42
|
-
activeView: {
|
|
43
|
-
enum: ['summary', 'tree', 'raw'],
|
|
44
|
-
description:
|
|
45
|
-
'Initially active view tab. Defaults to "summary". Bind to control\nthe active tab from outside.',
|
|
19
|
+
'Maximum byte size before the tree view is replaced with an oversize\nplaceholder. Defaults to 1,048,576 (1 MB).',
|
|
46
20
|
},
|
|
47
21
|
label: {
|
|
48
22
|
type: 'string',
|
|
49
|
-
description:
|
|
50
|
-
'Label for the inspector region, used as the accessible name for the\ncontaining section. Defaults to "Payload inspector".',
|
|
23
|
+
description: 'Visible header label for the inspector. Defaults to "Payload inspector".',
|
|
51
24
|
},
|
|
52
25
|
class: {
|
|
53
26
|
type: 'string',
|
|
@@ -57,12 +30,6 @@ const schema = {
|
|
|
57
30
|
additionalProperties: false,
|
|
58
31
|
metadata: {
|
|
59
32
|
unsupportedProps: [
|
|
60
|
-
{
|
|
61
|
-
name: 'format',
|
|
62
|
-
reason: 'function-or-snippet',
|
|
63
|
-
description:
|
|
64
|
-
'Custom serializer for the Raw view display text. Receives the parsed value\nand must return a string. Defaults to JSON.stringify with 2-space\nindentation. Use this to customize key ordering, indentation, or\nalternative serialization formats. Does not affect the Summary or Tree\nviews, or the copy buttons. For redaction, transform the value upstream and\npass the already-redacted value as `value`.',
|
|
65
|
-
},
|
|
66
33
|
{
|
|
67
34
|
name: 'parse',
|
|
68
35
|
reason: 'function-or-snippet',
|