@rogieking/figui3 1.0.27 → 1.0.28

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 (2) hide show
  1. package/fig.js +24 -0
  2. package/package.json +1 -1
package/fig.js CHANGED
@@ -524,6 +524,30 @@ class FigSegment extends HTMLElement {
524
524
  }
525
525
  window.customElements.define("fig-segment", FigSegment);
526
526
 
527
+ class FigSegmentedControl extends HTMLElement {
528
+ constructor() {
529
+ super();
530
+ }
531
+ connectedCallback() {
532
+ this.name = this.getAttribute("name") || "segmented-control";
533
+ this.addEventListener("click", this.handleClick.bind(this));
534
+ }
535
+ handleClick(event) {
536
+ const target = event.target;
537
+ if (target.nodeName.toLowerCase() === "fig-segment") {
538
+ const segments = this.querySelectorAll("fig-segment");
539
+ for (const segment of segments) {
540
+ if (segment === target) {
541
+ this.selectedSegment = segment;
542
+ } else {
543
+ segment.removeAttribute("selected");
544
+ }
545
+ }
546
+ }
547
+ }
548
+ }
549
+ window.customElements.define("fig-segmented-control", FigSegmentedControl);
550
+
527
551
  /* Slider */
528
552
  class FigSlider extends HTMLElement {
529
553
  #typeDefaults = {
package/package.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@rogieking/figui3",
3
- "version": "1.0.27"
3
+ "version": "1.0.28"
4
4
  }