<commit_before><KoenigCard
    @env={{@env}}
    @class={{concat (kg-style "container-card") " kg-video-card mih10 miw-100 relative " (kg-style "breakout" size=@payload.cardWidth)}}
    @headerOffset={{@headerOffset}}
    @toolbar={{this.toolbar}}
    @payload={{@payload}}
    @isSelected={{@isSelected}}
    @isEditing={{@isEditing}}
    @selectCard={{@selectCard}}
    @deselectCard={{@deselectCard}}
    @editCard={{@editCard}}
    @hasEditMode={{not this.isEmpty}}
    @saveCard={{@saveCard}}
    @saveAsSnippet={{@saveAsSnippet}}
    @addParagraphAfterCard={{@addParagraphAfterCard}}
    @moveCursorToPrevSection={{@moveCursorToPrevSection}}
    @moveCursorToNextSection={{@moveCursorToNextSection}}
    @editor={{@editor}}
    {{did-insert this.didInsert}}
    {{on "dragover" this.dragOver}}
    {{on "dragleave" this.dragLeave}}
    {{on "drop" this.drop}}
    as |card|
>
    <GhUploader
        @uploadUrl="/media/upload/"
        @resourceName="media"
        @files={{this.files}}
        @accept={{this.videoMimeTypes}}
        @extensions={{this.videoExtensions}}
        @onStart={{this.videoUploadStarted}}
        @onComplete={{this.videoUploadCompleted}}
        @onFailed={{this.videoUploadFailed}}
        as |uploader|
    >
        <div class="relative{{unless (or this.previewThumbnailSrc @payload.thumbnailSrc) " bg-whitegrey-l2"}}">
            {{#if (or this.previewThumbnailSrc @payload.thumbnailSrc)}}
                <img src={{or this.previewThumbnailSrc @payload.thumbnailSrc}} class="{{kg-style this.kgImgStyle}}">
                {{#if this.isDraggedOver}}
                    <div class="absolute absolute--fill flex items-center bg-black-60 pe-none">
                        <span class="db center sans-serif fw7 f7 white">
                            Drop to replace video
                        </span>
                    </div>
                {{/if}}
            {{/if}}

            {{#if (or uploader.errors uploader.isUploading (not @payload.src))}}
                <div class="relative miw-100 flex items-center {{if (not this.previewThumbnailSrc @payload.src) "kg-media-placeholder ba b--whitegrey" "absolute absolute--fill bg-white-50"}}">
                    {{#if uploader.errors}}
                        <span class="db absolute top-0 right-0 left-0 flex items-center h8 pl2 pr2 bg-red white sans-serif f7">
                            {{uploader.errors.firstObject.message}}
                        </span>
                    {{/if}}

                    {{#if this.isDraggedOver}}
                        <span class="db center sans-serif fw7 f7 middarkgrey">
                            Drop it like it's hot 🔥
                        </span>
                    {{else if uploader.isUploading}}
                        {{uploader.progressBar}}
                    {{else if (not this.previewThumbnailSrc @payload.src)}}
                        <button class="flex flex-column items-center center sans-serif fw4 f7 middarkgrey pa16 pt14 pb14 kg-image-button" {{on "click" this.triggerVideoFileDialog}}>
                            {{svg-jar this.placeholder class="kg-placeholder-image"}}
                            <span class="mt2 midgrey">Click to select a video</span>
                        </button>
                    {{/if}}
                </div>
            {{/if}}
        </div>

        <div style="display:none">
            <GhFileInput @multiple={{false}} @action={{uploader.setFiles}} @accept={{this.videoMimeTypes}} @onInsert={{this.registerVideoFileInput}} />
        </div>
    </GhUploader>

    {{#if (or @isSelected (clean-basic-html @payload.caption))}}
        <card.CaptionInput
            @caption={{@payload.caption}}
            @update={{fn this.updatePayloadAttr "caption"}}
            @placeholder="Type caption for video (optional)" />
    {{/if}}

    {{#if (and @isEditing @payload.src)}}
        <KoenigSettingsPanel>
            <div class="kg-settings-panel-control kg-settings-panel-control-horizontal">
                <div class="kg-settings-panel-control-label">Video width</div>
                <div class="kg-settings-panel-control-input">
                    <div class="gh-btn-group icons">
                        <button type="button" title="Regular" class="gh-btn gh-btn-icon {{if (not @payload.cardWidth) "gh-btn-group-selected"}}" {{on "click" (fn this.updatePayloadAttr "cardWidth" null)}}><span>{{svg-jar "koenig/kg-img-regular"}}</span></button>
                        <button type="button" title="Wide" class="gh-btn gh-btn-icon {{if (eq @payload.cardWidth "wide") "gh-btn-group-selected"}}" {{on "click" (fn this.updatePayloadAttr "cardWidth" "wide")}}><span>{{svg-jar "koenig/kg-img-wide"}}</span></button>
                        <button type="button" title="Full" class="gh-btn gh-btn-icon {{if (eq @payload.cardWidth "full") "gh-btn-group-selected"}}" {{on "click" (fn this.updatePayloadAttr "cardWidth" "full")}}><span>{{svg-jar "koenig/kg-img-full"}}</span></button>
                    </div>
                </div>
            </div>

            <div class="kg-settings-panel-control kg-settings-panel-control-horizontal">
                <label class="kg-settings-panel-control-label" for="loop-toggle">Loop</label>
                <div class="kg-settings-panel-control-input">
                    <div class="for-switch x-small">
                        <label class="switch">
                            <input type="checkbox" class="gh-input" id="loop-toggle" checked={{@payload.loop}} {{on "input" this.toggleLoop}}>
                            <span class="input-toggle-component mt1"></span>
                        </label>
                    </div>
                </div>
            </div>

            <div class="kg-settings-panel-control">
                <label class="kg-settings-panel-control-label" for="button-url-input">Poster image</label>
                <div class="kg-settings-panel-control-input">

                </div>
            </div>
        </KoenigSettingsPanel>
    {{/if}}
</KoenigCard><commit_msg>Fixed video card settings panel position when card width changes<commit_after><KoenigCard
    @env={{@env}}
    @class={{concat (kg-style "container-card") " kg-video-card mih10 miw-100 relative " (kg-style "breakout" size=@payload.cardWidth)}}
    @headerOffset={{@headerOffset}}
    @toolbar={{this.toolbar}}
    @payload={{@payload}}
    @isSelected={{@isSelected}}
    @isEditing={{@isEditing}}
    @selectCard={{@selectCard}}
    @deselectCard={{@deselectCard}}
    @editCard={{@editCard}}
    @hasEditMode={{not this.isEmpty}}
    @saveCard={{@saveCard}}
    @saveAsSnippet={{@saveAsSnippet}}
    @addParagraphAfterCard={{@addParagraphAfterCard}}
    @moveCursorToPrevSection={{@moveCursorToPrevSection}}
    @moveCursorToNextSection={{@moveCursorToNextSection}}
    @editor={{@editor}}
    {{did-insert this.didInsert}}
    {{on "dragover" this.dragOver}}
    {{on "dragleave" this.dragLeave}}
    {{on "drop" this.drop}}
    as |card|
>
    <GhUploader
        @uploadUrl="/media/upload/"
        @resourceName="media"
        @files={{this.files}}
        @accept={{this.videoMimeTypes}}
        @extensions={{this.videoExtensions}}
        @onStart={{this.videoUploadStarted}}
        @onComplete={{this.videoUploadCompleted}}
        @onFailed={{this.videoUploadFailed}}
        as |uploader|
    >
        <div class="relative{{unless (or this.previewThumbnailSrc @payload.thumbnailSrc) " bg-whitegrey-l2"}}">
            {{#if (or this.previewThumbnailSrc @payload.thumbnailSrc)}}
                <img src={{or this.previewThumbnailSrc @payload.thumbnailSrc}} class="{{kg-style this.kgImgStyle}}">
                {{#if this.isDraggedOver}}
                    <div class="absolute absolute--fill flex items-center bg-black-60 pe-none">
                        <span class="db center sans-serif fw7 f7 white">
                            Drop to replace video
                        </span>
                    </div>
                {{/if}}
            {{/if}}

            {{#if (or uploader.errors uploader.isUploading (not @payload.src))}}
                <div class="relative miw-100 flex items-center {{if (not this.previewThumbnailSrc @payload.src) "kg-media-placeholder ba b--whitegrey" "absolute absolute--fill bg-white-50"}}">
                    {{#if uploader.errors}}
                        <span class="db absolute top-0 right-0 left-0 flex items-center h8 pl2 pr2 bg-red white sans-serif f7">
                            {{uploader.errors.firstObject.message}}
                        </span>
                    {{/if}}

                    {{#if this.isDraggedOver}}
                        <span class="db center sans-serif fw7 f7 middarkgrey">
                            Drop it like it's hot 🔥
                        </span>
                    {{else if uploader.isUploading}}
                        {{uploader.progressBar}}
                    {{else if (not this.previewThumbnailSrc @payload.src)}}
                        <button class="flex flex-column items-center center sans-serif fw4 f7 middarkgrey pa16 pt14 pb14 kg-image-button" {{on "click" this.triggerVideoFileDialog}}>
                            {{svg-jar this.placeholder class="kg-placeholder-image"}}
                            <span class="mt2 midgrey">Click to select a video</span>
                        </button>
                    {{/if}}
                </div>
            {{/if}}
        </div>

        <div style="display:none">
            <GhFileInput @multiple={{false}} @action={{uploader.setFiles}} @accept={{this.videoMimeTypes}} @onInsert={{this.registerVideoFileInput}} />
        </div>
    </GhUploader>

    {{#if (or @isSelected (clean-basic-html @payload.caption))}}
        <card.CaptionInput
            @caption={{@payload.caption}}
            @update={{fn this.updatePayloadAttr "caption"}}
            @placeholder="Type caption for video (optional)" />
    {{/if}}
</KoenigCard>

{{#if (and @isEditing @payload.src)}}
    <KoenigSettingsPanel>
        <div class="kg-settings-panel-control kg-settings-panel-control-horizontal">
            <div class="kg-settings-panel-control-label">Video width</div>
            <div class="kg-settings-panel-control-input">
                <div class="gh-btn-group icons">
                    <button type="button" title="Regular" class="gh-btn gh-btn-icon {{if (not @payload.cardWidth) "gh-btn-group-selected"}}" {{on "click" (fn this.updatePayloadAttr "cardWidth" null)}}><span>{{svg-jar "koenig/kg-img-regular"}}</span></button>
                    <button type="button" title="Wide" class="gh-btn gh-btn-icon {{if (eq @payload.cardWidth "wide") "gh-btn-group-selected"}}" {{on "click" (fn this.updatePayloadAttr "cardWidth" "wide")}}><span>{{svg-jar "koenig/kg-img-wide"}}</span></button>
                    <button type="button" title="Full" class="gh-btn gh-btn-icon {{if (eq @payload.cardWidth "full") "gh-btn-group-selected"}}" {{on "click" (fn this.updatePayloadAttr "cardWidth" "full")}}><span>{{svg-jar "koenig/kg-img-full"}}</span></button>
                </div>
            </div>
        </div>

        <div class="kg-settings-panel-control kg-settings-panel-control-horizontal">
            <label class="kg-settings-panel-control-label" for="loop-toggle">Loop</label>
            <div class="kg-settings-panel-control-input">
                <div class="for-switch x-small">
                    <label class="switch">
                        <input type="checkbox" class="gh-input" id="loop-toggle" checked={{@payload.loop}} {{on "input" this.toggleLoop}}>
                        <span class="input-toggle-component mt1"></span>
                    </label>
                </div>
            </div>
        </div>

        <div class="kg-settings-panel-control">
            <label class="kg-settings-panel-control-label" for="button-url-input">Poster image</label>
            <div class="kg-settings-panel-control-input">

            </div>
        </div>
    </KoenigSettingsPanel>
{{/if}}
{'fraction_non_alphanumeric': 0.15796897038081806, 'fraction_numerical': 0.005641748942172073, 'mean_word_length': 2.150548876110821, 'pattern_counts': {'":': 0, '<': 135, '<?xml version=': 0, '>': 135, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6957399', 'n_tokens_mistral': 3550, 'n_tokens_neox': 3441, 'n_words': 656}