component.w-button(
:is="!disabled && route ? 'a' : 'button'"
:type="!route && type"
:href="(!disabled && route && (externalLink ? route : resolvedRoute)) || null"
:class="classes"
:disabled="!!disabled || null"
v-bind="attrs"
:style="styles"
@pointerdown="onPointerDownRipple")
w-icon(v-if="icon" v-bind="iconProps || {}") {{ icon }}
slot(v-else)
transition(name="scale-fade")
.w-button__loader(v-if="loading")
slot(name="loading")
svg(viewBox="0 0 40 40")
circle(
cx="20" cy="20" r="18"
fill="transparent"
stroke="currentColor"
stroke-width="4"
stroke-linecap="round")