@iris-ui-kit/vue 0.2.11 → 0.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -832,6 +832,40 @@ var IrisIcon = vue.defineComponent({
832
832
  }
833
833
  });
834
834
 
835
+ // src/admin/styles.ts
836
+ var __NAV_MENU_STYLE_ID = "iris-nav-menu-styles";
837
+ var CSS2 = `
838
+ :where(.iris-nav-menu-arrow) {
839
+ flex: 0 0 auto;
840
+ opacity: 0.6;
841
+ transform: rotate(0deg);
842
+ transform-origin: center;
843
+ transition: transform 160ms ease;
844
+ }
845
+ :where(.iris-nav-menu-arrow[data-reversed="true"]) {
846
+ transform: rotate(180deg);
847
+ }
848
+ @media (prefers-reduced-motion: reduce) {
849
+ :where(.iris-nav-menu-arrow) {
850
+ transition: none;
851
+ }
852
+ }
853
+ `.trim();
854
+ var installed2 = false;
855
+ function installNavMenuStyles() {
856
+ if (installed2) return;
857
+ if (typeof document === "undefined") return;
858
+ if (document.getElementById(__NAV_MENU_STYLE_ID)) {
859
+ installed2 = true;
860
+ return;
861
+ }
862
+ const style = document.createElement("style");
863
+ style.id = __NAV_MENU_STYLE_ID;
864
+ style.textContent = CSS2;
865
+ document.head.appendChild(style);
866
+ installed2 = true;
867
+ }
868
+
835
869
  // src/admin/NavMenu.ts
836
870
  var IrisNavMenu = vue.defineComponent({
837
871
  name: "IrisNavMenu",
@@ -858,6 +892,7 @@ var IrisNavMenu = vue.defineComponent({
858
892
  "update:expandedKeys": (_keys) => true
859
893
  },
860
894
  setup(props, { emit, attrs }) {
895
+ installNavMenuStyles();
861
896
  const { t } = useI18n();
862
897
  const tree = vue.computed(() => core.visibleNav(props.items));
863
898
  const activePath = vue.computed(
@@ -924,7 +959,7 @@ var IrisNavMenu = vue.defineComponent({
924
959
  return interactionKeyAtDepth(focusedBranches.value, depth) === key;
925
960
  };
926
961
  const itemStyle = (opts) => {
927
- const bg = opts.active ? "var(--iris-primary)" : opts.hovered && !opts.disabled ? "var(--iris-surface)" : "transparent";
962
+ const bg = opts.active ? "var(--iris-primary)" : opts.hovered && !opts.disabled ? "var(--iris-surface-hover, var(--iris-surface))" : "transparent";
928
963
  return {
929
964
  display: "flex",
930
965
  alignItems: "center",
@@ -1005,6 +1040,7 @@ var IrisNavMenu = vue.defineComponent({
1005
1040
  const shown = horizontal ? horizontalBranchVisible(node.key, depth) : open;
1006
1041
  const active = node.key === props.activeKey;
1007
1042
  const trail = branch && !active && activePath.value.includes(node.key);
1043
+ const arrowReversed = branch && !node.disabled && (active || trail || shown || hovered.value === node.key);
1008
1044
  const row = vue.h(
1009
1045
  "button",
1010
1046
  {
@@ -1047,7 +1083,9 @@ var IrisNavMenu = vue.defineComponent({
1047
1083
  branch ? vue.h(IrisIcon, {
1048
1084
  name: horizontal && depth === 0 ? "chevron-down" : "chevron-right",
1049
1085
  size: 16,
1050
- style: { marginInlineStart: badgeNode(node) ? "6px" : "auto", opacity: "0.6" }
1086
+ class: "iris-nav-menu-arrow",
1087
+ "data-reversed": arrowReversed ? "true" : void 0,
1088
+ style: { marginInlineStart: badgeNode(node) ? "6px" : "auto" }
1051
1089
  }) : null
1052
1090
  ]
1053
1091
  );
@@ -2915,7 +2953,7 @@ var IrisErrorBoundary = vue.defineComponent({
2915
2953
 
2916
2954
  // src/primitives/button/styles.ts
2917
2955
  var STYLE_ID = "iris-button-styles";
2918
- var CSS2 = `
2956
+ var CSS3 = `
2919
2957
  .iris-button {
2920
2958
  cursor: pointer;
2921
2959
  display: inline-flex;
@@ -2968,19 +3006,19 @@ var CSS2 = `
2968
3006
  to { transform: rotate(360deg); }
2969
3007
  }
2970
3008
  `;
2971
- var installed2 = false;
3009
+ var installed3 = false;
2972
3010
  function installButtonStyles() {
2973
- if (installed2) return;
3011
+ if (installed3) return;
2974
3012
  if (typeof document === "undefined") return;
2975
3013
  if (document.getElementById(STYLE_ID)) {
2976
- installed2 = true;
3014
+ installed3 = true;
2977
3015
  return;
2978
3016
  }
2979
3017
  const style = document.createElement("style");
2980
3018
  style.id = STYLE_ID;
2981
- style.textContent = CSS2;
3019
+ style.textContent = CSS3;
2982
3020
  document.head.appendChild(style);
2983
- installed2 = true;
3021
+ installed3 = true;
2984
3022
  }
2985
3023
 
2986
3024
  // src/primitives/button/Button.ts
@@ -6489,7 +6527,7 @@ var IrisAvatar = vue.defineComponent({
6489
6527
 
6490
6528
  // src/primitives/spinner/styles.ts
6491
6529
  var __SPINNER_STYLE_ID = "iris-spinner-styles";
6492
- var CSS3 = `
6530
+ var CSS4 = `
6493
6531
  @keyframes iris-spinner-rotate {
6494
6532
  to { transform: rotate(360deg); }
6495
6533
  }
@@ -6512,22 +6550,22 @@ var CSS3 = `
6512
6550
  }
6513
6551
  }
6514
6552
  `.trim();
6515
- var installed3 = false;
6553
+ var installed4 = false;
6516
6554
  function installSpinnerStyles() {
6517
- if (installed3) return;
6555
+ if (installed4) return;
6518
6556
  if (typeof document === "undefined") return;
6519
6557
  if (document.getElementById(__SPINNER_STYLE_ID)) {
6520
- installed3 = true;
6558
+ installed4 = true;
6521
6559
  return;
6522
6560
  }
6523
6561
  const el = document.createElement("style");
6524
6562
  el.id = __SPINNER_STYLE_ID;
6525
- el.textContent = CSS3;
6563
+ el.textContent = CSS4;
6526
6564
  document.head.appendChild(el);
6527
- installed3 = true;
6565
+ installed4 = true;
6528
6566
  }
6529
6567
  function __resetSpinnerStyles() {
6530
- installed3 = false;
6568
+ installed4 = false;
6531
6569
  if (typeof document !== "undefined") {
6532
6570
  document.getElementById(__SPINNER_STYLE_ID)?.remove();
6533
6571
  }
@@ -6619,7 +6657,7 @@ var IrisSpinner = vue.defineComponent({
6619
6657
 
6620
6658
  // src/primitives/skeleton/styles.ts
6621
6659
  var __SKELETON_STYLE_ID = "iris-skeleton-styles";
6622
- var CSS4 = `
6660
+ var CSS5 = `
6623
6661
  @keyframes iris-skeleton-shimmer {
6624
6662
  0% { background-position: -200% 0; }
6625
6663
  100% { background-position: 200% 0; }
@@ -6659,22 +6697,22 @@ var CSS4 = `
6659
6697
  }
6660
6698
  }
6661
6699
  `.trim();
6662
- var installed4 = false;
6700
+ var installed5 = false;
6663
6701
  function installSkeletonStyles() {
6664
- if (installed4) return;
6702
+ if (installed5) return;
6665
6703
  if (typeof document === "undefined") return;
6666
6704
  if (document.getElementById(__SKELETON_STYLE_ID)) {
6667
- installed4 = true;
6705
+ installed5 = true;
6668
6706
  return;
6669
6707
  }
6670
6708
  const el = document.createElement("style");
6671
6709
  el.id = __SKELETON_STYLE_ID;
6672
- el.textContent = CSS4;
6710
+ el.textContent = CSS5;
6673
6711
  document.head.appendChild(el);
6674
- installed4 = true;
6712
+ installed5 = true;
6675
6713
  }
6676
6714
  function __resetSkeletonStyles() {
6677
- installed4 = false;
6715
+ installed5 = false;
6678
6716
  if (typeof document !== "undefined") {
6679
6717
  document.getElementById(__SKELETON_STYLE_ID)?.remove();
6680
6718
  }
@@ -6726,7 +6764,7 @@ var IrisSkeleton = vue.defineComponent({
6726
6764
 
6727
6765
  // src/primitives/progress/styles.ts
6728
6766
  var __PROGRESS_STYLE_ID = "iris-progress-styles";
6729
- var CSS5 = `
6767
+ var CSS6 = `
6730
6768
  @keyframes iris-progress-indeterminate {
6731
6769
  0% { left: -40%; right: 100%; }
6732
6770
  60% { left: 100%; right: -20%; }
@@ -6759,22 +6797,22 @@ var CSS5 = `
6759
6797
  }
6760
6798
  }
6761
6799
  `.trim();
6762
- var installed5 = false;
6800
+ var installed6 = false;
6763
6801
  function installProgressStyles() {
6764
- if (installed5) return;
6802
+ if (installed6) return;
6765
6803
  if (typeof document === "undefined") return;
6766
6804
  if (document.getElementById(__PROGRESS_STYLE_ID)) {
6767
- installed5 = true;
6805
+ installed6 = true;
6768
6806
  return;
6769
6807
  }
6770
6808
  const el = document.createElement("style");
6771
6809
  el.id = __PROGRESS_STYLE_ID;
6772
- el.textContent = CSS5;
6810
+ el.textContent = CSS6;
6773
6811
  document.head.appendChild(el);
6774
- installed5 = true;
6812
+ installed6 = true;
6775
6813
  }
6776
6814
  function __resetProgressStyles() {
6777
- installed5 = false;
6815
+ installed6 = false;
6778
6816
  if (typeof document !== "undefined") {
6779
6817
  document.getElementById(__PROGRESS_STYLE_ID)?.remove();
6780
6818
  }
@@ -10611,7 +10649,7 @@ var IrisTabs = vue.defineComponent({
10611
10649
 
10612
10650
  // src/primitives/tabs/styles.ts
10613
10651
  var STYLE_ID2 = "iris-tabs-styles";
10614
- var CSS6 = `
10652
+ var CSS7 = `
10615
10653
  :where(.iris-tabs-list) {
10616
10654
  display: flex;
10617
10655
  gap: 2px;
@@ -10663,19 +10701,19 @@ var CSS6 = `
10663
10701
  outline-offset: 2px;
10664
10702
  }
10665
10703
  `.trim();
10666
- var installed6 = false;
10704
+ var installed7 = false;
10667
10705
  function installTabsStyles() {
10668
- if (installed6) return;
10706
+ if (installed7) return;
10669
10707
  if (typeof document === "undefined") return;
10670
10708
  if (document.getElementById(STYLE_ID2)) {
10671
- installed6 = true;
10709
+ installed7 = true;
10672
10710
  return;
10673
10711
  }
10674
10712
  const style = document.createElement("style");
10675
10713
  style.id = STYLE_ID2;
10676
- style.textContent = CSS6;
10714
+ style.textContent = CSS7;
10677
10715
  document.head.appendChild(style);
10678
- installed6 = true;
10716
+ installed7 = true;
10679
10717
  }
10680
10718
 
10681
10719
  // src/primitives/tabs/TabsList.ts