mirror of
https://github.com/primefaces/primevue.git
synced 2025-05-09 00:42:36 +00:00
Refactor #3879 - For ProgressSpinner
This commit is contained in:
parent
498b40f80f
commit
c7d3a2fd14
3 changed files with 52 additions and 3 deletions
|
@ -9,6 +9,41 @@
|
|||
*/
|
||||
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
|
||||
|
||||
export declare type ProgressSpinnerPassThroughOptionType = ProgressSpinnerPassThroughAttributes | ((options: ProgressSpinnerPassThroughMethodOptions) => ProgressSpinnerPassThroughAttributes) | null | undefined;
|
||||
|
||||
/**
|
||||
* Custom passthrough(pt) option method.
|
||||
*/
|
||||
export interface ProgressSpinnerPassThroughMethodOptions {
|
||||
props: ProgressSpinnerProps;
|
||||
}
|
||||
|
||||
/**
|
||||
* Custom passthrough(pt) options.
|
||||
* @see {@link ProgressSpinnerProps.pt}
|
||||
*/
|
||||
export interface ProgressSpinnerPassThroughOptions {
|
||||
/**
|
||||
* Uses to pass attributes to the root's DOM element.
|
||||
*/
|
||||
root?: ProgressSpinnerPassThroughOptionType;
|
||||
/**
|
||||
* Uses to pass attributes to the spinner's DOM element.
|
||||
*/
|
||||
spinner?: ProgressSpinnerPassThroughOptionType;
|
||||
/**
|
||||
* Uses to pass attributes to the circle's DOM element.
|
||||
*/
|
||||
circle?: ProgressSpinnerPassThroughOptionType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Custom passthrough attributes for each DOM elements
|
||||
*/
|
||||
export interface ProgressSpinnerPassThroughAttributes {
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
/**
|
||||
* Defines valid properties in ProgressSpinner component.
|
||||
*/
|
||||
|
@ -27,6 +62,11 @@ export interface ProgressSpinnerProps {
|
|||
* @defaultValue 2s
|
||||
*/
|
||||
animationDuration?: string | undefined;
|
||||
/**
|
||||
* Uses to pass attributes to DOM elements inside the component.
|
||||
* @type {ProgressSpinnerPassThroughOptions}
|
||||
*/
|
||||
pt?: ProgressSpinnerPassThroughOptions;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,14 +1,17 @@
|
|||
<template>
|
||||
<div class="p-progress-spinner" role="progressbar">
|
||||
<svg class="p-progress-spinner-svg" viewBox="25 25 50 50" :style="svgStyle">
|
||||
<circle class="p-progress-spinner-circle" cx="50" cy="50" r="20" :fill="fill" :stroke-width="strokeWidth" strokeMiterlimit="10" />
|
||||
<div class="p-progress-spinner" role="progressbar" v-bind="ptm('root')">
|
||||
<svg class="p-progress-spinner-svg" viewBox="25 25 50 50" :style="svgStyle" v-bind="ptm('spinner')">
|
||||
<circle class="p-progress-spinner-circle" cx="50" cy="50" r="20" :fill="fill" :stroke-width="strokeWidth" strokeMiterlimit="10" v-bind="ptm('circle')" />
|
||||
</svg>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BaseComponent from 'primevue/basecomponent';
|
||||
|
||||
export default {
|
||||
name: 'ProgressSpinner',
|
||||
extends: BaseComponent,
|
||||
props: {
|
||||
strokeWidth: {
|
||||
type: String,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue