Skip to content

Instantly share code, notes, and snippets.

View jacekkarczmarczyk's full-sized avatar

Jacek Karczmarczyk jacekkarczmarczyk

View GitHub Profile
@jacekkarczmarczyk
jacekkarczmarczyk / PageBreak.ts
Created November 15, 2022 12:04
TipTap PageBreak extension
import { mergeAttributes, Node } from '@tiptap/core';
import { TextSelection } from 'prosemirror-state';
export interface PageBreakRuleOptions {
HTMLAttributes: Record<string, any>;
}
declare module '@tiptap/core' {
interface Commands<ReturnType> {
pageBreak: {
@jacekkarczmarczyk
jacekkarczmarczyk / useAsyncComputed.ts
Created August 21, 2020 20:08
Async computed composable for Vue
// TODO debounce/throttle support
import { computed, ComputedRef, Ref, ref, watch } from '@vue/composition-api';
export function useAsyncComputed<R> (load: () => Promise<R>): {
error: ComputedRef<unknown>;
loading: ComputedRef<boolean>;
value: ComputedRef<R | undefined>;
forceRefresh: () => void;
};
@jacekkarczmarczyk
jacekkarczmarczyk / fakeComponents.ts
Created January 4, 2019 15:24
Vuetify fake components 1.4
import Vue from 'vue'
import { PropValidator } from 'vue/types/options'
Vue.component('v-app', {
props: {
dark: Boolean,
id: String,
light: Boolean
}
})
@jacekkarczmarczyk
jacekkarczmarczyk / fakeComponents.js
Last active August 13, 2020 01:01
Vuetify fake components 1.4
import Vue from 'vue'
// noinspection JSUnresolvedFunction
Vue.component('v-app', {
props: {
dark: Boolean,
id: String,
light: Boolean
}
})
@jacekkarczmarczyk
jacekkarczmarczyk / VerticalTabs.vue
Created August 5, 2018 09:56
Vuetify vertical tabs
<template>
<div :style="containerStyle" class="vertical-tabs" :class="{'vertical-tabs--vertical-text': verticalText, 'vertical-tabs--horizontal-text': !verticalText}">
<v-tabs :value="value" @input="$emit('input', $event)" :show-arrows="verticalText" :color="color" :slider-color="sliderColor" :style="tabsStyle">
<v-tab v-for="item in items" :key="item">{{ item }}</v-tab>
</v-tabs>
</div>
</template>
<script>
export default {