@rogieking/figui3 1.0.27 → 1.0.29

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 (3) hide show
  1. package/fig.css +13 -0
  2. package/fig.js +24 -0
  3. package/package.json +1 -1
package/fig.css CHANGED
@@ -560,6 +560,7 @@ fig-segmented-control {
560
560
  min-width: 6rem;
561
561
  height: 1.5rem;
562
562
  padding: 1px;
563
+ gap: 0;
563
564
  display: inline-flex;
564
565
  align-items: stretch;
565
566
 
@@ -775,6 +776,18 @@ fig-button {
775
776
  padding: var(--spacer-1) var(--spacer-2);
776
777
  }
777
778
 
779
+ &[type="select"],
780
+ &[type="upload"] {
781
+ position: relative;
782
+ select,
783
+ input {
784
+ position: absolute;
785
+ inset: 0;
786
+ opacity: 0;
787
+ appearance: none;
788
+ }
789
+ }
790
+
778
791
  &[inline="false"] {
779
792
  padding: 0;
780
793
  }
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.29"
4
4
  }