@patternfly/elements 2.2.1 → 2.3.0

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 (122) hide show
  1. package/custom-elements.json +32 -65
  2. package/package.json +4 -3
  3. package/pf-accordion/BaseAccordion.d.ts +2 -1
  4. package/pf-accordion/BaseAccordion.js +239 -210
  5. package/pf-accordion/BaseAccordion.js.map +1 -1
  6. package/pf-accordion/BaseAccordionHeader.js +71 -69
  7. package/pf-accordion/BaseAccordionHeader.js.map +1 -1
  8. package/pf-accordion/BaseAccordionPanel.js +2 -2
  9. package/pf-accordion/BaseAccordionPanel.js.map +1 -1
  10. package/pf-accordion/pf-accordion-header.js +4 -9
  11. package/pf-accordion/pf-accordion-header.js.map +1 -1
  12. package/pf-accordion/pf-accordion-panel.js +1 -1
  13. package/pf-accordion/pf-accordion-panel.js.map +1 -1
  14. package/pf-accordion/pf-accordion.js +1 -1
  15. package/pf-accordion/pf-accordion.js.map +1 -1
  16. package/pf-avatar/BaseAvatar.js +1 -1
  17. package/pf-avatar/BaseAvatar.js.map +1 -1
  18. package/pf-avatar/pf-avatar.js +1 -1
  19. package/pf-avatar/pf-avatar.js.map +1 -1
  20. package/pf-badge/BaseBadge.js +1 -1
  21. package/pf-badge/BaseBadge.js.map +1 -1
  22. package/pf-badge/pf-badge.js +1 -1
  23. package/pf-badge/pf-badge.js.map +1 -1
  24. package/pf-button/BaseButton.js +16 -17
  25. package/pf-button/BaseButton.js.map +1 -1
  26. package/pf-button/pf-button.js +1 -1
  27. package/pf-button/pf-button.js.map +1 -1
  28. package/pf-card/BaseCard.js +1 -1
  29. package/pf-card/BaseCard.js.map +1 -1
  30. package/pf-card/pf-card.js +1 -1
  31. package/pf-card/pf-card.js.map +1 -1
  32. package/pf-clipboard-copy/BaseClipboardCopy.js +1 -1
  33. package/pf-clipboard-copy/BaseClipboardCopy.js.map +1 -1
  34. package/pf-clipboard-copy/pf-clipboard-copy.js +33 -36
  35. package/pf-clipboard-copy/pf-clipboard-copy.js.map +1 -1
  36. package/pf-code-block/BaseCodeBlock.js +1 -1
  37. package/pf-code-block/BaseCodeBlock.js.map +1 -1
  38. package/pf-code-block/pf-code-block.js +11 -14
  39. package/pf-code-block/pf-code-block.js.map +1 -1
  40. package/pf-icon/BaseIcon.js +41 -39
  41. package/pf-icon/BaseIcon.js.map +1 -1
  42. package/pf-icon/pf-icon.js +2 -2
  43. package/pf-icon/pf-icon.js.map +1 -1
  44. package/pf-jump-links/pf-jump-links-item.js +14 -17
  45. package/pf-jump-links/pf-jump-links-item.js.map +1 -1
  46. package/pf-jump-links/pf-jump-links-list.js +1 -1
  47. package/pf-jump-links/pf-jump-links-list.js.map +1 -1
  48. package/pf-jump-links/pf-jump-links.js +34 -37
  49. package/pf-jump-links/pf-jump-links.js.map +1 -1
  50. package/pf-label/BaseLabel.js +1 -1
  51. package/pf-label/BaseLabel.js.map +1 -1
  52. package/pf-label/pf-label.js +2 -2
  53. package/pf-label/pf-label.js.map +1 -1
  54. package/pf-modal/pf-modal.js +45 -46
  55. package/pf-modal/pf-modal.js.map +1 -1
  56. package/pf-panel/pf-panel.js +6 -7
  57. package/pf-panel/pf-panel.js.map +1 -1
  58. package/pf-popover/pf-popover.js +48 -51
  59. package/pf-popover/pf-popover.js.map +1 -1
  60. package/pf-progress-stepper/pf-progress-step.js +10 -11
  61. package/pf-progress-stepper/pf-progress-step.js.map +1 -1
  62. package/pf-progress-stepper/pf-progress-stepper.js +13 -16
  63. package/pf-progress-stepper/pf-progress-stepper.js.map +1 -1
  64. package/pf-spinner/BaseSpinner.js +1 -1
  65. package/pf-spinner/BaseSpinner.js.map +1 -1
  66. package/pf-spinner/pf-spinner.js +1 -1
  67. package/pf-spinner/pf-spinner.js.map +1 -1
  68. package/pf-switch/BaseSwitch.js +47 -44
  69. package/pf-switch/BaseSwitch.js.map +1 -1
  70. package/pf-switch/pf-switch.js +1 -1
  71. package/pf-switch/pf-switch.js.map +1 -1
  72. package/pf-tabs/BaseTab.js +31 -29
  73. package/pf-tabs/BaseTab.js.map +1 -1
  74. package/pf-tabs/BaseTabPanel.d.ts +0 -1
  75. package/pf-tabs/BaseTabPanel.js +5 -11
  76. package/pf-tabs/BaseTabPanel.js.map +1 -1
  77. package/pf-tabs/BaseTabs.js +135 -116
  78. package/pf-tabs/BaseTabs.js.map +1 -1
  79. package/pf-tabs/pf-tab-panel.js +1 -1
  80. package/pf-tabs/pf-tab-panel.js.map +1 -1
  81. package/pf-tabs/pf-tab.js +1 -1
  82. package/pf-tabs/pf-tab.js.map +1 -1
  83. package/pf-tabs/pf-tabs.js +2 -2
  84. package/pf-tabs/pf-tabs.js.map +1 -1
  85. package/pf-tile/pf-tile.js +1 -1
  86. package/pf-tile/pf-tile.js.map +1 -1
  87. package/pf-timestamp/pf-timestamp.d.ts +8 -5
  88. package/pf-timestamp/pf-timestamp.js +21 -66
  89. package/pf-timestamp/pf-timestamp.js.map +1 -1
  90. package/pf-tooltip/BaseTooltip.js +7 -13
  91. package/pf-tooltip/BaseTooltip.js.map +1 -1
  92. package/pf-tooltip/pf-tooltip.js +1 -1
  93. package/pf-tooltip/pf-tooltip.js.map +1 -1
  94. package/pfe.min.js +121 -121
  95. package/pfe.min.js.map +4 -4
  96. package/react/pf-accordion/pf-accordion-header.js +12 -0
  97. package/react/pf-accordion/pf-accordion-panel.js +10 -0
  98. package/react/pf-accordion/pf-accordion.js +13 -0
  99. package/react/pf-avatar/pf-avatar.js +10 -0
  100. package/react/pf-badge/pf-badge.js +10 -0
  101. package/react/pf-button/pf-button.js +10 -0
  102. package/react/pf-card/pf-card.js +10 -0
  103. package/react/pf-clipboard-copy/pf-clipboard-copy.js +10 -0
  104. package/react/pf-code-block/pf-code-block.js +10 -0
  105. package/react/pf-icon/pf-icon.js +13 -0
  106. package/react/pf-jump-links/pf-jump-links-item.js +13 -0
  107. package/react/pf-jump-links/pf-jump-links-list.js +10 -0
  108. package/react/pf-jump-links/pf-jump-links.js +12 -0
  109. package/react/pf-label/pf-label.js +12 -0
  110. package/react/pf-modal/pf-modal.js +13 -0
  111. package/react/pf-panel/pf-panel.js +10 -0
  112. package/react/pf-popover/pf-popover.js +10 -0
  113. package/react/pf-progress-stepper/pf-progress-step.js +10 -0
  114. package/react/pf-progress-stepper/pf-progress-stepper.js +10 -0
  115. package/react/pf-spinner/pf-spinner.js +10 -0
  116. package/react/pf-switch/pf-switch.js +12 -0
  117. package/react/pf-tabs/pf-tab-panel.js +10 -0
  118. package/react/pf-tabs/pf-tab.js +12 -0
  119. package/react/pf-tabs/pf-tabs.js +10 -0
  120. package/react/pf-tile/pf-tile.js +10 -0
  121. package/react/pf-timestamp/pf-timestamp.js +10 -0
  122. package/react/pf-tooltip/pf-tooltip.js +10 -0
@@ -1,6 +1,5 @@
1
- var _PfProgressStep_slots, _PfProgressStep_internals;
2
1
  var PfProgressStep_1;
3
- import { __classPrivateFieldGet, __decorate } from "tslib";
2
+ import { __decorate } from "tslib";
4
3
  import { LitElement, html } from 'lit';
5
4
  import { customElement } from 'lit/decorators/custom-element.js';
6
5
  import { property } from 'lit/decorators/property.js';
@@ -30,13 +29,17 @@ let PfProgressStep = PfProgressStep_1 = class PfProgressStep extends LitElement
30
29
  super(...arguments);
31
30
  /** Indicates if this item is the current active item. */
32
31
  this.current = false;
33
- _PfProgressStep_slots.set(this, new SlotController(this, 'title', 'description'));
34
- _PfProgressStep_internals.set(this, new InternalsController(this, {
32
+ this.#slots = new SlotController(this, 'title', 'description');
33
+ this.#internals = new InternalsController(this, {
35
34
  role: 'listitem',
36
- }));
35
+ });
37
36
  }
37
+ static { this.parentTagName = 'pf-progress-stepper'; }
38
+ static { this.styles = [style]; }
39
+ #slots;
40
+ #internals;
38
41
  render() {
39
- const hasDescription = !!this.description ?? __classPrivateFieldGet(this, _PfProgressStep_slots, "f").hasSlotted('description');
42
+ const hasDescription = !!this.description ?? this.#slots.hasSlotted('description');
40
43
  const icon = this.icon ?? ICONS.get(this.variant ?? 'default')?.icon;
41
44
  const set = this.iconSet ?? ICONS.get(this.variant ?? 'default')?.set;
42
45
  const { parentTagName } = this.constructor;
@@ -58,14 +61,10 @@ let PfProgressStep = PfProgressStep_1 = class PfProgressStep extends LitElement
58
61
  updated(changed) {
59
62
  super.updated?.(changed);
60
63
  if (changed.has('current')) {
61
- __classPrivateFieldGet(this, _PfProgressStep_internals, "f").ariaCurrent = String(!!this.current);
64
+ this.#internals.ariaCurrent = String(!!this.current);
62
65
  }
63
66
  }
64
67
  };
65
- _PfProgressStep_slots = new WeakMap();
66
- _PfProgressStep_internals = new WeakMap();
67
- PfProgressStep.parentTagName = 'pf-progress-stepper';
68
- PfProgressStep.styles = [style];
69
68
  __decorate([
70
69
  property()
71
70
  ], PfProgressStep.prototype, "description", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-progress-step.js","sourceRoot":"","sources":["pf-progress-step.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyValues } from 'lit';\nimport type { PfProgressStepper } from './pf-progress-stepper.js';\n\nimport { LitElement, html } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\nimport { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\n\nimport style from './pf-progress-step.css';\n\nconst ICONS = new Map(Object.entries({\n success: { icon: 'circle-check' },\n danger: { icon: 'circle-exclamation' },\n warning: { icon: 'triangle-exclamation' },\n info: { icon: 'resources-full', set: 'patternfly' },\n}));\n\n/**\n * @slot -\n * Short description of the current step.\n * @slot description\n * Longer description of the current step.\n * @slot icon\n * Overrides the icon property\n *\n */\n@customElement('pf-progress-step')\nexport class PfProgressStep extends LitElement {\n protected static parentTagName = 'pf-progress-stepper';\n\n static readonly styles = [style];\n\n /** Optional extended description of the step */\n @property() description?: string;\n\n /** Step Icon */\n @property() icon?: string;\n\n /** Step icon set */\n @property({ attribute: 'icon-set' }) iconSet?: string;\n\n /** Describes the state of the current item */\n @property({ reflect: true }) variant?: 'pending' | 'info' | 'success' | 'warning' | 'danger';\n\n /** Indicates if this item is the current active item. */\n @property({ type: Boolean, reflect: true }) current = false;\n\n #slots = new SlotController(this, 'title', 'description');\n\n #internals = new InternalsController(this, {\n role: 'listitem',\n });\n\n render() {\n const hasDescription = !!this.description ?? this.#slots.hasSlotted('description');\n const icon = this.icon ?? ICONS.get(this.variant ?? 'default')?.icon;\n const set = this.iconSet ?? ICONS.get(this.variant ?? 'default')?.set;\n const { parentTagName } = (this.constructor as typeof PfProgressStep);\n const { compact = false } = this.closest<PfProgressStepper>(parentTagName) ?? {};\n return html`\n <div id=\"connector\" class=\"${classMap({ compact })}\">\n <slot id=\"icon\" name=\"icon\">\n <pf-icon ?hidden=\"${!icon}\"\n icon=\"${ifDefined(icon)}\"\n set=\"${ifDefined(set)}\"></pf-icon>\n </slot>\n </div>\n <div id=\"main\" class=\"${classMap({ compact })}\">\n <slot id=\"title\"></slot>\n <slot id=\"description\" name=\"description\" ?hidden=\"${!hasDescription}\">${this.description}</slot>\n </div>\n `;\n }\n\n updated(changed: PropertyValues<this>) {\n super.updated?.(changed);\n if (changed.has('current')) {\n this.#internals.ariaCurrent = String(!!this.current);\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-progress-step': PfProgressStep;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-progress-step.js","sourceRoot":"","sources":["pf-progress-step.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyValues } from 'lit';\nimport type { PfProgressStepper } from './pf-progress-stepper.js';\n\nimport { LitElement, html } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { SlotController } from '@patternfly/pfe-core/controllers/slot-controller.js';\nimport { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\n\nimport style from './pf-progress-step.css';\n\nconst ICONS = new Map(Object.entries({\n success: { icon: 'circle-check' },\n danger: { icon: 'circle-exclamation' },\n warning: { icon: 'triangle-exclamation' },\n info: { icon: 'resources-full', set: 'patternfly' },\n}));\n\n/**\n * @slot -\n * Short description of the current step.\n * @slot description\n * Longer description of the current step.\n * @slot icon\n * Overrides the icon property\n *\n */\n@customElement('pf-progress-step')\nexport class PfProgressStep extends LitElement {\n protected static parentTagName = 'pf-progress-stepper';\n\n static readonly styles = [style];\n\n /** Optional extended description of the step */\n @property() description?: string;\n\n /** Step Icon */\n @property() icon?: string;\n\n /** Step icon set */\n @property({ attribute: 'icon-set' }) iconSet?: string;\n\n /** Describes the state of the current item */\n @property({ reflect: true }) variant?: 'pending' | 'info' | 'success' | 'warning' | 'danger';\n\n /** Indicates if this item is the current active item. */\n @property({ type: Boolean, reflect: true }) current = false;\n\n #slots = new SlotController(this, 'title', 'description');\n\n #internals = new InternalsController(this, {\n role: 'listitem',\n });\n\n render() {\n const hasDescription = !!this.description ?? this.#slots.hasSlotted('description');\n const icon = this.icon ?? ICONS.get(this.variant ?? 'default')?.icon;\n const set = this.iconSet ?? ICONS.get(this.variant ?? 'default')?.set;\n const { parentTagName } = (this.constructor as typeof PfProgressStep);\n const { compact = false } = this.closest<PfProgressStepper>(parentTagName) ?? {};\n return html`\n <div id=\"connector\" class=\"${classMap({ compact })}\">\n <slot id=\"icon\" name=\"icon\">\n <pf-icon ?hidden=\"${!icon}\"\n icon=\"${ifDefined(icon)}\"\n set=\"${ifDefined(set)}\"></pf-icon>\n </slot>\n </div>\n <div id=\"main\" class=\"${classMap({ compact })}\">\n <slot id=\"title\"></slot>\n <slot id=\"description\" name=\"description\" ?hidden=\"${!hasDescription}\">${this.description}</slot>\n </div>\n `;\n }\n\n updated(changed: PropertyValues<this>) {\n super.updated?.(changed);\n if (changed.has('current')) {\n this.#internals.ariaCurrent = String(!!this.current);\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-progress-step': PfProgressStep;\n }\n}\n"]}
@@ -1,6 +1,5 @@
1
- var _PfProgressStepper_instances, _PfProgressStepper_internals, _PfProgressStepper_mo, _PfProgressStepper_onMutation;
2
1
  var PfProgressStepper_1;
3
- import { __classPrivateFieldGet, __decorate } from "tslib";
2
+ import { __decorate } from "tslib";
4
3
  import { LitElement, html } from 'lit';
5
4
  import { customElement } from 'lit/decorators/custom-element.js';
6
5
  import { property } from 'lit/decorators/property.js';
@@ -14,6 +13,11 @@ import '@patternfly/elements/pf-icon/pf-icon.js';
14
13
  * A **progress stepper** displays a timeline of tasks in a workflow and tracks the user's current progress through this workflow.
15
14
  */
16
15
  let PfProgressStepper = PfProgressStepper_1 = class PfProgressStepper extends LitElement {
16
+ static { this.childTagName = 'pf-progress-step'; }
17
+ static { this.styles = [style]; }
18
+ static { this.formAssociated = true; }
19
+ #internals;
20
+ #mo;
17
21
  get value() {
18
22
  const { childTagName } = this.constructor;
19
23
  const steps = this.querySelectorAll(childTagName);
@@ -23,19 +27,21 @@ let PfProgressStepper = PfProgressStepper_1 = class PfProgressStepper extends Li
23
27
  }
24
28
  constructor() {
25
29
  super();
26
- _PfProgressStepper_instances.add(this);
27
30
  /** Whether to use the vertical layout */
28
31
  this.vertical = false;
29
32
  /** Whether to use the center alignment */
30
33
  this.center = false;
31
34
  /** Whether to use the compact layout */
32
35
  this.compact = false;
33
- _PfProgressStepper_internals.set(this, new InternalsController(this, {
36
+ this.#internals = new InternalsController(this, {
34
37
  role: 'progressbar',
35
38
  ariaValueNow: this.value.toString(),
36
- }));
37
- _PfProgressStepper_mo.set(this, new MutationObserver(() => __classPrivateFieldGet(this, _PfProgressStepper_instances, "m", _PfProgressStepper_onMutation).call(this)));
38
- __classPrivateFieldGet(this, _PfProgressStepper_mo, "f").observe(this, { childList: true });
39
+ });
40
+ this.#mo = new MutationObserver(() => this.#onMutation());
41
+ this.#mo.observe(this, { childList: true });
42
+ }
43
+ #onMutation() {
44
+ this.#internals.ariaValueNow = this.value.toString();
39
45
  }
40
46
  render() {
41
47
  return html `
@@ -43,15 +49,6 @@ let PfProgressStepper = PfProgressStepper_1 = class PfProgressStepper extends Li
43
49
  `;
44
50
  }
45
51
  };
46
- _PfProgressStepper_internals = new WeakMap();
47
- _PfProgressStepper_mo = new WeakMap();
48
- _PfProgressStepper_instances = new WeakSet();
49
- _PfProgressStepper_onMutation = function _PfProgressStepper_onMutation() {
50
- __classPrivateFieldGet(this, _PfProgressStepper_internals, "f").ariaValueNow = this.value.toString();
51
- };
52
- PfProgressStepper.childTagName = 'pf-progress-step';
53
- PfProgressStepper.styles = [style];
54
- PfProgressStepper.formAssociated = true;
55
52
  __decorate([
56
53
  property({ type: Boolean, reflect: true })
57
54
  ], PfProgressStepper.prototype, "vertical", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-progress-stepper.js","sourceRoot":"","sources":["pf-progress-stepper.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;;;AAIvE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;AAE/F,OAAO,yCAAyC,CAAC;AAEjD;;GAEG;AAEH,IAAa,iBAAiB,yBAA9B,MAAa,iBAAkB,SAAQ,UAAU;IA2B/C,IAAI,KAAK;QACP,MAAM,EAAE,YAAY,EAAE,GAAI,IAAI,CAAC,WAAwC,CAAC;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAiB,YAAY,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,YAAY,WAAW,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAyB,CAAC,GAAG,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;IAClC,CAAC;IAED;QACE,KAAK,EAAE,CAAC;;QA7BV,yCAAyC;QACG,aAAQ,GAAG,KAAK,CAAC;QAE7D,0CAA0C;QACE,WAAM,GAAG,KAAK,CAAC;QAE3D,wCAAwC;QAKI,YAAO,GAAG,KAAK,CAAC;QAE5D,uCAAa,IAAI,mBAAmB,CAAC,IAAI,EAAE;YACzC,IAAI,EAAE,aAAa;YACnB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;SACpC,CAAC,EAAC;QAEH,gCAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC,uBAAA,IAAI,mEAAY,MAAhB,IAAI,CAAc,CAAC,EAAC;QAYnD,uBAAA,IAAI,6BAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAMD,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;;;;;;IAPC,uBAAA,IAAI,oCAAW,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;AACvD,CAAC;AAzCgB,8BAAY,GAAG,kBAAkB,AAArB,CAAsB;AAEnC,wBAAM,GAAG,CAAC,KAAK,CAAC,AAAV,CAAW;AAE1B,gCAAc,GAAG,IAAI,AAAP,CAAQ;AAGe;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDAAkB;AAGjB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAAgB;AAOf;IAJ3C,QAAQ,CAAC;QACR,MAAM,EAAE,YAAY,EAAE,GAAI,IAAI,CAAC,WAAwC,CAAC;QACxE,IAAI,CAAC,gBAAgB,CAAiB,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5F,CAAC,CAAC;IACD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDAAiB;AAlBjD,iBAAiB;IAD7B,aAAa,CAAC,qBAAqB,CAAC;GACxB,iBAAiB,CAiD7B;SAjDY,iBAAiB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { observed } from '@patternfly/pfe-core/decorators/observed.js';\n\nimport style from './pf-progress-stepper.css';\n\nimport { PfProgressStep } from './pf-progress-step.js';\nimport { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\n\nimport '@patternfly/elements/pf-icon/pf-icon.js';\n\n/**\n * A **progress stepper** displays a timeline of tasks in a workflow and tracks the user's current progress through this workflow.\n */\n@customElement('pf-progress-stepper')\nexport class PfProgressStepper extends LitElement {\n protected static childTagName = 'pf-progress-step';\n\n static readonly styles = [style];\n\n static formAssociated = true;\n\n /** Whether to use the vertical layout */\n @property({ type: Boolean, reflect: true }) vertical = false;\n\n /** Whether to use the center alignment */\n @property({ type: Boolean, reflect: true }) center = false;\n\n /** Whether to use the compact layout */\n @observed(function(this: PfProgressStepper) {\n const { childTagName } = (this.constructor as typeof PfProgressStepper);\n this.querySelectorAll<PfProgressStep>(childTagName).forEach(step => step.requestUpdate());\n })\n @property({ type: Boolean, reflect: true }) compact = false;\n\n #internals = new InternalsController(this, {\n role: 'progressbar',\n ariaValueNow: this.value.toString(),\n });\n\n #mo = new MutationObserver(() => this.#onMutation());\n\n get value() {\n const { childTagName } = (this.constructor as typeof PfProgressStepper);\n const steps = this.querySelectorAll<PfProgressStep>(childTagName);\n const current = this.querySelector(`${childTagName}[current]`);\n const n = Array.from(steps).indexOf(current as PfProgressStep) + 1;\n return (n / steps.length) * 100;\n }\n\n constructor() {\n super();\n this.#mo.observe(this, { childList: true });\n }\n\n #onMutation() {\n this.#internals.ariaValueNow = this.value.toString();\n }\n\n render() {\n return html`\n <slot role=\"listbox\"></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-progress-stepper': PfProgressStepper;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-progress-stepper.js","sourceRoot":"","sources":["pf-progress-stepper.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;;;AAIvE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;AAE/F,OAAO,yCAAyC,CAAC;AAEjD;;GAEG;AAEH,IAAa,iBAAiB,yBAA9B,MAAa,iBAAkB,SAAQ,UAAU;aAC9B,iBAAY,GAAG,kBAAkB,AAArB,CAAsB;aAEnC,WAAM,GAAG,CAAC,KAAK,CAAC,AAAV,CAAW;aAE1B,mBAAc,GAAG,IAAI,AAAP,CAAQ;IAe7B,UAAU,CAGP;IAEH,GAAG,CAAkD;IAErD,IAAI,KAAK;QACP,MAAM,EAAE,YAAY,EAAE,GAAI,IAAI,CAAC,WAAwC,CAAC;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAiB,YAAY,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,YAAY,WAAW,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAyB,CAAC,GAAG,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;IAClC,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QA7BV,yCAAyC;QACG,aAAQ,GAAG,KAAK,CAAC;QAE7D,0CAA0C;QACE,WAAM,GAAG,KAAK,CAAC;QAE3D,wCAAwC;QAKI,YAAO,GAAG,KAAK,CAAC;QAE5D,eAAU,GAAG,IAAI,mBAAmB,CAAC,IAAI,EAAE;YACzC,IAAI,EAAE,aAAa;YACnB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;SACpC,CAAC,CAAC;QAEH,QAAG,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAYnD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACvD,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;;AAxC2C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDAAkB;AAGjB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAAgB;AAOf;IAJ3C,QAAQ,CAAC;QACR,MAAM,EAAE,YAAY,EAAE,GAAI,IAAI,CAAC,WAAwC,CAAC;QACxE,IAAI,CAAC,gBAAgB,CAAiB,YAAY,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5F,CAAC,CAAC;IACD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDAAiB;AAlBjD,iBAAiB;IAD7B,aAAa,CAAC,qBAAqB,CAAC;GACxB,iBAAiB,CAiD7B;SAjDY,iBAAiB","sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { property } from 'lit/decorators/property.js';\nimport { observed } from '@patternfly/pfe-core/decorators/observed.js';\n\nimport style from './pf-progress-stepper.css';\n\nimport { PfProgressStep } from './pf-progress-step.js';\nimport { InternalsController } from '@patternfly/pfe-core/controllers/internals-controller.js';\n\nimport '@patternfly/elements/pf-icon/pf-icon.js';\n\n/**\n * A **progress stepper** displays a timeline of tasks in a workflow and tracks the user's current progress through this workflow.\n */\n@customElement('pf-progress-stepper')\nexport class PfProgressStepper extends LitElement {\n protected static childTagName = 'pf-progress-step';\n\n static readonly styles = [style];\n\n static formAssociated = true;\n\n /** Whether to use the vertical layout */\n @property({ type: Boolean, reflect: true }) vertical = false;\n\n /** Whether to use the center alignment */\n @property({ type: Boolean, reflect: true }) center = false;\n\n /** Whether to use the compact layout */\n @observed(function(this: PfProgressStepper) {\n const { childTagName } = (this.constructor as typeof PfProgressStepper);\n this.querySelectorAll<PfProgressStep>(childTagName).forEach(step => step.requestUpdate());\n })\n @property({ type: Boolean, reflect: true }) compact = false;\n\n #internals = new InternalsController(this, {\n role: 'progressbar',\n ariaValueNow: this.value.toString(),\n });\n\n #mo = new MutationObserver(() => this.#onMutation());\n\n get value() {\n const { childTagName } = (this.constructor as typeof PfProgressStepper);\n const steps = this.querySelectorAll<PfProgressStep>(childTagName);\n const current = this.querySelector(`${childTagName}[current]`);\n const n = Array.from(steps).indexOf(current as PfProgressStep) + 1;\n return (n / steps.length) * 100;\n }\n\n constructor() {\n super();\n this.#mo.observe(this, { childList: true });\n }\n\n #onMutation() {\n this.#internals.ariaValueNow = this.value.toString();\n }\n\n render() {\n return html`\n <slot role=\"listbox\"></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-progress-stepper': PfProgressStepper;\n }\n}\n"]}
@@ -27,6 +27,7 @@ class BaseSpinner extends LitElement {
27
27
  /** Preset sizes for the spinner */
28
28
  this.size = 'xl';
29
29
  }
30
+ static { this.styles = [styles]; }
30
31
  render() {
31
32
  return html `
32
33
  <svg role="progressbar" viewBox="0 0 100 100">
@@ -35,7 +36,6 @@ class BaseSpinner extends LitElement {
35
36
  `;
36
37
  }
37
38
  }
38
- BaseSpinner.styles = [styles];
39
39
  __decorate([
40
40
  property({ reflect: true })
41
41
  ], BaseSpinner.prototype, "size", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"BaseSpinner.js","sourceRoot":"","sources":["BaseSpinner.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;;;AAWtD;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAsB,WAAY,SAAQ,UAAU;IAApD;;QAGE,mCAAmC;QACN,SAAI,GAAgB,IAAI,CAAC;IAYxD,CAAC;IAPU,MAAM;QACb,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;;AAde,kBAAM,GAAG,CAAC,MAAM,CAAC,AAAX,CAAY;AAGL;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yCAA0B;AAGzB;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CAAkE;SAP1E,WAAW","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators/property.js';\n\nimport styles from './BaseSpinner.css';\n\nexport type SpinnerSize = (\n | 'sm'\n | 'md'\n | 'lg'\n | 'xl'\n);\n\n/**\n * Base spinner class\n *\n * @cssprop {<length>} --pf-c-spinner--diameter {@default `3.375rem`}\n * @cssprop {<length>} --pf-c-spinner--Width {@default `3.375rem`}\n * @cssprop {<length>} --pf-c-spinner--Height {@default `3.375rem`}\n * @cssprop {<color>} --pf-c-spinner--Color {@default `#06c`}\n * @cssprop {<length>} --pf-c-spinner--m-sm--diameter {@default `0.625rem`}\n * @cssprop {<length>} --pf-c-spinner--m-md--diameter {@default `1.125rem`}\n * @cssprop {<length>} --pf-c-spinner--m-lg--diameter {@default `1.5rem`}\n * @cssprop {<length>} --pf-c-spinner--m-xl--diameter {@default `3.375rem`}\n * @cssprop {<time>} --pf-c-spinner--AnimationDuration {@default `1.4s`}\n * @cssprop {<string>} --pf-c-spinner--AnimationTimingFunction {@default `linear`}\n * @cssprop {<number>} --pf-c-spinner--stroke-width {@default `10`}\n * @cssprop {<color>} --pf-c-spinner__path--Stroke {@default `#06c`}\n * @cssprop {<number>} --pf-c-spinner__path--StrokeWidth {@default `10`}\n * @cssprop {<string>} --pf-c-spinner__path--AnimationTimingFunction {@default `ease-in-out`}\n */\n\nexport abstract class BaseSpinner extends LitElement {\n static readonly styles = [styles];\n\n /** Preset sizes for the spinner */\n @property({ reflect: true }) size: SpinnerSize = 'xl';\n\n /** Custom diameter of spinner set as CSS variable */\n @property({ reflect: true }) diameter?: `${string}${'px' | '%' | 'rem' | 'em' | 'fr' | 'pt'}`;\n\n override render() {\n return html`\n <svg role=\"progressbar\" viewBox=\"0 0 100 100\">\n <circle cx=\"50\" cy=\"50\" r=\"45\" fill=\"none\" />\n </svg>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"BaseSpinner.js","sourceRoot":"","sources":["BaseSpinner.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;;;AAWtD;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAsB,WAAY,SAAQ,UAAU;IAApD;;QAGE,mCAAmC;QACN,SAAI,GAAgB,IAAI,CAAC;IAYxD,CAAC;aAfiB,WAAM,GAAG,CAAC,MAAM,CAAC,AAAX,CAAY;IAQzB,MAAM;QACb,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;;AAX4B;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yCAA0B;AAGzB;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CAAkE;SAP1E,WAAW","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators/property.js';\n\nimport styles from './BaseSpinner.css';\n\nexport type SpinnerSize = (\n | 'sm'\n | 'md'\n | 'lg'\n | 'xl'\n);\n\n/**\n * Base spinner class\n *\n * @cssprop {<length>} --pf-c-spinner--diameter {@default `3.375rem`}\n * @cssprop {<length>} --pf-c-spinner--Width {@default `3.375rem`}\n * @cssprop {<length>} --pf-c-spinner--Height {@default `3.375rem`}\n * @cssprop {<color>} --pf-c-spinner--Color {@default `#06c`}\n * @cssprop {<length>} --pf-c-spinner--m-sm--diameter {@default `0.625rem`}\n * @cssprop {<length>} --pf-c-spinner--m-md--diameter {@default `1.125rem`}\n * @cssprop {<length>} --pf-c-spinner--m-lg--diameter {@default `1.5rem`}\n * @cssprop {<length>} --pf-c-spinner--m-xl--diameter {@default `3.375rem`}\n * @cssprop {<time>} --pf-c-spinner--AnimationDuration {@default `1.4s`}\n * @cssprop {<string>} --pf-c-spinner--AnimationTimingFunction {@default `linear`}\n * @cssprop {<number>} --pf-c-spinner--stroke-width {@default `10`}\n * @cssprop {<color>} --pf-c-spinner__path--Stroke {@default `#06c`}\n * @cssprop {<number>} --pf-c-spinner__path--StrokeWidth {@default `10`}\n * @cssprop {<string>} --pf-c-spinner__path--AnimationTimingFunction {@default `ease-in-out`}\n */\n\nexport abstract class BaseSpinner extends LitElement {\n static readonly styles = [styles];\n\n /** Preset sizes for the spinner */\n @property({ reflect: true }) size: SpinnerSize = 'xl';\n\n /** Custom diameter of spinner set as CSS variable */\n @property({ reflect: true }) diameter?: `${string}${'px' | '%' | 'rem' | 'em' | 'fr' | 'pt'}`;\n\n override render() {\n return html`\n <svg role=\"progressbar\" viewBox=\"0 0 100 100\">\n <circle cx=\"50\" cy=\"50\" r=\"45\" fill=\"none\" />\n </svg>\n `;\n }\n}\n"]}
@@ -25,11 +25,11 @@ const styles = css `[hidden]{display:none!important}div{display:contents}svg{wid
25
25
  * @cssprop {<string>} --pf-c-spinner__path--AnimationTimingFunction {@default `ease-in-out`}
26
26
  */
27
27
  let PfSpinner = class PfSpinner extends BaseSpinner {
28
+ static { this.styles = [...BaseSpinner.styles, styles]; }
28
29
  render() {
29
30
  return html `<div style=${styleMap({ '--pf-c-spinner--diameter': this.diameter })}>${super.render()}</div>`;
30
31
  }
31
32
  };
32
- PfSpinner.styles = [...BaseSpinner.styles, styles];
33
33
  PfSpinner = __decorate([
34
34
  customElement('pf-spinner')
35
35
  ], PfSpinner);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-spinner.js","sourceRoot":"","sources":["pf-spinner.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;;;AAG/C;;;;;;;;;;;;;;;;;;GAkBG;AAGH,IAAa,SAAS,GAAtB,MAAa,SAAU,SAAQ,WAAW;IAExC,MAAM;QACJ,OAAO,IAAI,CAAA,cAAc,QAAQ,CAAC,EAAE,0BAA0B,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC7G,CAAC;;AAHe,gBAAM,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,AAAlC,CAAmC;AAD9C,SAAS;IADrB,aAAa,CAAC,YAAY,CAAC;GACf,SAAS,CAKrB;SALY,SAAS","sourcesContent":["import { html } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { styleMap } from 'lit/directives/style-map.js';\n\nimport { BaseSpinner } from './BaseSpinner.js';\nimport styles from './pf-spinner.css';\n\n/**\n * A **spinner** is used to indicate to users that an action is in progress. For actions\n * that may take a long time, use a progress bar instead.\n *\n * @cssprop {<length>} --pf-c-spinner--diameter {@default `3.375rem`}\n * @cssprop {<length>} --pf-c-spinner--Width {@default `3.375rem`}\n * @cssprop {<length>} --pf-c-spinner--Height {@default `3.375rem`}\n * @cssprop {<color>} --pf-c-spinner--Color {@default `#06c`}\n * @cssprop {<length>} --pf-c-spinner--m-sm--diameter {@default `0.625rem`}\n * @cssprop {<length>} --pf-c-spinner--m-md--diameter {@default `1.125rem`}\n * @cssprop {<length>} --pf-c-spinner--m-lg--diameter {@default `1.5rem`}\n * @cssprop {<length>} --pf-c-spinner--m-xl--diameter {@default `3.375rem`}\n * @cssprop {<time>} --pf-c-spinner--AnimationDuration {@default `1.4s`}\n * @cssprop {<string>} --pf-c-spinner--AnimationTimingFunction {@default `linear`}\n * @cssprop {<number>} --pf-c-spinner--stroke-width {@default `10`}\n * @cssprop {<color>} --pf-c-spinner__path--Stroke {@default `#06c`}\n * @cssprop {<number>} --pf-c-spinner__path--StrokeWidth {@default `10`}\n * @cssprop {<string>} --pf-c-spinner__path--AnimationTimingFunction {@default `ease-in-out`}\n */\n\n@customElement('pf-spinner')\nexport class PfSpinner extends BaseSpinner {\n static readonly styles = [...BaseSpinner.styles, styles];\n render() {\n return html`<div style=${styleMap({ '--pf-c-spinner--diameter': this.diameter })}>${super.render()}</div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-spinner': PfSpinner;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-spinner.js","sourceRoot":"","sources":["pf-spinner.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;;;AAG/C;;;;;;;;;;;;;;;;;;GAkBG;AAGH,IAAa,SAAS,GAAtB,MAAa,SAAU,SAAQ,WAAW;aACxB,WAAM,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,AAAlC,CAAmC;IACzD,MAAM;QACJ,OAAO,IAAI,CAAA,cAAc,QAAQ,CAAC,EAAE,0BAA0B,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC7G,CAAC;;AAJU,SAAS;IADrB,aAAa,CAAC,YAAY,CAAC;GACf,SAAS,CAKrB;SALY,SAAS","sourcesContent":["import { html } from 'lit';\nimport { customElement } from 'lit/decorators/custom-element.js';\nimport { styleMap } from 'lit/directives/style-map.js';\n\nimport { BaseSpinner } from './BaseSpinner.js';\nimport styles from './pf-spinner.css';\n\n/**\n * A **spinner** is used to indicate to users that an action is in progress. For actions\n * that may take a long time, use a progress bar instead.\n *\n * @cssprop {<length>} --pf-c-spinner--diameter {@default `3.375rem`}\n * @cssprop {<length>} --pf-c-spinner--Width {@default `3.375rem`}\n * @cssprop {<length>} --pf-c-spinner--Height {@default `3.375rem`}\n * @cssprop {<color>} --pf-c-spinner--Color {@default `#06c`}\n * @cssprop {<length>} --pf-c-spinner--m-sm--diameter {@default `0.625rem`}\n * @cssprop {<length>} --pf-c-spinner--m-md--diameter {@default `1.125rem`}\n * @cssprop {<length>} --pf-c-spinner--m-lg--diameter {@default `1.5rem`}\n * @cssprop {<length>} --pf-c-spinner--m-xl--diameter {@default `3.375rem`}\n * @cssprop {<time>} --pf-c-spinner--AnimationDuration {@default `1.4s`}\n * @cssprop {<string>} --pf-c-spinner--AnimationTimingFunction {@default `linear`}\n * @cssprop {<number>} --pf-c-spinner--stroke-width {@default `10`}\n * @cssprop {<color>} --pf-c-spinner__path--Stroke {@default `#06c`}\n * @cssprop {<number>} --pf-c-spinner__path--StrokeWidth {@default `10`}\n * @cssprop {<string>} --pf-c-spinner__path--AnimationTimingFunction {@default `ease-in-out`}\n */\n\n@customElement('pf-spinner')\nexport class PfSpinner extends BaseSpinner {\n static readonly styles = [...BaseSpinner.styles, styles];\n render() {\n return html`<div style=${styleMap({ '--pf-c-spinner--diameter': this.diameter })}>${super.render()}</div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'pf-spinner': PfSpinner;\n }\n}\n"]}
@@ -1,5 +1,4 @@
1
- var _BaseSwitch_instances, _BaseSwitch_internals, _BaseSwitch_initiallyDisabled, _BaseSwitch_onClick, _BaseSwitch_onKeyup, _BaseSwitch_toggle, _BaseSwitch_updateLabels;
2
- import { __classPrivateFieldGet, __decorate } from "tslib";
1
+ import { __decorate } from "tslib";
3
2
  import { LitElement, html } from 'lit';
4
3
  import { property } from 'lit/decorators/property.js';
5
4
  import { css } from "lit";
@@ -10,22 +9,26 @@ const styles = css `:host{display:inline-block}svg{fill:currentcolor}[hidden]{di
10
9
  class BaseSwitch extends LitElement {
11
10
  constructor() {
12
11
  super(...arguments);
13
- _BaseSwitch_instances.add(this);
14
- _BaseSwitch_internals.set(this, this.attachInternals());
15
- _BaseSwitch_initiallyDisabled.set(this, this.hasAttribute('disabled'));
12
+ this.#internals = this.attachInternals();
13
+ this.#initiallyDisabled = this.hasAttribute('disabled');
16
14
  this.showCheckIcon = false;
17
15
  this.checked = false;
18
- this.disabled = __classPrivateFieldGet(this, _BaseSwitch_initiallyDisabled, "f");
16
+ this.disabled = this.#initiallyDisabled;
19
17
  }
18
+ static { this.styles = [styles]; }
19
+ static { this.shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true, }; }
20
+ static { this.formAssociated = true; }
21
+ #internals;
22
+ #initiallyDisabled;
20
23
  get labels() {
21
- return __classPrivateFieldGet(this, _BaseSwitch_internals, "f").labels;
24
+ return this.#internals.labels;
22
25
  }
23
26
  connectedCallback() {
24
27
  super.connectedCallback();
25
28
  this.setAttribute('role', 'checkbox');
26
- this.addEventListener('click', __classPrivateFieldGet(this, _BaseSwitch_instances, "m", _BaseSwitch_onClick));
27
- this.addEventListener('keyup', __classPrivateFieldGet(this, _BaseSwitch_instances, "m", _BaseSwitch_onKeyup));
28
- __classPrivateFieldGet(this, _BaseSwitch_instances, "m", _BaseSwitch_updateLabels).call(this);
29
+ this.addEventListener('click', this.#onClick);
30
+ this.addEventListener('keyup', this.#onKeyup);
31
+ this.#updateLabels();
29
32
  }
30
33
  formDisabledCallback(disabled) {
31
34
  this.disabled = disabled;
@@ -41,47 +44,47 @@ class BaseSwitch extends LitElement {
41
44
  `;
42
45
  }
43
46
  updated() {
44
- __classPrivateFieldGet(this, _BaseSwitch_internals, "f").ariaChecked = String(this.checked);
45
- __classPrivateFieldGet(this, _BaseSwitch_internals, "f").ariaDisabled = String(this.disabled);
47
+ this.#internals.ariaChecked = String(this.checked);
48
+ this.#internals.ariaDisabled = String(this.disabled);
46
49
  }
47
- }
48
- _BaseSwitch_internals = new WeakMap(), _BaseSwitch_initiallyDisabled = new WeakMap(), _BaseSwitch_instances = new WeakSet(), _BaseSwitch_onClick = function _BaseSwitch_onClick(event) {
49
- // @ts-expect-error: firefox workarounds for double-firing in the case of switch nested in label
50
- const { originalTarget, explicitOriginalTarget } = event;
51
- if (explicitOriginalTarget) {
52
- let labels;
53
- if (originalTarget === event.target &&
54
- !(labels = Array.from(this.labels)).includes(explicitOriginalTarget) &&
55
- labels.includes(this.closest('label'))) {
56
- return;
50
+ #onClick(event) {
51
+ // @ts-expect-error: firefox workarounds for double-firing in the case of switch nested in label
52
+ const { originalTarget, explicitOriginalTarget } = event;
53
+ if (explicitOriginalTarget) {
54
+ let labels;
55
+ if (originalTarget === event.target &&
56
+ !(labels = Array.from(this.labels)).includes(explicitOriginalTarget) &&
57
+ labels.includes(this.closest('label'))) {
58
+ return;
59
+ }
57
60
  }
61
+ this.#toggle();
58
62
  }
59
- __classPrivateFieldGet(this, _BaseSwitch_instances, "m", _BaseSwitch_toggle).call(this);
60
- }, _BaseSwitch_onKeyup = function _BaseSwitch_onKeyup(event) {
61
- switch (event.key) {
62
- case ' ':
63
- case 'Enter':
64
- event.preventDefault();
65
- __classPrivateFieldGet(this, _BaseSwitch_instances, "m", _BaseSwitch_toggle).call(this);
63
+ #onKeyup(event) {
64
+ switch (event.key) {
65
+ case ' ':
66
+ case 'Enter':
67
+ event.preventDefault();
68
+ this.#toggle();
69
+ }
66
70
  }
67
- }, _BaseSwitch_toggle = function _BaseSwitch_toggle() {
68
- if (this.disabled) {
69
- return;
71
+ #toggle() {
72
+ if (this.disabled) {
73
+ return;
74
+ }
75
+ this.checked = !this.checked;
76
+ this.#updateLabels();
77
+ this.dispatchEvent(new Event('change', { bubbles: true }));
70
78
  }
71
- this.checked = !this.checked;
72
- __classPrivateFieldGet(this, _BaseSwitch_instances, "m", _BaseSwitch_updateLabels).call(this);
73
- this.dispatchEvent(new Event('change', { bubbles: true }));
74
- }, _BaseSwitch_updateLabels = function _BaseSwitch_updateLabels() {
75
- const labelState = this.checked ? 'on' : 'off';
76
- if (this.labels.length > 1) {
77
- for (const label of this.labels) {
78
- label.hidden = label.dataset.state !== labelState;
79
+ #updateLabels() {
80
+ const labelState = this.checked ? 'on' : 'off';
81
+ if (this.labels.length > 1) {
82
+ for (const label of this.labels) {
83
+ label.hidden = label.dataset.state !== labelState;
84
+ }
79
85
  }
80
86
  }
81
- };
82
- BaseSwitch.styles = [styles];
83
- BaseSwitch.shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true, };
84
- BaseSwitch.formAssociated = true;
87
+ }
85
88
  __decorate([
86
89
  property({ reflect: true })
87
90
  ], BaseSwitch.prototype, "label", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"BaseSwitch.js","sourceRoot":"","sources":["BaseSwitch.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport styles from './BaseSwitch.css';\n\n/**\n * Switch\n */\nexport abstract class BaseSwitch extends LitElement {\n static readonly styles = [styles];\n\n static readonly shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true, };\n\n static readonly formAssociated = true;\n\n declare shadowRoot: ShadowRoot;\n\n #internals = this.attachInternals();\n\n #initiallyDisabled = this.hasAttribute('disabled');\n\n @property({ reflect: true }) label?: string;\n\n @property({ reflect: true, type: Boolean, attribute: 'show-check-icon' }) showCheckIcon = false;\n\n @property({ reflect: true, type: Boolean }) checked = false;\n\n disabled = this.#initiallyDisabled;\n\n get labels(): NodeListOf<HTMLLabelElement> {\n return this.#internals.labels as NodeListOf<HTMLLabelElement>;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'checkbox');\n this.addEventListener('click', this.#onClick);\n this.addEventListener('keyup', this.#onKeyup);\n this.#updateLabels();\n }\n\n formDisabledCallback(disabled: boolean) {\n this.disabled = disabled;\n this.requestUpdate();\n }\n\n override render() {\n return html`\n <div id=\"container\" tabindex=\"0\">\n <svg id=\"toggle\" fill=\"currentColor\" height=\"1em\" width=\"1em\" viewBox=\"0 0 512 512\">\n <path ?hidden=${!this.showCheckIcon} d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\" />\n </svg>\n </div>\n `;\n }\n\n override updated() {\n this.#internals.ariaChecked = String(this.checked);\n this.#internals.ariaDisabled = String(this.disabled);\n }\n\n #onClick(event: Event) {\n // @ts-expect-error: firefox workarounds for double-firing in the case of switch nested in label\n const { originalTarget, explicitOriginalTarget } = event;\n if (explicitOriginalTarget) {\n let labels: HTMLLabelElement[];\n if (\n originalTarget === event.target &&\n !(labels = Array.from(this.labels)).includes(explicitOriginalTarget) &&\n labels.includes(this.closest('label') as HTMLLabelElement)\n ) {\n return;\n }\n }\n this.#toggle();\n }\n\n #onKeyup(event: KeyboardEvent) {\n switch (event.key) {\n case ' ':\n case 'Enter':\n event.preventDefault();\n this.#toggle();\n }\n }\n\n #toggle() {\n if (this.disabled) {\n return;\n }\n\n this.checked = !this.checked;\n this.#updateLabels();\n this.dispatchEvent(new Event('change', { bubbles: true }));\n }\n\n #updateLabels() {\n const labelState = this.checked ? 'on' : 'off';\n if (this.labels.length > 1) {\n for (const label of this.labels) {\n label.hidden = label.dataset.state !== labelState;\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"BaseSwitch.js","sourceRoot":"","sources":["BaseSwitch.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport styles from './BaseSwitch.css';\n\n/**\n * Switch\n */\nexport abstract class BaseSwitch extends LitElement {\n static readonly styles = [styles];\n\n static readonly shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true, };\n\n static readonly formAssociated = true;\n\n declare shadowRoot: ShadowRoot;\n\n #internals = this.attachInternals();\n\n #initiallyDisabled = this.hasAttribute('disabled');\n\n @property({ reflect: true }) label?: string;\n\n @property({ reflect: true, type: Boolean, attribute: 'show-check-icon' }) showCheckIcon = false;\n\n @property({ reflect: true, type: Boolean }) checked = false;\n\n disabled = this.#initiallyDisabled;\n\n get labels(): NodeListOf<HTMLLabelElement> {\n return this.#internals.labels as NodeListOf<HTMLLabelElement>;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'checkbox');\n this.addEventListener('click', this.#onClick);\n this.addEventListener('keyup', this.#onKeyup);\n this.#updateLabels();\n }\n\n formDisabledCallback(disabled: boolean) {\n this.disabled = disabled;\n this.requestUpdate();\n }\n\n override render() {\n return html`\n <div id=\"container\" tabindex=\"0\">\n <svg id=\"toggle\" fill=\"currentColor\" height=\"1em\" width=\"1em\" viewBox=\"0 0 512 512\">\n <path ?hidden=${!this.showCheckIcon} d=\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\" />\n </svg>\n </div>\n `;\n }\n\n override updated() {\n this.#internals.ariaChecked = String(this.checked);\n this.#internals.ariaDisabled = String(this.disabled);\n }\n\n #onClick(event: Event) {\n // @ts-expect-error: firefox workarounds for double-firing in the case of switch nested in label\n const { originalTarget, explicitOriginalTarget } = event;\n if (explicitOriginalTarget) {\n let labels: HTMLLabelElement[];\n if (\n originalTarget === event.target &&\n !(labels = Array.from(this.labels)).includes(explicitOriginalTarget) &&\n labels.includes(this.closest('label') as HTMLLabelElement)\n ) {\n return;\n }\n }\n this.#toggle();\n }\n\n #onKeyup(event: KeyboardEvent) {\n switch (event.key) {\n case ' ':\n case 'Enter':\n event.preventDefault();\n this.#toggle();\n }\n }\n\n #toggle() {\n if (this.disabled) {\n return;\n }\n\n this.checked = !this.checked;\n this.#updateLabels();\n this.dispatchEvent(new Event('change', { bubbles: true }));\n }\n\n #updateLabels() {\n const labelState = this.checked ? 'on' : 'off';\n if (this.labels.length > 1) {\n for (const label of this.labels) {\n label.hidden = label.dataset.state !== labelState;\n }\n }\n }\n}\n"]}
@@ -42,8 +42,8 @@ const styles = css `:host([checked]) #container{color:var(--pf-c-switch__input--
42
42
  * @cssprop {<length>} --pf-c-switch__toggle--Width {@default `calc(calc(1rem * 1.5) + 0.125rem + calc(1rem - 0.125rem))`}
43
43
  */
44
44
  let PfSwitch = class PfSwitch extends BaseSwitch {
45
+ static { this.styles = [...BaseSwitch.styles, styles]; }
45
46
  };
46
- PfSwitch.styles = [...BaseSwitch.styles, styles];
47
47
  PfSwitch = __decorate([
48
48
  customElement('pf-switch')
49
49
  ], PfSwitch);
@@ -1 +1 @@
1
- {"version":3,"file":"pf-switch.js","sourceRoot":"","sources":["pf-switch.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;;;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,IAAa,QAAQ,GAArB,MAAa,QAAS,SAAQ,UAAU;;AACtB,eAAM,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,AAAjC,CAAkC;AAD7C,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAEpB;SAFY,QAAQ","sourcesContent":["import { customElement } from 'lit/decorators/custom-element.js';\n\nimport { BaseSwitch } from './BaseSwitch.js';\nimport styles from './pf-switch.css';\n\n/**\n * A **switch** toggles the state of a setting (between on and off). Switches and\n * checkboxes can often be used interchangeably, but the switch provides a more\n * explicit, visible representation on a setting.\n *\n * @fires {Event} change - Fires when the switch selection changes.\n *\n * @cssprop --pf-c-switch--FontSize {@default `1rem`}\n * @cssprop {<length>} --pf-c-switch--ColumnGap {@default `1rem`}\n * @cssprop --pf-c-switch__toggle-icon--FontSize {@default `calc(1rem * .625)`}\n * @cssprop {<color>} --pf-c-switch__toggle-icon--Color {@default `#fff`}\n * @cssprop {<length>} --pf-c-switch__toggle-icon--Left {@default `1rem`}\n * @cssprop {<length>} --pf-c-switch__toggle-icon--Offset {@default `0.125rem`}\n * @cssprop {<number>} --pf-c-switch--LineHeight {@default `1.5`}\n * @cssprop {<length>} --pf-c-switch--Height {@default `auto`}\n * @cssprop {<color>} --pf-c-switch__input--checked__toggle--BackgroundColor {@default `#06c`}\n * @cssprop {<length>} --pf-c-switch__input--checked__toggle--before--TranslateX {@default `calc(100% + 0.125rem)`}\n * @cssprop {<color>} --pf-c-switch__input--checked__label--Color {@default `#151515`}\n * @cssprop {<color>} --pf-c-switch__input--not-checked__label--Color {@default `#6a6e73`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__label--Color {@default `#6a6e73`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__toggle--BackgroundColor {@default `#d2d2d2`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__toggle--before--BackgroundColor {@default `#f5f5f5`}\n * @cssprop {<length>} --pf-c-switch__input--focus__toggle--OutlineWidth {@default `2px`}\n * @cssprop {<length>} --pf-c-switch__input--focus__toggle--OutlineOffset {@default `0.5rem`}\n * @cssprop {<color>} --pf-c-switch__input--focus__toggle--OutlineColor {@default `#06c`}\n * @cssprop {<length>} --pf-c-switch__toggle--Height {@default `calc(1rem * 1.5)`}\n * @cssprop {<color>} --pf-c-switch__toggle--BackgroundColor {@default `#8a8d90`}\n * @cssprop {<length>} --pf-c-switch__toggle--BorderRadius {@default `calc(1rem * 1.5)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Width {@default `calc(1rem - 0.125rem)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Height {@default `calc(1rem - 0.125rem)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Top {@default calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Left {@default `calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`}\n * @cssprop {<color>} --pf-c-switch__toggle--before--BackgroundColor {@default `#fff`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--BorderRadius {@default `30em`}\n * @cssprop --pf-c-switch__toggle--before--BoxShadow {@default `0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)`}\n * @cssprop --pf-c-switch__toggle--before--Transition {@default `transform .25s ease 0s`}\n * @cssprop {<length>} --pf-c-switch__toggle--Width {@default `calc(calc(1rem * 1.5) + 0.125rem + calc(1rem - 0.125rem))`}\n */\n\n@customElement('pf-switch')\nexport class PfSwitch extends BaseSwitch {\n static readonly styles = [...BaseSwitch.styles, styles];\n}\n\n declare global {\n interface HTMLElementTagNameMap {\n 'pf-switch': PfSwitch;\n }\n}\n"]}
1
+ {"version":3,"file":"pf-switch.js","sourceRoot":"","sources":["pf-switch.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;;;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,IAAa,QAAQ,GAArB,MAAa,QAAS,SAAQ,UAAU;aACtB,WAAM,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,AAAjC,CAAkC;;AAD7C,QAAQ;IADpB,aAAa,CAAC,WAAW,CAAC;GACd,QAAQ,CAEpB;SAFY,QAAQ","sourcesContent":["import { customElement } from 'lit/decorators/custom-element.js';\n\nimport { BaseSwitch } from './BaseSwitch.js';\nimport styles from './pf-switch.css';\n\n/**\n * A **switch** toggles the state of a setting (between on and off). Switches and\n * checkboxes can often be used interchangeably, but the switch provides a more\n * explicit, visible representation on a setting.\n *\n * @fires {Event} change - Fires when the switch selection changes.\n *\n * @cssprop --pf-c-switch--FontSize {@default `1rem`}\n * @cssprop {<length>} --pf-c-switch--ColumnGap {@default `1rem`}\n * @cssprop --pf-c-switch__toggle-icon--FontSize {@default `calc(1rem * .625)`}\n * @cssprop {<color>} --pf-c-switch__toggle-icon--Color {@default `#fff`}\n * @cssprop {<length>} --pf-c-switch__toggle-icon--Left {@default `1rem`}\n * @cssprop {<length>} --pf-c-switch__toggle-icon--Offset {@default `0.125rem`}\n * @cssprop {<number>} --pf-c-switch--LineHeight {@default `1.5`}\n * @cssprop {<length>} --pf-c-switch--Height {@default `auto`}\n * @cssprop {<color>} --pf-c-switch__input--checked__toggle--BackgroundColor {@default `#06c`}\n * @cssprop {<length>} --pf-c-switch__input--checked__toggle--before--TranslateX {@default `calc(100% + 0.125rem)`}\n * @cssprop {<color>} --pf-c-switch__input--checked__label--Color {@default `#151515`}\n * @cssprop {<color>} --pf-c-switch__input--not-checked__label--Color {@default `#6a6e73`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__label--Color {@default `#6a6e73`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__toggle--BackgroundColor {@default `#d2d2d2`}\n * @cssprop {<color>} --pf-c-switch__input--disabled__toggle--before--BackgroundColor {@default `#f5f5f5`}\n * @cssprop {<length>} --pf-c-switch__input--focus__toggle--OutlineWidth {@default `2px`}\n * @cssprop {<length>} --pf-c-switch__input--focus__toggle--OutlineOffset {@default `0.5rem`}\n * @cssprop {<color>} --pf-c-switch__input--focus__toggle--OutlineColor {@default `#06c`}\n * @cssprop {<length>} --pf-c-switch__toggle--Height {@default `calc(1rem * 1.5)`}\n * @cssprop {<color>} --pf-c-switch__toggle--BackgroundColor {@default `#8a8d90`}\n * @cssprop {<length>} --pf-c-switch__toggle--BorderRadius {@default `calc(1rem * 1.5)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Width {@default `calc(1rem - 0.125rem)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Height {@default `calc(1rem - 0.125rem)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Top {@default calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--Left {@default `calc((calc(1rem * 1.5) - calc(1rem - 0.125rem)) / 2)`}\n * @cssprop {<color>} --pf-c-switch__toggle--before--BackgroundColor {@default `#fff`}\n * @cssprop {<length>} --pf-c-switch__toggle--before--BorderRadius {@default `30em`}\n * @cssprop --pf-c-switch__toggle--before--BoxShadow {@default `0 0.25rem 0.5rem 0rem rgba(3, 3, 3, 0.12), 0 0 0.25rem 0 rgba(3, 3, 3, 0.06)`}\n * @cssprop --pf-c-switch__toggle--before--Transition {@default `transform .25s ease 0s`}\n * @cssprop {<length>} --pf-c-switch__toggle--Width {@default `calc(calc(1rem * 1.5) + 0.125rem + calc(1rem - 0.125rem))`}\n */\n\n@customElement('pf-switch')\nexport class PfSwitch extends BaseSwitch {\n static readonly styles = [...BaseSwitch.styles, styles];\n}\n\n declare global {\n interface HTMLElementTagNameMap {\n 'pf-switch': PfSwitch;\n }\n}\n"]}
@@ -1,5 +1,4 @@
1
- var _BaseTab_instances, _BaseTab_internals, _BaseTab_clickHandler, _BaseTab_activeChanged, _BaseTab_disabledChanged;
2
- import { __classPrivateFieldGet, __decorate } from "tslib";
1
+ import { __decorate } from "tslib";
3
2
  import { LitElement, html } from 'lit';
4
3
  import { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';
5
4
  import { query } from 'lit/decorators/query.js';
@@ -15,16 +14,14 @@ export class TabExpandEvent extends ComposedEvent {
15
14
  }
16
15
  }
17
16
  class BaseTab extends LitElement {
18
- constructor() {
19
- super(...arguments);
20
- _BaseTab_instances.add(this);
21
- _BaseTab_internals.set(this, this.attachInternals());
22
- }
17
+ static { this.styles = [style]; }
18
+ static { this.shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true }; }
19
+ #internals = this.attachInternals();
23
20
  connectedCallback() {
24
21
  super.connectedCallback();
25
- this.id || (this.id = getRandomId(this.localName));
26
- this.addEventListener('click', __classPrivateFieldGet(this, _BaseTab_instances, "m", _BaseTab_clickHandler));
27
- __classPrivateFieldGet(this, _BaseTab_internals, "f").role = 'tab';
22
+ this.id ||= getRandomId(this.localName);
23
+ this.addEventListener('click', this.#clickHandler);
24
+ this.#internals.role = 'tab';
28
25
  }
29
26
  render() {
30
27
  return html `
@@ -38,36 +35,41 @@ class BaseTab extends LitElement {
38
35
  `;
39
36
  }
40
37
  updated(changed) {
41
- __classPrivateFieldGet(this, _BaseTab_internals, "f").ariaSelected = String(this.ariaSelected);
38
+ this.#internals.ariaSelected = String(this.ariaSelected);
42
39
  if (changed.has('active')) {
43
- __classPrivateFieldGet(this, _BaseTab_instances, "m", _BaseTab_activeChanged).call(this);
40
+ this.#activeChanged();
44
41
  }
45
42
  if (changed.has('disabled')) {
46
- __classPrivateFieldGet(this, _BaseTab_instances, "m", _BaseTab_disabledChanged).call(this);
43
+ this.#disabledChanged();
47
44
  }
48
45
  }
49
46
  focus() {
50
47
  this.button.focus();
51
48
  }
52
- }
53
- _BaseTab_internals = new WeakMap(), _BaseTab_instances = new WeakSet(), _BaseTab_clickHandler = function _BaseTab_clickHandler() {
54
- if (!this.disabled && __classPrivateFieldGet(this, _BaseTab_internals, "f").ariaDisabled !== 'true' && this.ariaDisabled !== 'true') {
55
- this.active = true;
56
- this.focus(); // safari fix
49
+ #clickHandler() {
50
+ if (!this.disabled && this.#internals.ariaDisabled !== 'true' && this.ariaDisabled !== 'true') {
51
+ this.active = true;
52
+ this.focus(); // safari fix
53
+ }
57
54
  }
58
- }, _BaseTab_activeChanged = function _BaseTab_activeChanged() {
59
- if (this.active && !this.disabled) {
60
- __classPrivateFieldGet(this, _BaseTab_internals, "f").ariaSelected = 'true';
55
+ #activeChanged() {
56
+ if (this.active && !this.disabled) {
57
+ this.#internals.ariaSelected = 'true';
58
+ }
59
+ else {
60
+ this.#internals.ariaSelected = 'false';
61
+ }
62
+ this.dispatchEvent(new TabExpandEvent(this.active, this));
61
63
  }
62
- else {
63
- __classPrivateFieldGet(this, _BaseTab_internals, "f").ariaSelected = 'false';
64
+ /**
65
+ * if a tab is disabled, then it is also aria-disabled
66
+ * if a tab is removed from disabled its not necessarily
67
+ * not still aria-disabled so we don't remove the aria-disabled
68
+ */
69
+ #disabledChanged() {
70
+ this.#internals.ariaDisabled = String(!!this.disabled);
64
71
  }
65
- this.dispatchEvent(new TabExpandEvent(this.active, this));
66
- }, _BaseTab_disabledChanged = function _BaseTab_disabledChanged() {
67
- __classPrivateFieldGet(this, _BaseTab_internals, "f").ariaDisabled = String(!!this.disabled);
68
- };
69
- BaseTab.styles = [style];
70
- BaseTab.shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true };
72
+ }
71
73
  __decorate([
72
74
  queryAssignedElements({ slot: 'icon', flatten: true })
73
75
  ], BaseTab.prototype, "icons", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTab.js","sourceRoot":"","sources":["BaseTab.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyValues } from 'lit';\n\nimport { LitElement, html } from 'lit';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport { query } from 'lit/decorators/query.js';\n\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\nimport { ComposedEvent } from '@patternfly/pfe-core';\n\nimport style from './BaseTab.css';\n\nexport class TabExpandEvent extends ComposedEvent {\n constructor(\n public active: boolean,\n public tab: BaseTab,\n ) {\n super('expand');\n }\n}\n\nexport abstract class BaseTab extends LitElement {\n static readonly styles = [style];\n\n static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true };\n\n @queryAssignedElements({ slot: 'icon', flatten: true })\n private icons!: Array<HTMLElement>;\n\n @query('button') private button!: HTMLButtonElement;\n\n /** `active` should be observed, and true when the tab is selected */\n abstract active: boolean;\n\n /** `active` should be observed, and true when the tab is disabled */\n abstract disabled: boolean;\n\n #internals = this.attachInternals();\n\n connectedCallback() {\n super.connectedCallback();\n this.id ||= getRandomId(this.localName);\n this.addEventListener('click', this.#clickHandler);\n this.#internals.role = 'tab';\n }\n\n render() {\n return html`\n <button part=\"button\" ?disabled=\"${this.disabled}\">\n <slot name=\"icon\"\n part=\"icon\"\n ?hidden=\"${!this.icons.length}\"\n @slotchange=\"${() => this.requestUpdate()}\"></slot>\n <slot part=\"text\"></slot>\n </button>\n `;\n }\n\n updated(changed: PropertyValues<this>) {\n this.#internals.ariaSelected = String(this.ariaSelected);\n if (changed.has('active')) {\n this.#activeChanged();\n }\n if (changed.has('disabled')) {\n this.#disabledChanged();\n }\n }\n\n focus() {\n this.button.focus();\n }\n\n #clickHandler() {\n if (!this.disabled && this.#internals.ariaDisabled !== 'true' && this.ariaDisabled !== 'true') {\n this.active = true;\n this.focus(); // safari fix\n }\n }\n\n #activeChanged() {\n if (this.active && !this.disabled) {\n this.#internals.ariaSelected = 'true';\n } else {\n this.#internals.ariaSelected = 'false';\n }\n this.dispatchEvent(new TabExpandEvent(this.active, this));\n }\n\n /**\n * if a tab is disabled, then it is also aria-disabled\n * if a tab is removed from disabled its not necessarily\n * not still aria-disabled so we don't remove the aria-disabled\n */\n #disabledChanged() {\n this.#internals.ariaDisabled = String(!!this.disabled);\n }\n}\n"]}
1
+ {"version":3,"file":"BaseTab.js","sourceRoot":"","sources":["BaseTab.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;;;AAIrD,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC/C,YACS,MAAe,EACf,GAAY;QAEnB,KAAK,CAAC,QAAQ,CAAC,CAAC;QAHT,WAAM,GAAN,MAAM,CAAS;QACf,QAAG,GAAH,GAAG,CAAS;IAGrB,CAAC;CACF;AAED,MAAsB,OAAQ,SAAQ,UAAU;aAC9B,WAAM,GAAG,CAAC,KAAK,CAAC,CAAC;aAE1B,sBAAiB,GAAG,EAAE,GAAG,UAAU,CAAC,iBAAiB,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IAarF,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAEpC,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;yCAC0B,IAAI,CAAC,QAAQ;;;yBAG7B,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;6BACd,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;;KAGlD,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,OAA6B;QACnC,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACzB,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE;YAC7F,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,aAAa;SAC5B;IACH,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACjC,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC;SACvC;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,OAAO,CAAC;SACxC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACd,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;;AApEO;IADP,qBAAqB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sCACpB;AAEV;IAAxB,KAAK,CAAC,QAAQ,CAAC;uCAAoC;SARhC,OAAO","sourcesContent":["import type { PropertyValues } from 'lit';\n\nimport { LitElement, html } from 'lit';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport { query } from 'lit/decorators/query.js';\n\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\nimport { ComposedEvent } from '@patternfly/pfe-core';\n\nimport style from './BaseTab.css';\n\nexport class TabExpandEvent extends ComposedEvent {\n constructor(\n public active: boolean,\n public tab: BaseTab,\n ) {\n super('expand');\n }\n}\n\nexport abstract class BaseTab extends LitElement {\n static readonly styles = [style];\n\n static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true };\n\n @queryAssignedElements({ slot: 'icon', flatten: true })\n private icons!: Array<HTMLElement>;\n\n @query('button') private button!: HTMLButtonElement;\n\n /** `active` should be observed, and true when the tab is selected */\n abstract active: boolean;\n\n /** `active` should be observed, and true when the tab is disabled */\n abstract disabled: boolean;\n\n #internals = this.attachInternals();\n\n connectedCallback() {\n super.connectedCallback();\n this.id ||= getRandomId(this.localName);\n this.addEventListener('click', this.#clickHandler);\n this.#internals.role = 'tab';\n }\n\n render() {\n return html`\n <button part=\"button\" ?disabled=\"${this.disabled}\">\n <slot name=\"icon\"\n part=\"icon\"\n ?hidden=\"${!this.icons.length}\"\n @slotchange=\"${() => this.requestUpdate()}\"></slot>\n <slot part=\"text\"></slot>\n </button>\n `;\n }\n\n updated(changed: PropertyValues<this>) {\n this.#internals.ariaSelected = String(this.ariaSelected);\n if (changed.has('active')) {\n this.#activeChanged();\n }\n if (changed.has('disabled')) {\n this.#disabledChanged();\n }\n }\n\n focus() {\n this.button.focus();\n }\n\n #clickHandler() {\n if (!this.disabled && this.#internals.ariaDisabled !== 'true' && this.ariaDisabled !== 'true') {\n this.active = true;\n this.focus(); // safari fix\n }\n }\n\n #activeChanged() {\n if (this.active && !this.disabled) {\n this.#internals.ariaSelected = 'true';\n } else {\n this.#internals.ariaSelected = 'false';\n }\n this.dispatchEvent(new TabExpandEvent(this.active, this));\n }\n\n /**\n * if a tab is disabled, then it is also aria-disabled\n * if a tab is removed from disabled its not necessarily\n * not still aria-disabled so we don't remove the aria-disabled\n */\n #disabledChanged() {\n this.#internals.ariaDisabled = String(!!this.disabled);\n }\n}\n"]}
@@ -2,7 +2,6 @@ import { LitElement } from 'lit';
2
2
  export declare abstract class BaseTabPanel extends LitElement {
3
3
  #private;
4
4
  static readonly styles: import("lit").CSSResult[];
5
- hidden: boolean;
6
5
  render(): import("lit-html").TemplateResult<1>;
7
6
  connectedCallback(): void;
8
7
  }
@@ -1,15 +1,10 @@
1
- var _BaseTabPanel_internals;
2
- import { __classPrivateFieldGet } from "tslib";
3
1
  import { LitElement, html } from 'lit';
4
2
  import { css } from "lit";
5
3
  const style = css `:host{display:block}:host([hidden]){display:none}`;
6
4
  import { getRandomId } from '@patternfly/pfe-core/functions/random.js';
7
5
  class BaseTabPanel extends LitElement {
8
- constructor() {
9
- super(...arguments);
10
- this.hidden = true;
11
- _BaseTabPanel_internals.set(this, this.attachInternals());
12
- }
6
+ static { this.styles = [style]; }
7
+ #internals = this.attachInternals();
13
8
  render() {
14
9
  return html `
15
10
  <slot></slot>
@@ -17,8 +12,9 @@ class BaseTabPanel extends LitElement {
17
12
  }
18
13
  connectedCallback() {
19
14
  super.connectedCallback();
20
- this.id || (this.id = getRandomId('pf-tab-panel'));
21
- __classPrivateFieldGet(this, _BaseTabPanel_internals, "f").role = 'tabpanel';
15
+ this.id ||= getRandomId('pf-tab-panel');
16
+ this.hidden ??= true;
17
+ this.#internals.role = 'tabpanel';
22
18
  /*
23
19
  To make it easy for screen reader users to navigate from a tab
24
20
  to the beginning of content in the active tabpanel, the tabpanel
@@ -31,7 +27,5 @@ class BaseTabPanel extends LitElement {
31
27
  this.tabIndex = 0;
32
28
  }
33
29
  }
34
- _BaseTabPanel_internals = new WeakMap();
35
- BaseTabPanel.styles = [style];
36
30
  export { BaseTabPanel };
37
31
  //# sourceMappingURL=BaseTabPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTabPanel.js","sourceRoot":"","sources":["BaseTabPanel.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;;;AAIvC,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAEvE,MAAsB,YAAa,SAAQ,UAAU;IAArD;;QAGE,WAAM,GAAG,IAAI,CAAC;QAEd,kCAAa,IAAI,CAAC,eAAe,EAAE,EAAC;IAuBtC,CAAC;IArBC,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,KAAP,IAAI,CAAC,EAAE,GAAK,WAAW,CAAC,cAAc,CAAC,EAAC;QACxC,uBAAA,IAAI,+BAAW,CAAC,IAAI,GAAG,UAAU,CAAC;QAClC;;;;;;;;UAQE;QACF,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpB,CAAC;;;AA1Be,mBAAM,GAAG,CAAC,KAAK,CAAC,AAAV,CAAW;SADb,YAAY","sourcesContent":["import { LitElement, html } from 'lit';\n\nimport style from './BaseTabPanel.css';\n\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\n\nexport abstract class BaseTabPanel extends LitElement {\n static readonly styles = [style];\n\n hidden = true;\n\n #internals = this.attachInternals();\n\n render() {\n return html`\n <slot></slot>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.id ||= getRandomId('pf-tab-panel');\n this.#internals.role = 'tabpanel';\n /*\n To make it easy for screen reader users to navigate from a tab\n to the beginning of content in the active tabpanel, the tabpanel\n element has tabindex=\"0\" to include the panel in the page Tab sequence.\n It is recommended that all tabpanel elements in a tab set are focusable\n if there are any panels in the set that contain content where the first\n element in the panel is not focusable.\n https://www.w3.org/WAI/ARIA/apg/example-index/tabs/tabs-automatic\n */\n this.tabIndex = 0;\n }\n}\n"]}
1
+ {"version":3,"file":"BaseTabPanel.js","sourceRoot":"","sources":["BaseTabPanel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;;;AAIvC,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAEvE,MAAsB,YAAa,SAAQ,UAAU;aACnC,WAAM,GAAG,CAAC,KAAK,CAAC,CAAC;IAEjC,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAEpC,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,KAAK,WAAW,CAAC,cAAc,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC;QAElC;;;;;;;;UAQE;QACF,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpB,CAAC;;SA3BmB,YAAY","sourcesContent":["import { LitElement, html } from 'lit';\n\nimport style from './BaseTabPanel.css';\n\nimport { getRandomId } from '@patternfly/pfe-core/functions/random.js';\n\nexport abstract class BaseTabPanel extends LitElement {\n static readonly styles = [style];\n\n #internals = this.attachInternals();\n\n render() {\n return html`\n <slot></slot>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.id ||= getRandomId('pf-tab-panel');\n this.hidden ??= true;\n this.#internals.role = 'tabpanel';\n\n /*\n To make it easy for screen reader users to navigate from a tab\n to the beginning of content in the active tabpanel, the tabpanel\n element has tabindex=\"0\" to include the panel in the page Tab sequence.\n It is recommended that all tabpanel elements in a tab set are focusable\n if there are any panels in the set that contain content where the first\n element in the panel is not focusable.\n https://www.w3.org/WAI/ARIA/apg/example-index/tabs/tabs-automatic\n */\n this.tabIndex = 0;\n }\n}\n"]}