Size: a a a

2020 November 01

К

Константин in Svelte [svelt]
Константин
компонент получается эдакой мертворожденной зомби-сущностью, которую можно только частично реанимировать, если за окном гроза (т.е. угадать, что от твоего компонента может потребоваться тем, кто будет его использовать в дальнейшем).
и, кстати, больше всего я охреневаю от того, что мэйнтейнеры делают вид, что ТАК ЗАДУМАНО и ТАК ДОЛЖНО БЫТЬ, и ПО-ДРУГОМУ ВАМ НЕ НАДО. Но зато они добавили тайпскрипт (сомнительное достижение). Извините, я просто ною.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
fivem
так дело то в том, что даже просто обертка (sveltestrap) навешивающая классы 66 кб сжирает в 14 компонентах. В банд прилетает не весь свелтстрап, а только то, что используешь
это реализация не более того
источник

КС

Кирилл Спасибович... in Svelte [svelt]
директива класс, директива юз, евенты
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Константин
и, кстати, больше всего я охреневаю от того, что мэйнтейнеры делают вид, что ТАК ЗАДУМАНО и ТАК ДОЛЖНО БЫТЬ, и ПО-ДРУГОМУ ВАМ НЕ НАДО. Но зато они добавили тайпскрипт (сомнительное достижение). Извините, я просто ною.
не, вишенка на торте это смерженый рфц 13
источник

К

Константин in Svelte [svelt]
а я даже не видел его )
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
директива класс, директива юз, евенты
эм, задача же взять кнопку из CSS кита и сделать из нее свелт компонент, разве нет?
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Pavel 🦇 Malyshev
эм, задача же взять кнопку из CSS кита и сделать из нее свелт компонент, разве нет?
а потом его юзать в проекте в разных ситуациях ?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кирилл Спасибович
а потом его юзать в проекте в разных ситуациях ?
ну конечно, но только в рамках того, что предоставлял CSS кит/фреймворк
источник

К

Константин in Svelte [svelt]
Pavel 🦇 Malyshev
эм, задача же взять кнопку из CSS кита и сделать из нее свелт компонент, разве нет?
реюзабельный свелт-компонент. Иначе это не компонент.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
вот пример из последнего на основе Spectre.css:
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
{#if href}
   <a
       {...$$restProps}
       {href}
       class="btn btn-{variant} btn-{size}"
       class:btn-block={block}
       class:btn-action={!!shape}
       class:circle={shape === 'circle'}
       class:loading
       class:active
       on:click
       on:dblclick
   >
       <slot name="iconRight" />
       <slot>Text</slot>
       <slot name="iconLeft" />
   </a>
{:else}
   <button
       {...$$restProps}
       class="btn btn-{variant} btn-{size}"
       class:btn-block={block}
       class:btn-action={!!shape}
       class:circle={shape === 'circle'}
       class:loading
       class:active
       on:click
       on:dblclick
   >
       <slot name="iconRight" />
       <slot>Text</slot>
       <slot name="iconLeft" />
   </button>
{/if}

<script lang="ts" context="module">
   import type { Size } from '@/types/size';
   type Variant = 'default' | 'primary' | 'link' | 'success' | 'error';
   type Shape = 'square' | 'circle' | false;
   export type { Size, Variant, Shape };
</script>

<script lang="ts">
   export let variant: Variant = 'default';
   export let size: Size = 'md';
   export let shape: Shape = false;
   export let active: boolean = false;
   export let loading: boolean = false;
   export let block: boolean = false;
   export let href: string = '';
</script>

<style lang="scss">
   @import 'spectre.css/src/variables';
   @import 'spectre.css/src/mixins';
   @import 'spectre.css/src/buttons';
   .circle {
       border-radius: 50%;
   }
   .btn.btn-xl {
       @extend .btn.btn-lg;
       height: $unit-12;
   }
   .btn.btn-action.btn-xl {
       width: $unit-12;
   }
   .btn.btn-xs {
       @extend .btn.btn-sm;
       height: $unit-5;
   }
   .btn.btn-action.btn-xs {
       width: $unit-5;
   }
</style>
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
совершенно прекрасно реюзается. пишутся тесты, все вариации кнопки из CSS фреймворка
источник

К

Константин in Svelte [svelt]
спорим, нет?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
из косяков тут главный это on:*
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
но нужные ивенты можно дописать со временем
источник

К

Константин in Svelte [svelt]
)))) jgthtlbk
источник

К

Константин in Svelte [svelt]
опередил*
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Константин
спорим, нет?
юзаю на проекте в 100500 местах
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Константин
опередил*
и что?
источник

К

Константин in Svelte [svelt]
да нет, ты опередил
источник