@pine-ds/core 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/pds-accordion.js +1 -1
- package/components/pds-accordion.js.map +1 -1
- package/components/pds-button2.js +1 -1
- package/components/pds-button2.js.map +1 -1
- package/components/pds-checkbox2.js.map +1 -1
- package/components/pds-input.js +1 -1
- package/components/pds-input.js.map +1 -1
- package/components/pds-progress.js.map +1 -1
- package/components/pds-radio.js.map +1 -1
- package/components/pds-sortable-item.js +1 -1
- package/components/pds-sortable-item.js.map +1 -1
- package/components/pds-sortable.js.map +1 -1
- package/components/pds-switch.js +1 -1
- package/components/pds-switch.js.map +1 -1
- package/components/pds-table-head-cell2.js +1 -1
- package/components/pds-table-head-cell2.js.map +1 -1
- package/components/pds-table-head.js.map +1 -1
- package/components/pds-tabs.js +1 -1
- package/components/pds-tabs.js.map +1 -1
- package/components/pds-tooltip.js.map +1 -1
- package/dist/cjs/pds-accordion.cjs.entry.js +1 -1
- package/dist/cjs/pds-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-button.cjs.entry.js +1 -1
- package/dist/cjs/pds-button.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-checkbox_2.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-input.cjs.entry.js +1 -1
- package/dist/cjs/pds-input.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-progress.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-sortable-item.cjs.entry.js +1 -1
- package/dist/cjs/pds-sortable-item.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-sortable.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-switch.cjs.entry.js +1 -1
- package/dist/cjs/pds-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-table-head-cell.cjs.entry.js +1 -1
- package/dist/cjs/pds-table-head-cell.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-table-head.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-tabs.cjs.entry.js +1 -1
- package/dist/cjs/pds-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/pds-tooltip.cjs.entry.js.map +1 -1
- package/dist/collection/components/pds-accordion/pds-accordion.css +6 -25
- package/dist/collection/components/pds-button/pds-button.css +18 -18
- package/dist/collection/components/pds-button/stories/pds-button.stories.js +1 -0
- package/dist/collection/components/pds-input/pds-input.css +1 -1
- package/dist/collection/components/pds-sortable/pds-sortable-item/pds-sortable-item.css +1 -1
- package/dist/collection/components/pds-switch/pds-switch.css +7 -7
- package/dist/collection/components/pds-table/pds-table-head-cell/pds-table-head-cell.css +2 -2
- package/dist/collection/components/pds-tabs/pds-tabs.css +1 -1
- package/dist/docs.json +1 -1
- package/dist/esm/pds-accordion.entry.js +1 -1
- package/dist/esm/pds-accordion.entry.js.map +1 -1
- package/dist/esm/pds-button.entry.js +1 -1
- package/dist/esm/pds-button.entry.js.map +1 -1
- package/dist/esm/pds-checkbox_2.entry.js.map +1 -1
- package/dist/esm/pds-input.entry.js +1 -1
- package/dist/esm/pds-input.entry.js.map +1 -1
- package/dist/esm/pds-progress.entry.js.map +1 -1
- package/dist/esm/pds-radio.entry.js.map +1 -1
- package/dist/esm/pds-sortable-item.entry.js +1 -1
- package/dist/esm/pds-sortable-item.entry.js.map +1 -1
- package/dist/esm/pds-sortable.entry.js.map +1 -1
- package/dist/esm/pds-switch.entry.js +1 -1
- package/dist/esm/pds-switch.entry.js.map +1 -1
- package/dist/esm/pds-table-head-cell.entry.js +1 -1
- package/dist/esm/pds-table-head-cell.entry.js.map +1 -1
- package/dist/esm/pds-table-head.entry.js.map +1 -1
- package/dist/esm/pds-tabs.entry.js +1 -1
- package/dist/esm/pds-tabs.entry.js.map +1 -1
- package/dist/esm/pds-tooltip.entry.js.map +1 -1
- package/dist/esm-es5/pds-accordion.entry.js +1 -1
- package/dist/esm-es5/pds-accordion.entry.js.map +1 -1
- package/dist/esm-es5/pds-button.entry.js +1 -1
- package/dist/esm-es5/pds-button.entry.js.map +1 -1
- package/dist/esm-es5/pds-checkbox_2.entry.js.map +1 -1
- package/dist/esm-es5/pds-input.entry.js +1 -1
- package/dist/esm-es5/pds-input.entry.js.map +1 -1
- package/dist/esm-es5/pds-progress.entry.js.map +1 -1
- package/dist/esm-es5/pds-radio.entry.js.map +1 -1
- package/dist/esm-es5/pds-sortable-item.entry.js +1 -1
- package/dist/esm-es5/pds-sortable-item.entry.js.map +1 -1
- package/dist/esm-es5/pds-sortable.entry.js.map +1 -1
- package/dist/esm-es5/pds-switch.entry.js +1 -1
- package/dist/esm-es5/pds-switch.entry.js.map +1 -1
- package/dist/esm-es5/pds-table-head-cell.entry.js +1 -1
- package/dist/esm-es5/pds-table-head-cell.entry.js.map +1 -1
- package/dist/esm-es5/pds-table-head.entry.js.map +1 -1
- package/dist/esm-es5/pds-tabs.entry.js +1 -1
- package/dist/esm-es5/pds-tabs.entry.js.map +1 -1
- package/dist/esm-es5/pds-tooltip.entry.js.map +1 -1
- package/dist/pine-core/p-0a1e2528.system.entry.js.map +1 -1
- package/dist/pine-core/p-0a636312.system.entry.js.map +1 -1
- package/dist/pine-core/p-16e9d55b.entry.js.map +1 -1
- package/dist/pine-core/p-173f8d39.entry.js.map +1 -1
- package/dist/pine-core/p-2fe87b9d.entry.js.map +1 -1
- package/dist/pine-core/p-327e1afa.system.entry.js +2 -0
- package/dist/pine-core/p-327e1afa.system.entry.js.map +1 -0
- package/dist/pine-core/p-380e465b.entry.js +2 -0
- package/dist/pine-core/p-380e465b.entry.js.map +1 -0
- package/dist/pine-core/p-43783da1.system.entry.js +2 -0
- package/dist/pine-core/p-43783da1.system.entry.js.map +1 -0
- package/dist/pine-core/p-4f7ee11c.entry.js.map +1 -1
- package/dist/pine-core/p-5073b1c0.entry.js.map +1 -1
- package/dist/pine-core/p-5df59e63.system.entry.js +2 -0
- package/dist/pine-core/p-5df59e63.system.entry.js.map +1 -0
- package/dist/pine-core/p-61ab207f.entry.js.map +1 -1
- package/dist/pine-core/p-6e315022.entry.js +2 -0
- package/dist/pine-core/p-6e315022.entry.js.map +1 -0
- package/dist/pine-core/p-7546babc.entry.js +2 -0
- package/dist/pine-core/p-7546babc.entry.js.map +1 -0
- package/dist/pine-core/p-75c441ef.system.entry.js.map +1 -1
- package/dist/pine-core/p-7611d073.system.js +1 -1
- package/dist/pine-core/p-7f917c20.entry.js +2 -0
- package/dist/pine-core/p-7f917c20.entry.js.map +1 -0
- package/dist/pine-core/p-9e33f4fb.system.entry.js.map +1 -1
- package/dist/pine-core/p-b103a7a9.entry.js +2 -0
- package/dist/pine-core/p-b103a7a9.entry.js.map +1 -0
- package/dist/pine-core/p-bc1cb8e2.entry.js +2 -0
- package/dist/pine-core/p-bc1cb8e2.entry.js.map +1 -0
- package/dist/pine-core/p-c721d912.system.entry.js +2 -0
- package/dist/pine-core/p-c721d912.system.entry.js.map +1 -0
- package/dist/pine-core/p-cfb22651.system.entry.js.map +1 -1
- package/dist/pine-core/p-d0828f12.entry.js +2 -0
- package/dist/pine-core/p-d0828f12.entry.js.map +1 -0
- package/dist/pine-core/p-dacd68cf.system.entry.js.map +1 -1
- package/dist/pine-core/p-de79befb.system.entry.js +2 -0
- package/dist/pine-core/p-de79befb.system.entry.js.map +1 -0
- package/dist/pine-core/p-e3455d30.system.entry.js +2 -0
- package/dist/pine-core/p-e3455d30.system.entry.js.map +1 -0
- package/dist/pine-core/p-f12c58dc.system.entry.js +2 -0
- package/dist/pine-core/p-f12c58dc.system.entry.js.map +1 -0
- package/dist/pine-core/pine-core.css +1 -1
- package/dist/pine-core/pine-core.esm.js +1 -1
- package/hydrate/index.js +7 -7
- package/package.json +1 -1
- package/dist/pine-core/p-12a4c0ae.system.entry.js +0 -2
- package/dist/pine-core/p-12a4c0ae.system.entry.js.map +0 -1
- package/dist/pine-core/p-206b272d.entry.js +0 -2
- package/dist/pine-core/p-206b272d.entry.js.map +0 -1
- package/dist/pine-core/p-2e01613b.entry.js +0 -2
- package/dist/pine-core/p-2e01613b.entry.js.map +0 -1
- package/dist/pine-core/p-2f758669.system.entry.js +0 -2
- package/dist/pine-core/p-2f758669.system.entry.js.map +0 -1
- package/dist/pine-core/p-4dfae634.system.entry.js +0 -2
- package/dist/pine-core/p-4dfae634.system.entry.js.map +0 -1
- package/dist/pine-core/p-8ce3a7ef.entry.js +0 -2
- package/dist/pine-core/p-8ce3a7ef.entry.js.map +0 -1
- package/dist/pine-core/p-94371829.system.entry.js +0 -2
- package/dist/pine-core/p-94371829.system.entry.js.map +0 -1
- package/dist/pine-core/p-b48975f0.system.entry.js +0 -2
- package/dist/pine-core/p-b48975f0.system.entry.js.map +0 -1
- package/dist/pine-core/p-b52c9d3d.entry.js +0 -2
- package/dist/pine-core/p-b52c9d3d.entry.js.map +0 -1
- package/dist/pine-core/p-c1249ab9.entry.js +0 -2
- package/dist/pine-core/p-c1249ab9.entry.js.map +0 -1
- package/dist/pine-core/p-c3828098.entry.js +0 -2
- package/dist/pine-core/p-c3828098.entry.js.map +0 -1
- package/dist/pine-core/p-d73e2a61.system.entry.js +0 -2
- package/dist/pine-core/p-d73e2a61.system.entry.js.map +0 -1
- package/dist/pine-core/p-f71ff6cb.system.entry.js +0 -2
- package/dist/pine-core/p-f71ff6cb.system.entry.js.map +0 -1
- package/dist/pine-core/p-fffaa868.entry.js +0 -2
- package/dist/pine-core/p-fffaa868.entry.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-6f0bb1b9.js";import{m as messageId,P as PdsLabel,a as assignDescription}from"./pds-label-d7e11551.js";var pdsSwitchCss=':host{--border-radius-input:var(--pine-border-radius-200);--box-shadow-focus:0 0 0 2px var(--color-outline-focus);--box-shadow-focus-error:0 0 0 2px var(--color-outline-focus-error);--box-shadow-input-toggle:0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 0 2px 0 rgba(0, 0, 0, 0.08);--color-background-checked:var(--pine-color-charcoal-400);--color-background-checked-hover:var(--pine-color-charcoal-400);--color-background-disabled:var(--pine-color-grey-300);--color-background-hover:var(--pine-color-grey-500);--color-background-input-default:var(--pine-color-grey-400);--color-input-toggle:var(--pine-color-white);--color-message-text:var(--pine-color-charcoal-200);--color-outline-focus:var(--pine-color-blue-200);--color-outline-focus-error:var(--pine-color-red-200);--color-text-default:var(--pine-color-charcoal-400);--color-text-disabled:var(--pine-color-grey-500);--color-text-error:var(--pine-color-red-300);--dimension-input-height:20px;--dimension-input-width:36px;--line-height-label:var(--pine-line-height-150);--sizing-input-toggle-size:calc(var(--dimension-input-height) - (var(--spacing-input-toggle-offset) * 2));--
|
|
1
|
+
import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-6f0bb1b9.js";import{m as messageId,P as PdsLabel,a as assignDescription}from"./pds-label-d7e11551.js";var pdsSwitchCss=':host{--border-radius-input:var(--pine-border-radius-200);--box-shadow-focus:0 0 0 2px var(--color-outline-focus);--box-shadow-focus-error:0 0 0 2px var(--color-outline-focus-error);--box-shadow-input-toggle:0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 0 2px 0 rgba(0, 0, 0, 0.08);--color-background-checked:var(--pine-color-charcoal-400);--color-background-checked-hover:var(--pine-color-charcoal-400);--color-background-disabled:var(--pine-color-grey-300);--color-background-hover:var(--pine-color-grey-500);--color-background-input-default:var(--pine-color-grey-400);--color-input-toggle:var(--pine-color-white);--color-message-text:var(--pine-color-charcoal-200);--color-outline-focus:var(--pine-color-blue-200);--color-outline-focus-error:var(--pine-color-red-200);--color-text-default:var(--pine-color-charcoal-400);--color-text-disabled:var(--pine-color-grey-500);--color-text-error:var(--pine-color-red-300);--dimension-input-height:20px;--dimension-input-width:36px;--line-height-label:var(--pine-line-height-150);--sizing-input-toggle-size:calc(var(--dimension-input-height) - (var(--spacing-input-toggle-offset) * 2));--spacing-label-gap-size:var(--pine-spacing-150);--spacing-input-toggle-offset:calc(var(--pine-spacing-050) / 2);--spacing-message-block:var(--pine-spacing-050);--spacing-message-inline:calc(var(--dimension-input-width) + var(--spacing-label-gap-size));--number-transition-timing:0.15s ease-out;-ms-flex-align:start;align-items:flex-start;color:var(--color-text-default);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-margin-after:var(--pine-spacing-md);margin-block-end:var(--pine-spacing-md);position:relative}:host(.pds-switch--error){color:var(--color-text-error)}:host(.pds-switch--error) input,:host(.pds-switch--error) input:checked,:host(.pds-switch--error) input:hover:not(:disabled):not(:checked){background-color:var(--color-text-error)}:host(.pds-switch--error) input:focus-visible:not(:disabled):not(:checked){-webkit-box-shadow:var(--box-shadow-focus-error);box-shadow:var(--box-shadow-focus-error)}input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-background-input-default);border:0;border-radius:var(--border-radius-input);cursor:pointer;display:inline-block;height:var(--dimension-input-height);margin:0;padding:0;position:relative;-webkit-transform:translateY(2px);transform:translateY(2px);-webkit-transition:var(--number-transition-timing);transition:var(--number-transition-timing);-webkit-transition-property:background, border, color;transition-property:background, border, color;width:var(--dimension-input-width)}input::after{background:var(--color-input-toggle);border-radius:50%;-webkit-box-shadow:var(--box-shadow-input-toggle);box-shadow:var(--box-shadow-input-toggle);content:"";display:block;height:var(--sizing-input-toggle-size);inset-block-start:50%;inset-inline-start:50%;position:absolute;-webkit-transform:translate3d(-100%, -50%, 0);transform:translate3d(-100%, -50%, 0);-webkit-transition:-webkit-transform var(--number-transition-timing);transition:-webkit-transform var(--number-transition-timing);transition:transform var(--number-transition-timing);transition:transform var(--number-transition-timing), -webkit-transform var(--number-transition-timing);width:var(--sizing-input-toggle-size)}label{cursor:pointer;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-positive:1;flex-grow:1;line-height:var(--line-height-label);-webkit-margin-start:var(--spacing-label-gap-size);margin-inline-start:var(--spacing-label-gap-size)}.pds-switch--error label{color:inherit}.pds-switch__message{color:var(--color-message-text);-ms-flex:1 0 100%;flex:1 0 100%;font-size:var(--pine-font-size-body-sm);line-height:var(--pine-line-height-sm);-webkit-margin-start:var(--spacing-message-inline);margin-inline-start:var(--spacing-message-inline)}.pds-switch__message+.pds-switch__message{-webkit-margin-before:var(--spacing-message-block);margin-block-start:var(--spacing-message-block)}.pds-switch__message--error{color:inherit}input:disabled{background-color:var(--color-background-disabled);cursor:not-allowed}input:disabled~label{color:var(--color-text-disabled);cursor:initial}input:disabled .pds-switch__message{color:initial}input:hover:not(:disabled){background-color:var(--color-background-hover)}input:focus-visible:not(:disabled){-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}input:checked::after{-webkit-transform:translate3d(0, -50%, 0);transform:translate3d(0, -50%, 0)}input:checked:not(:disabled){background-color:currentColor;color:var(--color-background-checked)}input:checked:not(:disabled):hover{border-color:currentColor;color:var(--color-background-checked-hover)}';var PdsSwitchStyle0=pdsSwitchCss;var PdsSwitch=function(){function e(e){var i=this;registerInstance(this,e);this.pdsSwitchChange=createEvent(this,"pdsSwitchChange",7);this.onSwitchUpdate=function(e){if(i.disabled)return;i.pdsSwitchChange.emit(e)};this.switchClassNames=function(){var e="pds-switch";if(i.invalid===true){e+=" pds-switch--error"}if(i.helperMessage!==undefined){e+=" pds-switch--message"}return e};this.componentId=undefined;this.checked=false;this.disabled=false;this.errorMessage=undefined;this.helperMessage=undefined;this.invalid=false;this.label=undefined;this.name=undefined;this.required=false;this.type="checkbox";this.value=undefined}e.prototype.render=function(){return h(Host,{key:"f00007b5d1bde6895cb7f410b82e5c3669d75327",class:this.switchClassNames(),"aria-disabled":this.disabled?"true":null},h("input",{key:"c6c0ae9576a198c9f0038ebd22b78df0c5a41794","aria-describedby":assignDescription(this.componentId,this.invalid,this.helperMessage),"aria-invalid":this.invalid?"true":undefined,checked:this.checked,class:"pds-switch__input",disabled:this.disabled,id:this.componentId,name:this.name?this.name:this.componentId,onChange:this.onSwitchUpdate,required:this.required,type:this.type,value:this.value}),h(PdsLabel,{key:"d6c3b0c584d2c4fd6cc99507794a3e961fbf99a5",classNames:"pds-switch__label",htmlFor:this.componentId,text:this.label}),this.helperMessage&&h("div",{key:"4f9f581e9a01e67d076bafaf1d28fe52b87081fc",class:"pds-switch__message",id:messageId(this.componentId,"helper")},this.helperMessage),this.errorMessage&&h("div",{key:"aeca71b92664b2e7ef4c7fb0d103996a05c5318f",class:"pds-switch__message pds-switch__message--error",id:messageId(this.componentId,"error"),"aria-live":"assertive"},this.errorMessage))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();PdsSwitch.style=PdsSwitchStyle0;export{PdsSwitch as pds_switch};
|
|
2
2
|
//# sourceMappingURL=pds-switch.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pdsSwitchCss","PdsSwitchStyle0","PdsSwitch","this","onSwitchUpdate","e","_this","disabled","pdsSwitchChange","emit","switchClassNames","switchClasses","invalid","helperMessage","undefined","prototype","render","h","Host","key","class","assignDescription","componentId","checked","id","name","onChange","required","type","value","PdsLabel","classNames","htmlFor","text","label","messageId","errorMessage"],"sources":["src/components/pds-switch/pds-switch.scss?tag=pds-switch&encapsulation=shadow","src/components/pds-switch/pds-switch.tsx"],"sourcesContent":[":host {\n --border-radius-input: var(--pine-border-radius-200);\n --box-shadow-focus: 0 0 0 2px var(--color-outline-focus);\n --box-shadow-focus-error: 0 0 0 2px var(--color-outline-focus-error);\n --box-shadow-input-toggle: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 0 2px 0 rgba(0, 0, 0, 0.08);\n\n --color-background-checked: var(--pine-color-charcoal-400);\n --color-background-checked-hover: var(--pine-color-charcoal-400);\n --color-background-disabled: var(--pine-color-grey-300);\n --color-background-hover: var(--pine-color-grey-500);\n --color-background-input-default: var(--pine-color-grey-400);\n --color-input-toggle: var(--pine-color-white);\n --color-message-text: var(--pine-color-charcoal-200);\n --color-outline-focus: var(--pine-color-blue-200);\n --color-outline-focus-error: var(--pine-color-red-200);\n --color-text-default: var(--pine-color-charcoal-400);\n --color-text-disabled: var(--pine-color-grey-500);\n --color-text-error: var(--pine-color-red-300);\n\n --dimension-input-height: 20px;\n --dimension-input-width: 36px;\n\n --line-height-label: var(--pine-line-height-150);\n\n --sizing-input-toggle-size: calc(var(--dimension-input-height) - (var(--spacing-input-toggle-offset) * 2));\n --
|
|
1
|
+
{"version":3,"names":["pdsSwitchCss","PdsSwitchStyle0","PdsSwitch","this","onSwitchUpdate","e","_this","disabled","pdsSwitchChange","emit","switchClassNames","switchClasses","invalid","helperMessage","undefined","prototype","render","h","Host","key","class","assignDescription","componentId","checked","id","name","onChange","required","type","value","PdsLabel","classNames","htmlFor","text","label","messageId","errorMessage"],"sources":["src/components/pds-switch/pds-switch.scss?tag=pds-switch&encapsulation=shadow","src/components/pds-switch/pds-switch.tsx"],"sourcesContent":[":host {\n --border-radius-input: var(--pine-border-radius-200);\n\n --box-shadow-focus: 0 0 0 2px var(--color-outline-focus);\n --box-shadow-focus-error: 0 0 0 2px var(--color-outline-focus-error);\n --box-shadow-input-toggle: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 0 2px 0 rgba(0, 0, 0, 0.08);\n\n --color-background-checked: var(--pine-color-charcoal-400);\n --color-background-checked-hover: var(--pine-color-charcoal-400);\n --color-background-disabled: var(--pine-color-grey-300);\n --color-background-hover: var(--pine-color-grey-500);\n --color-background-input-default: var(--pine-color-grey-400);\n --color-input-toggle: var(--pine-color-white);\n --color-message-text: var(--pine-color-charcoal-200);\n --color-outline-focus: var(--pine-color-blue-200);\n --color-outline-focus-error: var(--pine-color-red-200);\n --color-text-default: var(--pine-color-charcoal-400);\n --color-text-disabled: var(--pine-color-grey-500);\n --color-text-error: var(--pine-color-red-300);\n\n --dimension-input-height: 20px;\n --dimension-input-width: 36px;\n\n --line-height-label: var(--pine-line-height-150);\n\n --sizing-input-toggle-size: calc(var(--dimension-input-height) - (var(--spacing-input-toggle-offset) * 2));\n\n --spacing-label-gap-size: var(--pine-spacing-150);\n --spacing-input-toggle-offset: calc(var(--pine-spacing-050) / 2);\n --spacing-message-block: var(--pine-spacing-050);\n --spacing-message-inline: calc(var(--dimension-input-width) + var(--spacing-label-gap-size));\n\n --number-transition-timing: 0.15s ease-out;\n\n\n align-items: flex-start;\n color: var(--color-text-default);\n display: inline-flex;\n flex-flow: row wrap;\n margin-block-end: var(--pine-spacing-md);\n position: relative;\n}\n\n:host(.pds-switch--error) {\n color: var(--color-text-error);\n\n input,\n input:checked,\n input:hover:not(:disabled):not(:checked) {\n background-color: var(--color-text-error);\n }\n\n input:focus-visible:not(:disabled):not(:checked) {\n box-shadow: var(--box-shadow-focus-error);\n }\n}\n\n// switch container\ninput {\n appearance: none;\n background: var(--color-background-input-default);\n border: 0;\n border-radius: var(--border-radius-input);\n cursor: pointer;\n display: inline-block;\n height: var(--dimension-input-height);\n margin: 0;\n padding: 0;\n position: relative;\n transform: translateY(2px);\n transition: var(--number-transition-timing);\n transition-property: background, border, color;\n width: var(--dimension-input-width);\n\n // switch toggle\n &::after {\n background: var(--color-input-toggle);\n border-radius: 50%;\n box-shadow: var(--box-shadow-input-toggle);\n content: \"\";\n display: block;\n height: var(--sizing-input-toggle-size);\n inset-block-start: 50%;\n inset-inline-start: 50%;\n position: absolute;\n transform: translate3d(-100%, -50%, 0);\n transition: transform var(--number-transition-timing);\n width: var(--sizing-input-toggle-size);\n }\n}\n\nlabel {\n cursor: pointer;\n display: inline-flex;\n flex-grow: 1;\n line-height: var(--line-height-label);\n margin-inline-start: var(--spacing-label-gap-size);\n\n .pds-switch--error & {\n color: inherit;\n }\n}\n\n// Help and error messages\n.pds-switch__message {\n color: var(--color-message-text);\n flex: 1 0 100%;\n font-size: var(--pine-font-size-body-sm);\n line-height: var(--pine-line-height-sm);\n margin-inline-start: var(--spacing-message-inline);\n\n + .pds-switch__message {\n margin-block-start: var(--spacing-message-block);\n }\n}\n\n.pds-switch__message--error {\n color: inherit;\n}\n\n// Disabled state\ninput:disabled {\n background-color: var(--color-background-disabled);\n cursor: not-allowed;\n\n ~ label {\n color: var(--color-text-disabled);\n cursor: initial;\n }\n\n .pds-switch__message {\n color: initial;\n }\n}\n\n// Hover state\ninput:hover:not(:disabled) {\n background-color: var(--color-background-hover);\n}\n\n // Focus state\ninput:focus-visible:not(:disabled) {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n}\n\n// 'Checked' state\n// switch toggle\ninput:checked::after {\n transform: translate3d(0, -50%, 0);\n}\n\n// switch container\ninput:checked:not(:disabled) {\n background-color: currentColor;\n color: var(--color-background-checked);\n\n &:hover {\n border-color: currentColor;\n color: var(--color-background-checked-hover);\n }\n}\n","import { Component, Element, Event, EventEmitter, Host, h, Prop } from '@stencil/core';\nimport { assignDescription, messageId } from '../../utils/form';\nimport { PdsLabel } from '../_internal/pds-label/pds-label';\n\n@Component({\n tag: 'pds-switch',\n styleUrl: 'pds-switch.scss',\n shadow: true,\n})\nexport class PdsSwitch {\n @Element() el: HTMLPdsSwitchElement;\n\n /**\n * A unique identifier used for the underlying component `id` attribute and the label `for` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Determines the input 'checked' state\n */\n @Prop() checked = false;\n\n /**\n * Determines the input 'disabled' state, preventing user interaction\n */\n @Prop() disabled? = false;\n\n /**\n * Displays message text describing an invalid state\n */\n @Prop() errorMessage?: string;\n\n /**\n * Displays help text for additional description of an input\n */\n @Prop() helperMessage: string;\n\n /**\n * Determines the input 'invalid' state, signifying an error is present\n */\n @Prop() invalid? = false;\n\n /**\n * Displays text to describe the input\n */\n @Prop() label!: string;\n\n /**\n * Identifies form data and unifies a group of radio inputs for toggling a single property/value\n */\n @Prop() name: string;\n\n /**\n * Determines the 'required' state of the input\n */\n @Prop() required? = false;\n\n /**\n * Specifies the underlying input element type\n * @defaultValue 'checkbox'\n */\n @Prop() type: 'checkbox' | 'radio' = 'checkbox';\n\n /**\n * Provides input with a string submitted in form data, and can be used to distinguish radio inputs\n */\n @Prop() value: string;\n\n /**\n * Emits an event on input change\n */\n @Event() pdsSwitchChange: EventEmitter<InputEvent>;\n\n private onSwitchUpdate = (e: Event) => {\n if (this.disabled) return;\n this.pdsSwitchChange.emit(e as InputEvent);\n };\n\n /**\n * Generate switch classes\n */\n private switchClassNames = () => {\n let switchClasses = `pds-switch`;\n\n if (this.invalid === true) {\n switchClasses += \" pds-switch--error\";\n }\n if (this.helperMessage !== undefined) {\n switchClasses += \" pds-switch--message\";\n }\n return switchClasses;\n };\n\n render() {\n return (\n <Host class={this.switchClassNames()} aria-disabled={this.disabled ? 'true' : null}>\n <input\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n checked={this.checked}\n class=\"pds-switch__input\"\n disabled={this.disabled}\n id={this.componentId}\n name={this.name ? this.name : this.componentId}\n onChange={this.onSwitchUpdate}\n required={this.required}\n type={this.type}\n value={this.value}\n />\n <PdsLabel classNames=\"pds-switch__label\" htmlFor={this.componentId} text={this.label} />\n {this.helperMessage &&\n <div\n class={`pds-switch__message`}\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </div>\n }\n {this.errorMessage &&\n <div\n class={`pds-switch__message pds-switch__message--error`}\n id={messageId(this.componentId, 'error')}\n aria-live=\"assertive\"\n >\n {this.errorMessage}\n </div>\n }\n </Host>\n );\n }\n}\n"],"mappings":"6LAAA,IAAMA,aAAe,qqJACrB,IAAAC,gBAAeD,a,ICQFE,UAAS,W,6GAgEZC,KAAAC,eAAiB,SAACC,GACxB,GAAIC,EAAKC,SAAU,OACnBD,EAAKE,gBAAgBC,KAAKJ,E,EAMpBF,KAAAO,iBAAmB,WACzB,IAAIC,EAAgB,aAEpB,GAAIL,EAAKM,UAAY,KAAM,CACzBD,GAAiB,oB,CAEnB,GAAIL,EAAKO,gBAAkBC,UAAW,CACpCH,GAAiB,sB,CAEnB,OAAOA,C,0CAtES,M,cAKE,M,sEAeD,M,uDAeC,M,UAMiB,W,qBAgCrCT,EAAAa,UAAAC,OAAA,WACE,OACEC,EAACC,KAAI,CAAAC,IAAA,2CAACC,MAAOjB,KAAKO,mBAAkB,gBAAiBP,KAAKI,SAAW,OAAS,MAC5EU,EAAA,SAAAE,IAAA,8DACoBE,kBAAkBlB,KAAKmB,YAAanB,KAAKS,QAAST,KAAKU,eAAc,eACzEV,KAAKS,QAAU,OAASE,UACtCS,QAASpB,KAAKoB,QACdH,MAAM,oBACNb,SAAUJ,KAAKI,SACfiB,GAAIrB,KAAKmB,YACTG,KAAMtB,KAAKsB,KAAOtB,KAAKsB,KAAOtB,KAAKmB,YACnCI,SAAUvB,KAAKC,eACfuB,SAAUxB,KAAKwB,SACfC,KAAMzB,KAAKyB,KACXC,MAAO1B,KAAK0B,QAEdZ,EAACa,SAAQ,CAAAX,IAAA,2CAACY,WAAW,oBAAoBC,QAAS7B,KAAKmB,YAAaW,KAAM9B,KAAK+B,QAC9E/B,KAAKU,eACJI,EAAA,OAAAE,IAAA,2CACEC,MAAO,sBACPI,GAAIW,UAAUhC,KAAKmB,YAAa,WAE/BnB,KAAKU,eAGTV,KAAKiC,cACJnB,EAAA,OAAAE,IAAA,2CACEC,MAAO,iDACPI,GAAIW,UAAUhC,KAAKmB,YAAa,SAAQ,YAC9B,aAETnB,KAAKiC,c,gIAnHI,G"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-6f0bb1b9.js";import{e as upSmall,d as downSmall}from"./index-c6934caf.js";var pdsTableHeadCellCss=":host{--border-head-cell-default:var(--pine-border-width-thin) solid var(--pine-color-grey-300);--box-shadow-default:3px 3px 6px -2px rgba(0, 0, 0, 0.1);--color-background-fixed:var(--pine-color-white);--color-sorting:var(--pine-color-charcoal-500);--color-default:var(--pine-color-charcoal-200);--dimension-fixed-cell-position:0;--font-size-head-cell:var(--pine-font-size-087);--font-weight-cell-default:var(--pine-font-weight-normal);--line-height-cell-default:var(--pine-line-height-125);--padding-cell-default:calc(var(--pine-spacing-300) / 2);--spacing-margin-inline-start-arrow:var(--pine-spacing-050);--spacing-padding-arrow:calc(var(--pine-spacing-050) / 2);--spacing-padding-block-compact:var(--pine-spacing-050);-webkit-border-after:var(--border-head-cell-default);border-block-end:var(--border-head-cell-default);color:var(--color-default);display:table-cell;font-size:var(--font-size-head-cell);font-style:normal;font-weight:var(--font-weight-cell-default);line-height:var(--line-height-cell-default);padding:var(--padding-cell-default);text-align:start;vertical-align:inherit}:host(.is-compact){padding-block:var(--spacing-padding-block-compact)}:host(.is-fixed){background:var(--color-background-fixed);left:var(--dimension-fixed-cell-position);position:-webkit-sticky;position:sticky;z-index:1}:host(.has-scrolled.is-fixed){-webkit-box-shadow:var(--box-shadow-default);box-shadow:var(--box-shadow-default)}:host(.is-sortable){cursor:pointer}:host(.is-sortable) pds-icon{-webkit-margin-start:var(--spacing-margin-inline-start-arrow);margin-inline-start:var(--spacing-margin-inline-start-arrow);-webkit-padding-before:var(--spacing-padding-arrow);padding-block-start:var(--spacing-padding-arrow);position:absolute}:host(.is-sortable:hover),:host(.is-active){color:var(--color-sorting)}";var PdsTableHeadCellStyle0=pdsTableHeadCellCss;var PdsTableHeadCell=function(){function e(e){var i=this;registerInstance(this,e);this.pdsTableSort=createEvent(this,"pdsTableSort",7);this.handleScroll=function(){if(i.tableRef.scrollLeft>0){i.tableScrolling=true}else{i.tableScrolling=false}};this.toggleSort=function(){if(i.sortable){var e=i.hostElement.innerText.trim();i.sortingDirection=i.sortingDirection==="asc"?"desc":"asc";i.tableRef.querySelectorAll("pds-table-head-cell").forEach((function(e){e.classList.remove("is-active")}));i.hostElement.classList.toggle("is-active");i.pdsTableSort.emit({column:e,direction:i.sortingDirection})}};this.sortable=undefined;this.sortingDirection="asc";this.tableScrolling=false}e.prototype.componentWillRender=function(){this.tableRef=this.hostElement.closest("pds-table")};e.prototype.componentDidLoad=function(){if(this.tableRef&&this.tableRef.responsive&&this.tableRef.fixedColumn){this.tableRef.addEventListener("scroll",this.handleScroll)}};e.prototype.classNames=function(){var e=[];if(this.tableRef&&this.tableRef.compact){e.push("is-compact")}if(this.sortable){e.push("is-sortable")}if(this.sortable&&this.sortingDirection!==null){e.push("sort-"+this.sortingDirection)}if(this.tableRef&&this.tableRef.fixedColumn&&this.tableScrolling){e.push("has-scrolled")}return e.join(" ")};e.prototype.render=function(){return h(Host,{key:"b8b24eb690d19c1d6476fd44c69a3231b540d476",class:this.classNames(),role:"columnheader",onClick:this.toggleSort,style:this.tableRef&&this.tableRef.fixedColumn&&this.tableRef.selectable?{"--fixed-cell-position":"40px"}:{}},h("slot",{key:"831ea922b3fb2166852208f2a9520414c93f6954"}),this.sortable&&h("pds-icon",{key:"0afb8d56992327112c64e79d6bfc7c1d192d9732",icon:this.sortingDirection==="asc"?upSmall:downSmall}))};Object.defineProperty(e.prototype,"hostElement",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();PdsTableHeadCell.style=PdsTableHeadCellStyle0;export{PdsTableHeadCell as pds_table_head_cell};
|
|
1
|
+
import{r as registerInstance,c as createEvent,h,H as Host,g as getElement}from"./index-6f0bb1b9.js";import{e as upSmall,d as downSmall}from"./index-c6934caf.js";var pdsTableHeadCellCss=":host{--border-head-cell-default:var(--pine-border-width-thin) solid var(--pine-color-grey-300);--box-shadow-default:3px 3px 6px -2px rgba(0, 0, 0, 0.1);--color-background-fixed:var(--pine-color-white);--color-sorting:var(--pine-color-charcoal-500);--color-text-default:var(--pine-color-charcoal-200);--dimension-fixed-cell-position:0;--font-size-head-cell:var(--pine-font-size-087);--font-weight-cell-default:var(--pine-font-weight-normal);--line-height-cell-default:var(--pine-line-height-125);--padding-cell-default:calc(var(--pine-spacing-300) / 2);--spacing-margin-inline-start-arrow:var(--pine-spacing-050);--spacing-padding-arrow:calc(var(--pine-spacing-050) / 2);--spacing-padding-block-compact:var(--pine-spacing-050);-webkit-border-after:var(--border-head-cell-default);border-block-end:var(--border-head-cell-default);color:var(--color-text-default);display:table-cell;font-size:var(--font-size-head-cell);font-style:normal;font-weight:var(--font-weight-cell-default);line-height:var(--line-height-cell-default);padding:var(--padding-cell-default);text-align:start;vertical-align:inherit}:host(.is-compact){padding-block:var(--spacing-padding-block-compact)}:host(.is-fixed){background:var(--color-background-fixed);left:var(--dimension-fixed-cell-position);position:-webkit-sticky;position:sticky;z-index:1}:host(.has-scrolled.is-fixed){-webkit-box-shadow:var(--box-shadow-default);box-shadow:var(--box-shadow-default)}:host(.is-sortable){cursor:pointer}:host(.is-sortable) pds-icon{-webkit-margin-start:var(--spacing-margin-inline-start-arrow);margin-inline-start:var(--spacing-margin-inline-start-arrow);-webkit-padding-before:var(--spacing-padding-arrow);padding-block-start:var(--spacing-padding-arrow);position:absolute}:host(.is-sortable:hover),:host(.is-active){color:var(--color-sorting)}";var PdsTableHeadCellStyle0=pdsTableHeadCellCss;var PdsTableHeadCell=function(){function e(e){var i=this;registerInstance(this,e);this.pdsTableSort=createEvent(this,"pdsTableSort",7);this.handleScroll=function(){if(i.tableRef.scrollLeft>0){i.tableScrolling=true}else{i.tableScrolling=false}};this.toggleSort=function(){if(i.sortable){var e=i.hostElement.innerText.trim();i.sortingDirection=i.sortingDirection==="asc"?"desc":"asc";i.tableRef.querySelectorAll("pds-table-head-cell").forEach((function(e){e.classList.remove("is-active")}));i.hostElement.classList.toggle("is-active");i.pdsTableSort.emit({column:e,direction:i.sortingDirection})}};this.sortable=undefined;this.sortingDirection="asc";this.tableScrolling=false}e.prototype.componentWillRender=function(){this.tableRef=this.hostElement.closest("pds-table")};e.prototype.componentDidLoad=function(){if(this.tableRef&&this.tableRef.responsive&&this.tableRef.fixedColumn){this.tableRef.addEventListener("scroll",this.handleScroll)}};e.prototype.classNames=function(){var e=[];if(this.tableRef&&this.tableRef.compact){e.push("is-compact")}if(this.sortable){e.push("is-sortable")}if(this.sortable&&this.sortingDirection!==null){e.push("sort-"+this.sortingDirection)}if(this.tableRef&&this.tableRef.fixedColumn&&this.tableScrolling){e.push("has-scrolled")}return e.join(" ")};e.prototype.render=function(){return h(Host,{key:"b8b24eb690d19c1d6476fd44c69a3231b540d476",class:this.classNames(),role:"columnheader",onClick:this.toggleSort,style:this.tableRef&&this.tableRef.fixedColumn&&this.tableRef.selectable?{"--fixed-cell-position":"40px"}:{}},h("slot",{key:"831ea922b3fb2166852208f2a9520414c93f6954"}),this.sortable&&h("pds-icon",{key:"0afb8d56992327112c64e79d6bfc7c1d192d9732",icon:this.sortingDirection==="asc"?upSmall:downSmall}))};Object.defineProperty(e.prototype,"hostElement",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();PdsTableHeadCell.style=PdsTableHeadCellStyle0;export{PdsTableHeadCell as pds_table_head_cell};
|
|
2
2
|
//# sourceMappingURL=pds-table-head-cell.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pdsTableHeadCellCss","PdsTableHeadCellStyle0","PdsTableHeadCell","this","handleScroll","_this","tableRef","scrollLeft","tableScrolling","toggleSort","sortable","column","hostElement","innerText","trim","sortingDirection","querySelectorAll","forEach","headCell","classList","remove","toggle","pdsTableSort","emit","direction","prototype","componentWillRender","closest","componentDidLoad","responsive","fixedColumn","addEventListener","classNames","compact","push","join","render","h","Host","key","class","role","onClick","style","selectable","icon","upSmall","downSmall"],"sources":["src/components/pds-table/pds-table-head-cell/pds-table-head-cell.scss?tag=pds-table-head-cell&encapsulation=shadow","src/components/pds-table/pds-table-head-cell/pds-table-head-cell.tsx"],"sourcesContent":[":host {\n --border-head-cell-default: var(--pine-border-width-thin) solid var(--pine-color-grey-300);\n --box-shadow-default: 3px 3px 6px -2px rgba(0, 0, 0, 0.1);\n\n --color-background-fixed: var(--pine-color-white);\n --color-sorting: var(--pine-color-charcoal-500);\n --color-default: var(--pine-color-charcoal-200);\n\n --dimension-fixed-cell-position: 0;\n\n --font-size-head-cell: var(--pine-font-size-087);\n --font-weight-cell-default: var(--pine-font-weight-normal);\n\n --line-height-cell-default: var(--pine-line-height-125);\n\n --padding-cell-default: calc(var(--pine-spacing-300) / 2);\n\n --spacing-margin-inline-start-arrow: var(--pine-spacing-050);\n --spacing-padding-arrow: calc(var(--pine-spacing-050) / 2);\n --spacing-padding-block-compact: var(--pine-spacing-050);\n\n border-block-end: var(--border-head-cell-default);\n color: var(--color-default);\n display: table-cell;\n font-size: var(--font-size-head-cell);\n font-style: normal;\n font-weight: var(--font-weight-cell-default);\n line-height: var(--line-height-cell-default);\n padding: var(--padding-cell-default);\n text-align: start;\n vertical-align: inherit;\n}\n\n:host(.is-compact) {\n padding-block: var(--spacing-padding-block-compact)\n}\n\n:host(.is-fixed) {\n background: var(--color-background-fixed);\n left: var(--dimension-fixed-cell-position);\n position: sticky;\n z-index: 1;\n}\n\n// box shadow when table has scrolled and cell is fixed\n:host(.has-scrolled.is-fixed) {\n box-shadow: var(--box-shadow-default);\n}\n\n:host(.is-sortable) {\n cursor: pointer;\n\n pds-icon {\n margin-inline-start: var(--spacing-margin-inline-start-arrow);\n padding-block-start: var(--spacing-padding-arrow);\n position: absolute;\n }\n}\n\n:host(.is-sortable:hover),\n:host(.is-active) {\n color: var(--color-sorting);\n}\n","import { Component, Element, Host, Prop, h, Event, EventEmitter, State } from '@stencil/core';\n\nimport { downSmall, upSmall } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-table-head-cell',\n styleUrl: 'pds-table-head-cell.scss',\n shadow: true,\n})\nexport class PdsTableHeadCell {\n @Element() hostElement: HTMLPdsTableHeadCellElement;\n tableRef: HTMLPdsTableElement;\n\n /**\n * Determines whether the table column is sortable when set to `true`.\n */\n @Prop() sortable: boolean;\n\n /**\n * Event emitted to signal that a table column header has been sorted, providing information about the sorted column's name and sorting direction.\n */\n @Event() pdsTableSort: EventEmitter<{ column: string; direction: string }>;\n\n @State() private sortingDirection: 'asc' | 'desc' = 'asc';\n @State() private tableScrolling: boolean = false;\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n }\n\n componentDidLoad() {\n if (this.tableRef && this.tableRef.responsive && this.tableRef.fixedColumn) {\n this.tableRef.addEventListener('scroll', this.handleScroll);\n }\n }\n\n private handleScroll = () => {\n if (this.tableRef.scrollLeft > 0) {\n this.tableScrolling = true;\n } else {\n this.tableScrolling = false;\n }\n };\n\n private toggleSort = () => {\n if (this.sortable) {\n const column = this.hostElement.innerText.trim();\n this.sortingDirection = this.sortingDirection === 'asc' ? 'desc' : 'asc';\n\n this.tableRef.querySelectorAll('pds-table-head-cell').forEach((headCell) => {\n headCell.classList.remove('is-active');\n });\n\n this.hostElement.classList.toggle('is-active');\n this.pdsTableSort.emit({ column, direction: this.sortingDirection });\n }\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.tableRef && this.tableRef.compact) {\n classNames.push('is-compact');\n }\n\n if (this.sortable) {\n classNames.push('is-sortable');\n }\n\n if (this.sortable && this.sortingDirection !== null) {\n classNames.push('sort-' + this.sortingDirection);\n }\n\n if (this.tableRef && this.tableRef.fixedColumn && this.tableScrolling) {\n classNames.push('has-scrolled');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host\n class={this.classNames()}\n role=\"columnheader\"\n onClick={this.toggleSort}\n style={\n this.tableRef &&\n this.tableRef.fixedColumn &&\n this.tableRef.selectable\n ? { '--fixed-cell-position': '40px' }\n : {}\n }\n >\n <slot></slot>\n {this.sortable && (\n <pds-icon icon={this.sortingDirection === 'asc' ? upSmall : downSmall} />\n )}\n </Host>\n );\n }\n}\n"],"mappings":"iKAAA,IAAMA,oBAAsB,
|
|
1
|
+
{"version":3,"names":["pdsTableHeadCellCss","PdsTableHeadCellStyle0","PdsTableHeadCell","this","handleScroll","_this","tableRef","scrollLeft","tableScrolling","toggleSort","sortable","column","hostElement","innerText","trim","sortingDirection","querySelectorAll","forEach","headCell","classList","remove","toggle","pdsTableSort","emit","direction","prototype","componentWillRender","closest","componentDidLoad","responsive","fixedColumn","addEventListener","classNames","compact","push","join","render","h","Host","key","class","role","onClick","style","selectable","icon","upSmall","downSmall"],"sources":["src/components/pds-table/pds-table-head-cell/pds-table-head-cell.scss?tag=pds-table-head-cell&encapsulation=shadow","src/components/pds-table/pds-table-head-cell/pds-table-head-cell.tsx"],"sourcesContent":[":host {\n --border-head-cell-default: var(--pine-border-width-thin) solid var(--pine-color-grey-300);\n\n --box-shadow-default: 3px 3px 6px -2px rgba(0, 0, 0, 0.1);\n\n --color-background-fixed: var(--pine-color-white);\n --color-sorting: var(--pine-color-charcoal-500);\n --color-text-default: var(--pine-color-charcoal-200);\n\n --dimension-fixed-cell-position: 0;\n\n --font-size-head-cell: var(--pine-font-size-087);\n --font-weight-cell-default: var(--pine-font-weight-normal);\n\n --line-height-cell-default: var(--pine-line-height-125);\n\n --padding-cell-default: calc(var(--pine-spacing-300) / 2);\n\n --spacing-margin-inline-start-arrow: var(--pine-spacing-050);\n --spacing-padding-arrow: calc(var(--pine-spacing-050) / 2);\n --spacing-padding-block-compact: var(--pine-spacing-050);\n\n border-block-end: var(--border-head-cell-default);\n color: var(--color-text-default);\n display: table-cell;\n font-size: var(--font-size-head-cell);\n font-style: normal;\n font-weight: var(--font-weight-cell-default);\n line-height: var(--line-height-cell-default);\n padding: var(--padding-cell-default);\n text-align: start;\n vertical-align: inherit;\n}\n\n:host(.is-compact) {\n padding-block: var(--spacing-padding-block-compact)\n}\n\n:host(.is-fixed) {\n background: var(--color-background-fixed);\n left: var(--dimension-fixed-cell-position);\n position: sticky;\n z-index: 1;\n}\n\n// box shadow when table has scrolled and cell is fixed\n:host(.has-scrolled.is-fixed) {\n box-shadow: var(--box-shadow-default);\n}\n\n:host(.is-sortable) {\n cursor: pointer;\n\n pds-icon {\n margin-inline-start: var(--spacing-margin-inline-start-arrow);\n padding-block-start: var(--spacing-padding-arrow);\n position: absolute;\n }\n}\n\n:host(.is-sortable:hover),\n:host(.is-active) {\n color: var(--color-sorting);\n}\n","import { Component, Element, Host, Prop, h, Event, EventEmitter, State } from '@stencil/core';\n\nimport { downSmall, upSmall } from '@pine-ds/icons/icons';\n\n@Component({\n tag: 'pds-table-head-cell',\n styleUrl: 'pds-table-head-cell.scss',\n shadow: true,\n})\nexport class PdsTableHeadCell {\n @Element() hostElement: HTMLPdsTableHeadCellElement;\n tableRef: HTMLPdsTableElement;\n\n /**\n * Determines whether the table column is sortable when set to `true`.\n */\n @Prop() sortable: boolean;\n\n /**\n * Event emitted to signal that a table column header has been sorted, providing information about the sorted column's name and sorting direction.\n */\n @Event() pdsTableSort: EventEmitter<{ column: string; direction: string }>;\n\n @State() private sortingDirection: 'asc' | 'desc' = 'asc';\n @State() private tableScrolling: boolean = false;\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n }\n\n componentDidLoad() {\n if (this.tableRef && this.tableRef.responsive && this.tableRef.fixedColumn) {\n this.tableRef.addEventListener('scroll', this.handleScroll);\n }\n }\n\n private handleScroll = () => {\n if (this.tableRef.scrollLeft > 0) {\n this.tableScrolling = true;\n } else {\n this.tableScrolling = false;\n }\n };\n\n private toggleSort = () => {\n if (this.sortable) {\n const column = this.hostElement.innerText.trim();\n this.sortingDirection = this.sortingDirection === 'asc' ? 'desc' : 'asc';\n\n this.tableRef.querySelectorAll('pds-table-head-cell').forEach((headCell) => {\n headCell.classList.remove('is-active');\n });\n\n this.hostElement.classList.toggle('is-active');\n this.pdsTableSort.emit({ column, direction: this.sortingDirection });\n }\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.tableRef && this.tableRef.compact) {\n classNames.push('is-compact');\n }\n\n if (this.sortable) {\n classNames.push('is-sortable');\n }\n\n if (this.sortable && this.sortingDirection !== null) {\n classNames.push('sort-' + this.sortingDirection);\n }\n\n if (this.tableRef && this.tableRef.fixedColumn && this.tableScrolling) {\n classNames.push('has-scrolled');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host\n class={this.classNames()}\n role=\"columnheader\"\n onClick={this.toggleSort}\n style={\n this.tableRef &&\n this.tableRef.fixedColumn &&\n this.tableRef.selectable\n ? { '--fixed-cell-position': '40px' }\n : {}\n }\n >\n <slot></slot>\n {this.sortable && (\n <pds-icon icon={this.sortingDirection === 'asc' ? upSmall : downSmall} />\n )}\n </Host>\n );\n }\n}\n"],"mappings":"iKAAA,IAAMA,oBAAsB,mxDAC5B,IAAAC,uBAAeD,oB,ICQFE,iBAAgB,W,uGA2BnBC,KAAAC,aAAe,WACrB,GAAIC,EAAKC,SAASC,WAAa,EAAG,CAChCF,EAAKG,eAAiB,I,KACjB,CACLH,EAAKG,eAAiB,K,GAIlBL,KAAAM,WAAa,WACnB,GAAIJ,EAAKK,SAAU,CACjB,IAAMC,EAASN,EAAKO,YAAYC,UAAUC,OAC1CT,EAAKU,iBAAmBV,EAAKU,mBAAqB,MAAQ,OAAS,MAEnEV,EAAKC,SAASU,iBAAiB,uBAAuBC,SAAQ,SAACC,GAC7DA,EAASC,UAAUC,OAAO,Y,IAG5Bf,EAAKO,YAAYO,UAAUE,OAAO,aAClChB,EAAKiB,aAAaC,KAAK,CAAEZ,OAAMA,EAAEa,UAAWnB,EAAKU,kB,iDA/BD,M,oBACT,K,CAE3Cb,EAAAuB,UAAAC,oBAAA,WACEvB,KAAKG,SAAWH,KAAKS,YAAYe,QAAQ,Y,EAG3CzB,EAAAuB,UAAAG,iBAAA,WACE,GAAIzB,KAAKG,UAAYH,KAAKG,SAASuB,YAAc1B,KAAKG,SAASwB,YAAa,CAC1E3B,KAAKG,SAASyB,iBAAiB,SAAU5B,KAAKC,a,GA0B1CF,EAAAuB,UAAAO,WAAA,WACN,IAAMA,EAAa,GAEnB,GAAI7B,KAAKG,UAAYH,KAAKG,SAAS2B,QAAS,CAC1CD,EAAWE,KAAK,a,CAGlB,GAAI/B,KAAKO,SAAU,CACjBsB,EAAWE,KAAK,c,CAGlB,GAAI/B,KAAKO,UAAYP,KAAKY,mBAAqB,KAAM,CACnDiB,EAAWE,KAAK,QAAU/B,KAAKY,iB,CAGjC,GAAIZ,KAAKG,UAAYH,KAAKG,SAASwB,aAAe3B,KAAKK,eAAgB,CACrEwB,EAAWE,KAAK,e,CAGlB,OAAOF,EAAWG,KAAK,K,EAGzBjC,EAAAuB,UAAAW,OAAA,WACE,OACEC,EAACC,KAAI,CAAAC,IAAA,2CACHC,MAAOrC,KAAK6B,aACZS,KAAK,eACLC,QAASvC,KAAKM,WACdkC,MACExC,KAAKG,UACLH,KAAKG,SAASwB,aACd3B,KAAKG,SAASsC,WACV,CAAE,wBAAyB,QAC3B,IAGNP,EAAA,QAAAE,IAAA,6CACCpC,KAAKO,UACJ2B,EAAA,YAAAE,IAAA,2CAAUM,KAAM1C,KAAKY,mBAAqB,MAAQ+B,QAAUC,Y,yIAvFzC,G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pdsTableHeadCss","PdsTableHeadStyle0","PdsTableHead","prototype","componentWillRender","this","tableRef","hostElement","closest","fixedColumn","tableCell","querySelector","classList","add","render","h","Host","key","role","selectable","part"],"sources":["src/components/pds-table/pds-table-head/pds-table-head.scss?tag=pds-table-head&encapsulation=shadow","src/components/pds-table/pds-table-head/pds-table-head.tsx"],"sourcesContent":[":host {\n --border-head-default: var(--pine-border-width-thin) solid var(--pine-color-grey-300);\n --color-background-fixed: var(--pine-color-base-white);\n\n border-color: inherit;\n box-sizing: border-box;\n display: table-header-group;\n vertical-align: middle;\n\n // used for pds-checkbox-cell\n // because it is in the ShadowDom\n &::part(checkbox-cell) {\n background-color: var(--color-background-fixed);\n left: 0;\n position: sticky;\n z-index: 1;\n }\n}\n\n:host pds-table-checkbox-cell {\n border-block-end: var(--border-head-default);\n}\n","import { Component, Element, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'pds-table-head',\n styleUrl: 'pds-table-head.scss',\n shadow: true,\n})\nexport class PdsTableHead {\n @Element() hostElement: HTMLPdsTableHeadElement;\n tableRef: HTMLPdsTableElement\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n\n if (this.tableRef && this.tableRef.fixedColumn) {\n const tableCell = this.hostElement.querySelector('pds-table-head-cell:first-child');\n tableCell?.classList.add(\"is-fixed\");\n }\n }\n render() {\n return (\n <Host role=\"row\">\n {this.tableRef && this.tableRef.selectable && (\n <pds-table-head-cell part={this.tableRef.fixedColumn ? 'checkbox-cell' : ''}></pds-table-head-cell>\n )}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"mFAAA,IAAMA,gBAAkB,2gBACxB,IAAAC,mBAAeD,gB,ICMFE,aAAY,W,uCAIvBA,EAAAC,UAAAC,oBAAA,WACEC,KAAKC,SAAWD,KAAKE,YAAYC,QAAQ,aAEzC,GAAIH,KAAKC,UAAYD,KAAKC,SAASG,YAAa,CAC9C,IAAMC,EAAYL,KAAKE,YAAYI,cAAc,mCACjDD,IAAS,MAATA,SAAS,SAATA,EAAWE,UAAUC,IAAI,W,GAG7BX,EAAAC,UAAAW,OAAA,WACE,OACEC,EAACC,KAAI,CAAAC,IAAA,2CAACC,KAAK,OACRb,KAAKC,UAAYD,KAAKC,SAASa,YAC9BJ,EAAA,uBAAAE,IAAA,2CAAqBG,KAAMf,KAAKC,SAASG,YAAc,gBAAkB,KAE3EM,EAAA,QAAAE,IAAA,6C,yIAlBiB,G"}
|
|
1
|
+
{"version":3,"names":["pdsTableHeadCss","PdsTableHeadStyle0","PdsTableHead","prototype","componentWillRender","this","tableRef","hostElement","closest","fixedColumn","tableCell","querySelector","classList","add","render","h","Host","key","role","selectable","part"],"sources":["src/components/pds-table/pds-table-head/pds-table-head.scss?tag=pds-table-head&encapsulation=shadow","src/components/pds-table/pds-table-head/pds-table-head.tsx"],"sourcesContent":[":host {\n --border-head-default: var(--pine-border-width-thin) solid var(--pine-color-grey-300);\n\n --color-background-fixed: var(--pine-color-base-white);\n\n border-color: inherit;\n box-sizing: border-box;\n display: table-header-group;\n vertical-align: middle;\n\n // used for pds-checkbox-cell\n // because it is in the ShadowDom\n &::part(checkbox-cell) {\n background-color: var(--color-background-fixed);\n left: 0;\n position: sticky;\n z-index: 1;\n }\n}\n\n:host pds-table-checkbox-cell {\n border-block-end: var(--border-head-default);\n}\n","import { Component, Element, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'pds-table-head',\n styleUrl: 'pds-table-head.scss',\n shadow: true,\n})\nexport class PdsTableHead {\n @Element() hostElement: HTMLPdsTableHeadElement;\n tableRef: HTMLPdsTableElement\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n\n if (this.tableRef && this.tableRef.fixedColumn) {\n const tableCell = this.hostElement.querySelector('pds-table-head-cell:first-child');\n tableCell?.classList.add(\"is-fixed\");\n }\n }\n render() {\n return (\n <Host role=\"row\">\n {this.tableRef && this.tableRef.selectable && (\n <pds-table-head-cell part={this.tableRef.fixedColumn ? 'checkbox-cell' : ''}></pds-table-head-cell>\n )}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"mFAAA,IAAMA,gBAAkB,2gBACxB,IAAAC,mBAAeD,gB,ICMFE,aAAY,W,uCAIvBA,EAAAC,UAAAC,oBAAA,WACEC,KAAKC,SAAWD,KAAKE,YAAYC,QAAQ,aAEzC,GAAIH,KAAKC,UAAYD,KAAKC,SAASG,YAAa,CAC9C,IAAMC,EAAYL,KAAKE,YAAYI,cAAc,mCACjDD,IAAS,MAATA,SAAS,SAATA,EAAWE,UAAUC,IAAI,W,GAG7BX,EAAAC,UAAAW,OAAA,WACE,OACEC,EAACC,KAAI,CAAAC,IAAA,2CAACC,KAAK,OACRb,KAAKC,UAAYD,KAAKC,SAASa,YAC9BJ,EAAA,uBAAAE,IAAA,2CAAqBG,KAAMf,KAAKC,SAASG,YAAc,gBAAkB,KAE3EM,EAAA,QAAAE,IAAA,6C,yIAlBiB,G"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as registerInstance,h,H as Host,g as getElement}from"./index-6f0bb1b9.js";var pdsTabsCss=":host{--spacing-panel-margin-top:0;--spacing-panel-padding:0;--outline:2px solid var(--pine-color-blue-200);--spacing-gap-availability:var(--pine-spacing-100);--spacing-gap-default:var(--pine-spacing-300);--spacing-gap-filter:
|
|
1
|
+
import{r as registerInstance,h,H as Host,g as getElement}from"./index-6f0bb1b9.js";var pdsTabsCss=":host{--spacing-panel-margin-top:0;--spacing-panel-padding:0;--outline:2px solid var(--pine-color-blue-200);--spacing-gap-availability:var(--pine-spacing-100);--spacing-gap-default:var(--pine-spacing-300);--spacing-gap-filter:var(--pine-spacing-200);display:block}.pds-tabs__tablist{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--spacing-gap-default)}:host(.pds-tabs--availability) .pds-tabs__tablist{gap:var(--spacing-gap-availability)}:host(.pds-tabs--filter) .pds-tabs__tablist{gap:var(--spacing-gap-filter)}";var PdsTabsStyle0=pdsTabsCss;var PdsTabs=function(){function s(s){registerInstance(this,s);this.tablistLabel=undefined;this.componentId=undefined;this.variant=undefined;this.activeTabName=undefined;this.activeTabIndex=undefined}s.prototype.tabClickHandler=function(s){if(this.componentId===s.detail[1]){this.activeTabIndex=s.detail[0];this.activeTabName=this.tabs[this.activeTabIndex].name}};s.prototype.handleKeyDown=function(s){var a=["ArrowLeft","ArrowRight","Home","End"];if(a.includes(s.key)){s.preventDefault();this.moveActiveTab(s.key)}};s.prototype.moveActiveTab=function(s){var a=0;var t=this.tabs.length-1;var i=null;switch(s){case"ArrowLeft":i=this.activeTabIndex===a?t:this.activeTabIndex+-1;break;case"ArrowRight":i=this.activeTabIndex===t?a:this.activeTabIndex+1;break;case"Home":i=a;break;case"End":i=t;break}this.tabs[i].children[0].focus();this.activeTabName=this.tabs[i].name;this.activeTabIndex=i};s.prototype.findAllChildren=function(){this.tabs=this.el.querySelectorAll("pds-tab");this.tabPanels=this.el.querySelectorAll("pds-tabpanel")};s.prototype.propGeneration=function(s,a){if(a===void 0){a=0}s.parentComponentId=this.componentId.toString();s.variant=this.variant.toString();s.selected=this.activeTabName===s.name?true:false;s["index"]=a};s.prototype.passPropsToChildren=function(){var s=this;this.tabs.forEach((function(a,t){if(s.activeTabName===a.name)s.activeTabIndex=t;s.propGeneration(a,t)}));this.tabPanels.forEach((function(a){s.propGeneration(a)}))};s.prototype.classNames=function(){var s="pds-tabs";if(this.variant&&this.variant!="primary"){var a="pds-tabs--".concat(this.variant);s+=" "+a}return s};s.prototype.componentWillLoad=function(){this.findAllChildren()};s.prototype.componentWillRender=function(){this.passPropsToChildren()};s.prototype.render=function(){return h(Host,{key:"92748fc6123067ba04f9cc81ea949366fb1c2a8f","active-tab-name":this.activeTabName,class:this.classNames(),id:this.componentId},h("div",{key:"809cbe1ed4e973db39ea69be9e30ac54881564af",class:"pds-tabs__tablist",role:"tablist","aria-label":this.tablistLabel},h("slot",{key:"b23af8a48dee0528cc9f7d2b84a42411e2b14e6d",name:"tabs"})),h("slot",{key:"fdb46b7125f735531b13c1ac82a08f27998e7511",name:"tabpanels"}))};Object.defineProperty(s.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return s}();PdsTabs.style=PdsTabsStyle0;export{PdsTabs as pds_tabs};
|
|
2
2
|
//# sourceMappingURL=pds-tabs.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pdsTabsCss","PdsTabsStyle0","PdsTabs","prototype","tabClickHandler","event","this","componentId","detail","activeTabIndex","activeTabName","tabs","name","handleKeyDown","ev","keySet","includes","key","preventDefault","moveActiveTab","firstTabNumber","lastTabNumber","length","moveFocusTo","children","focus","findAllChildren","el","querySelectorAll","tabPanels","propGeneration","child","index","parentComponentId","toString","variant","selected","passPropsToChildren","_this","forEach","classNames","className","variantClassName","concat","componentWillLoad","componentWillRender","render","h","Host","class","id","role","tablistLabel"],"sources":["src/components/pds-tabs/pds-tabs.scss?tag=pds-tabs&encapsulation=shadow","src/components/pds-tabs/pds-tabs.tsx"],"sourcesContent":[":host {\n /**\n * @prop --spacing-panel-margin-top: Optional margin-top for panels\n */\n --spacing-panel-margin-top: 0;\n /**\n * @prop --spacing-panel-padding: Optional padding for panels\n */\n --spacing-panel-padding: 0;\n\n --outline: 2px solid var(--pine-color-blue-200);\n
|
|
1
|
+
{"version":3,"names":["pdsTabsCss","PdsTabsStyle0","PdsTabs","prototype","tabClickHandler","event","this","componentId","detail","activeTabIndex","activeTabName","tabs","name","handleKeyDown","ev","keySet","includes","key","preventDefault","moveActiveTab","firstTabNumber","lastTabNumber","length","moveFocusTo","children","focus","findAllChildren","el","querySelectorAll","tabPanels","propGeneration","child","index","parentComponentId","toString","variant","selected","passPropsToChildren","_this","forEach","classNames","className","variantClassName","concat","componentWillLoad","componentWillRender","render","h","Host","class","id","role","tablistLabel"],"sources":["src/components/pds-tabs/pds-tabs.scss?tag=pds-tabs&encapsulation=shadow","src/components/pds-tabs/pds-tabs.tsx"],"sourcesContent":[":host {\n /**\n * @prop --spacing-panel-margin-top: Optional margin-top for panels\n */\n --spacing-panel-margin-top: 0;\n /**\n * @prop --spacing-panel-padding: Optional padding for panels\n */\n --spacing-panel-padding: 0;\n\n --outline: 2px solid var(--pine-color-blue-200);\n\n --spacing-gap-availability: var(--pine-spacing-100);\n --spacing-gap-default: var(--pine-spacing-300);\n --spacing-gap-filter: var(--pine-spacing-200);\n\n display: block;\n}\n\n.pds-tabs__tablist {\n display: flex;\n flex-wrap: wrap;\n gap: var(--spacing-gap-default);\n}\n\n:host(.pds-tabs--availability) .pds-tabs__tablist {\n gap: var(--spacing-gap-availability);\n}\n\n:host(.pds-tabs--filter) .pds-tabs__tablist {\n gap: var(--spacing-gap-filter);\n}\n","import { Component, Element, Host, h, Prop, Listen } from '@stencil/core';\n\n /**\n * @slot tabs - Content is placed within the `div[role=\"tablist\"]` element as children\n * @slot tabpanels - Content is placed directly after the `div[role=\"tablist\"]` element as siblings\n */\n@Component({\n tag: 'pds-tabs',\n styleUrl: 'pds-tabs.scss',\n shadow: true,\n})\nexport class PdsTabs {\n private tabs;\n private tabPanels;\n\n @Element() el: HTMLPdsTabsElement;\n\n /**\n * Sets the aria-label attached to the tablist element\n */\n @Prop() tablistLabel!: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * Sets tabs variant styles as outlined in Figma documentation\n */\n @Prop() variant!: 'primary' | 'availability' | 'filter';\n\n /**\n * Sets the starting active tab name and maintains the name as the component re-renders\n */\n @Prop({mutable: true}) activeTabName!: string;\n\n /**\n * Sets the starting active tab index number and maintains the index number as the component re-renders\n */\n /** @internal */\n @Prop({mutable: true}) activeTabIndex: number;\n\n @Listen('pdsTabClick', {\n target: 'body',\n })\n tabClickHandler(event: CustomEvent<any>) {\n if (this.componentId === event.detail[1]) {\n this.activeTabIndex = event.detail[0];\n this.activeTabName = this.tabs[this.activeTabIndex].name;\n }\n }\n\n @Listen('keydown', {})\n handleKeyDown(ev: KeyboardEvent) {\n const keySet = [\"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"];\n\n if (keySet.includes(ev.key)) {\n ev.preventDefault();\n this.moveActiveTab(ev.key);\n }\n }\n\n private moveActiveTab(key: string) {\n const firstTabNumber = 0;\n const lastTabNumber = this.tabs.length - 1;\n\n let moveFocusTo = null;\n\n switch (key) {\n case 'ArrowLeft':\n moveFocusTo = (this.activeTabIndex === firstTabNumber) ? lastTabNumber : (this.activeTabIndex + (-1));\n break;\n case 'ArrowRight':\n moveFocusTo = (this.activeTabIndex === lastTabNumber) ? firstTabNumber : (this.activeTabIndex + 1);\n break;\n case 'Home':\n moveFocusTo = firstTabNumber;\n break;\n case 'End':\n moveFocusTo = lastTabNumber;\n break;\n }\n\n // Move focus to the button element within `pds-tab`\n this.tabs[moveFocusTo].children[0].focus();\n this.activeTabName = this.tabs[moveFocusTo].name;\n this.activeTabIndex = moveFocusTo;\n }\n\n private findAllChildren() {\n this.tabs = this.el.querySelectorAll('pds-tab');\n this.tabPanels = this.el.querySelectorAll('pds-tabpanel');\n }\n\n private propGeneration(child, index = 0) {\n child.parentComponentId = this.componentId.toString();\n child.variant = this.variant.toString();\n child.selected = (this.activeTabName === child.name) ? true : false;\n child['index'] = index;\n }\n\n private passPropsToChildren() {\n this.tabs.forEach((child, index) => {\n if (this.activeTabName === child.name) this.activeTabIndex = index;\n this.propGeneration(child, index);\n });\n\n this.tabPanels.forEach((child) => {\n this.propGeneration(child);\n });\n }\n\n private classNames() {\n let className = `pds-tabs`;\n if (this.variant && this.variant != 'primary') {\n const variantClassName = `pds-tabs--${this.variant}`;\n className += ' ' + variantClassName;\n }\n\n return className;\n };\n\n componentWillLoad() {\n this.findAllChildren();\n }\n\n componentWillRender() {\n this.passPropsToChildren();\n }\n\n render() {\n return (\n <Host active-tab-name={this.activeTabName} class={this.classNames()} id={this.componentId}>\n <div class=\"pds-tabs__tablist\" role=\"tablist\" aria-label={this.tablistLabel}>\n <slot name=\"tabs\" />\n </div>\n <slot name=\"tabpanels\" />\n </Host>\n );\n }\n}\n"],"mappings":"mFAAA,IAAMA,WAAa,giBACnB,IAAAC,cAAeD,W,ICUFE,QAAO,W,gLAmClBA,EAAAC,UAAAC,gBAAA,SAAgBC,GACd,GAAIC,KAAKC,cAAgBF,EAAMG,OAAO,GAAI,CACxCF,KAAKG,eAAiBJ,EAAMG,OAAO,GACnCF,KAAKI,cAAgBJ,KAAKK,KAAKL,KAAKG,gBAAgBG,I,GAKxDV,EAAAC,UAAAU,cAAA,SAAcC,GACZ,IAAMC,EAAS,CAAC,YAAa,aAAc,OAAQ,OAEnD,GAAIA,EAAOC,SAASF,EAAGG,KAAM,CAC3BH,EAAGI,iBACHZ,KAAKa,cAAcL,EAAGG,I,GAIlBf,EAAAC,UAAAgB,cAAA,SAAcF,GACpB,IAAMG,EAAiB,EACvB,IAAMC,EAAgBf,KAAKK,KAAKW,OAAS,EAEzC,IAAIC,EAAc,KAElB,OAAQN,GACN,IAAK,YACHM,EAAejB,KAAKG,iBAAmBW,EAAkBC,EAAiBf,KAAKG,gBAAmB,EAClG,MACF,IAAK,aACHc,EAAejB,KAAKG,iBAAmBY,EAAiBD,EAAkBd,KAAKG,eAAiB,EAChG,MACF,IAAK,OACHc,EAAcH,EACd,MACF,IAAK,MACHG,EAAcF,EACd,MAIJf,KAAKK,KAAKY,GAAaC,SAAS,GAAGC,QACnCnB,KAAKI,cAAgBJ,KAAKK,KAAKY,GAAaX,KAC5CN,KAAKG,eAAiBc,C,EAGhBrB,EAAAC,UAAAuB,gBAAA,WACNpB,KAAKK,KAAOL,KAAKqB,GAAGC,iBAAiB,WACrCtB,KAAKuB,UAAYvB,KAAKqB,GAAGC,iBAAiB,e,EAGpC1B,EAAAC,UAAA2B,eAAA,SAAeC,EAAOC,GAAA,GAAAA,SAAA,GAAAA,EAAA,CAAS,CACrCD,EAAME,kBAAoB3B,KAAKC,YAAY2B,WAC3CH,EAAMI,QAAU7B,KAAK6B,QAAQD,WAC7BH,EAAMK,SAAY9B,KAAKI,gBAAkBqB,EAAMnB,KAAQ,KAAO,MAC9DmB,EAAM,SAAWC,C,EAGX9B,EAAAC,UAAAkC,oBAAA,eAAAC,EAAAhC,KACNA,KAAKK,KAAK4B,SAAQ,SAACR,EAAOC,GACxB,GAAIM,EAAK5B,gBAAkBqB,EAAMnB,KAAM0B,EAAK7B,eAAiBuB,EAC7DM,EAAKR,eAAeC,EAAOC,E,IAG7B1B,KAAKuB,UAAUU,SAAQ,SAACR,GACtBO,EAAKR,eAAeC,E,KAIhB7B,EAAAC,UAAAqC,WAAA,WACN,IAAIC,EAAY,WAChB,GAAInC,KAAK6B,SAAW7B,KAAK6B,SAAW,UAAW,CAC7C,IAAMO,EAAmB,aAAAC,OAAarC,KAAK6B,SAC3CM,GAAa,IAAMC,C,CAGrB,OAAOD,C,EAGTvC,EAAAC,UAAAyC,kBAAA,WACEtC,KAAKoB,iB,EAGPxB,EAAAC,UAAA0C,oBAAA,WACEvC,KAAK+B,qB,EAGPnC,EAAAC,UAAA2C,OAAA,WACE,OACEC,EAACC,KAAI,CAAA/B,IAAA,6DAAkBX,KAAKI,cAAeuC,MAAO3C,KAAKkC,aAAcU,GAAI5C,KAAKC,aAC5EwC,EAAA,OAAA9B,IAAA,2CAAKgC,MAAM,oBAAoBE,KAAK,UAAS,aAAa7C,KAAK8C,cAC7DL,EAAA,QAAA9B,IAAA,2CAAML,KAAK,UAEbmC,EAAA,QAAA9B,IAAA,2CAAML,KAAK,c,gIA9HC,G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["positionTooltip","_a","elem","elemPlacement","overlay","_b","offset","undefined","rect","getBoundingClientRect","contentRect","includes","style","top","left","concat","width","transform","bottom","right","height","pdsTooltipCss","PdsTooltipStyle0","PdsTooltip","this","handleHide","_this","hideTooltip","pdsTooltipHide","emit","handleShow","showTooltip","pdsTooltipShow","class_1","prototype","handleOpenToggle","opened","componentWillLoad","el","addEventListener","componentDidUpdate","componentDidRender","placement","contentEl","render","h","Host","key","onMouseEnter","onMouseLeave","onFocusin","onFocusout","class","htmlContent","hasArrow","componentId","id","ref","role","name","content"],"sources":["src/utils/overlay.ts","src/components/pds-tooltip/pds-tooltip.scss?tag=pds-tooltip&encapsulation=shadow","src/components/pds-tooltip/pds-tooltip.tsx"],"sourcesContent":["interface OverlayArgs {\n elem: HTMLElement;\n elemPlacement: string;\n overlay: HTMLElement;\n offset?: number;\n}\n\nexport const positionTooltip = ({elem, elemPlacement, overlay, offset = 8}: OverlayArgs) => {\n if (elem == undefined) return;\n\n const rect = elem.getBoundingClientRect();\n const contentRect = overlay.getBoundingClientRect();\n\n // Exit the function if the placement is not set\n if (!elemPlacement || elemPlacement == \"\") return;\n\n switch (true) {\n case elemPlacement.includes(\"right\"):\n overlay.style.top = '50%';\n overlay.style.left = `calc(${rect.width}px + ${offset}px)`;\n overlay.style.transform = 'translateY(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.top = '0';\n overlay.style.transform = 'translateY(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.bottom = '0';\n overlay.style.top = 'initial';\n overlay.style.transform = 'translateY(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"left\"):\n overlay.style.top = '50%';\n overlay.style.right = `calc(${rect.width}px + ${offset}px)`;\n overlay.style.transform = 'translateY(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.top = '0';\n overlay.style.transform = 'translateY(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.bottom = '0';\n overlay.style.top = 'initial';\n overlay.style.transform = 'translateY(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"bottom\"):\n overlay.style.top = `calc(${rect.height}px + ${offset}px)`;\n overlay.style.left = '50%';\n overlay.style.transform = 'translateX(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.left = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.left = 'initial';\n overlay.style.right = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"top\"):\n overlay.style.top = `calc((${contentRect.height}px + ${offset}px) * -1)`;\n overlay.style.left = '50%';\n overlay.style.transform = 'translateX(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.left = '0';\n overlay.style.transform = 'translateX(0)';\n }\n if (elemPlacement.includes(\"end\")) {\n overlay.style.left = 'initial';\n overlay.style.right = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n break;\n }\n}\n",":host {\n --border-radius-overlay: var(--pine-border-radius-125);\n --border-width-arrow-down: var(--sizing-arrow-default) var(--sizing-arrow-default) 0;\n --border-width-arrow-left: var(--sizing-arrow-default) var(--sizing-arrow-default) var(--sizing-arrow-default) 0;\n --border-width-arrow-right: var(--sizing-arrow-default) 0 var(--sizing-arrow-default) var(--sizing-arrow-default);\n --border-width-arrow-up: 0 var(--sizing-arrow-default) var(--sizing-arrow-default);\n --box-shadow-default: var(--pine-box-shadow-md);\n --color-background-default: var(--pine-color-charcoal-400);\n --color-text-default: var(--pine-color-white);\n --font-size-overlay: var(--pine-font-size-087);\n --line-height-overlay: var(--pine-line-height-125);\n --sizing-arrow-default: 6px;\n --sizing-arrow-offset: 14px;\n --sizing-width-default: 320px;\n --spacing-padding-overlay: var(--pine-spacing-100) calc(var(--pine-spacing-300) / 2);\n\n display: inline-block;\n position: relative;\n\n ::slotted([slot=\"content\"]) {\n white-space: normal;\n width: var(--sizing-width-default);\n }\n}\n\n.pds-tooltip__content {\n background-color: var(--color-background-default);\n border-radius: var(--border-radius-overlay);\n box-shadow: var(--box-shadow-default);\n color: var(--color-text-default);\n font-size: var(--font-size-overlay);\n line-height: var(--line-height-overlay);\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 0;\n padding: var(--spacing-padding-overlay);\n position: absolute;\n visibility: hidden;\n width: max-content;\n\n .pds-tooltip--is-open & {\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 1;\n visibility: visible;\n z-index: 1;\n }\n\n :host(.pds-tooltip--has-html-content) & {\n width: auto;\n }\n\n &::after {\n border-color: transparent;\n border-right-color: transparent;\n border-style: solid;\n border-width: var(--border-width-arrow-left);\n content: '';\n height: 0;\n position: absolute;\n width: 0;\n\n .pds-tooltip--right & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n left: calc(var(--sizing-arrow-default) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--right-end & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n bottom: var(--sizing-arrow-offset);\n left: calc(var(--sizing-arrow-default) * -1);\n top: initial;\n }\n\n .pds-tooltip--right-start & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n left: calc(var(--sizing-arrow-default) * -1);\n top: var(--sizing-arrow-offset);\n }\n\n .pds-tooltip--top & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: 50%;\n top: initial;\n transform: translateX(-50%);\n }\n\n .pds-tooltip--top-start & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: var(--sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--top-end & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: initial;\n right: var(--sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--left & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--left-end & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n bottom: var(--sizing-arrow-offset);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: initial;\n }\n\n .pds-tooltip--left-start & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: var(--sizing-arrow-offset);\n }\n\n .pds-tooltip--bottom & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: 50%;\n top: calc(var(--sizing-arrow-default) * -1);\n transform: translateX(-50%);\n }\n\n .pds-tooltip--bottom-end & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: initial;\n right: var(--sizing-arrow-offset);\n top: calc(var(--sizing-arrow-default) * -1);\n }\n\n .pds-tooltip--bottom-start & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: var(--sizing-arrow-offset);\n top: calc(var(--sizing-arrow-default) * -1);\n }\n\n .pds-tooltip--no-arrow & {\n border-width: 0;\n }\n }\n}\n","import { Component, Element, Event, Host, Prop, State, h, EventEmitter, Method, Watch } from '@stencil/core';\nimport {\n positionTooltip\n} from '../../utils/overlay';\n\n/**\n * @slot (default) - The tooltip's target element\n * @slot content - HTML content for the tooltip\n */\n\n@Component({\n tag: 'pds-tooltip',\n styleUrl: 'pds-tooltip.scss',\n shadow: true,\n})\nexport class PdsTooltip {\n private contentEl: HTMLElement | null;\n\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsTooltipElement;\n\n /**\n * Determines when the tooltip is open\n * @defaultValue false\n */\n @State() isOpen = false;\n\n /**\n * Content for the tooltip. If HTML is required, use the content slot\n */\n @Prop() content: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether or not the tooltip has an arrow\n * @defaultValue true\n */\n @Prop() hasArrow? = true;\n\n /**\n * Enable this option when using the content slot\n * @defaultValue false\n */\n @Prop() htmlContent = false;\n\n /**\n * Determines the preferred position of the tooltip\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement:\n 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'right';\n\n /**\n * Determines whether or not the tooltip is visible\n * @defaultValue false\n */\n @Prop({mutable: true, reflect: true}) opened = false;\n\n @Watch('opened')\n handleOpenToggle() {\n if (this.opened) {\n this.handleShow();\n } else {\n this.handleHide();\n }\n }\n\n /**\n * Emitted after a tooltip is closed\n */\n @Event() pdsTooltipHide: EventEmitter;\n\n /**\n * Emitted after a tooltip is shown\n */\n @Event() pdsTooltipShow: EventEmitter;\n\n componentWillLoad() {\n if (this.opened) {\n this.showTooltip();\n }\n\n this.el.addEventListener('blur', this.handleHide, true);\n this.el.addEventListener('focus', this.handleShow, true);\n }\n\n componentDidUpdate() {\n if (this.opened) {\n this.showTooltip();\n }\n }\n\n componentDidRender() {\n positionTooltip({elem: this.el, elemPlacement: this.placement, overlay: this.contentEl});\n }\n\n /**\n * Shows the tooltip by enabling the opened property\n */\n @Method()\n async showTooltip() {\n this.opened = true;\n }\n\n /**\n * Hides the tooltip by disabling the opened property\n */\n @Method()\n async hideTooltip() {\n this.opened = false;\n }\n\n private handleHide = () => {\n this.hideTooltip();\n this.pdsTooltipHide.emit();\n };\n\n private handleShow = () => {\n this.showTooltip();\n this.pdsTooltipShow.emit();\n };\n\n render() {\n return (\n <Host\n onMouseEnter={this.handleShow}\n onMouseLeave={this.handleHide}\n onFocusin={this.handleShow}\n onFocusout={this.handleHide}\n >\n <div\n class={`\n pds-tooltip\n pds-tooltip--${this.placement}\n ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''}\n ${this.opened ? 'pds-tooltip--is-open' : ''}\n ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}\n `}\n >\n <span\n aria-describedby={this.componentId}\n class=\"pds-tooltip__trigger\"\n >\n <slot />\n </span>\n\n <div class=\"pds-tooltip__content\"\n aria-hidden={this.opened ? 'false' : 'true'}\n aria-live={this.opened ? 'polite' : 'off'}\n id={this.componentId}\n ref={(el) => (this.contentEl = el)}\n role=\"tooltip\"\n >\n <slot\n name=\"content\"\n ></slot>\n {this.content}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["positionTooltip","_a","elem","elemPlacement","overlay","_b","offset","undefined","rect","getBoundingClientRect","contentRect","includes","style","top","left","concat","width","transform","bottom","right","height","pdsTooltipCss","PdsTooltipStyle0","PdsTooltip","this","handleHide","_this","hideTooltip","pdsTooltipHide","emit","handleShow","showTooltip","pdsTooltipShow","class_1","prototype","handleOpenToggle","opened","componentWillLoad","el","addEventListener","componentDidUpdate","componentDidRender","placement","contentEl","render","h","Host","key","onMouseEnter","onMouseLeave","onFocusin","onFocusout","class","htmlContent","hasArrow","componentId","id","ref","role","name","content"],"sources":["src/utils/overlay.ts","src/components/pds-tooltip/pds-tooltip.scss?tag=pds-tooltip&encapsulation=shadow","src/components/pds-tooltip/pds-tooltip.tsx"],"sourcesContent":["interface OverlayArgs {\n elem: HTMLElement;\n elemPlacement: string;\n overlay: HTMLElement;\n offset?: number;\n}\n\nexport const positionTooltip = ({elem, elemPlacement, overlay, offset = 8}: OverlayArgs) => {\n if (elem == undefined) return;\n\n const rect = elem.getBoundingClientRect();\n const contentRect = overlay.getBoundingClientRect();\n\n // Exit the function if the placement is not set\n if (!elemPlacement || elemPlacement == \"\") return;\n\n switch (true) {\n case elemPlacement.includes(\"right\"):\n overlay.style.top = '50%';\n overlay.style.left = `calc(${rect.width}px + ${offset}px)`;\n overlay.style.transform = 'translateY(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.top = '0';\n overlay.style.transform = 'translateY(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.bottom = '0';\n overlay.style.top = 'initial';\n overlay.style.transform = 'translateY(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"left\"):\n overlay.style.top = '50%';\n overlay.style.right = `calc(${rect.width}px + ${offset}px)`;\n overlay.style.transform = 'translateY(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.top = '0';\n overlay.style.transform = 'translateY(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.bottom = '0';\n overlay.style.top = 'initial';\n overlay.style.transform = 'translateY(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"bottom\"):\n overlay.style.top = `calc(${rect.height}px + ${offset}px)`;\n overlay.style.left = '50%';\n overlay.style.transform = 'translateX(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.left = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.left = 'initial';\n overlay.style.right = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"top\"):\n overlay.style.top = `calc((${contentRect.height}px + ${offset}px) * -1)`;\n overlay.style.left = '50%';\n overlay.style.transform = 'translateX(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.left = '0';\n overlay.style.transform = 'translateX(0)';\n }\n if (elemPlacement.includes(\"end\")) {\n overlay.style.left = 'initial';\n overlay.style.right = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n break;\n }\n}\n",":host {\n --border-radius-overlay: var(--pine-border-radius-125);\n\n --border-width-arrow-down: var(--sizing-arrow-default) var(--sizing-arrow-default) 0;\n --border-width-arrow-left: var(--sizing-arrow-default) var(--sizing-arrow-default) var(--sizing-arrow-default) 0;\n --border-width-arrow-right: var(--sizing-arrow-default) 0 var(--sizing-arrow-default) var(--sizing-arrow-default);\n --border-width-arrow-up: 0 var(--sizing-arrow-default) var(--sizing-arrow-default);\n\n --box-shadow-default: var(--pine-box-shadow-md);\n\n --color-background-default: var(--pine-color-charcoal-400);\n --color-text-default: var(--pine-color-white);\n\n --font-size-overlay: var(--pine-font-size-087);\n\n --line-height-overlay: var(--pine-line-height-125);\n\n --sizing-arrow-default: 6px;\n --sizing-arrow-offset: 14px;\n --sizing-width-default: 320px;\n\n --spacing-padding-overlay: var(--pine-spacing-100) calc(var(--pine-spacing-300) / 2);\n\n display: inline-block;\n position: relative;\n\n ::slotted([slot=\"content\"]) {\n white-space: normal;\n width: var(--sizing-width-default);\n }\n}\n\n.pds-tooltip__content {\n background-color: var(--color-background-default);\n border-radius: var(--border-radius-overlay);\n box-shadow: var(--box-shadow-default);\n color: var(--color-text-default);\n font-size: var(--font-size-overlay);\n line-height: var(--line-height-overlay);\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 0;\n padding: var(--spacing-padding-overlay);\n position: absolute;\n visibility: hidden;\n width: max-content;\n\n .pds-tooltip--is-open & {\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 1;\n visibility: visible;\n z-index: 1;\n }\n\n :host(.pds-tooltip--has-html-content) & {\n width: auto;\n }\n\n &::after {\n border-color: transparent;\n border-right-color: transparent;\n border-style: solid;\n border-width: var(--border-width-arrow-left);\n content: '';\n height: 0;\n position: absolute;\n width: 0;\n\n .pds-tooltip--right & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n left: calc(var(--sizing-arrow-default) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--right-end & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n bottom: var(--sizing-arrow-offset);\n left: calc(var(--sizing-arrow-default) * -1);\n top: initial;\n }\n\n .pds-tooltip--right-start & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n left: calc(var(--sizing-arrow-default) * -1);\n top: var(--sizing-arrow-offset);\n }\n\n .pds-tooltip--top & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: 50%;\n top: initial;\n transform: translateX(-50%);\n }\n\n .pds-tooltip--top-start & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: var(--sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--top-end & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: initial;\n right: var(--sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--left & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--left-end & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n bottom: var(--sizing-arrow-offset);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: initial;\n }\n\n .pds-tooltip--left-start & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: var(--sizing-arrow-offset);\n }\n\n .pds-tooltip--bottom & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: 50%;\n top: calc(var(--sizing-arrow-default) * -1);\n transform: translateX(-50%);\n }\n\n .pds-tooltip--bottom-end & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: initial;\n right: var(--sizing-arrow-offset);\n top: calc(var(--sizing-arrow-default) * -1);\n }\n\n .pds-tooltip--bottom-start & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: var(--sizing-arrow-offset);\n top: calc(var(--sizing-arrow-default) * -1);\n }\n\n .pds-tooltip--no-arrow & {\n border-width: 0;\n }\n }\n}\n","import { Component, Element, Event, Host, Prop, State, h, EventEmitter, Method, Watch } from '@stencil/core';\nimport {\n positionTooltip\n} from '../../utils/overlay';\n\n/**\n * @slot (default) - The tooltip's target element\n * @slot content - HTML content for the tooltip\n */\n\n@Component({\n tag: 'pds-tooltip',\n styleUrl: 'pds-tooltip.scss',\n shadow: true,\n})\nexport class PdsTooltip {\n private contentEl: HTMLElement | null;\n\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsTooltipElement;\n\n /**\n * Determines when the tooltip is open\n * @defaultValue false\n */\n @State() isOpen = false;\n\n /**\n * Content for the tooltip. If HTML is required, use the content slot\n */\n @Prop() content: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether or not the tooltip has an arrow\n * @defaultValue true\n */\n @Prop() hasArrow? = true;\n\n /**\n * Enable this option when using the content slot\n * @defaultValue false\n */\n @Prop() htmlContent = false;\n\n /**\n * Determines the preferred position of the tooltip\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement:\n 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'right';\n\n /**\n * Determines whether or not the tooltip is visible\n * @defaultValue false\n */\n @Prop({mutable: true, reflect: true}) opened = false;\n\n @Watch('opened')\n handleOpenToggle() {\n if (this.opened) {\n this.handleShow();\n } else {\n this.handleHide();\n }\n }\n\n /**\n * Emitted after a tooltip is closed\n */\n @Event() pdsTooltipHide: EventEmitter;\n\n /**\n * Emitted after a tooltip is shown\n */\n @Event() pdsTooltipShow: EventEmitter;\n\n componentWillLoad() {\n if (this.opened) {\n this.showTooltip();\n }\n\n this.el.addEventListener('blur', this.handleHide, true);\n this.el.addEventListener('focus', this.handleShow, true);\n }\n\n componentDidUpdate() {\n if (this.opened) {\n this.showTooltip();\n }\n }\n\n componentDidRender() {\n positionTooltip({elem: this.el, elemPlacement: this.placement, overlay: this.contentEl});\n }\n\n /**\n * Shows the tooltip by enabling the opened property\n */\n @Method()\n async showTooltip() {\n this.opened = true;\n }\n\n /**\n * Hides the tooltip by disabling the opened property\n */\n @Method()\n async hideTooltip() {\n this.opened = false;\n }\n\n private handleHide = () => {\n this.hideTooltip();\n this.pdsTooltipHide.emit();\n };\n\n private handleShow = () => {\n this.showTooltip();\n this.pdsTooltipShow.emit();\n };\n\n render() {\n return (\n <Host\n onMouseEnter={this.handleShow}\n onMouseLeave={this.handleHide}\n onFocusin={this.handleShow}\n onFocusout={this.handleHide}\n >\n <div\n class={`\n pds-tooltip\n pds-tooltip--${this.placement}\n ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''}\n ${this.opened ? 'pds-tooltip--is-open' : ''}\n ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}\n `}\n >\n <span\n aria-describedby={this.componentId}\n class=\"pds-tooltip__trigger\"\n >\n <slot />\n </span>\n\n <div class=\"pds-tooltip__content\"\n aria-hidden={this.opened ? 'false' : 'true'}\n aria-live={this.opened ? 'polite' : 'off'}\n id={this.componentId}\n ref={(el) => (this.contentEl = el)}\n role=\"tooltip\"\n >\n <slot\n name=\"content\"\n ></slot>\n {this.content}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pdsCheckboxCss","PdsCheckboxStyle0","PdsCheckbox","exports","this","handleCheckboxChange","e","_this","disabled","target","checked","pdsCheckboxChange","emit","value","class_1","prototype","classNames","invalid","push","indeterminate","join","render","h","Host","key","class","assignDescription","componentId","helperMessage","undefined","type","id","name","required","onChange","PdsLabel","htmlFor","text","label","labelHidden","messageId","errorMessage","pdsTableCellCss","PdsTableCellStyle0","PdsTableCell","handleScroll","tableRef","scrollLeft","tableScrolling","class_2","componentWillRender","hostElement","closest","componentDidLoad","responsive","fixedColumn","addEventListener","compact","truncate","role","style","selectable"],"sources":["src/components/pds-checkbox/pds-checkbox.scss?tag=pds-checkbox&encapsulation=shadow","src/components/pds-checkbox/pds-checkbox.tsx","src/components/pds-table/pds-table-cell/pds-table-cell.scss?tag=pds-table-cell&encapsulation=shadow","src/components/pds-table/pds-table-cell/pds-table-cell.tsx"],"sourcesContent":[":host {\n --border-default: var(--pine-border-width-thin) solid var(--pine-color-grey-400);\n --border-color-interactive-hover: var(--pine-border-width-thin) solid var(--pine-color-grey-500);\n --border-radius: var(--pine-border-radius-050);\n --box-shadow-focus: 0 0 0 2px var(--pine-color-blue-200);\n --box-shadow-focus-invalid: 0 0 0 2px var(--pine-color-red-200);\n --color-background: var(--pine-color-white);\n --color-background-disabled: var(--pine-color-grey-200);\n --color-background-hover: var(--pine-color-grey-100);\n --color-border-disabled: var(--pine-color-charcoal-100);\n --color-border-icon: var(--pine-color-white);\n --color-checked: var(--pine-color-charcoal-500);\n --color-disabled: var(--pine-color-grey-300);\n --color-invalid: var(--pine-color-red-300);\n --color-text-disabled: var(--pine-color-grey-500);\n --color-text-message: var(--pine-color-charcoal-200);\n --sizing-input: var(--pine-font-size-100);\n\n align-items: center;\n display: flex;\n flex-flow: row wrap;\n}\n\n:host(.is-invalid) {\n input {\n border-color: var(--color-invalid);\n\n &:checked {\n background: var(--color-invalid);\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus-invalid); // Remove when outline radius is supported in Safari\n outline: none;\n }\n }\n\n label,\n .pds-checkbox__message--error {\n color: var(--color-invalid);\n }\n}\n\n:host(.is-indeterminate) {\n input:checked {\n &::after {\n border-bottom: 0;\n transform: rotate(87deg) translate3d(-114%, 25%, 0);\n }\n }\n}\n\ninput {\n appearance: none;\n background-color: var(--color-background);\n border: var(--border-default);\n border-radius: var(--border-radius);\n height: var(--sizing-input);\n margin: 0;\n position: relative;\n width: var(--sizing-input);\n\n &:hover {\n background: var(--color-background-hover);\n border: var(--border-color-interactive-hover);\n }\n\n &:checked {\n background: var(--color-checked);\n border-color: var(--color-checked);\n\n &::after {\n border: 1px solid var(--color-border-icon);\n border-left: 0;\n border-top: 0;\n content: \"\";\n display: block;\n height: 7px;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: rotate(43deg) translate3d(-110%, -30%, 0);\n width: 4px;\n }\n }\n\n &:disabled {\n background: var(--color-background-disabled);\n border-color: var(--color-disabled);\n cursor: not-allowed;\n\n &:checked {\n background: var(--color-disabled);\n border-color: var(--color-disabled);\n\n &::after {\n border-color: var(--color-border-disabled);\n }\n }\n\n + label {\n color: var(--color-text-disabled);\n cursor: not-allowed;\n }\n\n ~ .pds-checkbox__message {\n color: var(--color-text-disabled);\n }\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n}\n\nlabel {\n margin-inline-start: 10px;\n}\n\n.visually-hidden {\n border: 0;\n clip: rect(0 0 0 0);\n clip-path: polygon(0 0, 0 0, 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n.pds-checkbox__message {\n color: var(--color-text-message);\n font-size: 14px;\n margin-block-start: 6px;\n margin-inline-start: 26px;\n width: 100%;\n}\n","import { Component, h, Prop, Host, Event, EventEmitter } from '@stencil/core';\nimport { assignDescription, messageId } from '../../utils/form';\nimport { PdsLabel } from '../_internal/pds-label/pds-label';\nimport { CheckboxChangeEventDetail } from './checkbox-interface';\n\n@Component({\n tag: 'pds-checkbox',\n styleUrl: 'pds-checkbox.scss',\n shadow: true,\n})\nexport class PdsCheckbox {\n /**\n * It determines whether or not the checkbox is checked.\n */\n @Prop({ mutable: true }) checked: boolean;\n\n /**\n * A unique identifier used for the underlying component `id` attribute and the label `for` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * It determines whether or not the checkbox is disabled.\n */\n @Prop() disabled: boolean;\n\n /**\n * Displays message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * String used for helper message below checkbox.\n */\n @Prop() helperMessage: string;\n\n /**\n * If `true`, the checkbox will visually appear as indeterminate.\n * Only JavaScript can set the objects `indeterminate` property. See [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes).\n */\n @Prop() indeterminate: boolean;\n\n /**\n * It determines whether or not the checkbox is invalid.\n */\n @Prop() invalid: boolean;\n\n /**\n * String used for label text next to checkbox.\n */\n @Prop() label: string;\n\n /**\n * Visually hides the label text for instances where only the checkbox should be displayed. Label remains accessible to assistive technology such as screen readers.\n */\n @Prop() labelHidden: boolean;\n\n /**\n * String used for checkbox `name` attribute.\n */\n @Prop() name: string;\n\n /**\n * It determines whether or not the checkbox is required.\n */\n @Prop() required: boolean;\n\n /**\n * The value of the checkbox that is submitted with a form.\n */\n @Prop() value: string;\n\n /**\n * Event emitted that contains the `value` and `checked`.\n */\n @Event() pdsCheckboxChange: EventEmitter<CheckboxChangeEventDetail>;\n\n private handleCheckboxChange = (e: Event) => {\n if (this.disabled) {\n return;\n }\n\n const target = e.target as HTMLInputElement;\n this.checked = target.checked;\n\n this.pdsCheckboxChange.emit({\n checked: target.checked,\n value: this.value\n });\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.indeterminate) { classNames.push('is-indeterminate'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host class={this.classNames()}>\n <input\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n type=\"checkbox\"\n id={this.componentId}\n name={this.name}\n value={this.value}\n checked={this.checked}\n required={this.required}\n disabled={this.disabled}\n onChange={this.handleCheckboxChange}\n />\n <PdsLabel htmlFor={this.componentId} text={this.label} classNames={this.labelHidden ? 'visually-hidden' : ''} />\n {this.helperMessage &&\n <div\n class={'pds-checkbox__message'}\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </div>\n }\n {this.errorMessage &&\n <div\n class={`pds-checkbox__message pds-checkbox__message--error`}\n id={messageId(this.componentId, 'error')}\n aria-live=\"assertive\"\n >\n {this.errorMessage}\n </div>\n }\n </Host>\n );\n }\n}\n",":host {\n --box-shadow-fixed: 3px 3px 6px -2px rgba(0, 0, 0, 0.2);\n\n --color-background-fixed: var(--pine-color-white);\n --color-cell-default: var(--pine-color-charcoal-200);\n\n --dimension-fixed-cell-position: 0;\n --dimension-max-width-truncated: 100px;\n\n --font-size-cell-default: var(--pine-font-size-087);\n\n --number-fixed-column-index: 0;\n\n --spacing-line-height-cell-default: var(--pine-line-height-125);\n --spacing-padding-cell-default: calc(var(--pine-spacing-300) / 2);\n --spacing-padding-compact: var(--pine-spacing-050);\n\n color: var(--color-cell-default);\n display: table-cell;\n font-size: var(--font-size-cell-default);\n line-height: var(--spacing-line-height-cell-default);\n padding: var(--spacing-padding-cell-default);\n vertical-align: inherit;\n}\n\n:host(.is-compact) {\n padding-block: var(--spacing-padding-compact);\n}\n\n:host(.is-fixed) {\n background: var(--color-background-fixed);\n left: var(--dimension-fixed-cell-position);\n position: sticky;\n z-index: 1;\n}\n\n// box shadow when table has scrolled and cell is fixed\n:host(.has-scrolled.is-fixed) {\n box-shadow: var(--box-shadow-fixed);\n}\n\n:host(.is-truncated) {\n max-width: var(--dimension-max-width-truncated);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n:host(.has-checkbox) {\n vertical-align: middle;\n width: 16px;\n}\n","import { Component, Element, Host, Prop, State, h } from '@stencil/core';\n\n@Component({\n tag: 'pds-table-cell',\n styleUrl: 'pds-table-cell.scss',\n shadow: true,\n})\nexport class PdsTableCell {\n @Element() hostElement: HTMLPdsTableCellElement;\n tableRef: HTMLPdsTableElement;\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n }\n\n componentDidLoad() {\n if (this.tableRef && this.tableRef.responsive && this.tableRef.fixedColumn) {\n this.tableRef.addEventListener('scroll', this.handleScroll);\n }\n }\n\n /**\n * Truncates content to a max width of 100px and adds an ellipsis.\n */\n @Prop() truncate: boolean;\n\n @State() private tableScrolling: boolean = false;\n\n private classNames() {\n const classNames = [];\n\n if (this.tableRef && this.tableRef.compact) {\n classNames.push('is-compact');\n }\n\n if (this.truncate) {\n classNames.push('is-truncated');\n }\n\n if (this.tableRef && this.tableRef.fixedColumn && this.tableScrolling) {\n classNames.push('has-scrolled');\n }\n\n return classNames.join(' ');\n }\n\n private handleScroll = () => {\n if (this.tableRef.scrollLeft > 0) {\n this.tableScrolling = true;\n } else {\n this.tableScrolling = false;\n }\n };\n\n render() {\n return (\n <Host\n class={this.classNames()}\n role=\"gridcell\"\n style={\n this.tableRef &&\n this.tableRef.fixedColumn &&\n this.tableRef.selectable\n ? { '--fixed-cell-position': '40px' }\n : {}\n }\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"gOAAA,IAAMA,EAAiB,8pGACvB,IAAAC,EAAeD,E,ICSFE,EAAWC,EAAA,0B,wFAmEdC,KAAAC,qBAAuB,SAACC,GAC9B,GAAIC,EAAKC,SAAU,CACjB,M,CAGF,IAAMC,EAASH,EAAEG,OACjBF,EAAKG,QAAUD,EAAOC,QAEtBH,EAAKI,kBAAkBC,KAAK,CAC1BF,QAASD,EAAOC,QAChBG,MAAON,EAAKM,O,0SAIRC,EAAAC,UAAAC,WAAA,WACN,IAAMA,EAAa,GAEnB,GAAIZ,KAAKa,QAAS,CAAED,EAAWE,KAAK,a,CACpC,GAAId,KAAKe,cAAe,CAAEH,EAAWE,KAAK,mB,CAC1C,GAAId,KAAKI,SAAU,CAAEQ,EAAWE,KAAK,c,CAErC,OAAOF,EAAWI,KAAK,K,EAGzBN,EAAAC,UAAAM,OAAA,WACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAOrB,KAAKY,cAChBM,EAAA,SAAAE,IAAA,8DACoBE,EAAkBtB,KAAKuB,YAAavB,KAAKa,QAASb,KAAKwB,eAAc,eACzExB,KAAKa,QAAU,OAASY,UACtCC,KAAK,WACLC,GAAI3B,KAAKuB,YACTK,KAAM5B,KAAK4B,KACXnB,MAAOT,KAAKS,MACZH,QAASN,KAAKM,QACduB,SAAU7B,KAAK6B,SACfzB,SAAUJ,KAAKI,SACf0B,SAAU9B,KAAKC,uBAEjBiB,EAACa,EAAQ,CAAAX,IAAA,2CAACY,QAAShC,KAAKuB,YAAaU,KAAMjC,KAAKkC,MAAOtB,WAAYZ,KAAKmC,YAAc,kBAAoB,KACzGnC,KAAKwB,eACJN,EAAA,OAAAE,IAAA,2CACEC,MAAO,wBACPM,GAAIS,EAAUpC,KAAKuB,YAAa,WAE/BvB,KAAKwB,eAGTxB,KAAKqC,cACJnB,EAAA,OAAAE,IAAA,2CACEC,MAAO,qDACPM,GAAIS,EAAUpC,KAAKuB,YAAa,SAAQ,YAC9B,aAETvB,KAAKqC,c,WAzHM,I,UCVxB,IAAMC,EAAkB,wrCACxB,IAAAC,EAAeD,E,ICMFE,EAAYzC,EAAA,4B,mCAuCfC,KAAAyC,aAAe,WACrB,GAAItC,EAAKuC,SAASC,WAAa,EAAG,CAChCxC,EAAKyC,eAAiB,I,KACjB,CACLzC,EAAKyC,eAAiB,K,+CAxBiB,K,CAf3CC,EAAAlC,UAAAmC,oBAAA,WACE9C,KAAK0C,SAAW1C,KAAK+C,YAAYC,QAAQ,Y,EAG3CH,EAAAlC,UAAAsC,iBAAA,WACE,GAAIjD,KAAK0C,UAAY1C,KAAK0C,SAASQ,YAAclD,KAAK0C,SAASS,YAAa,CAC1EnD,KAAK0C,SAASU,iBAAiB,SAAUpD,KAAKyC,a,GAW1CI,EAAAlC,UAAAC,WAAA,WACN,IAAMA,EAAa,GAEnB,GAAIZ,KAAK0C,UAAY1C,KAAK0C,SAASW,QAAS,CAC1CzC,EAAWE,KAAK,a,CAGlB,GAAId,KAAKsD,SAAU,CACjB1C,EAAWE,KAAK,e,CAGlB,GAAId,KAAK0C,UAAY1C,KAAK0C,SAASS,aAAenD,KAAK4C,eAAgB,CACrEhC,EAAWE,KAAK,e,CAGlB,OAAOF,EAAWI,KAAK,I,EAWzB6B,EAAAlC,UAAAM,OAAA,WACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAOrB,KAAKY,aACZ2C,KAAK,WACLC,MACExD,KAAK0C,UACL1C,KAAK0C,SAASS,aACdnD,KAAK0C,SAASe,WACV,CAAE,wBAAyB,QAC3B,IAGNvC,EAAA,QAAAE,IAAA,6C,gIA5DiB,I"}
|
|
1
|
+
{"version":3,"names":["pdsCheckboxCss","PdsCheckboxStyle0","PdsCheckbox","exports","this","handleCheckboxChange","e","_this","disabled","target","checked","pdsCheckboxChange","emit","value","class_1","prototype","classNames","invalid","push","indeterminate","join","render","h","Host","key","class","assignDescription","componentId","helperMessage","undefined","type","id","name","required","onChange","PdsLabel","htmlFor","text","label","labelHidden","messageId","errorMessage","pdsTableCellCss","PdsTableCellStyle0","PdsTableCell","handleScroll","tableRef","scrollLeft","tableScrolling","class_2","componentWillRender","hostElement","closest","componentDidLoad","responsive","fixedColumn","addEventListener","compact","truncate","role","style","selectable"],"sources":["src/components/pds-checkbox/pds-checkbox.scss?tag=pds-checkbox&encapsulation=shadow","src/components/pds-checkbox/pds-checkbox.tsx","src/components/pds-table/pds-table-cell/pds-table-cell.scss?tag=pds-table-cell&encapsulation=shadow","src/components/pds-table/pds-table-cell/pds-table-cell.tsx"],"sourcesContent":[":host {\n --border-default: var(--pine-border-width-thin) solid var(--pine-color-grey-400);\n\n --border-color-interactive-hover: var(--pine-border-width-thin) solid var(--pine-color-grey-500);\n\n --border-radius: var(--pine-border-radius-050);\n\n --box-shadow-focus: 0 0 0 2px var(--pine-color-blue-200);\n --box-shadow-focus-invalid: 0 0 0 2px var(--pine-color-red-200);\n\n --color-background: var(--pine-color-white);\n --color-background-disabled: var(--pine-color-grey-200);\n --color-background-hover: var(--pine-color-grey-100);\n --color-border-disabled: var(--pine-color-charcoal-100);\n --color-border-icon: var(--pine-color-white);\n --color-checked: var(--pine-color-charcoal-500);\n --color-disabled: var(--pine-color-grey-300);\n --color-invalid: var(--pine-color-red-300);\n --color-text-disabled: var(--pine-color-grey-500);\n --color-text-message: var(--pine-color-charcoal-200);\n\n --sizing-input: var(--pine-font-size-100);\n\n align-items: center;\n display: flex;\n flex-flow: row wrap;\n}\n\n:host(.is-invalid) {\n input {\n border-color: var(--color-invalid);\n\n &:checked {\n background: var(--color-invalid);\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus-invalid); // Remove when outline radius is supported in Safari\n outline: none;\n }\n }\n\n label,\n .pds-checkbox__message--error {\n color: var(--color-invalid);\n }\n}\n\n:host(.is-indeterminate) {\n input:checked {\n &::after {\n border-bottom: 0;\n transform: rotate(87deg) translate3d(-114%, 25%, 0);\n }\n }\n}\n\ninput {\n appearance: none;\n background-color: var(--color-background);\n border: var(--border-default);\n border-radius: var(--border-radius);\n height: var(--sizing-input);\n margin: 0;\n position: relative;\n width: var(--sizing-input);\n\n &:hover {\n background: var(--color-background-hover);\n border: var(--border-color-interactive-hover);\n }\n\n &:checked {\n background: var(--color-checked);\n border-color: var(--color-checked);\n\n &::after {\n border: 1px solid var(--color-border-icon);\n border-left: 0;\n border-top: 0;\n content: \"\";\n display: block;\n height: 7px;\n left: 50%;\n position: absolute;\n top: 50%;\n transform: rotate(43deg) translate3d(-110%, -30%, 0);\n width: 4px;\n }\n }\n\n &:disabled {\n background: var(--color-background-disabled);\n border-color: var(--color-disabled);\n cursor: not-allowed;\n\n &:checked {\n background: var(--color-disabled);\n border-color: var(--color-disabled);\n\n &::after {\n border-color: var(--color-border-disabled);\n }\n }\n\n + label {\n color: var(--color-text-disabled);\n cursor: not-allowed;\n }\n\n ~ .pds-checkbox__message {\n color: var(--color-text-disabled);\n }\n }\n\n &:focus-visible {\n // outline: var(--pine-border-focus); Border radius for outline does not work in Safari\n box-shadow: var(--box-shadow-focus); // Remove when outline radius is supported in Safari\n outline: none;\n }\n}\n\nlabel {\n margin-inline-start: 10px;\n}\n\n.visually-hidden {\n border: 0;\n clip: rect(0 0 0 0);\n clip-path: polygon(0 0, 0 0, 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n.pds-checkbox__message {\n color: var(--color-text-message);\n font-size: 14px;\n margin-block-start: 6px;\n margin-inline-start: 26px;\n width: 100%;\n}\n","import { Component, h, Prop, Host, Event, EventEmitter } from '@stencil/core';\nimport { assignDescription, messageId } from '../../utils/form';\nimport { PdsLabel } from '../_internal/pds-label/pds-label';\nimport { CheckboxChangeEventDetail } from './checkbox-interface';\n\n@Component({\n tag: 'pds-checkbox',\n styleUrl: 'pds-checkbox.scss',\n shadow: true,\n})\nexport class PdsCheckbox {\n /**\n * It determines whether or not the checkbox is checked.\n */\n @Prop({ mutable: true }) checked: boolean;\n\n /**\n * A unique identifier used for the underlying component `id` attribute and the label `for` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * It determines whether or not the checkbox is disabled.\n */\n @Prop() disabled: boolean;\n\n /**\n * Displays message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * String used for helper message below checkbox.\n */\n @Prop() helperMessage: string;\n\n /**\n * If `true`, the checkbox will visually appear as indeterminate.\n * Only JavaScript can set the objects `indeterminate` property. See [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes).\n */\n @Prop() indeterminate: boolean;\n\n /**\n * It determines whether or not the checkbox is invalid.\n */\n @Prop() invalid: boolean;\n\n /**\n * String used for label text next to checkbox.\n */\n @Prop() label: string;\n\n /**\n * Visually hides the label text for instances where only the checkbox should be displayed. Label remains accessible to assistive technology such as screen readers.\n */\n @Prop() labelHidden: boolean;\n\n /**\n * String used for checkbox `name` attribute.\n */\n @Prop() name: string;\n\n /**\n * It determines whether or not the checkbox is required.\n */\n @Prop() required: boolean;\n\n /**\n * The value of the checkbox that is submitted with a form.\n */\n @Prop() value: string;\n\n /**\n * Event emitted that contains the `value` and `checked`.\n */\n @Event() pdsCheckboxChange: EventEmitter<CheckboxChangeEventDetail>;\n\n private handleCheckboxChange = (e: Event) => {\n if (this.disabled) {\n return;\n }\n\n const target = e.target as HTMLInputElement;\n this.checked = target.checked;\n\n this.pdsCheckboxChange.emit({\n checked: target.checked,\n value: this.value\n });\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) { classNames.push('is-invalid'); }\n if (this.indeterminate) { classNames.push('is-indeterminate'); }\n if (this.disabled) { classNames.push('is-disabled'); }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host class={this.classNames()}>\n <input\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n type=\"checkbox\"\n id={this.componentId}\n name={this.name}\n value={this.value}\n checked={this.checked}\n required={this.required}\n disabled={this.disabled}\n onChange={this.handleCheckboxChange}\n />\n <PdsLabel htmlFor={this.componentId} text={this.label} classNames={this.labelHidden ? 'visually-hidden' : ''} />\n {this.helperMessage &&\n <div\n class={'pds-checkbox__message'}\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </div>\n }\n {this.errorMessage &&\n <div\n class={`pds-checkbox__message pds-checkbox__message--error`}\n id={messageId(this.componentId, 'error')}\n aria-live=\"assertive\"\n >\n {this.errorMessage}\n </div>\n }\n </Host>\n );\n }\n}\n",":host {\n --box-shadow-fixed: 3px 3px 6px -2px rgba(0, 0, 0, 0.2);\n\n --color-background-fixed: var(--pine-color-white);\n --color-cell-default: var(--pine-color-charcoal-200);\n\n --dimension-fixed-cell-position: 0;\n --dimension-max-width-truncated: 100px;\n\n --font-size-cell-default: var(--pine-font-size-087);\n\n --number-fixed-column-index: 0;\n\n --spacing-line-height-cell-default: var(--pine-line-height-125);\n --spacing-padding-cell-default: calc(var(--pine-spacing-300) / 2);\n --spacing-padding-compact: var(--pine-spacing-050);\n\n color: var(--color-cell-default);\n display: table-cell;\n font-size: var(--font-size-cell-default);\n line-height: var(--spacing-line-height-cell-default);\n padding: var(--spacing-padding-cell-default);\n vertical-align: inherit;\n}\n\n:host(.is-compact) {\n padding-block: var(--spacing-padding-compact);\n}\n\n:host(.is-fixed) {\n background: var(--color-background-fixed);\n left: var(--dimension-fixed-cell-position);\n position: sticky;\n z-index: 1;\n}\n\n// box shadow when table has scrolled and cell is fixed\n:host(.has-scrolled.is-fixed) {\n box-shadow: var(--box-shadow-fixed);\n}\n\n:host(.is-truncated) {\n max-width: var(--dimension-max-width-truncated);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n:host(.has-checkbox) {\n vertical-align: middle;\n width: 16px;\n}\n","import { Component, Element, Host, Prop, State, h } from '@stencil/core';\n\n@Component({\n tag: 'pds-table-cell',\n styleUrl: 'pds-table-cell.scss',\n shadow: true,\n})\nexport class PdsTableCell {\n @Element() hostElement: HTMLPdsTableCellElement;\n tableRef: HTMLPdsTableElement;\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n }\n\n componentDidLoad() {\n if (this.tableRef && this.tableRef.responsive && this.tableRef.fixedColumn) {\n this.tableRef.addEventListener('scroll', this.handleScroll);\n }\n }\n\n /**\n * Truncates content to a max width of 100px and adds an ellipsis.\n */\n @Prop() truncate: boolean;\n\n @State() private tableScrolling: boolean = false;\n\n private classNames() {\n const classNames = [];\n\n if (this.tableRef && this.tableRef.compact) {\n classNames.push('is-compact');\n }\n\n if (this.truncate) {\n classNames.push('is-truncated');\n }\n\n if (this.tableRef && this.tableRef.fixedColumn && this.tableScrolling) {\n classNames.push('has-scrolled');\n }\n\n return classNames.join(' ');\n }\n\n private handleScroll = () => {\n if (this.tableRef.scrollLeft > 0) {\n this.tableScrolling = true;\n } else {\n this.tableScrolling = false;\n }\n };\n\n render() {\n return (\n <Host\n class={this.classNames()}\n role=\"gridcell\"\n style={\n this.tableRef &&\n this.tableRef.fixedColumn &&\n this.tableRef.selectable\n ? { '--fixed-cell-position': '40px' }\n : {}\n }\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"gOAAA,IAAMA,EAAiB,8pGACvB,IAAAC,EAAeD,E,ICSFE,EAAWC,EAAA,0B,wFAmEdC,KAAAC,qBAAuB,SAACC,GAC9B,GAAIC,EAAKC,SAAU,CACjB,M,CAGF,IAAMC,EAASH,EAAEG,OACjBF,EAAKG,QAAUD,EAAOC,QAEtBH,EAAKI,kBAAkBC,KAAK,CAC1BF,QAASD,EAAOC,QAChBG,MAAON,EAAKM,O,0SAIRC,EAAAC,UAAAC,WAAA,WACN,IAAMA,EAAa,GAEnB,GAAIZ,KAAKa,QAAS,CAAED,EAAWE,KAAK,a,CACpC,GAAId,KAAKe,cAAe,CAAEH,EAAWE,KAAK,mB,CAC1C,GAAId,KAAKI,SAAU,CAAEQ,EAAWE,KAAK,c,CAErC,OAAOF,EAAWI,KAAK,K,EAGzBN,EAAAC,UAAAM,OAAA,WACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAOrB,KAAKY,cAChBM,EAAA,SAAAE,IAAA,8DACoBE,EAAkBtB,KAAKuB,YAAavB,KAAKa,QAASb,KAAKwB,eAAc,eACzExB,KAAKa,QAAU,OAASY,UACtCC,KAAK,WACLC,GAAI3B,KAAKuB,YACTK,KAAM5B,KAAK4B,KACXnB,MAAOT,KAAKS,MACZH,QAASN,KAAKM,QACduB,SAAU7B,KAAK6B,SACfzB,SAAUJ,KAAKI,SACf0B,SAAU9B,KAAKC,uBAEjBiB,EAACa,EAAQ,CAAAX,IAAA,2CAACY,QAAShC,KAAKuB,YAAaU,KAAMjC,KAAKkC,MAAOtB,WAAYZ,KAAKmC,YAAc,kBAAoB,KACzGnC,KAAKwB,eACJN,EAAA,OAAAE,IAAA,2CACEC,MAAO,wBACPM,GAAIS,EAAUpC,KAAKuB,YAAa,WAE/BvB,KAAKwB,eAGTxB,KAAKqC,cACJnB,EAAA,OAAAE,IAAA,2CACEC,MAAO,qDACPM,GAAIS,EAAUpC,KAAKuB,YAAa,SAAQ,YAC9B,aAETvB,KAAKqC,c,WAzHM,I,UCVxB,IAAMC,EAAkB,wrCACxB,IAAAC,EAAeD,E,ICMFE,EAAYzC,EAAA,4B,mCAuCfC,KAAAyC,aAAe,WACrB,GAAItC,EAAKuC,SAASC,WAAa,EAAG,CAChCxC,EAAKyC,eAAiB,I,KACjB,CACLzC,EAAKyC,eAAiB,K,+CAxBiB,K,CAf3CC,EAAAlC,UAAAmC,oBAAA,WACE9C,KAAK0C,SAAW1C,KAAK+C,YAAYC,QAAQ,Y,EAG3CH,EAAAlC,UAAAsC,iBAAA,WACE,GAAIjD,KAAK0C,UAAY1C,KAAK0C,SAASQ,YAAclD,KAAK0C,SAASS,YAAa,CAC1EnD,KAAK0C,SAASU,iBAAiB,SAAUpD,KAAKyC,a,GAW1CI,EAAAlC,UAAAC,WAAA,WACN,IAAMA,EAAa,GAEnB,GAAIZ,KAAK0C,UAAY1C,KAAK0C,SAASW,QAAS,CAC1CzC,EAAWE,KAAK,a,CAGlB,GAAId,KAAKsD,SAAU,CACjB1C,EAAWE,KAAK,e,CAGlB,GAAId,KAAK0C,UAAY1C,KAAK0C,SAASS,aAAenD,KAAK4C,eAAgB,CACrEhC,EAAWE,KAAK,e,CAGlB,OAAOF,EAAWI,KAAK,I,EAWzB6B,EAAAlC,UAAAM,OAAA,WACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAOrB,KAAKY,aACZ2C,KAAK,WACLC,MACExD,KAAK0C,UACL1C,KAAK0C,SAASS,aACdnD,KAAK0C,SAASe,WACV,CAAE,wBAAyB,QAC3B,IAGNvC,EAAA,QAAAE,IAAA,6C,gIA5DiB,I"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pdsTableHeadCss","PdsTableHeadStyle0","PdsTableHead","exports","class_1","prototype","componentWillRender","this","tableRef","hostElement","closest","fixedColumn","tableCell","querySelector","classList","add","render","h","Host","key","role","selectable","part"],"sources":["src/components/pds-table/pds-table-head/pds-table-head.scss?tag=pds-table-head&encapsulation=shadow","src/components/pds-table/pds-table-head/pds-table-head.tsx"],"sourcesContent":[":host {\n --border-head-default: var(--pine-border-width-thin) solid var(--pine-color-grey-300);\n --color-background-fixed: var(--pine-color-base-white);\n\n border-color: inherit;\n box-sizing: border-box;\n display: table-header-group;\n vertical-align: middle;\n\n // used for pds-checkbox-cell\n // because it is in the ShadowDom\n &::part(checkbox-cell) {\n background-color: var(--color-background-fixed);\n left: 0;\n position: sticky;\n z-index: 1;\n }\n}\n\n:host pds-table-checkbox-cell {\n border-block-end: var(--border-head-default);\n}\n","import { Component, Element, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'pds-table-head',\n styleUrl: 'pds-table-head.scss',\n shadow: true,\n})\nexport class PdsTableHead {\n @Element() hostElement: HTMLPdsTableHeadElement;\n tableRef: HTMLPdsTableElement\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n\n if (this.tableRef && this.tableRef.fixedColumn) {\n const tableCell = this.hostElement.querySelector('pds-table-head-cell:first-child');\n tableCell?.classList.add(\"is-fixed\");\n }\n }\n render() {\n return (\n <Host role=\"row\">\n {this.tableRef && this.tableRef.selectable && (\n <pds-table-head-cell part={this.tableRef.fixedColumn ? 'checkbox-cell' : ''}></pds-table-head-cell>\n )}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"0JAAA,IAAMA,EAAkB,2gBACxB,IAAAC,EAAeD,E,ICMFE,EAAYC,EAAA,4B,wBAIvBC,EAAAC,UAAAC,oBAAA,WACEC,KAAKC,SAAWD,KAAKE,YAAYC,QAAQ,aAEzC,GAAIH,KAAKC,UAAYD,KAAKC,SAASG,YAAa,CAC9C,IAAMC,EAAYL,KAAKE,YAAYI,cAAc,mCACjDD,IAAS,MAATA,SAAS,SAATA,EAAWE,UAAUC,IAAI,W,GAG7BX,EAAAC,UAAAW,OAAA,WACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,OACRb,KAAKC,UAAYD,KAAKC,SAASa,YAC9BJ,EAAA,uBAAAE,IAAA,2CAAqBG,KAAMf,KAAKC,SAASG,YAAc,gBAAkB,KAE3EM,EAAA,QAAAE,IAAA,6C,gIAlBiB,I"}
|
|
1
|
+
{"version":3,"names":["pdsTableHeadCss","PdsTableHeadStyle0","PdsTableHead","exports","class_1","prototype","componentWillRender","this","tableRef","hostElement","closest","fixedColumn","tableCell","querySelector","classList","add","render","h","Host","key","role","selectable","part"],"sources":["src/components/pds-table/pds-table-head/pds-table-head.scss?tag=pds-table-head&encapsulation=shadow","src/components/pds-table/pds-table-head/pds-table-head.tsx"],"sourcesContent":[":host {\n --border-head-default: var(--pine-border-width-thin) solid var(--pine-color-grey-300);\n\n --color-background-fixed: var(--pine-color-base-white);\n\n border-color: inherit;\n box-sizing: border-box;\n display: table-header-group;\n vertical-align: middle;\n\n // used for pds-checkbox-cell\n // because it is in the ShadowDom\n &::part(checkbox-cell) {\n background-color: var(--color-background-fixed);\n left: 0;\n position: sticky;\n z-index: 1;\n }\n}\n\n:host pds-table-checkbox-cell {\n border-block-end: var(--border-head-default);\n}\n","import { Component, Element, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'pds-table-head',\n styleUrl: 'pds-table-head.scss',\n shadow: true,\n})\nexport class PdsTableHead {\n @Element() hostElement: HTMLPdsTableHeadElement;\n tableRef: HTMLPdsTableElement\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n\n if (this.tableRef && this.tableRef.fixedColumn) {\n const tableCell = this.hostElement.querySelector('pds-table-head-cell:first-child');\n tableCell?.classList.add(\"is-fixed\");\n }\n }\n render() {\n return (\n <Host role=\"row\">\n {this.tableRef && this.tableRef.selectable && (\n <pds-table-head-cell part={this.tableRef.fixedColumn ? 'checkbox-cell' : ''}></pds-table-head-cell>\n )}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"0JAAA,IAAMA,EAAkB,2gBACxB,IAAAC,EAAeD,E,ICMFE,EAAYC,EAAA,4B,wBAIvBC,EAAAC,UAAAC,oBAAA,WACEC,KAAKC,SAAWD,KAAKE,YAAYC,QAAQ,aAEzC,GAAIH,KAAKC,UAAYD,KAAKC,SAASG,YAAa,CAC9C,IAAMC,EAAYL,KAAKE,YAAYI,cAAc,mCACjDD,IAAS,MAATA,SAAS,SAATA,EAAWE,UAAUC,IAAI,W,GAG7BX,EAAAC,UAAAW,OAAA,WACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,OACRb,KAAKC,UAAYD,KAAKC,SAASa,YAC9BJ,EAAA,uBAAAE,IAAA,2CAAqBG,KAAMf,KAAKC,SAASG,YAAc,gBAAkB,KAE3EM,EAAA,QAAAE,IAAA,6C,gIAlBiB,I"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pdsTableHeadCss","PdsTableHeadStyle0","PdsTableHead","componentWillRender","this","tableRef","hostElement","closest","fixedColumn","tableCell","querySelector","classList","add","render","h","Host","key","role","selectable","part"],"sources":["src/components/pds-table/pds-table-head/pds-table-head.scss?tag=pds-table-head&encapsulation=shadow","src/components/pds-table/pds-table-head/pds-table-head.tsx"],"sourcesContent":[":host {\n --border-head-default: var(--pine-border-width-thin) solid var(--pine-color-grey-300);\n --color-background-fixed: var(--pine-color-base-white);\n\n border-color: inherit;\n box-sizing: border-box;\n display: table-header-group;\n vertical-align: middle;\n\n // used for pds-checkbox-cell\n // because it is in the ShadowDom\n &::part(checkbox-cell) {\n background-color: var(--color-background-fixed);\n left: 0;\n position: sticky;\n z-index: 1;\n }\n}\n\n:host pds-table-checkbox-cell {\n border-block-end: var(--border-head-default);\n}\n","import { Component, Element, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'pds-table-head',\n styleUrl: 'pds-table-head.scss',\n shadow: true,\n})\nexport class PdsTableHead {\n @Element() hostElement: HTMLPdsTableHeadElement;\n tableRef: HTMLPdsTableElement\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n\n if (this.tableRef && this.tableRef.fixedColumn) {\n const tableCell = this.hostElement.querySelector('pds-table-head-cell:first-child');\n tableCell?.classList.add(\"is-fixed\");\n }\n }\n render() {\n return (\n <Host role=\"row\">\n {this.tableRef && this.tableRef.selectable && (\n <pds-table-head-cell part={this.tableRef.fixedColumn ? 'checkbox-cell' : ''}></pds-table-head-cell>\n )}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAkB,2gBACxB,MAAAC,EAAeD,E,MCMFE,EAAY,M,yBAIvB,mBAAAC,GACEC,KAAKC,SAAWD,KAAKE,YAAYC,QAAQ,aAEzC,GAAIH,KAAKC,UAAYD,KAAKC,SAASG,YAAa,CAC9C,MAAMC,EAAYL,KAAKE,YAAYI,cAAc,mCACjDD,IAAS,MAATA,SAAS,SAATA,EAAWE,UAAUC,IAAI,W,EAG7B,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,OACRb,KAAKC,UAAYD,KAAKC,SAASa,YAC9BJ,EAAA,uBAAAE,IAAA,2CAAqBG,KAAMf,KAAKC,SAASG,YAAc,gBAAkB,KAE3EM,EAAA,QAAAE,IAAA,6C"}
|
|
1
|
+
{"version":3,"names":["pdsTableHeadCss","PdsTableHeadStyle0","PdsTableHead","componentWillRender","this","tableRef","hostElement","closest","fixedColumn","tableCell","querySelector","classList","add","render","h","Host","key","role","selectable","part"],"sources":["src/components/pds-table/pds-table-head/pds-table-head.scss?tag=pds-table-head&encapsulation=shadow","src/components/pds-table/pds-table-head/pds-table-head.tsx"],"sourcesContent":[":host {\n --border-head-default: var(--pine-border-width-thin) solid var(--pine-color-grey-300);\n\n --color-background-fixed: var(--pine-color-base-white);\n\n border-color: inherit;\n box-sizing: border-box;\n display: table-header-group;\n vertical-align: middle;\n\n // used for pds-checkbox-cell\n // because it is in the ShadowDom\n &::part(checkbox-cell) {\n background-color: var(--color-background-fixed);\n left: 0;\n position: sticky;\n z-index: 1;\n }\n}\n\n:host pds-table-checkbox-cell {\n border-block-end: var(--border-head-default);\n}\n","import { Component, Element, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'pds-table-head',\n styleUrl: 'pds-table-head.scss',\n shadow: true,\n})\nexport class PdsTableHead {\n @Element() hostElement: HTMLPdsTableHeadElement;\n tableRef: HTMLPdsTableElement\n\n componentWillRender() {\n this.tableRef = this.hostElement.closest('pds-table') as HTMLPdsTableElement;\n\n if (this.tableRef && this.tableRef.fixedColumn) {\n const tableCell = this.hostElement.querySelector('pds-table-head-cell:first-child');\n tableCell?.classList.add(\"is-fixed\");\n }\n }\n render() {\n return (\n <Host role=\"row\">\n {this.tableRef && this.tableRef.selectable && (\n <pds-table-head-cell part={this.tableRef.fixedColumn ? 'checkbox-cell' : ''}></pds-table-head-cell>\n )}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAkB,2gBACxB,MAAAC,EAAeD,E,MCMFE,EAAY,M,yBAIvB,mBAAAC,GACEC,KAAKC,SAAWD,KAAKE,YAAYC,QAAQ,aAEzC,GAAIH,KAAKC,UAAYD,KAAKC,SAASG,YAAa,CAC9C,MAAMC,EAAYL,KAAKE,YAAYI,cAAc,mCACjDD,IAAS,MAATA,SAAS,SAATA,EAAWE,UAAUC,IAAI,W,EAG7B,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,OACRb,KAAKC,UAAYD,KAAKC,SAASa,YAC9BJ,EAAA,uBAAAE,IAAA,2CAAqBG,KAAMf,KAAKC,SAASG,YAAc,gBAAkB,KAE3EM,EAAA,QAAAE,IAAA,6C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["positionTooltip","elem","elemPlacement","overlay","offset","undefined","rect","getBoundingClientRect","contentRect","includes","style","top","left","width","transform","bottom","right","height","pdsTooltipCss","PdsTooltipStyle0","PdsTooltip","this","handleHide","hideTooltip","pdsTooltipHide","emit","handleShow","showTooltip","pdsTooltipShow","handleOpenToggle","opened","componentWillLoad","el","addEventListener","componentDidUpdate","componentDidRender","placement","contentEl","render","h","Host","key","onMouseEnter","onMouseLeave","onFocusin","onFocusout","class","htmlContent","hasArrow","componentId","id","ref","role","name","content"],"sources":["src/utils/overlay.ts","src/components/pds-tooltip/pds-tooltip.scss?tag=pds-tooltip&encapsulation=shadow","src/components/pds-tooltip/pds-tooltip.tsx"],"sourcesContent":["interface OverlayArgs {\n elem: HTMLElement;\n elemPlacement: string;\n overlay: HTMLElement;\n offset?: number;\n}\n\nexport const positionTooltip = ({elem, elemPlacement, overlay, offset = 8}: OverlayArgs) => {\n if (elem == undefined) return;\n\n const rect = elem.getBoundingClientRect();\n const contentRect = overlay.getBoundingClientRect();\n\n // Exit the function if the placement is not set\n if (!elemPlacement || elemPlacement == \"\") return;\n\n switch (true) {\n case elemPlacement.includes(\"right\"):\n overlay.style.top = '50%';\n overlay.style.left = `calc(${rect.width}px + ${offset}px)`;\n overlay.style.transform = 'translateY(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.top = '0';\n overlay.style.transform = 'translateY(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.bottom = '0';\n overlay.style.top = 'initial';\n overlay.style.transform = 'translateY(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"left\"):\n overlay.style.top = '50%';\n overlay.style.right = `calc(${rect.width}px + ${offset}px)`;\n overlay.style.transform = 'translateY(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.top = '0';\n overlay.style.transform = 'translateY(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.bottom = '0';\n overlay.style.top = 'initial';\n overlay.style.transform = 'translateY(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"bottom\"):\n overlay.style.top = `calc(${rect.height}px + ${offset}px)`;\n overlay.style.left = '50%';\n overlay.style.transform = 'translateX(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.left = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.left = 'initial';\n overlay.style.right = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"top\"):\n overlay.style.top = `calc((${contentRect.height}px + ${offset}px) * -1)`;\n overlay.style.left = '50%';\n overlay.style.transform = 'translateX(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.left = '0';\n overlay.style.transform = 'translateX(0)';\n }\n if (elemPlacement.includes(\"end\")) {\n overlay.style.left = 'initial';\n overlay.style.right = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n break;\n }\n}\n",":host {\n --border-radius-overlay: var(--pine-border-radius-125);\n --border-width-arrow-down: var(--sizing-arrow-default) var(--sizing-arrow-default) 0;\n --border-width-arrow-left: var(--sizing-arrow-default) var(--sizing-arrow-default) var(--sizing-arrow-default) 0;\n --border-width-arrow-right: var(--sizing-arrow-default) 0 var(--sizing-arrow-default) var(--sizing-arrow-default);\n --border-width-arrow-up: 0 var(--sizing-arrow-default) var(--sizing-arrow-default);\n --box-shadow-default: var(--pine-box-shadow-md);\n --color-background-default: var(--pine-color-charcoal-400);\n --color-text-default: var(--pine-color-white);\n --font-size-overlay: var(--pine-font-size-087);\n --line-height-overlay: var(--pine-line-height-125);\n --sizing-arrow-default: 6px;\n --sizing-arrow-offset: 14px;\n --sizing-width-default: 320px;\n --spacing-padding-overlay: var(--pine-spacing-100) calc(var(--pine-spacing-300) / 2);\n\n display: inline-block;\n position: relative;\n\n ::slotted([slot=\"content\"]) {\n white-space: normal;\n width: var(--sizing-width-default);\n }\n}\n\n.pds-tooltip__content {\n background-color: var(--color-background-default);\n border-radius: var(--border-radius-overlay);\n box-shadow: var(--box-shadow-default);\n color: var(--color-text-default);\n font-size: var(--font-size-overlay);\n line-height: var(--line-height-overlay);\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 0;\n padding: var(--spacing-padding-overlay);\n position: absolute;\n visibility: hidden;\n width: max-content;\n\n .pds-tooltip--is-open & {\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 1;\n visibility: visible;\n z-index: 1;\n }\n\n :host(.pds-tooltip--has-html-content) & {\n width: auto;\n }\n\n &::after {\n border-color: transparent;\n border-right-color: transparent;\n border-style: solid;\n border-width: var(--border-width-arrow-left);\n content: '';\n height: 0;\n position: absolute;\n width: 0;\n\n .pds-tooltip--right & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n left: calc(var(--sizing-arrow-default) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--right-end & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n bottom: var(--sizing-arrow-offset);\n left: calc(var(--sizing-arrow-default) * -1);\n top: initial;\n }\n\n .pds-tooltip--right-start & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n left: calc(var(--sizing-arrow-default) * -1);\n top: var(--sizing-arrow-offset);\n }\n\n .pds-tooltip--top & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: 50%;\n top: initial;\n transform: translateX(-50%);\n }\n\n .pds-tooltip--top-start & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: var(--sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--top-end & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: initial;\n right: var(--sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--left & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--left-end & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n bottom: var(--sizing-arrow-offset);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: initial;\n }\n\n .pds-tooltip--left-start & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: var(--sizing-arrow-offset);\n }\n\n .pds-tooltip--bottom & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: 50%;\n top: calc(var(--sizing-arrow-default) * -1);\n transform: translateX(-50%);\n }\n\n .pds-tooltip--bottom-end & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: initial;\n right: var(--sizing-arrow-offset);\n top: calc(var(--sizing-arrow-default) * -1);\n }\n\n .pds-tooltip--bottom-start & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: var(--sizing-arrow-offset);\n top: calc(var(--sizing-arrow-default) * -1);\n }\n\n .pds-tooltip--no-arrow & {\n border-width: 0;\n }\n }\n}\n","import { Component, Element, Event, Host, Prop, State, h, EventEmitter, Method, Watch } from '@stencil/core';\nimport {\n positionTooltip\n} from '../../utils/overlay';\n\n/**\n * @slot (default) - The tooltip's target element\n * @slot content - HTML content for the tooltip\n */\n\n@Component({\n tag: 'pds-tooltip',\n styleUrl: 'pds-tooltip.scss',\n shadow: true,\n})\nexport class PdsTooltip {\n private contentEl: HTMLElement | null;\n\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsTooltipElement;\n\n /**\n * Determines when the tooltip is open\n * @defaultValue false\n */\n @State() isOpen = false;\n\n /**\n * Content for the tooltip. If HTML is required, use the content slot\n */\n @Prop() content: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether or not the tooltip has an arrow\n * @defaultValue true\n */\n @Prop() hasArrow? = true;\n\n /**\n * Enable this option when using the content slot\n * @defaultValue false\n */\n @Prop() htmlContent = false;\n\n /**\n * Determines the preferred position of the tooltip\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement:\n 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'right';\n\n /**\n * Determines whether or not the tooltip is visible\n * @defaultValue false\n */\n @Prop({mutable: true, reflect: true}) opened = false;\n\n @Watch('opened')\n handleOpenToggle() {\n if (this.opened) {\n this.handleShow();\n } else {\n this.handleHide();\n }\n }\n\n /**\n * Emitted after a tooltip is closed\n */\n @Event() pdsTooltipHide: EventEmitter;\n\n /**\n * Emitted after a tooltip is shown\n */\n @Event() pdsTooltipShow: EventEmitter;\n\n componentWillLoad() {\n if (this.opened) {\n this.showTooltip();\n }\n\n this.el.addEventListener('blur', this.handleHide, true);\n this.el.addEventListener('focus', this.handleShow, true);\n }\n\n componentDidUpdate() {\n if (this.opened) {\n this.showTooltip();\n }\n }\n\n componentDidRender() {\n positionTooltip({elem: this.el, elemPlacement: this.placement, overlay: this.contentEl});\n }\n\n /**\n * Shows the tooltip by enabling the opened property\n */\n @Method()\n async showTooltip() {\n this.opened = true;\n }\n\n /**\n * Hides the tooltip by disabling the opened property\n */\n @Method()\n async hideTooltip() {\n this.opened = false;\n }\n\n private handleHide = () => {\n this.hideTooltip();\n this.pdsTooltipHide.emit();\n };\n\n private handleShow = () => {\n this.showTooltip();\n this.pdsTooltipShow.emit();\n };\n\n render() {\n return (\n <Host\n onMouseEnter={this.handleShow}\n onMouseLeave={this.handleHide}\n onFocusin={this.handleShow}\n onFocusout={this.handleHide}\n >\n <div\n class={`\n pds-tooltip\n pds-tooltip--${this.placement}\n ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''}\n ${this.opened ? 'pds-tooltip--is-open' : ''}\n ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}\n `}\n >\n <span\n aria-describedby={this.componentId}\n class=\"pds-tooltip__trigger\"\n >\n <slot />\n </span>\n\n <div class=\"pds-tooltip__content\"\n aria-hidden={this.opened ? 'false' : 'true'}\n aria-live={this.opened ? 'polite' : 'off'}\n id={this.componentId}\n ref={(el) => (this.contentEl = el)}\n role=\"tooltip\"\n >\n <slot\n name=\"content\"\n ></slot>\n {this.content}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["positionTooltip","elem","elemPlacement","overlay","offset","undefined","rect","getBoundingClientRect","contentRect","includes","style","top","left","width","transform","bottom","right","height","pdsTooltipCss","PdsTooltipStyle0","PdsTooltip","this","handleHide","hideTooltip","pdsTooltipHide","emit","handleShow","showTooltip","pdsTooltipShow","handleOpenToggle","opened","componentWillLoad","el","addEventListener","componentDidUpdate","componentDidRender","placement","contentEl","render","h","Host","key","onMouseEnter","onMouseLeave","onFocusin","onFocusout","class","htmlContent","hasArrow","componentId","id","ref","role","name","content"],"sources":["src/utils/overlay.ts","src/components/pds-tooltip/pds-tooltip.scss?tag=pds-tooltip&encapsulation=shadow","src/components/pds-tooltip/pds-tooltip.tsx"],"sourcesContent":["interface OverlayArgs {\n elem: HTMLElement;\n elemPlacement: string;\n overlay: HTMLElement;\n offset?: number;\n}\n\nexport const positionTooltip = ({elem, elemPlacement, overlay, offset = 8}: OverlayArgs) => {\n if (elem == undefined) return;\n\n const rect = elem.getBoundingClientRect();\n const contentRect = overlay.getBoundingClientRect();\n\n // Exit the function if the placement is not set\n if (!elemPlacement || elemPlacement == \"\") return;\n\n switch (true) {\n case elemPlacement.includes(\"right\"):\n overlay.style.top = '50%';\n overlay.style.left = `calc(${rect.width}px + ${offset}px)`;\n overlay.style.transform = 'translateY(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.top = '0';\n overlay.style.transform = 'translateY(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.bottom = '0';\n overlay.style.top = 'initial';\n overlay.style.transform = 'translateY(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"left\"):\n overlay.style.top = '50%';\n overlay.style.right = `calc(${rect.width}px + ${offset}px)`;\n overlay.style.transform = 'translateY(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.top = '0';\n overlay.style.transform = 'translateY(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.bottom = '0';\n overlay.style.top = 'initial';\n overlay.style.transform = 'translateY(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"bottom\"):\n overlay.style.top = `calc(${rect.height}px + ${offset}px)`;\n overlay.style.left = '50%';\n overlay.style.transform = 'translateX(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.left = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n if (elemPlacement.includes(\"end\")) {\n overlay.style.left = 'initial';\n overlay.style.right = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n break;\n\n case elemPlacement.includes(\"top\"):\n overlay.style.top = `calc((${contentRect.height}px + ${offset}px) * -1)`;\n overlay.style.left = '50%';\n overlay.style.transform = 'translateX(-50%)';\n\n if (elemPlacement.includes(\"start\")) {\n overlay.style.left = '0';\n overlay.style.transform = 'translateX(0)';\n }\n if (elemPlacement.includes(\"end\")) {\n overlay.style.left = 'initial';\n overlay.style.right = '0';\n overlay.style.transform = 'translateX(0)';\n }\n\n break;\n }\n}\n",":host {\n --border-radius-overlay: var(--pine-border-radius-125);\n\n --border-width-arrow-down: var(--sizing-arrow-default) var(--sizing-arrow-default) 0;\n --border-width-arrow-left: var(--sizing-arrow-default) var(--sizing-arrow-default) var(--sizing-arrow-default) 0;\n --border-width-arrow-right: var(--sizing-arrow-default) 0 var(--sizing-arrow-default) var(--sizing-arrow-default);\n --border-width-arrow-up: 0 var(--sizing-arrow-default) var(--sizing-arrow-default);\n\n --box-shadow-default: var(--pine-box-shadow-md);\n\n --color-background-default: var(--pine-color-charcoal-400);\n --color-text-default: var(--pine-color-white);\n\n --font-size-overlay: var(--pine-font-size-087);\n\n --line-height-overlay: var(--pine-line-height-125);\n\n --sizing-arrow-default: 6px;\n --sizing-arrow-offset: 14px;\n --sizing-width-default: 320px;\n\n --spacing-padding-overlay: var(--pine-spacing-100) calc(var(--pine-spacing-300) / 2);\n\n display: inline-block;\n position: relative;\n\n ::slotted([slot=\"content\"]) {\n white-space: normal;\n width: var(--sizing-width-default);\n }\n}\n\n.pds-tooltip__content {\n background-color: var(--color-background-default);\n border-radius: var(--border-radius-overlay);\n box-shadow: var(--box-shadow-default);\n color: var(--color-text-default);\n font-size: var(--font-size-overlay);\n line-height: var(--line-height-overlay);\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 0;\n padding: var(--spacing-padding-overlay);\n position: absolute;\n visibility: hidden;\n width: max-content;\n\n .pds-tooltip--is-open & {\n // TODO: need to use block / none but the tooltip content width and height are needed for calculations\n opacity: 1;\n visibility: visible;\n z-index: 1;\n }\n\n :host(.pds-tooltip--has-html-content) & {\n width: auto;\n }\n\n &::after {\n border-color: transparent;\n border-right-color: transparent;\n border-style: solid;\n border-width: var(--border-width-arrow-left);\n content: '';\n height: 0;\n position: absolute;\n width: 0;\n\n .pds-tooltip--right & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n left: calc(var(--sizing-arrow-default) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--right-end & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n bottom: var(--sizing-arrow-offset);\n left: calc(var(--sizing-arrow-default) * -1);\n top: initial;\n }\n\n .pds-tooltip--right-start & {\n border-inline-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-left);\n left: calc(var(--sizing-arrow-default) * -1);\n top: var(--sizing-arrow-offset);\n }\n\n .pds-tooltip--top & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: 50%;\n top: initial;\n transform: translateX(-50%);\n }\n\n .pds-tooltip--top-start & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: var(--sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--top-end & {\n border-block-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-down);\n bottom: calc(var(--sizing-arrow-default) * -1);\n left: initial;\n right: var(--sizing-arrow-offset);\n top: initial;\n }\n\n .pds-tooltip--left & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: 50%;\n transform: translateY(-50%);\n }\n\n .pds-tooltip--left-end & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n bottom: var(--sizing-arrow-offset);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: initial;\n }\n\n .pds-tooltip--left-start & {\n border-inline-start-color: var(--color-background-default);\n border-width: var(--border-width-arrow-right);\n left: initial;\n right: calc(var(--sizing-arrow-default) * -1);\n top: var(--sizing-arrow-offset);\n }\n\n .pds-tooltip--bottom & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: 50%;\n top: calc(var(--sizing-arrow-default) * -1);\n transform: translateX(-50%);\n }\n\n .pds-tooltip--bottom-end & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: initial;\n right: var(--sizing-arrow-offset);\n top: calc(var(--sizing-arrow-default) * -1);\n }\n\n .pds-tooltip--bottom-start & {\n border-block-end-color: var(--color-background-default);\n border-width: var(--border-width-arrow-up);\n left: var(--sizing-arrow-offset);\n top: calc(var(--sizing-arrow-default) * -1);\n }\n\n .pds-tooltip--no-arrow & {\n border-width: 0;\n }\n }\n}\n","import { Component, Element, Event, Host, Prop, State, h, EventEmitter, Method, Watch } from '@stencil/core';\nimport {\n positionTooltip\n} from '../../utils/overlay';\n\n/**\n * @slot (default) - The tooltip's target element\n * @slot content - HTML content for the tooltip\n */\n\n@Component({\n tag: 'pds-tooltip',\n styleUrl: 'pds-tooltip.scss',\n shadow: true,\n})\nexport class PdsTooltip {\n private contentEl: HTMLElement | null;\n\n /**\n * Reference to the Host element\n */\n @Element() el: HTMLPdsTooltipElement;\n\n /**\n * Determines when the tooltip is open\n * @defaultValue false\n */\n @State() isOpen = false;\n\n /**\n * Content for the tooltip. If HTML is required, use the content slot\n */\n @Prop() content: string;\n\n /**\n * A unique identifier used for the underlying component `id` attribute.\n */\n @Prop() componentId: string;\n\n /**\n * Determines whether or not the tooltip has an arrow\n * @defaultValue true\n */\n @Prop() hasArrow? = true;\n\n /**\n * Enable this option when using the content slot\n * @defaultValue false\n */\n @Prop() htmlContent = false;\n\n /**\n * Determines the preferred position of the tooltip\n * @defaultValue \"right\"\n */\n @Prop({ reflect: true }) placement:\n 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'right';\n\n /**\n * Determines whether or not the tooltip is visible\n * @defaultValue false\n */\n @Prop({mutable: true, reflect: true}) opened = false;\n\n @Watch('opened')\n handleOpenToggle() {\n if (this.opened) {\n this.handleShow();\n } else {\n this.handleHide();\n }\n }\n\n /**\n * Emitted after a tooltip is closed\n */\n @Event() pdsTooltipHide: EventEmitter;\n\n /**\n * Emitted after a tooltip is shown\n */\n @Event() pdsTooltipShow: EventEmitter;\n\n componentWillLoad() {\n if (this.opened) {\n this.showTooltip();\n }\n\n this.el.addEventListener('blur', this.handleHide, true);\n this.el.addEventListener('focus', this.handleShow, true);\n }\n\n componentDidUpdate() {\n if (this.opened) {\n this.showTooltip();\n }\n }\n\n componentDidRender() {\n positionTooltip({elem: this.el, elemPlacement: this.placement, overlay: this.contentEl});\n }\n\n /**\n * Shows the tooltip by enabling the opened property\n */\n @Method()\n async showTooltip() {\n this.opened = true;\n }\n\n /**\n * Hides the tooltip by disabling the opened property\n */\n @Method()\n async hideTooltip() {\n this.opened = false;\n }\n\n private handleHide = () => {\n this.hideTooltip();\n this.pdsTooltipHide.emit();\n };\n\n private handleShow = () => {\n this.showTooltip();\n this.pdsTooltipShow.emit();\n };\n\n render() {\n return (\n <Host\n onMouseEnter={this.handleShow}\n onMouseLeave={this.handleHide}\n onFocusin={this.handleShow}\n onFocusout={this.handleHide}\n >\n <div\n class={`\n pds-tooltip\n pds-tooltip--${this.placement}\n ${this.htmlContent ? 'pds-tooltip--has-html-content' : ''}\n ${this.opened ? 'pds-tooltip--is-open' : ''}\n ${this.hasArrow ? '' : 'pds-tooltip--no-arrow'}\n `}\n >\n <span\n aria-describedby={this.componentId}\n class=\"pds-tooltip__trigger\"\n >\n <slot />\n </span>\n\n <div class=\"pds-tooltip__content\"\n aria-hidden={this.opened ? 'false' : 'true'}\n aria-live={this.opened ? 'polite' : 'off'}\n id={this.componentId}\n ref={(el) => (this.contentEl = el)}\n role=\"tooltip\"\n >\n <slot\n name=\"content\"\n ></slot>\n {this.content}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pdsRadioCss","PdsRadioStyle0","PdsRadio","this","handleRadioChange","e","disabled","target","isChecked","checked","pdsRadioChange","emit","classNames","invalid","push","join","render","h","Host","key","class","assignDescription","componentId","helperMessage","undefined","type","id","name","value","required","onChange","PdsLabel","htmlFor","text","label","messageId","errorMessage"],"sources":["src/components/pds-radio/pds-radio.scss?tag=pds-radio&encapsulation=scoped","src/components/pds-radio/pds-radio.tsx"],"sourcesContent":[":host {\n --border-interactive-default: var(--pine-border-width-thin) solid var( --pine-color-grey-400);\n --border-radius: 50%;\n --box-shadow-focus: 0 0 0 2px var(--color-focus);\n --box-shadow-focus-error: 0 0 0 2px var(--color-invalid-focus);\n\n --color: var(--pine-color-charcoal-200);\n --color-background: var(--pine-color-white);\n --color-background-hover: var(--pine-color-grey-100);\n --color-background-disabled: var(--pine-color-grey-200);\n --color-border-hover: var(--pine-border-interactive-hover);\n --color-border-disabled: var(--pine-color-grey-300);\n --color-checked: var(--pine-color-charcoal-500);\n --color-disabled: var(---pine-color-grey-500);\n --color-focus: var(--pine-color-blue-200);\n --color-invalid: var(--pine-color-red-300);\n --color-invalid-focus: var(--pine-color-red-200);\n\n --font-size: var(--pine-font-size-087);\n\n --sizing-check-size: 6px;\n --sizing-input-size: 16px;\n --sizing-margin-block-start: 6px;\n\n align-items: center;\n display: flex;\n flex-flow: row wrap;\n}\n\n:host(.is-invalid) {\n input {\n border-color: var(--color-invalid);\n\n &:checked {\n background: var(--color-invalid);\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus-error);\n outline: none;\n }\n }\n\n label,\n .pds-radio__message--error {\n color: var(--color-invalid);\n }\n}\n\ninput {\n appearance: none;\n border: var(--border-interactive-default);\n border-radius: var(--border-radius);\n height: var(--sizing-input-size);\n margin: 0;\n position: relative;\n width: var(--sizing-input-size);\n\n &:hover {\n background: var(--color-background-hover);\n border-color: var(--color-border-hover);\n }\n\n &:checked {\n background: var(--color-checked);\n border-color: var(--color-checked);\n\n &::after {\n background: var(--color-background);\n border-radius: 50%;\n content: \"\";\n display: block;\n height: var(--sizing-check-size);\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n width: var(--sizing-check-size);\n }\n }\n\n &:disabled {\n background: var(--color-background-disabled);\n border-color: var(--color-border-disabled);\n cursor: not-allowed;\n\n &:checked {\n background: var(--color-disabled);\n border-color: var(--color-border-disabled);\n\n &::after {\n border-color: var(--color-border-disabled);\n }\n }\n\n + label {\n color: var(--color-border-hover);\n cursor: not-allowed;\n }\n\n ~ .pds-radio__message {\n color: var(--color-disabled);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n\n}\n\nlabel {\n margin-inline-start: 10px;\n}\n\n.pds-radio__message {\n color: var(--color);\n font-size: var(--font-size);\n margin-block-start: var(--sizing-margin-block-start);\n margin-inline-start: 26px;\n width: 100%;\n}\n","import { Component, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport { assignDescription, messageId } from '../../utils/form';\nimport { PdsLabel } from '../_internal/pds-label/pds-label';\n\n@Component({\n tag: 'pds-radio',\n styleUrl: 'pds-radio.scss',\n scoped: true,\n})\nexport class PdsRadio {\n /**\n * Determines whether or not the radio is checked.\n * @defaultValue false\n */\n @Prop() checked = false;\n\n /**\n * Determines whether or not the radio is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false;\n\n /**\n * Displays message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * Determines whether or not the radio is invalid.\n * @defaultValue false\n */\n @Prop() invalid = false;\n\n /**\n * A unique identifier used for the underlying component `id` attribute and the label `for` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * String used for label text next to radio.\n */\n @Prop() label: string;\n\n /**\n * String used for helper message below radio.\n */\n @Prop() helperMessage: string;\n\n /**\n * String used for radio `name` attribute.\n */\n @Prop() name: string;\n\n /**\n * Determines whether or not the radio is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * The value of the radio that is submitted with a form.\n */\n @Prop() value: string;\n\n /**\n * Emits a boolean indicating whether the checkbox is currently checked or unchecked.\n */\n @Event() pdsRadioChange: EventEmitter<boolean>;\n\n private handleRadioChange = (e: Event) => {\n if (this.disabled) {\n return;\n }\n\n const target = e.target as HTMLInputElement;\n const isChecked = target.checked;\n\n this.pdsRadioChange.emit(isChecked);\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) {\n classNames.push('is-invalid');\n }\n if (this.disabled) {\n classNames.push('is-disabled');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host class={this.classNames()}>\n <input\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n type=\"radio\"\n id={this.componentId}\n name={this.name}\n value={this.value}\n checked={this.checked}\n required={this.required}\n disabled={this.disabled}\n onChange={this.handleRadioChange}\n />\n <PdsLabel htmlFor={this.componentId} text={this.label} />\n {this.helperMessage &&\n <div\n class={'pds-radio__message'}\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </div>\n }\n {this.errorMessage &&\n <div\n class={`pds-radio__message pds-radio__message--error`}\n id={messageId(this.componentId, 'error')}\n aria-live=\"assertive\"\n >\n {this.errorMessage}\n </div>\n }\n </Host>\n );\n }\n}\n"],"mappings":"sGAAA,MAAMA,EAAc,+kGACpB,MAAAC,EAAeD,E,MCQFE,EAAQ,M,wEA4DXC,KAAAC,kBAAqBC,IAC3B,GAAIF,KAAKG,SAAU,CACjB,M,CAGF,MAAMC,EAASF,EAAEE,OACjB,MAAMC,EAAYD,EAAOE,QAEzBN,KAAKO,eAAeC,KAAKH,EAAU,E,aA/DnB,M,cAMC,M,yCAWD,M,+GA0BC,M,qBAuBX,UAAAI,GACN,MAAMA,EAAa,GAEnB,GAAIT,KAAKU,QAAS,CAChBD,EAAWE,KAAK,a,CAElB,GAAIX,KAAKG,SAAU,CACjBM,EAAWE,KAAK,c,CAGlB,OAAOF,EAAWG,KAAK,K,CAGzB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAOjB,KAAKS,cAChBK,EAAA,SAAAE,IAAA,8DACoBE,EAAkBlB,KAAKmB,YAAanB,KAAKU,QAASV,KAAKoB,eAAc,eACzEpB,KAAKU,QAAU,OAASW,UACtCC,KAAK,QACLC,GAAIvB,KAAKmB,YACTK,KAAMxB,KAAKwB,KACXC,MAAOzB,KAAKyB,MACZnB,QAASN,KAAKM,QACdoB,SAAU1B,KAAK0B,SACfvB,SAAUH,KAAKG,SACfwB,SAAU3B,KAAKC,oBAEjBa,EAACc,EAAQ,CAAAZ,IAAA,2CAACa,QAAS7B,KAAKmB,YAAaW,KAAM9B,KAAK+B,QAC/C/B,KAAKoB,eACJN,EAAA,OAAAE,IAAA,2CACEC,MAAO,qBACPM,GAAIS,EAAUhC,KAAKmB,YAAa,WAE/BnB,KAAKoB,eAGTpB,KAAKiC,cACJnB,EAAA,OAAAE,IAAA,2CACEC,MAAO,+CACPM,GAAIS,EAAUhC,KAAKmB,YAAa,SAAQ,YAC9B,aAETnB,KAAKiC,c"}
|
|
1
|
+
{"version":3,"names":["pdsRadioCss","PdsRadioStyle0","PdsRadio","this","handleRadioChange","e","disabled","target","isChecked","checked","pdsRadioChange","emit","classNames","invalid","push","join","render","h","Host","key","class","assignDescription","componentId","helperMessage","undefined","type","id","name","value","required","onChange","PdsLabel","htmlFor","text","label","messageId","errorMessage"],"sources":["src/components/pds-radio/pds-radio.scss?tag=pds-radio&encapsulation=scoped","src/components/pds-radio/pds-radio.tsx"],"sourcesContent":[":host {\n --border-interactive-default: var(--pine-border-width-thin) solid var( --pine-color-grey-400);\n --border-radius: 50%;\n\n --box-shadow-focus: 0 0 0 2px var(--color-focus);\n --box-shadow-focus-error: 0 0 0 2px var(--color-invalid-focus);\n\n --color: var(--pine-color-charcoal-200);\n --color-background: var(--pine-color-white);\n --color-background-hover: var(--pine-color-grey-100);\n --color-background-disabled: var(--pine-color-grey-200);\n --color-border-hover: var(--pine-border-interactive-hover);\n --color-border-disabled: var(--pine-color-grey-300);\n --color-checked: var(--pine-color-charcoal-500);\n --color-disabled: var(---pine-color-grey-500);\n --color-focus: var(--pine-color-blue-200);\n --color-invalid: var(--pine-color-red-300);\n --color-invalid-focus: var(--pine-color-red-200);\n\n --font-size: var(--pine-font-size-087);\n\n --sizing-check-size: 6px;\n --sizing-input-size: 16px;\n --sizing-margin-block-start: 6px;\n\n align-items: center;\n display: flex;\n flex-flow: row wrap;\n}\n\n:host(.is-invalid) {\n input {\n border-color: var(--color-invalid);\n\n &:checked {\n background: var(--color-invalid);\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus-error);\n outline: none;\n }\n }\n\n label,\n .pds-radio__message--error {\n color: var(--color-invalid);\n }\n}\n\ninput {\n appearance: none;\n border: var(--border-interactive-default);\n border-radius: var(--border-radius);\n height: var(--sizing-input-size);\n margin: 0;\n position: relative;\n width: var(--sizing-input-size);\n\n &:hover {\n background: var(--color-background-hover);\n border-color: var(--color-border-hover);\n }\n\n &:checked {\n background: var(--color-checked);\n border-color: var(--color-checked);\n\n &::after {\n background: var(--color-background);\n border-radius: 50%;\n content: \"\";\n display: block;\n height: var(--sizing-check-size);\n left: 50%;\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n width: var(--sizing-check-size);\n }\n }\n\n &:disabled {\n background: var(--color-background-disabled);\n border-color: var(--color-border-disabled);\n cursor: not-allowed;\n\n &:checked {\n background: var(--color-disabled);\n border-color: var(--color-border-disabled);\n\n &::after {\n border-color: var(--color-border-disabled);\n }\n }\n\n + label {\n color: var(--color-border-hover);\n cursor: not-allowed;\n }\n\n ~ .pds-radio__message {\n color: var(--color-disabled);\n }\n }\n\n &:focus-visible {\n box-shadow: var(--box-shadow-focus);\n outline: none;\n }\n\n}\n\nlabel {\n margin-inline-start: 10px;\n}\n\n.pds-radio__message {\n color: var(--color);\n font-size: var(--font-size);\n margin-block-start: var(--sizing-margin-block-start);\n margin-inline-start: 26px;\n width: 100%;\n}\n","import { Component, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport { assignDescription, messageId } from '../../utils/form';\nimport { PdsLabel } from '../_internal/pds-label/pds-label';\n\n@Component({\n tag: 'pds-radio',\n styleUrl: 'pds-radio.scss',\n scoped: true,\n})\nexport class PdsRadio {\n /**\n * Determines whether or not the radio is checked.\n * @defaultValue false\n */\n @Prop() checked = false;\n\n /**\n * Determines whether or not the radio is disabled.\n * @defaultValue false\n */\n @Prop() disabled = false;\n\n /**\n * Displays message text describing an invalid state.\n */\n @Prop() errorMessage: string;\n\n /**\n * Determines whether or not the radio is invalid.\n * @defaultValue false\n */\n @Prop() invalid = false;\n\n /**\n * A unique identifier used for the underlying component `id` attribute and the label `for` attribute.\n */\n @Prop() componentId!: string;\n\n /**\n * String used for label text next to radio.\n */\n @Prop() label: string;\n\n /**\n * String used for helper message below radio.\n */\n @Prop() helperMessage: string;\n\n /**\n * String used for radio `name` attribute.\n */\n @Prop() name: string;\n\n /**\n * Determines whether or not the radio is required.\n * @defaultValue false\n */\n @Prop() required = false;\n\n /**\n * The value of the radio that is submitted with a form.\n */\n @Prop() value: string;\n\n /**\n * Emits a boolean indicating whether the checkbox is currently checked or unchecked.\n */\n @Event() pdsRadioChange: EventEmitter<boolean>;\n\n private handleRadioChange = (e: Event) => {\n if (this.disabled) {\n return;\n }\n\n const target = e.target as HTMLInputElement;\n const isChecked = target.checked;\n\n this.pdsRadioChange.emit(isChecked);\n }\n\n private classNames() {\n const classNames = [];\n\n if (this.invalid) {\n classNames.push('is-invalid');\n }\n if (this.disabled) {\n classNames.push('is-disabled');\n }\n\n return classNames.join(' ');\n }\n\n render() {\n return (\n <Host class={this.classNames()}>\n <input\n aria-describedby={assignDescription(this.componentId, this.invalid, this.helperMessage)}\n aria-invalid={this.invalid ? \"true\" : undefined}\n type=\"radio\"\n id={this.componentId}\n name={this.name}\n value={this.value}\n checked={this.checked}\n required={this.required}\n disabled={this.disabled}\n onChange={this.handleRadioChange}\n />\n <PdsLabel htmlFor={this.componentId} text={this.label} />\n {this.helperMessage &&\n <div\n class={'pds-radio__message'}\n id={messageId(this.componentId, 'helper')}\n >\n {this.helperMessage}\n </div>\n }\n {this.errorMessage &&\n <div\n class={`pds-radio__message pds-radio__message--error`}\n id={messageId(this.componentId, 'error')}\n aria-live=\"assertive\"\n >\n {this.errorMessage}\n </div>\n }\n </Host>\n );\n }\n}\n"],"mappings":"sGAAA,MAAMA,EAAc,+kGACpB,MAAAC,EAAeD,E,MCQFE,EAAQ,M,wEA4DXC,KAAAC,kBAAqBC,IAC3B,GAAIF,KAAKG,SAAU,CACjB,M,CAGF,MAAMC,EAASF,EAAEE,OACjB,MAAMC,EAAYD,EAAOE,QAEzBN,KAAKO,eAAeC,KAAKH,EAAU,E,aA/DnB,M,cAMC,M,yCAWD,M,+GA0BC,M,qBAuBX,UAAAI,GACN,MAAMA,EAAa,GAEnB,GAAIT,KAAKU,QAAS,CAChBD,EAAWE,KAAK,a,CAElB,GAAIX,KAAKG,SAAU,CACjBM,EAAWE,KAAK,c,CAGlB,OAAOF,EAAWG,KAAK,K,CAGzB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAOjB,KAAKS,cAChBK,EAAA,SAAAE,IAAA,8DACoBE,EAAkBlB,KAAKmB,YAAanB,KAAKU,QAASV,KAAKoB,eAAc,eACzEpB,KAAKU,QAAU,OAASW,UACtCC,KAAK,QACLC,GAAIvB,KAAKmB,YACTK,KAAMxB,KAAKwB,KACXC,MAAOzB,KAAKyB,MACZnB,QAASN,KAAKM,QACdoB,SAAU1B,KAAK0B,SACfvB,SAAUH,KAAKG,SACfwB,SAAU3B,KAAKC,oBAEjBa,EAACc,EAAQ,CAAAZ,IAAA,2CAACa,QAAS7B,KAAKmB,YAAaW,KAAM9B,KAAK+B,QAC/C/B,KAAKoB,eACJN,EAAA,OAAAE,IAAA,2CACEC,MAAO,qBACPM,GAAIS,EAAUhC,KAAKmB,YAAa,WAE/BnB,KAAKoB,eAGTpB,KAAKiC,cACJnB,EAAA,OAAAE,IAAA,2CACEC,MAAO,+CACPM,GAAIS,EAAUhC,KAAKmB,YAAa,SAAQ,YAC9B,aAETnB,KAAKiC,c"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["./p-64b4cb70.system.js"],(function(t){"use strict";var i,a,s,e;return{setters:[function(t){i=t.r;a=t.h;s=t.H;e=t.g}],execute:function(){var n=":host{--spacing-panel-margin-top:0;--spacing-panel-padding:0;--outline:2px solid var(--pine-color-blue-200);--spacing-gap-availability:var(--pine-spacing-100);--spacing-gap-default:var(--pine-spacing-300);--spacing-gap-filter:var(--pine-spacing-200);display:block}.pds-tabs__tablist{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--spacing-gap-default)}:host(.pds-tabs--availability) .pds-tabs__tablist{gap:var(--spacing-gap-availability)}:host(.pds-tabs--filter) .pds-tabs__tablist{gap:var(--spacing-gap-filter)}";var r=n;var c=t("pds_tabs",function(){function t(t){i(this,t);this.tablistLabel=undefined;this.componentId=undefined;this.variant=undefined;this.activeTabName=undefined;this.activeTabIndex=undefined}t.prototype.tabClickHandler=function(t){if(this.componentId===t.detail[1]){this.activeTabIndex=t.detail[0];this.activeTabName=this.tabs[this.activeTabIndex].name}};t.prototype.handleKeyDown=function(t){var i=["ArrowLeft","ArrowRight","Home","End"];if(i.includes(t.key)){t.preventDefault();this.moveActiveTab(t.key)}};t.prototype.moveActiveTab=function(t){var i=0;var a=this.tabs.length-1;var s=null;switch(t){case"ArrowLeft":s=this.activeTabIndex===i?a:this.activeTabIndex+-1;break;case"ArrowRight":s=this.activeTabIndex===a?i:this.activeTabIndex+1;break;case"Home":s=i;break;case"End":s=a;break}this.tabs[s].children[0].focus();this.activeTabName=this.tabs[s].name;this.activeTabIndex=s};t.prototype.findAllChildren=function(){this.tabs=this.el.querySelectorAll("pds-tab");this.tabPanels=this.el.querySelectorAll("pds-tabpanel")};t.prototype.propGeneration=function(t,i){if(i===void 0){i=0}t.parentComponentId=this.componentId.toString();t.variant=this.variant.toString();t.selected=this.activeTabName===t.name?true:false;t["index"]=i};t.prototype.passPropsToChildren=function(){var t=this;this.tabs.forEach((function(i,a){if(t.activeTabName===i.name)t.activeTabIndex=a;t.propGeneration(i,a)}));this.tabPanels.forEach((function(i){t.propGeneration(i)}))};t.prototype.classNames=function(){var t="pds-tabs";if(this.variant&&this.variant!="primary"){var i="pds-tabs--".concat(this.variant);t+=" "+i}return t};t.prototype.componentWillLoad=function(){this.findAllChildren()};t.prototype.componentWillRender=function(){this.passPropsToChildren()};t.prototype.render=function(){return a(s,{key:"92748fc6123067ba04f9cc81ea949366fb1c2a8f","active-tab-name":this.activeTabName,class:this.classNames(),id:this.componentId},a("div",{key:"809cbe1ed4e973db39ea69be9e30ac54881564af",class:"pds-tabs__tablist",role:"tablist","aria-label":this.tablistLabel},a("slot",{key:"b23af8a48dee0528cc9f7d2b84a42411e2b14e6d",name:"tabs"})),a("slot",{key:"fdb46b7125f735531b13c1ac82a08f27998e7511",name:"tabpanels"}))};Object.defineProperty(t.prototype,"el",{get:function(){return e(this)},enumerable:false,configurable:true});return t}());c.style=r}}}));
|
|
2
|
+
//# sourceMappingURL=p-327e1afa.system.entry.js.map
|