@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
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ApprovalResolution } from './approval-card.types.ts';
|
|
2
|
+
type ApprovalCardActionsProps = {
|
|
3
|
+
/** Base for the ids of the controls this region renders. */
|
|
4
|
+
idBase: string;
|
|
5
|
+
/** Identity of the approval request; form state resets when it changes. */
|
|
6
|
+
requestKey: string;
|
|
7
|
+
/** Whether the approve-with-edits flow is available. */
|
|
8
|
+
canEditArguments: boolean;
|
|
9
|
+
/** Normalized arguments value used to seed the JSON editor. */
|
|
10
|
+
argumentsValue: unknown;
|
|
11
|
+
/** Resolution sink; the parent guards actionability before forwarding. */
|
|
12
|
+
resolve: (resolution: ApprovalResolution) => void;
|
|
13
|
+
};
|
|
14
|
+
declare const ApprovalCardActions: import("svelte").Component<ApprovalCardActionsProps, {}, "">;
|
|
15
|
+
type ApprovalCardActions = ReturnType<typeof ApprovalCardActions>;
|
|
16
|
+
export default ApprovalCardActions;
|
|
@@ -1,3 +1,68 @@
|
|
|
1
1
|
import type { ApprovalState } from './approval-card.types.ts';
|
|
2
|
+
/** Character budget for the serialized arguments preview before truncation. */
|
|
3
|
+
export declare const ARGUMENTS_PREVIEW_MAX_CHARACTERS = 4096;
|
|
4
|
+
/** Visible label for each risk level. */
|
|
5
|
+
export declare const RISK_LABELS: {
|
|
6
|
+
readonly low: "Low risk";
|
|
7
|
+
readonly medium: "Medium risk";
|
|
8
|
+
readonly high: "High risk";
|
|
9
|
+
};
|
|
10
|
+
/** Visible label for each approval state. */
|
|
11
|
+
export declare const STATE_LABELS: {
|
|
12
|
+
readonly pending: "Pending";
|
|
13
|
+
readonly approved: "Approved";
|
|
14
|
+
readonly approved_with_edits: "Approved with edits";
|
|
15
|
+
readonly denied: "Denied";
|
|
16
|
+
readonly expired: "Expired";
|
|
17
|
+
readonly cancelled: "Cancelled";
|
|
18
|
+
};
|
|
19
|
+
/** StatusDot status for each approval state. */
|
|
20
|
+
export declare const STATE_DOT_STATUS: {
|
|
21
|
+
readonly pending: "pending";
|
|
22
|
+
readonly approved: "success";
|
|
23
|
+
readonly approved_with_edits: "success";
|
|
24
|
+
readonly denied: "danger";
|
|
25
|
+
readonly expired: "neutral";
|
|
26
|
+
readonly cancelled: "offline";
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Resolves the state shown to the approver: a pending approval whose
|
|
30
|
+
* expiration timestamp has passed presents as expired.
|
|
31
|
+
*/
|
|
2
32
|
export declare function resolveEffectiveApprovalState(approvalState: ApprovalState, expirationTimestamp: number | undefined, currentTime: number | undefined): ApprovalState;
|
|
33
|
+
/** Whether approval actions may still be taken on the request. */
|
|
3
34
|
export declare function isApprovalActionable(approvalState: ApprovalState, expirationTimestamp: number | undefined, currentTime: number | undefined): boolean;
|
|
35
|
+
/** Parses an ISO expiration timestamp, returning undefined for invalid input. */
|
|
36
|
+
export declare function parseExpirationTimestamp(value: string | undefined): number | undefined;
|
|
37
|
+
/** Formats a millisecond duration as a compact countdown such as `2h 5m` or `45s`. */
|
|
38
|
+
export declare function formatRemainingTime(milliseconds: number): string;
|
|
39
|
+
/**
|
|
40
|
+
* Accepts serialized JSON strings as argument previews by parsing them into
|
|
41
|
+
* their structured form; any other value passes through unchanged.
|
|
42
|
+
*/
|
|
43
|
+
export declare function normalizeArgumentsPreviewValue(value: unknown): unknown;
|
|
44
|
+
/**
|
|
45
|
+
* Bounds the arguments preview: values whose serialized form exceeds the
|
|
46
|
+
* character budget are replaced with a truncation notice and an excerpt.
|
|
47
|
+
*/
|
|
48
|
+
export declare function prepareArgumentsPreview(value: unknown): {
|
|
49
|
+
value: unknown;
|
|
50
|
+
truncated: boolean;
|
|
51
|
+
};
|
|
52
|
+
/** Serializes the arguments preview as the editable JSON seed text. */
|
|
53
|
+
export declare function formatEditableArguments(value: unknown): string;
|
|
54
|
+
/** Parses editor text as JSON, returning a friendly error for invalid input. */
|
|
55
|
+
export declare function parseJsonText(text: string): {
|
|
56
|
+
ok: true;
|
|
57
|
+
value: unknown;
|
|
58
|
+
} | {
|
|
59
|
+
ok: false;
|
|
60
|
+
message: string;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Reduces environment entries to unique variable names. Values accidentally
|
|
64
|
+
* supplied as `NAME=value` are stripped so no secret material is rendered.
|
|
65
|
+
*/
|
|
66
|
+
export declare function sanitizeEnvironmentNames(names: string[]): string[];
|
|
67
|
+
/** Collapses duplicate file paths while preserving first-seen order. */
|
|
68
|
+
export declare function dedupeFilePaths(paths: string[]): string[];
|
|
@@ -5,21 +5,17 @@
|
|
|
5
5
|
* between `src/` and generated `dist/`. */
|
|
6
6
|
@import '../badge/badge.css';
|
|
7
7
|
@import '../button/button.css';
|
|
8
|
-
@import '../button-group/button-group.css';
|
|
9
8
|
@import '../card/card.css';
|
|
10
9
|
@import '../code-block/code-block.css';
|
|
10
|
+
@import '../collapsible/collapsible.css';
|
|
11
11
|
@import '../copy-button/copy-button.css';
|
|
12
|
-
@import '../description-list/description-list.css';
|
|
13
12
|
@import '../json-viewer/json-viewer.css';
|
|
14
13
|
@import '../payload-inspector/payload-inspector.css';
|
|
15
|
-
@import '../secret-value-field/secret-value-field.css';
|
|
16
14
|
@import '../status-dot/status-dot.css';
|
|
17
|
-
@import '../
|
|
15
|
+
@import '../tooltip/tooltip.css';
|
|
18
16
|
|
|
19
17
|
@layer cinder.components {
|
|
20
18
|
.cinder-approval-card {
|
|
21
|
-
container-type: inline-size;
|
|
22
|
-
container-name: cinder-approval-card;
|
|
23
19
|
display: block;
|
|
24
20
|
}
|
|
25
21
|
|
|
@@ -27,35 +23,37 @@
|
|
|
27
23
|
overflow: hidden;
|
|
28
24
|
}
|
|
29
25
|
|
|
26
|
+
/* ----------------------------------------
|
|
27
|
+
* Header
|
|
28
|
+
* ---------------------------------------- */
|
|
29
|
+
|
|
30
30
|
.cinder-approval-card__header {
|
|
31
31
|
display: flex;
|
|
32
|
+
flex-wrap: wrap;
|
|
32
33
|
align-items: flex-start;
|
|
33
34
|
justify-content: space-between;
|
|
34
|
-
gap: var(--cinder-space-4);
|
|
35
|
+
gap: var(--cinder-space-2) var(--cinder-space-4);
|
|
35
36
|
padding: var(--cinder-space-4);
|
|
36
|
-
border-block-end: 1px solid var(--cinder-border-muted);
|
|
37
37
|
background: var(--cinder-surface-inset);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
+
.cinder-approval-card[data-cinder-risk='high'] .cinder-approval-card__header {
|
|
41
|
+
background: var(--cinder-color-danger-bg);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* Title and badges stay on one row whenever they both fit — `flex-wrap`
|
|
45
|
+
reacts to the actual rendered width of this title (which varies with the
|
|
46
|
+
tool name) instead of guessing a fixed container breakpoint. Below
|
|
47
|
+
`min-inline-size`, the title wraps its own text first; badges only drop
|
|
48
|
+
to their own row once nothing more can give. On that solo-item row,
|
|
49
|
+
`justify-content: space-between` on the header collapses to flex-start,
|
|
50
|
+
so no separate narrow-container override is needed. */
|
|
40
51
|
.cinder-approval-card__title-group {
|
|
41
52
|
display: flex;
|
|
42
53
|
flex-direction: column;
|
|
54
|
+
flex: 1 1 14rem;
|
|
43
55
|
gap: var(--cinder-space-1);
|
|
44
|
-
min-inline-size:
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.cinder-approval-card__eyebrow,
|
|
48
|
-
.cinder-approval-card__description,
|
|
49
|
-
.cinder-approval-card__muted {
|
|
50
|
-
margin: 0;
|
|
51
|
-
color: var(--cinder-text-muted);
|
|
52
|
-
font-size: var(--cinder-text-sm);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.cinder-approval-card__eyebrow {
|
|
56
|
-
font-size: var(--cinder-text-xs);
|
|
57
|
-
font-weight: var(--cinder-font-semibold);
|
|
58
|
-
text-transform: uppercase;
|
|
56
|
+
min-inline-size: 10rem;
|
|
59
57
|
}
|
|
60
58
|
|
|
61
59
|
.cinder-approval-card__title {
|
|
@@ -66,23 +64,63 @@
|
|
|
66
64
|
line-height: var(--cinder-leading-tight);
|
|
67
65
|
}
|
|
68
66
|
|
|
69
|
-
.cinder-approval-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
.cinder-approval-card__title-tool {
|
|
68
|
+
font-family: var(--cinder-font-mono);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.cinder-approval-card__badges {
|
|
72
72
|
display: flex;
|
|
73
|
+
flex: 0 1 auto;
|
|
73
74
|
align-items: center;
|
|
74
75
|
flex-wrap: wrap;
|
|
76
|
+
justify-content: flex-end;
|
|
75
77
|
gap: var(--cinder-space-2);
|
|
76
78
|
}
|
|
77
79
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
+
/* StatusDot and Badge each define their own type scale per size step, and
|
|
81
|
+
those scales don't line up 1:1 (StatusDot's "sm" label text is larger
|
|
82
|
+
than Badge's "sm" text). Force every status/risk/expiry indicator in this
|
|
83
|
+
row to the same font-size so the row reads as one cohesive unit. */
|
|
84
|
+
.cinder-approval-card__badges .cinder-status-dot[data-cinder-size='sm'],
|
|
85
|
+
.cinder-approval-card__badges .cinder-badge[data-cinder-size='sm'] {
|
|
86
|
+
font-size: var(--cinder-text-xs);
|
|
80
87
|
}
|
|
81
88
|
|
|
89
|
+
.cinder-approval-card__risk-icon {
|
|
90
|
+
display: inline-flex;
|
|
91
|
+
align-items: center;
|
|
92
|
+
border-radius: var(--cinder-radius-sm);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.cinder-approval-card__risk-icon[data-cinder-risk='low'] {
|
|
96
|
+
color: var(--cinder-success);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.cinder-approval-card__risk-icon[data-cinder-risk='medium'] {
|
|
100
|
+
color: var(--cinder-warning);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.cinder-approval-card__risk-icon[data-cinder-risk='high'] {
|
|
104
|
+
color: var(--cinder-danger);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.cinder-approval-card__risk-icon:focus-visible {
|
|
108
|
+
/* cinder-focus-ring-owner: parent — the trigger self-owns its box-shadow
|
|
109
|
+
ring; the outline is intentionally suppressed. */
|
|
110
|
+
outline: none;
|
|
111
|
+
box-shadow:
|
|
112
|
+
0 0 0 var(--cinder-ring-offset, 1px) var(--cinder-ring-offset-color),
|
|
113
|
+
0 0 0 calc(var(--cinder-ring-offset, 1px) + var(--cinder-ring-width)) var(--cinder-ring-color);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* ----------------------------------------
|
|
117
|
+
* Body sections
|
|
118
|
+
* ---------------------------------------- */
|
|
119
|
+
|
|
82
120
|
.cinder-approval-card__body {
|
|
83
121
|
display: flex;
|
|
84
122
|
flex-direction: column;
|
|
85
|
-
gap: var(--cinder-space-
|
|
123
|
+
gap: var(--cinder-space-3);
|
|
86
124
|
padding: var(--cinder-space-4);
|
|
87
125
|
}
|
|
88
126
|
|
|
@@ -92,57 +130,33 @@
|
|
|
92
130
|
gap: var(--cinder-space-2);
|
|
93
131
|
}
|
|
94
132
|
|
|
95
|
-
.cinder-approval-card__section-
|
|
96
|
-
|
|
133
|
+
.cinder-approval-card__section-heading {
|
|
134
|
+
display: flex;
|
|
135
|
+
align-items: center;
|
|
136
|
+
flex-wrap: wrap;
|
|
137
|
+
gap: var(--cinder-space-2);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.cinder-approval-card__section-title {
|
|
97
141
|
margin: 0;
|
|
98
142
|
color: var(--cinder-text);
|
|
99
143
|
font-size: var(--cinder-text-sm);
|
|
100
144
|
font-weight: var(--cinder-font-semibold);
|
|
101
145
|
}
|
|
102
146
|
|
|
103
|
-
.cinder-approval-
|
|
104
|
-
font-size: var(--cinder-text-xs);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
.cinder-approval-card__metadata {
|
|
108
|
-
display: grid;
|
|
109
|
-
grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
|
|
110
|
-
gap: var(--cinder-space-2);
|
|
147
|
+
.cinder-approval-card__muted {
|
|
111
148
|
margin: 0;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
.cinder-approval-card__metadata--compact {
|
|
115
|
-
grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
.cinder-approval-card__metadata-item {
|
|
119
|
-
min-inline-size: 0;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
.cinder-approval-card__metadata-item dt {
|
|
123
149
|
color: var(--cinder-text-muted);
|
|
124
|
-
font-size: var(--cinder-text-
|
|
125
|
-
font-weight: var(--cinder-font-medium);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
.cinder-approval-card__metadata-item dd {
|
|
129
|
-
margin: 0;
|
|
130
|
-
overflow-wrap: anywhere;
|
|
131
|
-
color: var(--cinder-text);
|
|
132
|
-
font-family: var(--cinder-font-mono);
|
|
133
|
-
font-size: var(--cinder-text-xs);
|
|
150
|
+
font-size: var(--cinder-text-sm);
|
|
134
151
|
}
|
|
135
152
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
gap: var(--cinder-space-2);
|
|
140
|
-
}
|
|
153
|
+
/* ----------------------------------------
|
|
154
|
+
* Files touched
|
|
155
|
+
* ---------------------------------------- */
|
|
141
156
|
|
|
142
157
|
.cinder-approval-card__file-list {
|
|
143
158
|
display: flex;
|
|
144
159
|
flex-direction: column;
|
|
145
|
-
gap: var(--cinder-space-1);
|
|
146
160
|
max-block-size: 14rem;
|
|
147
161
|
overflow-y: auto;
|
|
148
162
|
margin: 0;
|
|
@@ -150,49 +164,76 @@
|
|
|
150
164
|
list-style: none;
|
|
151
165
|
}
|
|
152
166
|
|
|
153
|
-
.cinder-approval-card__file
|
|
167
|
+
.cinder-approval-card__file {
|
|
168
|
+
display: flex;
|
|
169
|
+
align-items: center;
|
|
170
|
+
justify-content: space-between;
|
|
171
|
+
gap: var(--cinder-space-2);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.cinder-approval-card__file-path {
|
|
154
175
|
overflow-wrap: anywhere;
|
|
155
|
-
border: 1px solid var(--cinder-border-muted);
|
|
156
|
-
border-radius: var(--cinder-radius-sm);
|
|
157
|
-
padding: var(--cinder-space-1) var(--cinder-space-2);
|
|
158
|
-
background: var(--cinder-surface-inset);
|
|
159
176
|
color: var(--cinder-text);
|
|
160
177
|
font-family: var(--cinder-font-mono);
|
|
161
178
|
font-size: var(--cinder-text-xs);
|
|
162
179
|
}
|
|
163
180
|
|
|
181
|
+
.cinder-approval-card__file .cinder-approval-card__file-copy {
|
|
182
|
+
flex: 0 0 auto;
|
|
183
|
+
padding: var(--cinder-space-1);
|
|
184
|
+
border: none;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/* ----------------------------------------
|
|
188
|
+
* Environment names
|
|
189
|
+
* ---------------------------------------- */
|
|
190
|
+
|
|
164
191
|
.cinder-approval-card__environment-list {
|
|
165
|
-
display:
|
|
166
|
-
|
|
192
|
+
display: flex;
|
|
193
|
+
flex-wrap: wrap;
|
|
167
194
|
gap: var(--cinder-space-2);
|
|
195
|
+
margin: 0;
|
|
196
|
+
padding: 0;
|
|
197
|
+
list-style: none;
|
|
168
198
|
}
|
|
169
199
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
200
|
+
/* ----------------------------------------
|
|
201
|
+
* Resolution controls and actions
|
|
202
|
+
* ---------------------------------------- */
|
|
173
203
|
|
|
174
|
-
.cinder-approval-
|
|
204
|
+
.cinder-approval-card__actions {
|
|
175
205
|
display: flex;
|
|
176
206
|
flex-direction: column;
|
|
177
|
-
gap: var(--cinder-space-
|
|
207
|
+
gap: var(--cinder-space-3);
|
|
178
208
|
}
|
|
179
209
|
|
|
180
|
-
.cinder-approval-
|
|
210
|
+
.cinder-approval-card__resolution-controls {
|
|
181
211
|
display: flex;
|
|
182
212
|
flex-direction: column;
|
|
183
213
|
gap: var(--cinder-space-2);
|
|
184
|
-
border: 1px solid var(--cinder-border-muted);
|
|
185
|
-
border-radius: var(--cinder-radius-md);
|
|
186
|
-
padding: var(--cinder-space-3);
|
|
187
|
-
background: var(--cinder-surface-inset);
|
|
188
214
|
}
|
|
189
215
|
|
|
190
|
-
.cinder-approval-
|
|
216
|
+
.cinder-approval-card__control-label {
|
|
191
217
|
color: var(--cinder-text);
|
|
192
218
|
font-size: var(--cinder-text-sm);
|
|
193
219
|
font-weight: var(--cinder-font-semibold);
|
|
194
220
|
}
|
|
195
221
|
|
|
222
|
+
.cinder-approval-card__action-row {
|
|
223
|
+
display: flex;
|
|
224
|
+
align-items: center;
|
|
225
|
+
flex-wrap: wrap;
|
|
226
|
+
gap: var(--cinder-space-3);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.cinder-approval-card__action-buttons {
|
|
230
|
+
display: flex;
|
|
231
|
+
align-items: center;
|
|
232
|
+
flex-wrap: wrap;
|
|
233
|
+
gap: var(--cinder-space-2);
|
|
234
|
+
margin-inline-start: auto;
|
|
235
|
+
}
|
|
236
|
+
|
|
196
237
|
.cinder-approval-card__textarea {
|
|
197
238
|
min-block-size: 10rem;
|
|
198
239
|
resize: vertical;
|
|
@@ -206,7 +247,7 @@
|
|
|
206
247
|
}
|
|
207
248
|
|
|
208
249
|
.cinder-approval-card__textarea--reason {
|
|
209
|
-
min-block-size: 5rem;
|
|
250
|
+
min-block-size: 3.5rem;
|
|
210
251
|
font-family: var(--cinder-font-sans);
|
|
211
252
|
}
|
|
212
253
|
|
|
@@ -233,12 +274,33 @@
|
|
|
233
274
|
box-shadow: var(--_cinder-focus-ring-shadow);
|
|
234
275
|
}
|
|
235
276
|
|
|
277
|
+
.cinder-approval-card__editor {
|
|
278
|
+
display: flex;
|
|
279
|
+
flex-direction: column;
|
|
280
|
+
gap: var(--cinder-space-2);
|
|
281
|
+
border: 1px solid var(--cinder-border-muted);
|
|
282
|
+
border-radius: var(--cinder-radius-md);
|
|
283
|
+
padding: var(--cinder-space-3);
|
|
284
|
+
background: var(--cinder-surface-inset);
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
.cinder-approval-card__editor-actions {
|
|
288
|
+
display: flex;
|
|
289
|
+
align-items: center;
|
|
290
|
+
flex-wrap: wrap;
|
|
291
|
+
gap: var(--cinder-space-2);
|
|
292
|
+
}
|
|
293
|
+
|
|
236
294
|
.cinder-approval-card__error {
|
|
237
295
|
margin: 0;
|
|
238
296
|
color: var(--cinder-danger);
|
|
239
297
|
font-size: var(--cinder-text-sm);
|
|
240
298
|
}
|
|
241
299
|
|
|
300
|
+
/* ----------------------------------------
|
|
301
|
+
* Read-only summary for terminal states
|
|
302
|
+
* ---------------------------------------- */
|
|
303
|
+
|
|
242
304
|
.cinder-approval-card__readonly-summary {
|
|
243
305
|
margin: 0;
|
|
244
306
|
border: 1px solid var(--cinder-border-muted);
|
|
@@ -249,17 +311,132 @@
|
|
|
249
311
|
font-size: var(--cinder-text-sm);
|
|
250
312
|
}
|
|
251
313
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
314
|
+
.cinder-approval-card__readonly-summary[data-cinder-state='approved'],
|
|
315
|
+
.cinder-approval-card__readonly-summary[data-cinder-state='approved_with_edits'] {
|
|
316
|
+
border-color: var(--cinder-color-success-border);
|
|
317
|
+
background: var(--cinder-color-success-bg);
|
|
318
|
+
color: var(--cinder-color-success-fg);
|
|
319
|
+
}
|
|
256
320
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
321
|
+
.cinder-approval-card__readonly-summary[data-cinder-state='denied'] {
|
|
322
|
+
border-color: var(--cinder-color-danger-border);
|
|
323
|
+
background: var(--cinder-color-danger-bg);
|
|
324
|
+
color: var(--cinder-color-danger-fg);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/* ----------------------------------------
|
|
328
|
+
* Details disclosure (sandbox, environment, request metadata)
|
|
329
|
+
* ---------------------------------------- */
|
|
330
|
+
|
|
331
|
+
.cinder-approval-card__details {
|
|
332
|
+
border: 1px solid var(--cinder-border);
|
|
333
|
+
border-radius: var(--cinder-radius-md);
|
|
334
|
+
background: var(--cinder-surface);
|
|
335
|
+
overflow: hidden;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
.cinder-approval-card__details .cinder-collapsible__trigger {
|
|
339
|
+
border-radius: 0;
|
|
340
|
+
padding: var(--cinder-space-2) var(--cinder-space-3);
|
|
341
|
+
background: var(--cinder-surface-raised);
|
|
342
|
+
font-size: var(--cinder-text-sm);
|
|
343
|
+
color: var(--cinder-text-muted);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.cinder-approval-card__details[data-cinder-expanded] .cinder-collapsible__trigger {
|
|
347
|
+
border-block-end: 1px solid var(--cinder-border);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
.cinder-approval-card__details .cinder-collapsible__panel-inner {
|
|
351
|
+
padding: var(--cinder-space-3);
|
|
352
|
+
font-size: var(--cinder-text-sm);
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
.cinder-approval-card__details-content {
|
|
356
|
+
display: flex;
|
|
357
|
+
flex-direction: column;
|
|
358
|
+
gap: var(--cinder-space-3);
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
.cinder-approval-card__details-group {
|
|
362
|
+
display: flex;
|
|
363
|
+
flex-direction: column;
|
|
364
|
+
gap: var(--cinder-space-1);
|
|
260
365
|
}
|
|
261
366
|
|
|
367
|
+
.cinder-approval-card__details-label {
|
|
368
|
+
display: flex;
|
|
369
|
+
align-items: baseline;
|
|
370
|
+
flex-wrap: wrap;
|
|
371
|
+
gap: var(--cinder-space-2);
|
|
372
|
+
margin: 0;
|
|
373
|
+
color: var(--cinder-text);
|
|
374
|
+
font-size: var(--cinder-text-xs);
|
|
375
|
+
font-weight: var(--cinder-font-semibold);
|
|
376
|
+
text-transform: uppercase;
|
|
377
|
+
letter-spacing: 0.04em;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
.cinder-approval-card__details-label .cinder-approval-card__muted {
|
|
381
|
+
font-size: var(--cinder-text-xs);
|
|
382
|
+
font-weight: var(--cinder-font-normal);
|
|
383
|
+
text-transform: none;
|
|
384
|
+
letter-spacing: normal;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
.cinder-approval-card__metadata {
|
|
388
|
+
display: grid;
|
|
389
|
+
grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
|
|
390
|
+
gap: var(--cinder-space-3);
|
|
391
|
+
margin: 0;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
.cinder-approval-card__metadata--compact {
|
|
395
|
+
gap: var(--cinder-space-2);
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
.cinder-approval-card__metadata-item {
|
|
399
|
+
min-inline-size: 0;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
.cinder-approval-card__metadata-item dt {
|
|
403
|
+
color: var(--cinder-text-muted);
|
|
404
|
+
font-size: var(--cinder-text-xs);
|
|
405
|
+
font-weight: var(--cinder-font-medium);
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
.cinder-approval-card__metadata-item dd {
|
|
409
|
+
display: flex;
|
|
410
|
+
flex-direction: column;
|
|
411
|
+
gap: var(--cinder-space-1);
|
|
412
|
+
margin: 0;
|
|
413
|
+
overflow-wrap: anywhere;
|
|
414
|
+
color: var(--cinder-text);
|
|
415
|
+
font-family: var(--cinder-font-mono);
|
|
416
|
+
font-size: var(--cinder-text-xs);
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
.cinder-approval-card__metadata-help {
|
|
420
|
+
color: var(--cinder-text-muted);
|
|
421
|
+
font-family: var(--cinder-font-sans);
|
|
422
|
+
font-size: var(--cinder-text-xs);
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
/* ----------------------------------------
|
|
426
|
+
* Forced colors
|
|
427
|
+
* ---------------------------------------- */
|
|
428
|
+
|
|
262
429
|
@media (forced-colors: active) {
|
|
430
|
+
.cinder-approval-card__risk-icon {
|
|
431
|
+
color: CanvasText;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
.cinder-approval-card__risk-icon:focus-visible {
|
|
435
|
+
outline: 2px solid CanvasText;
|
|
436
|
+
outline-offset: 2px;
|
|
437
|
+
box-shadow: none;
|
|
438
|
+
}
|
|
439
|
+
|
|
263
440
|
.cinder-approval-card__textarea:focus-visible,
|
|
264
441
|
.cinder-approval-card__remember-control input:focus-visible {
|
|
265
442
|
outline: var(--cinder-ring-width) solid ButtonText;
|
|
@@ -110,7 +110,7 @@ var schema = {
|
|
|
110
110
|
items: {
|
|
111
111
|
type: "string"
|
|
112
112
|
},
|
|
113
|
-
description: "File paths that the operation may read or write."
|
|
113
|
+
description: "File paths that the operation may read or write. Duplicate paths are collapsed for display."
|
|
114
114
|
},
|
|
115
115
|
argsPreview: {
|
|
116
116
|
description: "JSON-like argument preview shown to the approver."
|
|
@@ -131,7 +131,7 @@ var schema = {
|
|
|
131
131
|
items: {
|
|
132
132
|
type: "string"
|
|
133
133
|
},
|
|
134
|
-
description: "File paths that the operation may read or write. File-write approvals require at least one path.",
|
|
134
|
+
description: "File paths that the operation may read or write. File-write approvals require at least one path. Duplicate paths are collapsed for display.",
|
|
135
135
|
minItems: 1
|
|
136
136
|
},
|
|
137
137
|
argsPreview: {
|
|
@@ -153,7 +153,7 @@ var schema = {
|
|
|
153
153
|
items: {
|
|
154
154
|
type: "string"
|
|
155
155
|
},
|
|
156
|
-
description: "File paths that the operation may read or write."
|
|
156
|
+
description: "File paths that the operation may read or write. Duplicate paths are collapsed for display."
|
|
157
157
|
},
|
|
158
158
|
argsPreview: {
|
|
159
159
|
description: "JSON-like argument preview shown to the approver."
|
|
@@ -178,7 +178,7 @@ var schema = {
|
|
|
178
178
|
items: {
|
|
179
179
|
type: "string"
|
|
180
180
|
},
|
|
181
|
-
description: "File paths that the operation may read or write."
|
|
181
|
+
description: "File paths that the operation may read or write. Duplicate paths are collapsed for display."
|
|
182
182
|
},
|
|
183
183
|
argsPreview: {
|
|
184
184
|
description: "JSON-like argument preview shown to the approver."
|
|
@@ -221,6 +221,10 @@ var schema = {
|
|
|
221
221
|
type: "boolean",
|
|
222
222
|
description: "Whether approving with edited JSON arguments is available. Default `false`."
|
|
223
223
|
},
|
|
224
|
+
headingLevel: {
|
|
225
|
+
enum: [2, 3, 4, 5, 6],
|
|
226
|
+
description: "Heading level for the card title; section headings render one level deeper. Default `3`."
|
|
227
|
+
},
|
|
224
228
|
class: {
|
|
225
229
|
type: "string",
|
|
226
230
|
description: "Additional CSS classes applied to the root element."
|
|
@@ -230,35 +234,10 @@ var schema = {
|
|
|
230
234
|
required: ["idempotencyKey", "operation", "policyVersion", "state", "tool"],
|
|
231
235
|
metadata: {
|
|
232
236
|
unsupportedProps: [
|
|
233
|
-
{
|
|
234
|
-
name: "onapprove",
|
|
235
|
-
reason: "function-or-snippet",
|
|
236
|
-
description: "Called when the approver accepts the operation as presented."
|
|
237
|
-
},
|
|
238
|
-
{
|
|
239
|
-
name: "onapprovewithedits",
|
|
240
|
-
reason: "function-or-snippet",
|
|
241
|
-
description: "Called with parsed JSON arguments when the approver accepts edited arguments."
|
|
242
|
-
},
|
|
243
|
-
{
|
|
244
|
-
name: "oncancel",
|
|
245
|
-
reason: "function-or-snippet",
|
|
246
|
-
description: "Called when the approver cancels the approval prompt."
|
|
247
|
-
},
|
|
248
|
-
{
|
|
249
|
-
name: "ondeny",
|
|
250
|
-
reason: "function-or-snippet",
|
|
251
|
-
description: "Called when the approver denies the operation."
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
name: "onremember",
|
|
255
|
-
reason: "function-or-snippet",
|
|
256
|
-
description: "Called when the approver asks the host application to remember the decision."
|
|
257
|
-
},
|
|
258
237
|
{
|
|
259
238
|
name: "onresolve",
|
|
260
239
|
reason: "function-or-snippet",
|
|
261
|
-
description: "Called for approve, approve-with-edits, deny, and
|
|
240
|
+
description: "Called for approve, approve-with-edits, deny, and dismiss with the complete resolution payload."
|
|
262
241
|
}
|
|
263
242
|
]
|
|
264
243
|
}
|
|
@@ -268,4 +247,4 @@ export {
|
|
|
268
247
|
approval_card_schema_default as default
|
|
269
248
|
};
|
|
270
249
|
|
|
271
|
-
//# debugId=
|
|
250
|
+
//# debugId=40434452BFE017FD64756E2164756E21
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
* @useWhen Showing policy, sandbox, idempotency, environment-name, and argument context for an approval request.
|
|
11
11
|
* @avoidWhen The action has already completed and only needs historical display — use event-stream-viewer or run-step-timeline instead.
|
|
12
12
|
* @avoidWhen Collecting arbitrary form input for a workflow — compose form controls directly instead.
|
|
13
|
-
* @related card, badge, status-dot, payload-inspector,
|
|
14
|
-
* @a11yNote
|
|
13
|
+
* @related card, badge, status-dot, payload-inspector, code-block, collapsible
|
|
14
|
+
* @a11yNote Renders as an article with native button controls so approval actions are discoverable without polluting the landmark list.
|
|
15
15
|
* @a11yNote Expiration changes update the visible state but do not fire approval callbacks automatically.
|
|
16
16
|
*/
|
|
17
|
-
export type { ApprovalCardCallbacks, ApprovalCardProps, ApprovalCardSchemaProps, ApprovalOperation, ApprovalOperationKind, ApprovalResolution, ApprovalResolutionDecision, ApprovalSandbox, ApprovalState, ApprovalTool, ApprovalToolRisk, } from './approval-card.types.ts';
|
|
17
|
+
export type { ApprovalCardCallbacks, ApprovalCardHeadingLevel, ApprovalCardProps, ApprovalCardSchemaProps, ApprovalOperation, ApprovalOperationKind, ApprovalResolution, ApprovalResolutionDecision, ApprovalSandbox, ApprovalState, ApprovalTool, ApprovalToolRisk, } from './approval-card.types.ts';
|
|
18
18
|
import type { ApprovalCardProps } from './approval-card.types.ts';
|
|
19
19
|
declare const ApprovalCard: import("svelte").Component<ApprovalCardProps, {}, "">;
|
|
20
20
|
type ApprovalCard = ReturnType<typeof ApprovalCard>;
|