@pine-ds/core 1.0.1 → 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.
Files changed (110) hide show
  1. package/components/custom-elements.d.ts +2 -0
  2. package/components/index.d.ts +92 -0
  3. package/components/index.js +32 -0
  4. package/components/index.js.map +1 -0
  5. package/components/index2.js +14 -0
  6. package/components/index2.js.map +1 -0
  7. package/components/package.json +9 -0
  8. package/components/pds-accordion.d.ts +11 -0
  9. package/components/pds-accordion.js +74 -0
  10. package/components/pds-accordion.js.map +1 -0
  11. package/components/pds-avatar.d.ts +11 -0
  12. package/components/pds-avatar.js +103 -0
  13. package/components/pds-avatar.js.map +1 -0
  14. package/components/pds-box.d.ts +11 -0
  15. package/components/pds-box.js +124 -0
  16. package/components/pds-box.js.map +1 -0
  17. package/components/pds-button.d.ts +11 -0
  18. package/components/pds-button.js +8 -0
  19. package/components/pds-button.js.map +1 -0
  20. package/components/pds-button2.js +84 -0
  21. package/components/pds-button2.js.map +1 -0
  22. package/components/pds-checkbox.d.ts +11 -0
  23. package/components/pds-checkbox.js +8 -0
  24. package/components/pds-checkbox.js.map +1 -0
  25. package/components/pds-checkbox2.js +86 -0
  26. package/components/pds-checkbox2.js.map +1 -0
  27. package/components/pds-chip.d.ts +11 -0
  28. package/components/pds-chip.js +78 -0
  29. package/components/pds-chip.js.map +1 -0
  30. package/components/pds-copytext.d.ts +11 -0
  31. package/components/pds-copytext.js +88 -0
  32. package/components/pds-copytext.js.map +1 -0
  33. package/components/pds-divider.d.ts +11 -0
  34. package/components/pds-divider.js +54 -0
  35. package/components/pds-divider.js.map +1 -0
  36. package/components/pds-icon.js +8 -0
  37. package/components/pds-icon.js.map +1 -0
  38. package/components/pds-icon2.js +359 -0
  39. package/components/pds-icon2.js.map +1 -0
  40. package/components/pds-image.d.ts +11 -0
  41. package/components/pds-image.js +55 -0
  42. package/components/pds-image.js.map +1 -0
  43. package/components/pds-input.d.ts +11 -0
  44. package/components/pds-input.js +72 -0
  45. package/components/pds-input.js.map +1 -0
  46. package/components/pds-label.js +39 -0
  47. package/components/pds-label.js.map +1 -0
  48. package/components/pds-link.d.ts +11 -0
  49. package/components/pds-link.js +65 -0
  50. package/components/pds-link.js.map +1 -0
  51. package/components/pds-progress.d.ts +11 -0
  52. package/components/pds-progress.js +49 -0
  53. package/components/pds-progress.js.map +1 -0
  54. package/components/pds-radio.d.ts +11 -0
  55. package/components/pds-radio.js +78 -0
  56. package/components/pds-radio.js.map +1 -0
  57. package/components/pds-row.d.ts +11 -0
  58. package/components/pds-row.js +72 -0
  59. package/components/pds-row.js.map +1 -0
  60. package/components/pds-sortable-item.d.ts +11 -0
  61. package/components/pds-sortable-item.js +58 -0
  62. package/components/pds-sortable-item.js.map +1 -0
  63. package/components/pds-sortable.d.ts +11 -0
  64. package/components/pds-sortable.js +2722 -0
  65. package/components/pds-sortable.js.map +1 -0
  66. package/components/pds-switch.d.ts +11 -0
  67. package/components/pds-switch.js +82 -0
  68. package/components/pds-switch.js.map +1 -0
  69. package/components/pds-tab.d.ts +11 -0
  70. package/components/pds-tab.js +53 -0
  71. package/components/pds-tab.js.map +1 -0
  72. package/components/pds-table-body.d.ts +11 -0
  73. package/components/pds-table-body.js +36 -0
  74. package/components/pds-table-body.js.map +1 -0
  75. package/components/pds-table-cell.d.ts +11 -0
  76. package/components/pds-table-cell.js +8 -0
  77. package/components/pds-table-cell.js.map +1 -0
  78. package/components/pds-table-cell2.js +72 -0
  79. package/components/pds-table-cell2.js.map +1 -0
  80. package/components/pds-table-head-cell.d.ts +11 -0
  81. package/components/pds-table-head-cell.js +8 -0
  82. package/components/pds-table-head-cell.js.map +1 -0
  83. package/components/pds-table-head-cell2.js +96 -0
  84. package/components/pds-table-head-cell2.js.map +1 -0
  85. package/components/pds-table-head.d.ts +11 -0
  86. package/components/pds-table-head.js +56 -0
  87. package/components/pds-table-head.js.map +1 -0
  88. package/components/pds-table-row.d.ts +11 -0
  89. package/components/pds-table-row.js +78 -0
  90. package/components/pds-table-row.js.map +1 -0
  91. package/components/pds-table.d.ts +11 -0
  92. package/components/pds-table.js +100 -0
  93. package/components/pds-table.js.map +1 -0
  94. package/components/pds-tabpanel.d.ts +11 -0
  95. package/components/pds-tabpanel.js +45 -0
  96. package/components/pds-tabpanel.js.map +1 -0
  97. package/components/pds-tabs.d.ts +11 -0
  98. package/components/pds-tabs.js +119 -0
  99. package/components/pds-tabs.js.map +1 -0
  100. package/components/pds-textarea.d.ts +11 -0
  101. package/components/pds-textarea.js +82 -0
  102. package/components/pds-textarea.js.map +1 -0
  103. package/components/pds-tooltip.d.ts +11 -0
  104. package/components/pds-tooltip.js +178 -0
  105. package/components/pds-tooltip.js.map +1 -0
  106. package/dist/docs.json +1 -1
  107. package/hydrate/index.d.ts +218 -0
  108. package/hydrate/index.js +13120 -0
  109. package/hydrate/package.json +6 -0
  110. package/package.json +1 -1
@@ -0,0 +1,82 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { a as assignDescription, P as PdsLabel, m as messageId } from './pds-label.js';
3
+
4
+ const 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)}";
5
+ const PdsSwitchStyle0 = pdsSwitchCss;
6
+
7
+ const PdsSwitch$1 = /*@__PURE__*/ proxyCustomElement(class PdsSwitch extends HTMLElement {
8
+ constructor() {
9
+ super();
10
+ this.__registerHost();
11
+ this.__attachShadow();
12
+ this.pdsSwitchChange = createEvent(this, "pdsSwitchChange", 7);
13
+ this.onSwitchUpdate = (e) => {
14
+ if (this.disabled)
15
+ return;
16
+ this.pdsSwitchChange.emit(e);
17
+ };
18
+ /**
19
+ * Generate switch classes
20
+ */
21
+ this.switchClassNames = () => {
22
+ let switchClasses = `pds-switch`;
23
+ if (this.invalid === true) {
24
+ switchClasses += " pds-switch--error";
25
+ }
26
+ if (this.helperMessage !== undefined) {
27
+ switchClasses += " pds-switch--message";
28
+ }
29
+ return switchClasses;
30
+ };
31
+ this.componentId = undefined;
32
+ this.checked = false;
33
+ this.disabled = false;
34
+ this.errorMessage = undefined;
35
+ this.helperMessage = undefined;
36
+ this.invalid = false;
37
+ this.label = undefined;
38
+ this.name = undefined;
39
+ this.required = false;
40
+ this.type = 'checkbox';
41
+ this.value = undefined;
42
+ }
43
+ render() {
44
+ 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 &&
45
+ h("div", { key: '4f9f581e9a01e67d076bafaf1d28fe52b87081fc', class: `pds-switch__message`, id: messageId(this.componentId, 'helper') }, this.helperMessage), this.errorMessage &&
46
+ h("div", { key: 'aeca71b92664b2e7ef4c7fb0d103996a05c5318f', class: `pds-switch__message pds-switch__message--error`, id: messageId(this.componentId, 'error'), "aria-live": "assertive" }, this.errorMessage)));
47
+ }
48
+ get el() { return this; }
49
+ static get style() { return PdsSwitchStyle0; }
50
+ }, [1, "pds-switch", {
51
+ "componentId": [1, "component-id"],
52
+ "checked": [4],
53
+ "disabled": [4],
54
+ "errorMessage": [1, "error-message"],
55
+ "helperMessage": [1, "helper-message"],
56
+ "invalid": [4],
57
+ "label": [1],
58
+ "name": [1],
59
+ "required": [4],
60
+ "type": [1],
61
+ "value": [1]
62
+ }]);
63
+ function defineCustomElement$1() {
64
+ if (typeof customElements === "undefined") {
65
+ return;
66
+ }
67
+ const components = ["pds-switch"];
68
+ components.forEach(tagName => { switch (tagName) {
69
+ case "pds-switch":
70
+ if (!customElements.get(tagName)) {
71
+ customElements.define(tagName, PdsSwitch$1);
72
+ }
73
+ break;
74
+ } });
75
+ }
76
+
77
+ const PdsSwitch = PdsSwitch$1;
78
+ const defineCustomElement = defineCustomElement$1;
79
+
80
+ export { PdsSwitch, defineCustomElement };
81
+
82
+ //# sourceMappingURL=pds-switch.js.map
@@ -0,0 +1 @@
1
+ {"file":"pds-switch.js","mappings":";;;AAAA,MAAM,YAAY,GAAG,sqJAAsqJ,CAAC;AAC5rJ,wBAAe,YAAY;;MCQdA,WAAS;;;;;;QAgEZ,mBAAc,GAAG,CAAC,CAAQ;YAChC,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAe,CAAC,CAAC;SAC5C,CAAC;;;;QAKM,qBAAgB,GAAG;YACzB,IAAI,aAAa,GAAG,YAAY,CAAC;YAEjC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;gBACzB,aAAa,IAAI,oBAAoB,CAAC;aACvC;YACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;gBACpC,aAAa,IAAI,sBAAsB,CAAC;aACzC;YACD,OAAO,aAAa,CAAC;SACtB,CAAC;;uBAvEgB,KAAK;wBAKH,KAAK;;;uBAeN,KAAK;;;wBAeJ,KAAK;oBAMY,UAAU;;;IAgC/C,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,mBAAiB,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,IAChF,kFACoB,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,kBACzE,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,EAC/C,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAC,mBAAmB,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,EAAE,EAAE,IAAI,CAAC,WAAW,EACpB,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,EAC9C,QAAQ,EAAE,IAAI,CAAC,cAAc,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,GACjB,EACF,EAAC,QAAQ,qDAAC,UAAU,EAAC,mBAAmB,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAI,EACvF,IAAI,CAAC,aAAa;YACjB,4DACE,KAAK,EAAE,qBAAqB,EAC5B,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAExC,IAAI,CAAC,aAAa,CACf,EAEP,IAAI,CAAC,YAAY;YAChB,4DACE,KAAK,EAAE,gDAAgD,EACvD,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,eAC9B,WAAW,IAEpB,IAAI,CAAC,YAAY,CACd,CAEH,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsSwitch"],"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"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface PdsTab extends Components.PdsTab, HTMLElement {}
4
+ export const PdsTab: {
5
+ prototype: PdsTab;
6
+ new (): PdsTab;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,53 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const pdsTabCss = "pds-tab{--border-none:var(--pine-border-width-none);--border-radius-availability:var(--pine-border-radius-100);--border-radius-default:var(--pine-border-radius-125);--border-radius-none:var(--pine-border-radius-0);--box-shadow-focus:0 0 0 2px var(--pine-color-blue-200);--color-background-active:var(--pine-color-charcoal-400);--color-background-availability:var(--pine-color-white);--color-background-default:var(--pine-color-grey-300);--color-background-hover:var(--pine-color-grey-400);--color-text-active:var(--pine-color-charcoal-400);--color-text-active-inverse:var(--pine-color-white);--color-text-default:var(--pine-color-charcoal-200);--color-text-focus:var(--pine-color-charcoal-300);--font-size-availability-content:var(--pine-font-size-075);--font-size-default:var(--pine-font-size-100);--font-size-filter-content:var(--pine-font-size-087);--font-weight-default:var(--pine-font-weight-medium);--line-height-availability-content:var(--pine-line-height-100);--line-height-default:var(--pine-line-height-150);--line-height-filter-content:var(--pine-line-height-125);--outline:4px solid var(--pine-color-blue-200);--spacing-padding-none:var(--pine-spacing-0);display:inline-block;position:relative}.pds-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:var(--border-none);-webkit-box-shadow:none;box-shadow:none;color:inherit;cursor:pointer;font-family:inherit;padding:var(--spacing-padding-none);-ms-flex-align:center;align-items:center;color:var(--color-text-default);display:-ms-inline-flexbox;display:inline-flex;position:relative;text-decoration:none;white-space:nowrap}.pds-tab.is-active,.pds-tab[aria-selected=true]{color:var(--color-text-active)}.pds-tab.is-active .pds-tab__content::after,.pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tab:hover{color:var(--color-text-active)}.pds-tab:focus-visible{-webkit-box-shadow:var(--box-shadow-focus);box-shadow:var(--box-shadow-focus);outline:none}.pds-tab .pds-tab__content{font-family:inherit;font-size:var(--font-size-default);font-weight:var(--font-weight-default);line-height:var(--line-height-default);-webkit-padding-after:11px;padding-block-end:11px;position:relative}.pds-tab .pds-tab__content::after{background-color:currentColor;bottom:0;content:\"\";height:3px;left:0;opacity:0;position:absolute;right:0}.pds-tab .pds-tab-edge{display:none}.pds-tabs--availability{--color-background-tab:transparent}.pds-tabs--availability .pds-tab{background-color:var(--color-background-tab);border-radius:var(--border-radius-availability) var(--border-radius-availability) var(--border-radius-none) var(--border-radius-none);padding:8px 16px 13px}.pds-tabs--availability .pds-tab.is-active,.pds-tabs--availability .pds-tab[aria-selected=true]{--color-background-tab:var(--color-background-availability)}.pds-tabs--availability .pds-tab.is-active .pds-tab__content::after,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab__content::after{opacity:1}.pds-tabs--availability .pds-tab.is-active .pds-tab-edge,.pds-tabs--availability .pds-tab[aria-selected=true] .pds-tab-edge{z-index:1}.pds-tabs--availability .pds-tab:hover:not(.is-active,[aria-selected=true]){--color-background-tab:var(--color-background-default)}.pds-tabs--availability .pds-tab:focus-visible{color:var(--color-text-default)}.pds-tabs--availability .pds-tab__content{font-size:var(--font-size-availability-content);line-height:var(--line-height-availability-content);padding-bottom:7px}.pds-tabs--availability .pds-tab-edge{bottom:0;display:block;height:8px;inset-inline-end:100%;overflow:hidden;position:absolute;width:8px}.pds-tabs--availability .pds-tab-edge::before{border-radius:50%;bottom:0;-webkit-box-shadow:4px 4px 0 0 var(--color-background-tab);box-shadow:4px 4px 0 0 var(--color-background-tab);content:\"\";display:block;height:200%;inset-inline-end:0;position:absolute;width:200%}.pds-tabs--availability .pds-tab-edge--end{inset-inline-end:unset;inset-inline-start:100%}.pds-tabs--availability .pds-tab-edge--end::before{-webkit-box-shadow:-4px 4px 0 0 var(--color-background-tab);box-shadow:-4px 4px 0 0 var(--color-background-tab);inset-inline-end:unset;inset-inline-start:0}.pds-tabs--filter{--color-background-tab:var(--color-background-active)}.pds-tabs--filter .pds-tab{background-color:var(--color-background-tab);border-radius:50px;color:var(--color-text-active);padding:6px 15px}.pds-tabs--filter .pds-tab.is-active,.pds-tabs--filter .pds-tab[aria-selected=true]{--color-background-tab:var(--color-background-active);color:var(--color-text-active-inverse)}.pds-tabs--filter .pds-tab:hover:not(.is-active,[aria-selected=true]){--color-background-tab:var(--color-background-hover)}.pds-tabs--filter .pds-tab__content{font-size:var(--font-size-filter-content);line-height:var(--line-height-filter-content);-webkit-padding-after:0;padding-block-end:0}.pds-tabs--filter .pds-tab__content::after{content:unset}";
4
+ const PdsTabStyle0 = pdsTabCss;
5
+
6
+ const PdsTab$1 = /*@__PURE__*/ proxyCustomElement(class PdsTab extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.pdsTabClick = createEvent(this, "pdsTabClick", 7);
11
+ this.name = undefined;
12
+ this.parentComponentId = undefined;
13
+ this.variant = undefined;
14
+ this.index = undefined;
15
+ this.selected = false;
16
+ }
17
+ onTabClick(index, parentComponentId) {
18
+ this.pdsTabClick.emit([index, parentComponentId]);
19
+ }
20
+ render() {
21
+ const availabilityTabEdgeInlineStart = (h("span", { key: 'c315c8920c12da7d1913db7e53dc075dc9734280', class: "pds-tab-edge", role: "presentation" }));
22
+ const availabilityTabEdgeInlineEnd = (h("span", { key: '37dfaa651e87a0291d28c50fbdda9c1cfa70f41b', class: "pds-tab-edge pds-tab-edge--end", role: "presentation" }));
23
+ return (h(Host, { key: '0aa73a4a6b1ff12fff6f212135f8f33c14e6ff5f', variant: this.variant, slot: "tabs", index: this.index }, h("button", { key: '72443536e14ddad4ac8e19c025165884de81697f', role: "tab", id: this.parentComponentId + "__" + this.name, "aria-controls": this.parentComponentId + "__" + this.name + "-panel", tabindex: this.selected ? "0" : "-1", "aria-selected": this.selected ? "true" : "false", class: this.selected ? "pds-tab is-active" : "pds-tab", onClick: this.onTabClick.bind(this, this.index, this.parentComponentId) }, this.variant === "availability" && availabilityTabEdgeInlineStart, this.variant === "availability" && availabilityTabEdgeInlineEnd, h("div", { key: '547a022cb0354b176a11e681e9103bb4486ab1ef', class: "pds-tab__content" }, h("slot", { key: 'db859b0d21de4e57a75e588d069a9b1b86d271c4' })))));
24
+ }
25
+ get el() { return this; }
26
+ static get style() { return PdsTabStyle0; }
27
+ }, [4, "pds-tab", {
28
+ "name": [1],
29
+ "parentComponentId": [1, "parent-component-id"],
30
+ "variant": [1],
31
+ "index": [2],
32
+ "selected": [4]
33
+ }]);
34
+ function defineCustomElement$1() {
35
+ if (typeof customElements === "undefined") {
36
+ return;
37
+ }
38
+ const components = ["pds-tab"];
39
+ components.forEach(tagName => { switch (tagName) {
40
+ case "pds-tab":
41
+ if (!customElements.get(tagName)) {
42
+ customElements.define(tagName, PdsTab$1);
43
+ }
44
+ break;
45
+ } });
46
+ }
47
+
48
+ const PdsTab = PdsTab$1;
49
+ const defineCustomElement = defineCustomElement$1;
50
+
51
+ export { PdsTab, defineCustomElement };
52
+
53
+ //# sourceMappingURL=pds-tab.js.map
@@ -0,0 +1 @@
1
+ {"file":"pds-tab.js","mappings":";;AAAA,MAAM,SAAS,GAAG,00JAA00J,CAAC;AAC71J,qBAAe,SAAS;;MCMXA,QAAM;;;;;;;;;wBA8BE,KAAK;;IAOhB,UAAU,CAAC,KAAK,EAAE,iBAAiB;QACzC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;KACnD;IAED,MAAM;QACJ,MAAM,8BAA8B,IAClC,6DAAM,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,cAAc,GAAQ,CACvD,CAAA;QAED,MAAM,4BAA4B,IAChC,6DAAM,KAAK,EAAC,gCAAgC,EAAC,IAAI,EAAC,cAAc,GAAQ,CACzE,CAAA;QAED,QACE,EAAC,IAAI,qDAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IACxD,+DACE,IAAI,EAAC,KAAK,EACV,EAAE,EAAE,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,mBAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,QAAQ,EACnE,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,mBACrB,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,EAC/C,KAAK,EAAE,IAAI,CAAC,QAAQ,GAAG,mBAAmB,GAAG,SAAS,EACtD,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAEtE,IAAI,CAAC,OAAO,KAAK,cAAc,IAAI,8BAA8B,EACjE,IAAI,CAAC,OAAO,KAAK,cAAc,IAAI,4BAA4B,EAChE,4DAAK,KAAK,EAAC,kBAAkB,IAAC,8DAAO,CAAM,CACpC,CACJ,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsTab"],"sources":["src/components/pds-tabs/pds-tab/pds-tab.scss?tag=pds-tab","src/components/pds-tabs/pds-tab/pds-tab.tsx"],"sourcesContent":["pds-tab {\n --border-none: var(--pine-border-width-none);\n\n --border-radius-availability: var(--pine-border-radius-100);\n --border-radius-default: var(--pine-border-radius-125);\n --border-radius-none: var(--pine-border-radius-0);\n\n --box-shadow-focus: 0 0 0 2px var(--pine-color-blue-200);\n\n --color-background-active: var(--pine-color-charcoal-400);\n --color-background-availability: var(--pine-color-white);\n --color-background-default: var(--pine-color-grey-300);\n --color-background-hover: var(--pine-color-grey-400);\n --color-text-active: var(--pine-color-charcoal-400);\n --color-text-active-inverse: var(--pine-color-white);\n --color-text-default: var(--pine-color-charcoal-200);\n --color-text-focus: var(--pine-color-charcoal-300);\n\n --font-size-availability-content: var(--pine-font-size-075);\n --font-size-default: var(--pine-font-size-100);\n --font-size-filter-content: var(--pine-font-size-087);\n\n --font-weight-default: var(--pine-font-weight-medium);\n\n --line-height-availability-content: var(--pine-line-height-100);\n --line-height-default: var(--pine-line-height-150);\n --line-height-filter-content: var(--pine-line-height-125);\n\n --outline: 4px solid var(--pine-color-blue-200);\n\n --spacing-padding-none: var(--pine-spacing-0);\n\n display: inline-block;\n position: relative;\n}\n\n///\n/// Resets base button styles\n///\n@mixin pds-button-style-reset {\n appearance: none;\n background-color: transparent;\n border: var(--border-none);\n box-shadow: none;\n color: inherit;\n cursor: pointer;\n font-family: inherit;\n padding: var(--spacing-padding-none);\n}\n\n.pds-tab {\n @include pds-button-style-reset();\n\n align-items: center;\n color: var(--color-text-default);\n display: inline-flex;\n position: relative;\n text-decoration: none;\n white-space: nowrap;\n\n &.is-active,\n &[aria-selected='true'] {\n color: var(--color-text-active);\n\n .pds-tab__content::after {\n opacity: 1;\n }\n }\n\n &:hover {\n color: var(--color-text-active);\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 .pds-tab__content {\n font-family: inherit;\n font-size: var(--font-size-default);\n font-weight: var(--font-weight-default);\n line-height: var(--line-height-default);\n padding-block-end: 11px;\n position: relative;\n\n &::after {\n background-color: currentColor;\n bottom: 0;\n content: '';\n height: 3px;\n left: 0;\n opacity: 0;\n position: absolute;\n right: 0;\n }\n }\n\n .pds-tab-edge {\n display: none;\n }\n}\n\n.pds-tabs--availability {\n --color-background-tab: transparent;\n\n .pds-tab {\n background-color: var(--color-background-tab);\n border-radius: var(--border-radius-availability) var(--border-radius-availability) var(--border-radius-none) var(--border-radius-none);\n padding: 8px 16px 13px;\n\n &.is-active,\n &[aria-selected='true'] {\n --color-background-tab: var(--color-background-availability);\n\n .pds-tab__content::after {\n opacity: 1;\n }\n\n .pds-tab-edge {\n z-index: 1;\n }\n }\n\n &:hover:not(.is-active, [aria-selected='true']) {\n --color-background-tab: var(--color-background-default);\n }\n\n &:focus-visible {\n color: var(--color-text-default);\n }\n }\n\n .pds-tab__content {\n font-size: var(--font-size-availability-content);\n line-height: var(--line-height-availability-content);\n padding-bottom: 7px;\n }\n\n .pds-tab-edge {\n bottom: 0;\n display: block;\n height: 8px;\n inset-inline-end: 100%;\n overflow: hidden;\n position: absolute;\n width: 8px;\n\n &::before {\n border-radius: 50%;\n bottom: 0;\n box-shadow: 4px 4px 0 0 var(--color-background-tab);\n content: '';\n display: block;\n height: 200%;\n inset-inline-end: 0;\n position: absolute;\n width: 200%;\n }\n }\n\n .pds-tab-edge--end {\n inset-inline-end: unset;\n inset-inline-start: 100%;\n\n &::before {\n box-shadow: -4px 4px 0 0 var(--color-background-tab);\n inset-inline-end: unset;\n inset-inline-start: 0;\n }\n }\n}\n\n.pds-tabs--filter {\n --color-background-tab: var(--color-background-active);\n\n .pds-tab {\n background-color: var(--color-background-tab);\n border-radius: 50px;\n color: var(--color-text-active);\n padding: 6px 15px;\n\n &.is-active,\n &[aria-selected='true'] {\n --color-background-tab: var(--color-background-active);\n color: var(--color-text-active-inverse)\n }\n\n &:hover:not(.is-active, [aria-selected='true']) {\n --color-background-tab: var(--color-background-hover);\n }\n }\n\n .pds-tab__content {\n font-size: var(--font-size-filter-content);\n line-height: var(--line-height-filter-content);\n padding-block-end: 0;\n\n &::after {\n content: unset;\n }\n }\n}\n","import { Component, Element, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'pds-tab',\n styleUrl: 'pds-tab.scss',\n shadow: false,\n})\nexport class PdsTab {\n @Element() el: HTMLPdsTabElement;\n\n /**\n * Sets the related tab name, this name must match a `pds-tabpanel`'s tab name property\n */\n @Prop() name!: string;\n\n /**\n * Keeps track of the parentComponentId unique id, this property is passed by parent component\n */\n /** @internal */\n @Prop() parentComponentId: string;\n\n /**\n * Keeps track of if the expected tab variant, this property is passed by parent component\n */\n /** @internal */\n @Prop() variant: string;\n\n /**\n * Keeps track of if the tab index number, this property is passed by parent component\n */\n /** @internal */\n @Prop() index: number;\n\n /**\n * Keeps track of the tabpanel selected state, this property is passed by parent component\n */\n /** @internal */\n @Prop() selected = false;\n\n /**\n * Emits an event upon tab click for `pds-tab` and `pds-tabpanel` to listen for\n */\n /** @internal */\n @Event() pdsTabClick: EventEmitter<object>;\n private onTabClick(index, parentComponentId) {\n this.pdsTabClick.emit([index, parentComponentId]);\n }\n\n render() {\n const availabilityTabEdgeInlineStart = (\n <span class=\"pds-tab-edge\" role=\"presentation\"></span>\n )\n\n const availabilityTabEdgeInlineEnd = (\n <span class=\"pds-tab-edge pds-tab-edge--end\" role=\"presentation\"></span>\n )\n\n return (\n <Host variant={this.variant} slot=\"tabs\" index={this.index}>\n <button\n role=\"tab\"\n id={this.parentComponentId + \"__\" + this.name}\n aria-controls={this.parentComponentId + \"__\" + this.name + \"-panel\"}\n tabindex={this.selected ? \"0\" : \"-1\"}\n aria-selected={this.selected ? \"true\" : \"false\"}\n class={this.selected ? \"pds-tab is-active\" : \"pds-tab\"}\n onClick={this.onTabClick.bind(this, this.index, this.parentComponentId)}\n >\n {this.variant === \"availability\" && availabilityTabEdgeInlineStart}\n {this.variant === \"availability\" && availabilityTabEdgeInlineEnd}\n <div class=\"pds-tab__content\"><slot/></div>\n </button>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface PdsTableBody extends Components.PdsTableBody, HTMLElement {}
4
+ export const PdsTableBody: {
5
+ prototype: PdsTableBody;
6
+ new (): PdsTableBody;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,36 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const pdsTableBodyCss = ":host{border-color:inherit;display:table-row-group;vertical-align:middle}";
4
+ const PdsTableBodyStyle0 = pdsTableBodyCss;
5
+
6
+ const PdsTableBody$1 = /*@__PURE__*/ proxyCustomElement(class PdsTableBody extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.__attachShadow();
11
+ }
12
+ render() {
13
+ return (h(Host, { key: '6d312a1c25591258df1f47699b2b7a3b74d85fe3', role: "rowgroup" }, h("slot", { key: '423f7e680e9eff6daf2d4a08544b619f2c420beb' })));
14
+ }
15
+ static get style() { return PdsTableBodyStyle0; }
16
+ }, [1, "pds-table-body"]);
17
+ function defineCustomElement$1() {
18
+ if (typeof customElements === "undefined") {
19
+ return;
20
+ }
21
+ const components = ["pds-table-body"];
22
+ components.forEach(tagName => { switch (tagName) {
23
+ case "pds-table-body":
24
+ if (!customElements.get(tagName)) {
25
+ customElements.define(tagName, PdsTableBody$1);
26
+ }
27
+ break;
28
+ } });
29
+ }
30
+
31
+ const PdsTableBody = PdsTableBody$1;
32
+ const defineCustomElement = defineCustomElement$1;
33
+
34
+ export { PdsTableBody, defineCustomElement };
35
+
36
+ //# sourceMappingURL=pds-table-body.js.map
@@ -0,0 +1 @@
1
+ {"file":"pds-table-body.js","mappings":";;AAAA,MAAM,eAAe,GAAG,2EAA2E,CAAC;AACpG,2BAAe,eAAe;;MCMjBA,cAAY;;;;;;IAEvB,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,IAAI,EAAC,UAAU,IACnB,8DAAa,CACR,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;","names":["PdsTableBody"],"sources":["src/components/pds-table/pds-table-body/pds-table-body.scss?tag=pds-table-body&encapsulation=shadow","src/components/pds-table/pds-table-body/pds-table-body.tsx"],"sourcesContent":[":host {\n border-color: inherit;\n display: table-row-group;\n vertical-align: middle;\n}\n","import { Component, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'pds-table-body',\n styleUrl: 'pds-table-body.scss',\n shadow: true,\n})\nexport class PdsTableBody {\n\n render() {\n return (\n <Host role=\"rowgroup\">\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface PdsTableCell extends Components.PdsTableCell, HTMLElement {}
4
+ export const PdsTableCell: {
5
+ prototype: PdsTableCell;
6
+ new (): PdsTableCell;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,8 @@
1
+ import { P as PdsTableCell$1, d as defineCustomElement$1 } from './pds-table-cell2.js';
2
+
3
+ const PdsTableCell = PdsTableCell$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { PdsTableCell, defineCustomElement };
7
+
8
+ //# sourceMappingURL=pds-table-cell.js.map
@@ -0,0 +1 @@
1
+ {"file":"pds-table-cell.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -0,0 +1,72 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const pdsTableCellCss = ":host{--box-shadow-fixed:3px 3px 6px -2px rgba(0, 0, 0, 0.2);--color-background-fixed:var(--pine-color-white);--color-cell-default:var(--pine-color-charcoal-200);--dimension-fixed-cell-position:0;--dimension-max-width-truncated:100px;--font-size-cell-default:var(--pine-font-size-087);--number-fixed-column-index:0;--spacing-line-height-cell-default:var(--pine-line-height-125);--spacing-padding-cell-default:calc(var(--pine-spacing-300) / 2);--spacing-padding-compact:var(--pine-spacing-050);color:var(--color-cell-default);display:table-cell;font-size:var(--font-size-cell-default);line-height:var(--spacing-line-height-cell-default);padding:var(--spacing-padding-cell-default);vertical-align:inherit}:host(.is-compact){padding-block:var(--spacing-padding-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-fixed);box-shadow:var(--box-shadow-fixed)}:host(.is-truncated){max-width:var(--dimension-max-width-truncated);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.has-checkbox){vertical-align:middle;width:16px}";
4
+ const PdsTableCellStyle0 = pdsTableCellCss;
5
+
6
+ const PdsTableCell = /*@__PURE__*/ proxyCustomElement(class PdsTableCell extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.__attachShadow();
11
+ this.handleScroll = () => {
12
+ if (this.tableRef.scrollLeft > 0) {
13
+ this.tableScrolling = true;
14
+ }
15
+ else {
16
+ this.tableScrolling = false;
17
+ }
18
+ };
19
+ this.truncate = undefined;
20
+ this.tableScrolling = false;
21
+ }
22
+ componentWillRender() {
23
+ this.tableRef = this.hostElement.closest('pds-table');
24
+ }
25
+ componentDidLoad() {
26
+ if (this.tableRef && this.tableRef.responsive && this.tableRef.fixedColumn) {
27
+ this.tableRef.addEventListener('scroll', this.handleScroll);
28
+ }
29
+ }
30
+ classNames() {
31
+ const classNames = [];
32
+ if (this.tableRef && this.tableRef.compact) {
33
+ classNames.push('is-compact');
34
+ }
35
+ if (this.truncate) {
36
+ classNames.push('is-truncated');
37
+ }
38
+ if (this.tableRef && this.tableRef.fixedColumn && this.tableScrolling) {
39
+ classNames.push('has-scrolled');
40
+ }
41
+ return classNames.join(' ');
42
+ }
43
+ render() {
44
+ return (h(Host, { key: '7c7f228b3911eec633c6ffd817f22fbc6666be8a', class: this.classNames(), role: "gridcell", style: this.tableRef &&
45
+ this.tableRef.fixedColumn &&
46
+ this.tableRef.selectable
47
+ ? { '--fixed-cell-position': '40px' }
48
+ : {} }, h("slot", { key: '37c43f300478beffc41d2450bbb5a6e13099f58e' })));
49
+ }
50
+ get hostElement() { return this; }
51
+ static get style() { return PdsTableCellStyle0; }
52
+ }, [1, "pds-table-cell", {
53
+ "truncate": [4],
54
+ "tableScrolling": [32]
55
+ }]);
56
+ function defineCustomElement() {
57
+ if (typeof customElements === "undefined") {
58
+ return;
59
+ }
60
+ const components = ["pds-table-cell"];
61
+ components.forEach(tagName => { switch (tagName) {
62
+ case "pds-table-cell":
63
+ if (!customElements.get(tagName)) {
64
+ customElements.define(tagName, PdsTableCell);
65
+ }
66
+ break;
67
+ } });
68
+ }
69
+
70
+ export { PdsTableCell as P, defineCustomElement as d };
71
+
72
+ //# sourceMappingURL=pds-table-cell2.js.map
@@ -0,0 +1 @@
1
+ {"file":"pds-table-cell2.js","mappings":";;AAAA,MAAM,eAAe,GAAG,urCAAurC,CAAC;AAChtC,2BAAe,eAAe;;MCMjB,YAAY;;;;;QAuCf,iBAAY,GAAG;YACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,EAAE;gBAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAC5B;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7B;SACF,CAAC;;8BA1ByC,KAAK;;IAfhD,mBAAmB;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAwB,CAAC;KAC9E;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC1E,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC7D;KACF;IASO,UAAU;QAChB,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YAC1C,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/B;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACjC;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE;YACrE,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACjC;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC7B;IAUD,MAAM;QACJ,QACE,EAAC,IAAI,qDACH,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EACxB,IAAI,EAAC,UAAU,EACf,KAAK,EACH,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,QAAQ,CAAC,WAAW;gBACzB,IAAI,CAAC,QAAQ,CAAC,UAAU;kBACpB,EAAE,uBAAuB,EAAE,MAAM,EAAE;kBACnC,EAAE,IAGR,8DAAa,CACR,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["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 --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"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface PdsTableHeadCell extends Components.PdsTableHeadCell, HTMLElement {}
4
+ export const PdsTableHeadCell: {
5
+ prototype: PdsTableHeadCell;
6
+ new (): PdsTableHeadCell;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,8 @@
1
+ import { P as PdsTableHeadCell$1, d as defineCustomElement$1 } from './pds-table-head-cell2.js';
2
+
3
+ const PdsTableHeadCell = PdsTableHeadCell$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { PdsTableHeadCell, defineCustomElement };
7
+
8
+ //# sourceMappingURL=pds-table-head-cell.js.map
@@ -0,0 +1 @@
1
+ {"file":"pds-table-head-cell.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -0,0 +1,96 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { e as upSmall, d as downSmall } from './index2.js';
3
+ import { d as defineCustomElement$1 } from './pds-icon2.js';
4
+
5
+ const 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)}";
6
+ const PdsTableHeadCellStyle0 = pdsTableHeadCellCss;
7
+
8
+ const PdsTableHeadCell = /*@__PURE__*/ proxyCustomElement(class PdsTableHeadCell extends HTMLElement {
9
+ constructor() {
10
+ super();
11
+ this.__registerHost();
12
+ this.__attachShadow();
13
+ this.pdsTableSort = createEvent(this, "pdsTableSort", 7);
14
+ this.handleScroll = () => {
15
+ if (this.tableRef.scrollLeft > 0) {
16
+ this.tableScrolling = true;
17
+ }
18
+ else {
19
+ this.tableScrolling = false;
20
+ }
21
+ };
22
+ this.toggleSort = () => {
23
+ if (this.sortable) {
24
+ const column = this.hostElement.innerText.trim();
25
+ this.sortingDirection = this.sortingDirection === 'asc' ? 'desc' : 'asc';
26
+ this.tableRef.querySelectorAll('pds-table-head-cell').forEach((headCell) => {
27
+ headCell.classList.remove('is-active');
28
+ });
29
+ this.hostElement.classList.toggle('is-active');
30
+ this.pdsTableSort.emit({ column, direction: this.sortingDirection });
31
+ }
32
+ };
33
+ this.sortable = undefined;
34
+ this.sortingDirection = 'asc';
35
+ this.tableScrolling = false;
36
+ }
37
+ componentWillRender() {
38
+ this.tableRef = this.hostElement.closest('pds-table');
39
+ }
40
+ componentDidLoad() {
41
+ if (this.tableRef && this.tableRef.responsive && this.tableRef.fixedColumn) {
42
+ this.tableRef.addEventListener('scroll', this.handleScroll);
43
+ }
44
+ }
45
+ classNames() {
46
+ const classNames = [];
47
+ if (this.tableRef && this.tableRef.compact) {
48
+ classNames.push('is-compact');
49
+ }
50
+ if (this.sortable) {
51
+ classNames.push('is-sortable');
52
+ }
53
+ if (this.sortable && this.sortingDirection !== null) {
54
+ classNames.push('sort-' + this.sortingDirection);
55
+ }
56
+ if (this.tableRef && this.tableRef.fixedColumn && this.tableScrolling) {
57
+ classNames.push('has-scrolled');
58
+ }
59
+ return classNames.join(' ');
60
+ }
61
+ render() {
62
+ return (h(Host, { key: 'b8b24eb690d19c1d6476fd44c69a3231b540d476', class: this.classNames(), role: "columnheader", onClick: this.toggleSort, style: this.tableRef &&
63
+ this.tableRef.fixedColumn &&
64
+ this.tableRef.selectable
65
+ ? { '--fixed-cell-position': '40px' }
66
+ : {} }, h("slot", { key: '831ea922b3fb2166852208f2a9520414c93f6954' }), this.sortable && (h("pds-icon", { key: '0afb8d56992327112c64e79d6bfc7c1d192d9732', icon: this.sortingDirection === 'asc' ? upSmall : downSmall }))));
67
+ }
68
+ get hostElement() { return this; }
69
+ static get style() { return PdsTableHeadCellStyle0; }
70
+ }, [1, "pds-table-head-cell", {
71
+ "sortable": [4],
72
+ "sortingDirection": [32],
73
+ "tableScrolling": [32]
74
+ }]);
75
+ function defineCustomElement() {
76
+ if (typeof customElements === "undefined") {
77
+ return;
78
+ }
79
+ const components = ["pds-table-head-cell", "pds-icon"];
80
+ components.forEach(tagName => { switch (tagName) {
81
+ case "pds-table-head-cell":
82
+ if (!customElements.get(tagName)) {
83
+ customElements.define(tagName, PdsTableHeadCell);
84
+ }
85
+ break;
86
+ case "pds-icon":
87
+ if (!customElements.get(tagName)) {
88
+ defineCustomElement$1();
89
+ }
90
+ break;
91
+ } });
92
+ }
93
+
94
+ export { PdsTableHeadCell as P, defineCustomElement as d };
95
+
96
+ //# sourceMappingURL=pds-table-head-cell2.js.map
@@ -0,0 +1 @@
1
+ {"file":"pds-table-head-cell2.js","mappings":";;;;AAAA,MAAM,mBAAmB,GAAG,kxDAAkxD,CAAC;AAC/yD,+BAAe,mBAAmB;;MCQrB,gBAAgB;;;;;;QA2BnB,iBAAY,GAAG;YACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,EAAE;gBAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;aAC5B;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC7B;SACF,CAAC;QAEM,eAAU,GAAG;YACnB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;gBAEzE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ;oBACrE,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;iBACxC,CAAC,CAAC;gBAEH,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;aACtE;SACF,CAAA;;gCAjCmD,KAAK;8BACd,KAAK;;IAEhD,mBAAmB;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAwB,CAAC;KAC9E;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC1E,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC7D;KACF;IAwBO,UAAU;QAChB,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YAC1C,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/B;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAChC;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;YACnD,UAAU,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAClD;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE;YACrE,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACjC;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM;QACJ,QACE,EAAC,IAAI,qDACH,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EACxB,IAAI,EAAC,cAAc,EACnB,OAAO,EAAE,IAAI,CAAC,UAAU,EACxB,KAAK,EACH,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,QAAQ,CAAC,WAAW;gBACzB,IAAI,CAAC,QAAQ,CAAC,UAAU;kBACpB,EAAE,uBAAuB,EAAE,MAAM,EAAE;kBACnC,EAAE,IAGR,8DAAa,EACZ,IAAI,CAAC,QAAQ,KACZ,iEAAU,IAAI,EAAE,IAAI,CAAC,gBAAgB,KAAK,KAAK,GAAG,OAAO,GAAG,SAAS,GAAI,CAC1E,CACI,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"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"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface PdsTableHead extends Components.PdsTableHead, HTMLElement {}
4
+ export const PdsTableHead: {
5
+ prototype: PdsTableHead;
6
+ new (): PdsTableHead;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,56 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+ import { d as defineCustomElement$3 } from './pds-icon2.js';
3
+ import { d as defineCustomElement$2 } from './pds-table-head-cell2.js';
4
+
5
+ const pdsTableHeadCss = ":host{--border-head-default:var(--pine-border-width-thin) solid var(--pine-color-grey-300);--color-background-fixed:var(--pine-color-base-white);border-color:inherit;-webkit-box-sizing:border-box;box-sizing:border-box;display:table-header-group;vertical-align:middle}:host::part(checkbox-cell){background-color:var(--color-background-fixed);left:0;position:-webkit-sticky;position:sticky;z-index:1}:host pds-table-checkbox-cell{-webkit-border-after:var(--border-head-default);border-block-end:var(--border-head-default)}";
6
+ const PdsTableHeadStyle0 = pdsTableHeadCss;
7
+
8
+ const PdsTableHead$1 = /*@__PURE__*/ proxyCustomElement(class PdsTableHead extends HTMLElement {
9
+ constructor() {
10
+ super();
11
+ this.__registerHost();
12
+ this.__attachShadow();
13
+ }
14
+ componentWillRender() {
15
+ this.tableRef = this.hostElement.closest('pds-table');
16
+ if (this.tableRef && this.tableRef.fixedColumn) {
17
+ const tableCell = this.hostElement.querySelector('pds-table-head-cell:first-child');
18
+ tableCell === null || tableCell === void 0 ? void 0 : tableCell.classList.add("is-fixed");
19
+ }
20
+ }
21
+ render() {
22
+ return (h(Host, { key: 'e92e19de602fa327f57b5577e346c6ac3c61a807', role: "row" }, this.tableRef && this.tableRef.selectable && (h("pds-table-head-cell", { key: '883511ea021dc59f29a5a354e6bbce7ad1eded86', part: this.tableRef.fixedColumn ? 'checkbox-cell' : '' })), h("slot", { key: 'bc39f9ea30696ee18dd4fafa744225e3e4b3fb9b' })));
23
+ }
24
+ get hostElement() { return this; }
25
+ static get style() { return PdsTableHeadStyle0; }
26
+ }, [1, "pds-table-head"]);
27
+ function defineCustomElement$1() {
28
+ if (typeof customElements === "undefined") {
29
+ return;
30
+ }
31
+ const components = ["pds-table-head", "pds-icon", "pds-table-head-cell"];
32
+ components.forEach(tagName => { switch (tagName) {
33
+ case "pds-table-head":
34
+ if (!customElements.get(tagName)) {
35
+ customElements.define(tagName, PdsTableHead$1);
36
+ }
37
+ break;
38
+ case "pds-icon":
39
+ if (!customElements.get(tagName)) {
40
+ defineCustomElement$3();
41
+ }
42
+ break;
43
+ case "pds-table-head-cell":
44
+ if (!customElements.get(tagName)) {
45
+ defineCustomElement$2();
46
+ }
47
+ break;
48
+ } });
49
+ }
50
+
51
+ const PdsTableHead = PdsTableHead$1;
52
+ const defineCustomElement = defineCustomElement$1;
53
+
54
+ export { PdsTableHead, defineCustomElement };
55
+
56
+ //# sourceMappingURL=pds-table-head.js.map
@@ -0,0 +1 @@
1
+ {"file":"pds-table-head.js","mappings":";;;;AAAA,MAAM,eAAe,GAAG,0gBAA0gB,CAAC;AACniB,2BAAe,eAAe;;MCMjBA,cAAY;;;;;;IAIvB,mBAAmB;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAwB,CAAC;QAE7E,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC;YACpF,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SACtC;KACF;IACD,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,IAAI,EAAC,KAAK,IACb,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KACxC,4EAAqB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,eAAe,GAAG,EAAE,GAAwB,CACpG,EACD,8DAAa,CACR,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["PdsTableHead"],"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"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface PdsTableRow extends Components.PdsTableRow, HTMLElement {}
4
+ export const PdsTableRow: {
5
+ prototype: PdsTableRow;
6
+ new (): PdsTableRow;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;