{"version":3,"names":["Fragment","props","children","prestoPlayerButtonCss","PrestoPlayerButtonStyle0","PrestoPlayerButton","componentWillLoad","this","handleSlotChange","click","button","focus","options","blur","hasLabel","hasPrefix","querySelector","hasSuffix","handleBlur","hasFocus","prestoBlur","emit","handleFocus","prestoFocus","handleClick","event","disabled","preventDefault","stopPropagation","render","isLink","href","interior","h","key","part","class","onSlotchange","name","type","size","submit","value","onBlur","onFocus","onClick","link","target","download","rel","undefined","role","tabindex"],"sources":["../../node_modules/stencil-fragment/index.js","src/components/ui/presto-player-button/presto-player-button.scss?tag=presto-player-button&encapsulation=shadow","src/components/ui/presto-player-button/presto-player-button.tsx"],"sourcesContent":["export default (props, children) => [ ...children ]",":host {\n display: inline-block;\n width: auto;\n cursor: pointer;\n}\n:host([full]) {\n display: block;\n}\n\n.button {\n display: inline-flex;\n align-items: stretch;\n justify-content: center;\n width: 100%;\n border-style: solid;\n border-width: var(--presto-player-button-border-width);\n font-family: var(--plyr-font-family, inherit);\n font-weight: var(--presto-player-button-font-weight, 500);\n text-decoration: none;\n user-select: none;\n white-space: nowrap;\n vertical-align: middle;\n padding: 0;\n transition: var(--presto--player-transition-fast, 150ms) background-color, var(--presto-player-transition-fast, 150ms) color, var(--presto-player-transition-fast, 150ms) border,\n var(--presto--player-transition-fast, 150ms) box-shadow;\n cursor: inherit;\n border-radius: var(--presto-player-button-border-radius, 0.25em);\n\n &::-moz-focus-inner {\n border: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &.button--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n\n // When disabled, prevent mouse events from bubbling up\n * {\n pointer-events: none;\n }\n }\n\n // Clicks on icons shouldn't prevent the button from gaining focus\n ::slotted(.presto--icon) {\n pointer-events: none;\n }\n}\n\n.button__prefix,\n.button__suffix {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n}\n\n.button__label {\n display: flex;\n align-items: center;\n\n ::slotted(presto-icon) {\n vertical-align: -2px;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Standard buttons\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.button {\n &.button--default {\n background-color: var(--presto-player-color-white, #fff);\n border-color: var(--presto-player-color-gray-300, #d1d5db);\n color: var(--presto-player-color-gray-600, #4b5563);\n\n &:hover:not(.button--disabled) {\n border-color: var(--presto-player-button-color, var(--plyr-color-main));\n color: var(--presto-player-button-color, var(--plyr-color-main));\n opacity: 0.75;\n }\n\n &:focus:not(.button--disabled) {\n border-color: var(--presto-player-button-color, var(--plyr-color-main));\n color: var(--presto-player-button-color, var(--plyr-color-main));\n opacity: 1;\n }\n\n &:active:not(.button--disabled) {\n border-color: var(--presto-player-button-color, var(--plyr-color-main));\n color: var(--presto-player-button-color, var(--plyr-color-main));\n opacity: 1;\n }\n }\n\n &.button--primary {\n background-color: var(--presto-player-button-color, var(--plyr-color-main));\n border-color: var(--presto-player-button-color, var(--plyr-color-main));\n color: var(--presto-player-button-text, #fff);\n\n &:hover:not(.button--disabled) {\n opacity: 0.9;\n }\n\n &:focus:not(.button--disabled) {\n opacity: 1;\n }\n\n &:active:not(.button--disabled) {\n opacity: 1;\n }\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Text buttons\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.button--text {\n background-color: transparent;\n border-color: transparent;\n color: var(--presto-player-button-color, var(--plyr-color-main));\n\n &:hover:not(.button--disabled) {\n background-color: transparent;\n border-color: transparent;\n opacity: 0.8;\n }\n\n &:focus:not(.button--disabled) {\n background-color: transparent;\n border-color: transparent;\n opacity: 0.7;\n }\n\n &:active:not(.button--disabled) {\n background-color: transparent;\n border-color: transparent;\n opacity: 0.7;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Size modifiers\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.button--small {\n font-size: var(--presto-player-button-font-size-small, 0.875em);\n height: var(--presto-player-button-height-small, 1.875em);\n line-height: calc(var(--presto-player-button-height-small, 1.875em) - var(--presto-player-button-border-width, 1px) * 2);\n}\n\n.button--medium {\n font-size: var(--presto-player-button-font-size-medium, 1em);\n height: var(--presto-player-button-height-medium, 2.5em);\n line-height: calc(var(--presto-player-button-height-medium, 2.5em) - var(--presto-player-button-border-width, 1px) * 2);\n}\n\n.button--large {\n font-size: var(--presto-player-button-font-size-large, 1.25em);\n height: var(--presto-player-button-height-large, 3.125em);\n line-height: calc(var(--presto-player-button-height-large, 3.125em) - var(--presto-player-button-border-width, 1px) * 2);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Full modifier\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n.button--full {\n display: block;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Button spacing\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.button--has-label {\n &.button--small .button__label {\n padding: 0 var(--presto-player-button-spacing-small, 0.75em);\n }\n\n &.button--medium .button__label {\n padding: 0 var(--presto-player-button-spacing-medium, 1em);\n }\n\n &.button--large .button__label {\n padding: 0 var(--presto-player-button-spacing-large, 1.25em);\n }\n}\n\n.button--has-prefix {\n &.button--small {\n padding-left: var(--presto-player-button-spacing-x-small, 0.5em);\n\n .button__label {\n padding-left: var(--presto-player-button-spacing-x-small, 0.5em);\n }\n }\n\n &.button--medium {\n padding-left: var(--presto-player-button-spacing-small, 0.75em);\n\n .button__label {\n padding-left: var(--presto-player-button-spacing-small, 0.75em);\n }\n }\n\n &.button--large {\n padding-left: var(--presto-player-button-spacing-small, 0.75em);\n\n .button__label {\n padding-left: var(--presto-player-button-spacing-small, 0.75em);\n }\n }\n}\n\n.button--has-suffix,\n.button--caret {\n &.button--small {\n padding-right: var(--presto-player-button-spacing-x-small, 0.5em);\n\n .button__label {\n padding-right: var(--presto-player-button-spacing-x-small, 0.5em);\n }\n }\n\n &.button--medium {\n padding-right: var(--presto-player-button-spacing-small, 0.75em);\n\n .button__label {\n padding-right: var(--presto-player-button-spacing-small, 0.75em);\n }\n }\n\n &.button--large {\n padding-right: var(--presto-player-button-spacing-small, 0.75em);\n\n .button__label {\n padding-right: var(--presto-player-button-spacing-small, 0.75em);\n }\n }\n}\n","import { Component, Prop, Event, EventEmitter, State, Element, h } from '@stencil/core';\nimport Fragment from 'stencil-fragment';\n\n@Component({\n tag: 'presto-player-button',\n styleUrl: 'presto-player-button.scss',\n shadow: true,\n})\nexport class PrestoPlayerButton {\n @Element() button: HTMLElement | HTMLAnchorElement;\n\n @State() private hasFocus = false;\n @State() private hasLabel = false;\n @State() private hasPrefix = false;\n @State() private hasSuffix = false;\n\n /** The button's type. */\n @Prop({ reflect: true }) type: 'default' | 'primary' | 'success' | 'info' | 'warning' | 'danger' | 'text' = 'default';\n\n /** The button's size. */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Draws the button with a caret for use with dropdowns, popovers, etc. */\n @Prop({ reflect: true }) full?: boolean = false;\n\n /** Disables the button. */\n @Prop({ reflect: true }) disabled?: boolean = false;\n\n /** Indicates if activating the button should submit the form. Ignored when `href` is set. */\n @Prop({ reflect: true }) submit?: boolean = false;\n\n /** An optional name for the button. Ignored when `href` is set. */\n @Prop() name: string;\n\n /** An optional value for the button. Ignored when `href` is set. */\n @Prop() value: string;\n\n /** When set, the underlying button will be rendered as an `` with this `href` instead of a `\n );\n\n const link = (\n this.handleBlur}\n onFocus={() => this.handleFocus}\n onClick={() => this.handleClick}\n >\n {interior}\n \n );\n\n return isLink ? link : button;\n }\n}\n"],"mappings":"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"}