nuance-ui 0.1.7 → 0.1.9

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 (82) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/module.mjs +1 -20
  3. package/dist/runtime/components/action-icon/action-icon.d.vue.ts +1 -0
  4. package/dist/runtime/components/action-icon/action-icon.vue.d.ts +1 -0
  5. package/dist/runtime/components/alert.d.vue.ts +48 -0
  6. package/dist/runtime/components/alert.vue +178 -0
  7. package/dist/runtime/components/alert.vue.d.ts +48 -0
  8. package/dist/runtime/components/app-shell/app-shell-main.vue +1 -0
  9. package/dist/runtime/components/box.d.vue.ts +1 -1
  10. package/dist/runtime/components/box.vue +10 -2
  11. package/dist/runtime/components/box.vue.d.ts +1 -1
  12. package/dist/runtime/components/button/button.d.vue.ts +1 -0
  13. package/dist/runtime/components/button/button.vue +3 -3
  14. package/dist/runtime/components/button/button.vue.d.ts +1 -0
  15. package/dist/runtime/components/checkbox/checkbox-card.d.vue.ts +1 -1
  16. package/dist/runtime/components/checkbox/checkbox-card.vue.d.ts +1 -1
  17. package/dist/runtime/components/index.d.ts +3 -0
  18. package/dist/runtime/components/index.js +3 -0
  19. package/dist/runtime/components/input/number-input.vue +12 -16
  20. package/dist/runtime/components/input/ui/input-base.d.vue.ts +3 -3
  21. package/dist/runtime/components/input/ui/input-base.vue +2 -2
  22. package/dist/runtime/components/input/ui/input-base.vue.d.ts +3 -3
  23. package/dist/runtime/components/link/lib.d.ts +2 -2
  24. package/dist/runtime/components/nav-link/nav-link.vue +10 -10
  25. package/dist/runtime/components/progress/index.d.ts +3 -0
  26. package/dist/runtime/components/progress/index.js +0 -0
  27. package/dist/runtime/components/progress/progress-label.d.vue.ts +14 -0
  28. package/dist/runtime/components/progress/progress-label.vue +14 -0
  29. package/dist/runtime/components/progress/progress-label.vue.d.ts +14 -0
  30. package/dist/runtime/components/progress/progress-root.d.vue.ts +25 -0
  31. package/dist/runtime/components/progress/progress-root.vue +31 -0
  32. package/dist/runtime/components/progress/progress-root.vue.d.ts +25 -0
  33. package/dist/runtime/components/progress/progress-section.d.vue.ts +25 -0
  34. package/dist/runtime/components/progress/progress-section.vue +42 -0
  35. package/dist/runtime/components/progress/progress-section.vue.d.ts +25 -0
  36. package/dist/runtime/components/progress/progress.d.vue.ts +16 -0
  37. package/dist/runtime/components/progress/progress.module.css +1 -0
  38. package/dist/runtime/components/progress/progress.vue +39 -0
  39. package/dist/runtime/components/progress/progress.vue.d.ts +16 -0
  40. package/dist/runtime/components/roving-focus/_lib/context.d.ts +51 -0
  41. package/dist/runtime/components/roving-focus/_lib/context.js +90 -0
  42. package/dist/runtime/components/roving-focus/index.d.ts +1 -0
  43. package/dist/runtime/components/roving-focus/index.js +1 -0
  44. package/dist/runtime/components/roving-focus/roving-focus-item.d.vue.ts +13 -0
  45. package/dist/runtime/components/roving-focus/roving-focus-item.vue +32 -0
  46. package/dist/runtime/components/roving-focus/roving-focus-item.vue.d.ts +13 -0
  47. package/dist/runtime/components/roving-focus/roving-focus.d.vue.ts +21 -0
  48. package/dist/runtime/components/roving-focus/roving-focus.vue +23 -0
  49. package/dist/runtime/components/roving-focus/roving-focus.vue.d.ts +21 -0
  50. package/dist/runtime/components/select/select.d.vue.ts +2 -2
  51. package/dist/runtime/components/select/select.vue.d.ts +2 -2
  52. package/dist/runtime/components/tabs/tabs-tab.d.vue.ts +1 -1
  53. package/dist/runtime/components/tabs/tabs-tab.vue.d.ts +1 -1
  54. package/dist/runtime/components/tree/_ui/tree-item.d.vue.ts +0 -0
  55. package/dist/runtime/components/tree/_ui/tree-item.vue +172 -0
  56. package/dist/runtime/components/tree/_ui/tree-item.vue.d.ts +0 -0
  57. package/dist/runtime/components/tree/_ui/tree-root.d.vue.ts +39 -0
  58. package/dist/runtime/components/tree/_ui/tree-root.vue +87 -0
  59. package/dist/runtime/components/tree/_ui/tree-root.vue.d.ts +39 -0
  60. package/dist/runtime/components/tree/index.d.ts +1 -0
  61. package/dist/runtime/components/tree/index.js +1 -0
  62. package/dist/runtime/components/tree/lib/context.d.ts +32 -0
  63. package/dist/runtime/components/tree/lib/context.js +103 -0
  64. package/dist/runtime/components/tree/lib/get-default.d.ts +7 -0
  65. package/dist/runtime/components/tree/lib/get-default.js +10 -0
  66. package/dist/runtime/components/tree/model.d.ts +33 -0
  67. package/dist/runtime/components/tree/model.js +0 -0
  68. package/dist/runtime/components/tree/tree.d.vue.ts +23 -0
  69. package/dist/runtime/components/tree/tree.vue +46 -0
  70. package/dist/runtime/components/tree/tree.vue.d.ts +23 -0
  71. package/dist/runtime/composals/index.d.ts +0 -1
  72. package/dist/runtime/composals/index.js +0 -1
  73. package/dist/runtime/styles/colors.css +1 -1
  74. package/dist/runtime/styles/light-theme.css +1 -1
  75. package/dist/runtime/utils/get-mod.d.ts +2 -0
  76. package/dist/runtime/{composals/use-mod.js → utils/get-mod.js} +2 -13
  77. package/dist/runtime/utils/index.d.ts +2 -0
  78. package/dist/runtime/utils/index.js +2 -0
  79. package/dist/runtime/utils/tree.d.ts +107 -0
  80. package/dist/runtime/utils/tree.js +85 -0
  81. package/package.json +1 -1
  82. package/dist/runtime/composals/use-mod.d.ts +0 -2
@@ -1 +1 @@
1
- :root{--color-white:#fff;--color-black:#000;--color-primary-0:var(--color-blue-0);--color-primary-1:var(--color-blue-1);--color-primary-2:var(--color-blue-2);--color-primary-3:var(--color-blue-3);--color-primary-4:var(--color-blue-4);--color-primary-5:var(--color-blue-5);--color-primary-6:var(--color-blue-6);--color-primary-7:var(--color-blue-7);--color-primary-8:var(--color-blue-8);--color-primary-9:var(--color-blue-9);--color-primary-filled:var(--color-blue-filled);--color-primary-filled-hover:var(--color-blue-filled-hover);--color-primary-light:alpha(var(--color-blue-light),.15);--color-primary-light-hover:var(--color-blue-light-hover);--color-primary-light-color:var(--color-blue-light-color);--color-primary-outline:var(--color-blue-outline);--color-primary-outline-hover:alpha(var(--color-blue-outline),.1);--color-dark-0:#c9c9c9;--color-dark-1:#b8b8b8;--color-dark-2:#828282;--color-dark-3:#696969;--color-dark-4:#424242;--color-dark-5:#3b3b3b;--color-dark-6:#2e2e2e;--color-dark-7:#242424;--color-dark-8:#1f1f1f;--color-dark-9:#141414;--color-slate-0:#f8f9fb;--color-slate-1:#f1f3f6;--color-slate-2:#e4e7ed;--color-slate-3:#dadce5;--color-slate-4:#c1c6d4;--color-slate-5:#9096b2;--color-slate-6:#4a5568;--color-slate-7:#313446;--color-slate-8:#252938;--color-slate-9:#1d1f29;--color-gray-0:#f8f9fa;--color-gray-1:#f1f3f5;--color-gray-2:#e9ecef;--color-gray-3:#dee2e6;--color-gray-4:#ced4da;--color-gray-5:#adb5bd;--color-gray-6:#868e96;--color-gray-7:#495057;--color-gray-8:#343a40;--color-gray-9:#212529;--color-red-0:#fdf4f4;--color-red-1:#f5e0e0;--color-red-2:#e8c5c5;--color-red-3:#d49999;--color-red-4:#c27373;--color-red-5:#a85a5a;--color-red-6:#8f4545;--color-red-7:#763636;--color-red-8:#5d2a2a;--color-red-9:#4a2121;--color-pink-0:#fdf6f8;--color-pink-1:#f7e4e9;--color-pink-2:#edc2d0;--color-pink-3:#dd9bb0;--color-pink-4:#c97a93;--color-pink-5:#b26179;--color-pink-6:#954d65;--color-pink-7:#7a3e52;--color-pink-8:#603140;--color-pink-9:#4d2733;--color-grape-0:#f8f0fc;--color-grape-1:#f3d9fa;--color-grape-2:#eebefa;--color-grape-3:#e599f7;--color-grape-4:#da77f2;--color-grape-5:#cc5de8;--color-grape-6:#be4bdb;--color-grape-7:#ae3ec9;--color-grape-8:#9c36b5;--color-grape-9:#862e9c;--color-violet-0:#f3f0ff;--color-violet-1:#e5dbff;--color-violet-2:#d0bfff;--color-violet-3:#b197fc;--color-violet-4:#9775fa;--color-violet-5:#845ef7;--color-violet-6:#7950f2;--color-violet-7:#7048e8;--color-violet-8:#6741d9;--color-violet-9:#5f3dc4;--color-indigo-0:#edf2ff;--color-indigo-1:#dbe4ff;--color-indigo-2:#bac8ff;--color-indigo-3:#91a7ff;--color-indigo-4:#748ffc;--color-indigo-5:#5c7cfa;--color-indigo-6:#4c6ef5;--color-indigo-7:#4263eb;--color-indigo-8:#3b5bdb;--color-indigo-9:#364fc7;--color-blue-0:#e7f5ff;--color-blue-1:#d0ebff;--color-blue-2:#a5d8ff;--color-blue-3:#74c0fc;--color-blue-4:#4dabf7;--color-blue-5:#339af0;--color-blue-6:#228be6;--color-blue-7:#1c7ed6;--color-blue-8:#1971c2;--color-blue-9:#1864ab;--color-cyan-0:#e3fafc;--color-cyan-1:#c5f6fa;--color-cyan-2:#99e9f2;--color-cyan-3:#66d9e8;--color-cyan-4:#3bc9db;--color-cyan-5:#22b8cf;--color-cyan-6:#15aabf;--color-cyan-7:#1098ad;--color-cyan-8:#0c8599;--color-cyan-9:#0b7285;--color-teal-0:#e6fcf5;--color-teal-1:#c3fae8;--color-teal-2:#96f2d7;--color-teal-3:#63e6be;--color-teal-4:#38d9a9;--color-teal-5:#20c997;--color-teal-6:#12b886;--color-teal-7:#0ca678;--color-teal-8:#099268;--color-teal-9:#087f5b;--color-green-0:#ebfbee;--color-green-1:#d3f9d8;--color-green-2:#b2f2bb;--color-green-3:#8ce99a;--color-green-4:#69db7c;--color-green-5:#51cf66;--color-green-6:#40c057;--color-green-7:#37b24d;--color-green-8:#2f9e44;--color-green-9:#2b8a3e;--color-lime-0:#f4fce3;--color-lime-1:#e9fac8;--color-lime-2:#d8f5a2;--color-lime-3:#c0eb75;--color-lime-4:#a9e34b;--color-lime-5:#94d82d;--color-lime-6:#82c91e;--color-lime-7:#74b816;--color-lime-8:#66a80f;--color-lime-9:#5c940d;--color-yellow-0:#fdfbf0;--color-yellow-1:#f9f4d6;--color-yellow-2:#f0e6a6;--color-yellow-3:#e3d372;--color-yellow-4:#d4bf47;--color-yellow-5:#c2a72b;--color-yellow-6:#a68c1a;--color-yellow-7:#8a7315;--color-yellow-8:#6e5a12;--color-yellow-9:#584610;--color-orange-0:#fdf6f0;--color-orange-1:#f7e6d3;--color-orange-2:#edd1b0;--color-orange-3:#deb887;--color-orange-4:#cd9a5b;--color-orange-5:#b8833a;--color-orange-6:#a0692f;--color-orange-7:#8b5a28;--color-orange-8:#704621;--color-orange-9:#5a3419}
1
+ :root{--color-white:#fff;--color-black:#000;--color-primary-0:var(--color-blue-0);--color-primary-1:var(--color-blue-1);--color-primary-2:var(--color-blue-2);--color-primary-3:var(--color-blue-3);--color-primary-4:var(--color-blue-4);--color-primary-5:var(--color-blue-5);--color-primary-6:var(--color-blue-6);--color-primary-7:var(--color-blue-7);--color-primary-8:var(--color-blue-8);--color-primary-9:var(--color-blue-9);--color-primary-filled:var(--color-blue-filled);--color-primary-filled-hover:var(--color-blue-filled-hover);--color-primary-light:alpha(var(--color-blue-light),.15);--color-primary-light-hover:var(--color-blue-light-hover);--color-primary-light-color:var(--color-blue-light-color);--color-primary-outline:var(--color-blue-outline);--color-primary-outline-hover:alpha(var(--color-blue-outline),.1);--color-dark-0:#c9c9c9;--color-dark-1:#b8b8b8;--color-dark-2:#828282;--color-dark-3:#696969;--color-dark-4:#424242;--color-dark-5:#3b3b3b;--color-dark-6:#2e2e2e;--color-dark-7:#242424;--color-dark-8:#1f1f1f;--color-dark-9:#141414;--color-slate-0:#f8f9fb;--color-slate-1:#f1f3f6;--color-slate-2:#e4e7ed;--color-slate-3:#dadce5;--color-slate-4:#c1c6d4;--color-slate-5:#9096b2;--color-slate-6:#4a5568;--color-slate-7:#313446;--color-slate-8:#252938;--color-slate-9:#1d1f29;--color-gray-0:#f8f9fa;--color-gray-1:#f1f3f5;--color-gray-2:#e9ecef;--color-gray-3:#dee2e6;--color-gray-4:#ced4da;--color-gray-5:#adb5bd;--color-gray-6:#868e96;--color-gray-7:#495057;--color-gray-8:#343a40;--color-gray-9:#212529;--color-red-0:#fff5f5;--color-red-1:#ffe3e3;--color-red-2:#ffc9c9;--color-red-3:#ffa8a8;--color-red-4:#ff8787;--color-red-5:#ff6b6b;--color-red-6:#fa5252;--color-red-7:#f03e3e;--color-red-8:#e03131;--color-red-9:#c92a2a;--color-pink-0:#fdf6f8;--color-pink-1:#f7e4e9;--color-pink-2:#edc2d0;--color-pink-3:#dd9bb0;--color-pink-4:#c97a93;--color-pink-5:#b26179;--color-pink-6:#954d65;--color-pink-7:#7a3e52;--color-pink-8:#603140;--color-pink-9:#4d2733;--color-grape-0:#f8f0fc;--color-grape-1:#f3d9fa;--color-grape-2:#eebefa;--color-grape-3:#e599f7;--color-grape-4:#da77f2;--color-grape-5:#cc5de8;--color-grape-6:#be4bdb;--color-grape-7:#ae3ec9;--color-grape-8:#9c36b5;--color-grape-9:#862e9c;--color-violet-0:#f3f0ff;--color-violet-1:#e5dbff;--color-violet-2:#d0bfff;--color-violet-3:#b197fc;--color-violet-4:#9775fa;--color-violet-5:#845ef7;--color-violet-6:#7950f2;--color-violet-7:#7048e8;--color-violet-8:#6741d9;--color-violet-9:#5f3dc4;--color-indigo-0:#edf2ff;--color-indigo-1:#dbe4ff;--color-indigo-2:#bac8ff;--color-indigo-3:#91a7ff;--color-indigo-4:#748ffc;--color-indigo-5:#5c7cfa;--color-indigo-6:#4c6ef5;--color-indigo-7:#4263eb;--color-indigo-8:#3b5bdb;--color-indigo-9:#364fc7;--color-blue-0:#e7f5ff;--color-blue-1:#d0ebff;--color-blue-2:#a5d8ff;--color-blue-3:#74c0fc;--color-blue-4:#4dabf7;--color-blue-5:#339af0;--color-blue-6:#228be6;--color-blue-7:#1c7ed6;--color-blue-8:#1971c2;--color-blue-9:#1864ab;--color-cyan-0:#e3fafc;--color-cyan-1:#c5f6fa;--color-cyan-2:#99e9f2;--color-cyan-3:#66d9e8;--color-cyan-4:#3bc9db;--color-cyan-5:#22b8cf;--color-cyan-6:#15aabf;--color-cyan-7:#1098ad;--color-cyan-8:#0c8599;--color-cyan-9:#0b7285;--color-teal-0:#e6fcf5;--color-teal-1:#c3fae8;--color-teal-2:#96f2d7;--color-teal-3:#63e6be;--color-teal-4:#38d9a9;--color-teal-5:#20c997;--color-teal-6:#12b886;--color-teal-7:#0ca678;--color-teal-8:#099268;--color-teal-9:#087f5b;--color-green-0:#ebfbee;--color-green-1:#d3f9d8;--color-green-2:#b2f2bb;--color-green-3:#8ce99a;--color-green-4:#69db7c;--color-green-5:#51cf66;--color-green-6:#40c057;--color-green-7:#37b24d;--color-green-8:#2f9e44;--color-green-9:#2b8a3e;--color-lime-0:#f4fce3;--color-lime-1:#e9fac8;--color-lime-2:#d8f5a2;--color-lime-3:#c0eb75;--color-lime-4:#a9e34b;--color-lime-5:#94d82d;--color-lime-6:#82c91e;--color-lime-7:#74b816;--color-lime-8:#66a80f;--color-lime-9:#5c940d;--color-yellow-0:#fff9db;--color-yellow-1:#fff3bf;--color-yellow-2:#ffec99;--color-yellow-3:#ffe066;--color-yellow-4:#ffd43b;--color-yellow-5:#fcc419;--color-yellow-6:#fab005;--color-yellow-7:#f59f00;--color-yellow-8:#f08c00;--color-yellow-9:#e67700;--color-orange-0:#fff4e6;--color-orange-1:#ffe8cc;--color-orange-2:#ffd8a8;--color-orange-3:#ffc078;--color-orange-4:#ffa94d;--color-orange-5:#ff922b;--color-orange-6:#fd7e14;--color-orange-7:#f76707;--color-orange-8:#e8590c;--color-orange-9:#d9480f}
@@ -1 +1 @@
1
- :root{@mixin light-root{--primary-color-contrast:var(--color-white);--color-bright:var(--color-black);--color-text:#000;--color-body:#fff;--color-error:var(--color-red-6);--color-placeholder:var(--color-gray-5);--color-anchor:var(--color-blue-6);--color-default:var(--color-white);--color-default-hover:var(--color-gray-0);--color-default-color:var(--color-black);--color-default-border:var(--color-gray-4);--color-dimmed:var(--color-gray-6);--color-disabled:var(--color-gray-2);--color-disabled-text:var(--color-gray-5);--color-disabled-border:var(--color-gray-3);--color-dark-color:var(--color-dark-filled);--color-dark-filled:var(--color-dark-6);--color-dark-filled-hover:var(--color-dark-7);--color-dark-light:rgba(46,46,46,.1);--color-dark-light-hover:rgba(46,46,46,.12);--color-dark-light-color:var(--color-dark-6);--color-dark-outline:var(--color-dark-6);--color-dark-outline-hover:rgba(46,46,46,.05);--color-gray-color:var(--color-gray-filled);--color-gray-filled:var(--color-gray-6);--color-gray-filled-hover:var(--color-gray-7);--color-gray-light:hsla(210,7%,56%,.1);--color-gray-light-hover:hsla(210,7%,56%,.12);--color-gray-light-color:var(--color-gray-6);--color-gray-outline:var(--color-gray-6);--color-gray-outline-hover:hsla(210,7%,56%,.05);--color-red-color:var(--color-red-filled);--color-red-filled:var(--color-red-6);--color-red-filled-hover:var(--color-red-7);--color-red-light:rgba(250,82,82,.1);--color-red-light-hover:rgba(250,82,82,.12);--color-red-light-color:var(--color-red-6);--color-red-outline:var(--color-red-6);--color-red-outline-hover:rgba(250,82,82,.05);--color-pink-color:var(--color-pink-filled);--color-pink-filled:var(--color-pink-6);--color-pink-filled-hover:var(--color-pink-7);--color-pink-light:rgba(230,73,128,.1);--color-pink-light-hover:rgba(230,73,128,.12);--color-pink-light-color:var(--color-pink-6);--color-pink-outline:var(--color-pink-6);--color-pink-outline-hover:rgba(230,73,128,.05);--color-grape-color:var(--color-grape-filled);--color-grape-filled:var(--color-grape-6);--color-grape-filled-hover:var(--color-grape-7);--color-grape-light:rgba(190,75,219,.1);--color-grape-light-hover:rgba(190,75,219,.12);--color-grape-light-color:var(--color-grape-6);--color-grape-outline:var(--color-grape-6);--color-grape-outline-hover:rgba(190,75,219,.05);--color-violet-color:var(--color-violet-filled);--color-violet-filled:var(--color-violet-6);--color-violet-filled-hover:var(--color-violet-7);--color-violet-light:rgba(121,80,242,.1);--color-violet-light-hover:rgba(121,80,242,.12);--color-violet-light-color:var(--color-violet-6);--color-violet-outline:var(--color-violet-6);--color-violet-outline-hover:rgba(121,80,242,.05);--color-indigo-color:var(--color-indigo-filled);--color-indigo-filled:var(--color-indigo-6);--color-indigo-filled-hover:var(--color-indigo-7);--color-indigo-light:rgba(76,110,245,.1);--color-indigo-light-hover:rgba(76,110,245,.12);--color-indigo-light-color:var(--color-indigo-6);--color-indigo-outline:var(--color-indigo-6);--color-indigo-outline-hover:rgba(76,110,245,.05);--color-blue-color:var(--color-blue-filled);--color-blue-filled:var(--color-blue-6);--color-blue-filled-hover:var(--color-blue-7);--color-blue-light:rgba(34,139,230,.1);--color-blue-light-hover:rgba(34,139,230,.12);--color-blue-light-color:var(--color-blue-6);--color-blue-outline:var(--color-blue-6);--color-blue-outline-hover:rgba(34,139,230,.05);--color-cyan-color:var(--color-cyan-filled);--color-cyan-filled:var(--color-cyan-6);--color-cyan-filled-hover:var(--color-cyan-7);--color-cyan-light:rgba(21,170,191,.1);--color-cyan-light-hover:rgba(21,170,191,.12);--color-cyan-light-color:var(--color-cyan-6);--color-cyan-outline:var(--color-cyan-6);--color-cyan-outline-hover:rgba(21,170,191,.05);--color-teal-color:var(--color-teal-filled);--color-teal-filled:var(--color-teal-6);--color-teal-filled-hover:var(--color-teal-7);--color-teal-light:rgba(18,184,134,.1);--color-teal-light-hover:rgba(18,184,134,.12);--color-teal-light-color:var(--color-teal-6);--color-teal-outline:var(--color-teal-6);--color-teal-outline-hover:rgba(18,184,134,.05);--color-green-color:var(--color-green-filled);--color-green-filled:var(--color-green-6);--color-green-filled-hover:var(--color-green-7);--color-green-light:rgba(64,192,87,.1);--color-green-light-hover:rgba(64,192,87,.12);--color-green-light-color:var(--color-green-6);--color-green-outline:var(--color-green-6);--color-green-outline-hover:rgba(64,192,87,.05);--color-lime-color:var(--color-lime-filled);--color-lime-filled:var(--color-lime-6);--color-lime-filled-hover:var(--color-lime-7);--color-lime-light:rgba(130,201,30,.1);--color-lime-light-hover:rgba(130,201,30,.12);--color-lime-light-color:var(--color-lime-6);--color-lime-outline:var(--color-lime-6);--color-lime-outline-hover:rgba(130,201,30,.05);--color-yellow-color:var(--color-yellow-filled);--color-yellow-filled:var(--color-yellow-6);--color-yellow-filled-hover:var(--color-yellow-7);--color-yellow-light:rgba(250,176,5,.1);--color-yellow-light-hover:rgba(250,176,5,.12);--color-yellow-light-color:var(--color-yellow-6);--color-yellow-outline:var(--color-yellow-6);--color-yellow-outline-hover:rgba(250,176,5,.05);--color-orange-color:var(--color-orange-filled);--color-orange-filled:var(--color-orange-6);--color-orange-filled-hover:var(--color-orange-7);--color-orange-light:rgba(253,126,20,.1);--color-orange-light-hover:rgba(253,126,20,.12);--color-orange-light-color:var(--color-orange-6);--color-orange-outline:var(--color-orange-6);--color-orange-outline-hover:rgba(253,126,20,.05)}}
1
+ :root{@mixin light-root{--primary-color-contrast:var(--color-white);--color-bright:var(--color-black);--color-text:#000;--color-body:#fff;--color-error:var(--color-red-6);--color-placeholder:var(--color-gray-5);--color-anchor:var(--color-blue-6);--color-default:var(--color-white);--color-default-hover:var(--color-gray-0);--color-default-color:var(--color-black);--color-default-border:var(--color-gray-4);--color-dimmed:var(--color-gray-6);--color-disabled:var(--color-gray-2);--color-disabled-text:var(--color-gray-5);--color-disabled-border:var(--color-gray-3);--color-dark-color:var(--color-dark-filled);--color-dark-filled:var(--color-dark-6);--color-dark-filled-hover:var(--color-dark-7);--color-dark-light:alpha(var(--color-dark-6),0.1);--color-dark-light-hover:alpha(var(--color-dark-6),0.12);--color-dark-light-color:var(--color-dark-6);--color-dark-outline:var(--color-dark-6);--color-dark-outline-hover:alpha(var(--color-dark-6),0.05);--color-gray-color:var(--color-gray-filled);--color-gray-filled:var(--color-gray-6);--color-gray-filled-hover:var(--color-gray-7);--color-gray-light:alpha(var(--color-gray-6),0.1);--color-gray-light-hover:alpha(var(--color-gray-6),0.12);--color-gray-light-color:var(--color-gray-6);--color-gray-outline:var(--color-gray-6);--color-gray-outline-hover:alpha(var(--color-gray-6),0.05);--color-red-color:var(--color-red-filled);--color-red-filled:var(--color-red-6);--color-red-filled-hover:var(--color-red-7);--color-red-light:alpha(var(--color-red-8),.1);--color-red-light-hover:alpha(var(--color-red-8),.12);--color-red-light-color:var(--color-red-6);--color-red-outline:var(--color-red-6);--color-red-outline-hover:alpha(var(--color-red-8),.01);--color-pink-color:var(--color-pink-filled);--color-pink-filled:var(--color-pink-6);--color-pink-filled-hover:var(--color-pink-7);--color-pink-light:alpha(var(--color-pink-6),0.1);--color-pink-light-hover:alpha(var(--color-pink-6),0.12);--color-pink-light-color:var(--color-pink-6);--color-pink-outline:var(--color-pink-6);--color-pink-outline-hover:alpha(var(--color-pink-6),0.05);--color-grape-color:var(--color-grape-filled);--color-grape-filled:var(--color-grape-6);--color-grape-filled-hover:var(--color-grape-7);--color-grape-light:alpha(var(--color-grape-6),0.1);--color-grape-light-hover:alpha(var(--color-grape-6),0.12);--color-grape-light-color:var(--color-grape-6);--color-grape-outline:var(--color-grape-6);--color-grape-outline-hover:alpha(var(--color-grape-6),0.05);--color-violet-color:var(--color-violet-filled);--color-violet-filled:var(--color-violet-6);--color-violet-filled-hover:var(--color-violet-7);--color-violet-light:alpha(var(--color-violet-6),0.1);--color-violet-light-hover:alpha(var(--color-violet-6),0.12);--color-violet-light-color:var(--color-violet-6);--color-violet-outline:var(--color-violet-6);--color-violet-outline-hover:alpha(var(--color-violet-6),0.05);--color-indigo-color:var(--color-indigo-filled);--color-indigo-filled:var(--color-indigo-6);--color-indigo-filled-hover:var(--color-indigo-7);--color-indigo-light:alpha(var(--color-indigo-6),0.1);--color-indigo-light-hover:alpha(var(--color-indigo-6),0.12);--color-indigo-light-color:var(--color-indigo-6);--color-indigo-outline:var(--color-indigo-6);--color-indigo-outline-hover:alpha(var(--color-indigo-6),0.05);--color-blue-color:var(--color-blue-filled);--color-blue-filled:var(--color-blue-6);--color-blue-filled-hover:var(--color-blue-7);--color-blue-light:alpha(var(--color-blue-6),0.1);--color-blue-light-hover:alpha(var(--color-blue-6),0.12);--color-blue-light-color:var(--color-blue-6);--color-blue-outline:var(--color-blue-6);--color-blue-outline-hover:alpha(var(--color-blue-6),0.05);--color-cyan-color:var(--color-cyan-filled);--color-cyan-filled:var(--color-cyan-6);--color-cyan-filled-hover:var(--color-cyan-7);--color-cyan-light:alpha(var(--color-cyan-6),0.1);--color-cyan-light-hover:alpha(var(--color-cyan-6),0.12);--color-cyan-light-color:var(--color-cyan-6);--color-cyan-outline:var(--color-cyan-6);--color-cyan-outline-hover:alpha(var(--color-cyan-6),0.05);--color-teal-color:var(--color-teal-filled);--color-teal-filled:var(--color-teal-6);--color-teal-filled-hover:var(--color-teal-7);--color-teal-light:alpha(var(--color-teal-6),0.1);--color-teal-light-hover:alpha(var(--color-teal-6),0.12);--color-teal-light-color:var(--color-teal-6);--color-teal-outline:var(--color-teal-6);--color-teal-outline-hover:alpha(var(--color-teal-6),0.05);--color-green-color:var(--color-green-filled);--color-green-filled:var(--color-green-6);--color-green-filled-hover:var(--color-green-7);--color-green-light:alpha(var(--color-green-6),0.1);--color-green-light-hover:alpha(var(--color-green-6),0.12);--color-green-light-color:var(--color-green-6);--color-green-outline:var(--color-green-6);--color-green-outline-hover:alpha(var(--color-green-6),0.05);--color-lime-color:var(--color-lime-filled);--color-lime-filled:var(--color-lime-6);--color-lime-filled-hover:var(--color-lime-7);--color-lime-light:alpha(var(--color-lime-6),0.1);--color-lime-light-hover:alpha(var(--color-lime-6),0.12);--color-lime-light-color:var(--color-lime-6);--color-lime-outline:var(--color-lime-6);--color-lime-outline-hover:alpha(var(--color-lime-6),0.05);--color-yellow-color:var(--color-yellow-filled);--color-yellow-filled:var(--color-yellow-6);--color-yellow-filled-hover:var(--color-yellow-7);--color-yellow-light:alpha(var(--color-yellow-6),0.1);--color-yellow-light-hover:alpha(var(--color-yellow-6),0.12);--color-yellow-light-color:var(--color-yellow-6);--color-yellow-outline:var(--color-yellow-6);--color-yellow-outline-hover:alpha(var(--color-yellow-6),0.05);--color-orange-color:var(--color-orange-filled);--color-orange-filled:var(--color-orange-6);--color-orange-filled-hover:var(--color-orange-7);--color-orange-light:alpha(var(--color-orange-6),0.1);--color-orange-light-hover:alpha(var(--color-orange-6),0.12);--color-orange-light-color:var(--color-orange-6);--color-orange-outline:var(--color-orange-6);--color-orange-outline-hover:alpha(var(--color-orange-6),0.05)}}
@@ -0,0 +1,2 @@
1
+ export type Mod = Record<string, any>;
2
+ export declare function getMod(props: Mod | Mod[]): Mod;
@@ -1,7 +1,6 @@
1
- import { isFalsy } from "@nui/utils";
2
- import { computed } from "vue";
1
+ import { isFalsy } from "./boolean/is-falsy.js";
3
2
  const transformKey = (key) => key.startsWith("data-") ? key : `data-${key}`;
4
- function getMod(props) {
3
+ export function getMod(props) {
5
4
  if (Array.isArray(props)) {
6
5
  return props.filter((i) => !isFalsy(i)).reduce((acc, item) => ({ ...acc, ...getMod(item) }), {});
7
6
  }
@@ -13,13 +12,3 @@ function getMod(props) {
13
12
  return acc;
14
13
  }, {});
15
14
  }
16
- export function useMod(mod) {
17
- return computed(() => {
18
- if (!mod)
19
- return null;
20
- if (Array.isArray(mod)) {
21
- return mod.filter((i) => !isFalsy(i)).reduce((acc, value) => ({ ...acc, ...getMod(value) }), {});
22
- }
23
- return getMod(mod);
24
- });
25
- }
@@ -1,7 +1,9 @@
1
1
  export { isFalsy } from './boolean/is-falsy.js';
2
2
  export { getGradient } from './color-functions/get-gradient.js';
3
3
  export { em, rem } from './converters/rem.js';
4
+ export * from './get-mod.js';
4
5
  export { getSafeId } from './get-safe-id.js';
5
6
  export * from './get-size/get-size.js';
6
7
  export { getThemeColor, parseThemeColor } from './parse-theme-color/parse-theme-color.js';
8
+ export * from './tree.js';
7
9
  export { createVariantColorResolver } from './vars-resolver/create-variant-color-resolver.js';
@@ -1,7 +1,9 @@
1
1
  export { isFalsy } from "./boolean/is-falsy.js";
2
2
  export { getGradient } from "./color-functions/get-gradient.js";
3
3
  export { em, rem } from "./converters/rem.js";
4
+ export * from "./get-mod.js";
4
5
  export { getSafeId } from "./get-safe-id.js";
5
6
  export * from "./get-size/get-size.js";
6
7
  export { getThemeColor, parseThemeColor } from "./parse-theme-color/parse-theme-color.js";
8
+ export * from "./tree.js";
7
9
  export { createVariantColorResolver } from "./vars-resolver/create-variant-color-resolver.js";
@@ -0,0 +1,107 @@
1
+ /** Represents a tree node with a value and optional children. */
2
+ export interface TreeNode<T extends string = string> {
3
+ /** The value stored in this tree node */
4
+ value: string;
5
+ /** Optional array of child nodes */
6
+ children?: TreeNode<T>[];
7
+ }
8
+ /**
9
+ * Filters tree nodes based on a predicate function.
10
+ * Returns a new tree containing only nodes that match the predicate.
11
+ * Parent nodes are kept if they have matching children.
12
+ *
13
+ * @template Node - The type of tree nodes
14
+ * @param {Node[]} tree - The tree to filter
15
+ * @param {(node: Node) => boolean} predicate - Function to test each node
16
+ * @returns {Node[]} New filtered tree
17
+ * @example
18
+ * const tree = [
19
+ * { value: 'folder', children: [{ value: 'file1' }, { value: 'file2' }] },
20
+ * { value: 'file3' }
21
+ * ]
22
+ * // Keep only folders (nodes with children)
23
+ * filterTree(tree, node => node.children && node.children.length > 0)
24
+ * // Result: [{ value: 'folder', children: [{ value: 'file1' }, { value: 'file2' }] }]
25
+ */
26
+ export declare function filterTree<Node extends TreeNode = TreeNode>(tree: Node[], predicate: (node: Node) => boolean): Node[];
27
+ /**
28
+ * Searches for a tree item by its value using depth-first search.
29
+ * @template T - The type of node values
30
+ * @param {TreeNode<T>[]} items - The array of tree nodes to search in
31
+ * @param {T} value - The value to search for
32
+ * @returns {TreeNode<T> | null} The found node or null if not found
33
+ * @example
34
+ * const tree = [{ value: 'folder', children: [{ value: 'file' }] }]
35
+ * findTreeItem(tree, 'file') // { value: 'file' }
36
+ * findTreeItem(tree, 'missing') // null
37
+ */
38
+ export declare function findTreeItem<T extends string = string>(items: TreeNode<T>[], value: T): TreeNode<T> | null;
39
+ /**
40
+ * Flattens a tree structure into a single-level array in depth-first order.
41
+ * @template T - The type of node values
42
+ * @param {TreeNode<T>[]} tree - The tree to flatten
43
+ * @returns {TreeNode<T>[]} Flattened array containing all nodes
44
+ * @example
45
+ * const tree = [
46
+ * { value: 'root', children: [
47
+ * { value: 'child1' },
48
+ * { value: 'child2' }
49
+ * ]}
50
+ * ]
51
+ * flatTree(tree) // [{ value: 'root', ... }, { value: 'child1' }, { value: 'child2' }]
52
+ */
53
+ export declare function flatTree<T extends string = string>(tree: TreeNode<T>[]): TreeNode<T>[];
54
+ /**
55
+ * Gets all descendant values of a specific node in the tree.
56
+ *
57
+ * @template T - The type of node values
58
+ * @param {TreeNode<T>[]} tree - The tree to search in
59
+ * @param {T} value - The value of the parent node
60
+ * @returns {T[]} Array of all descendant values (empty if node not found or has no children)
61
+ * @example
62
+ * const tree = [
63
+ * { value: 'folder', children: [
64
+ * { value: 'file1' },
65
+ * { value: 'subfolder', children: [{ value: 'file2' }] }
66
+ * ]}
67
+ * ]
68
+ * getBranchChildren(tree, 'folder') // ['file1', 'subfolder', 'file2']
69
+ * getBranchChildren(tree, 'file1') // []
70
+ */
71
+ export declare function getBranchChildren<T extends string = string>(tree: TreeNode<T>[], value: T): T[];
72
+ /**
73
+ * Gets all node values between two specified values (inclusive) in tree traversal order.
74
+ * If start comes after end in traversal order, the range is automatically reversed.
75
+ * Uses a single-pass algorithm that flattens and searches simultaneously.
76
+ * @template T - The type of node values
77
+ * @param {TreeNode<T>[]} tree - The tree to search in
78
+ * @param {T} start - The starting value
79
+ * @param {T} end - The ending value
80
+ * @returns {T[]} Array of values between start and end (inclusive), empty if either value not found
81
+ * @example
82
+ * const tree = [
83
+ * { value: 'a', children: [{ value: 'b' }, { value: 'c' }] },
84
+ * { value: 'd' }
85
+ * ]
86
+ * getItemsBetween(tree, 'b', 'd') // ['b', 'c', 'd']
87
+ * getItemsBetween(tree, 'd', 'b') // ['b', 'c', 'd'] (auto-reversed)
88
+ * getItemsBetween(tree, 'a', 'missing') // []
89
+ */
90
+ export declare function getTreeItemsBetween<T extends string = string>(tree: TreeNode<T>[], start: T, end: T): T[];
91
+ /**
92
+ * Removes nodes with specified values from the tree, including their subtrees.
93
+ * Returns a new tree without modifying the original.
94
+ *
95
+ * @template T - The type of node values
96
+ * @param {TreeNode<T>[]} tree - The original tree (array of root nodes)
97
+ * @param {T[]} valuesToRemove - Array of values to remove
98
+ * @returns {TreeNode<T>[]} New tree with specified nodes and their subtrees removed
99
+ * @example
100
+ * const tree = [
101
+ * { value: 'a', children: [{ value: 'b' }, { value: 'c' }] },
102
+ * { value: 'd' }
103
+ * ]
104
+ * removeTreeNodes(tree, ['b', 'd']) // [{ value: 'a', children: [{ value: 'c' }] }]
105
+ * removeTreeNodes(tree, ['a']) // [{ value: 'd' }]
106
+ */
107
+ export declare function removeTreeNodes<Node extends TreeNode = TreeNode, Value extends string = string>(tree: Node[], valuesToRemove: Value[]): Node[];
@@ -0,0 +1,85 @@
1
+ function traverse(nodes) {
2
+ const result = [];
3
+ for (const node of nodes) {
4
+ result.push(node);
5
+ if (node.children?.length)
6
+ result.push(...traverse(node.children));
7
+ }
8
+ return result;
9
+ }
10
+ export function filterTree(tree, predicate) {
11
+ const result = [];
12
+ for (const node of tree) {
13
+ const filteredChildren = node.children?.length ? filterTree(node.children, predicate) : void 0;
14
+ if (predicate(node) || filteredChildren && filteredChildren.length > 0) {
15
+ const newNode = { ...node };
16
+ if (filteredChildren && filteredChildren.length > 0)
17
+ newNode.children = filteredChildren;
18
+ else
19
+ delete newNode.children;
20
+ result.push(newNode);
21
+ }
22
+ }
23
+ return result;
24
+ }
25
+ export function findTreeItem(items, value) {
26
+ for (const item of items) {
27
+ if (item.value === value)
28
+ return item;
29
+ if (item.children?.length) {
30
+ const found = findTreeItem(item.children, value);
31
+ if (found)
32
+ return found;
33
+ }
34
+ }
35
+ return null;
36
+ }
37
+ export function flatTree(tree) {
38
+ return traverse(tree);
39
+ }
40
+ export function getBranchChildren(tree, value) {
41
+ const children = [];
42
+ function findAndExtract(nodes) {
43
+ for (const node of nodes) {
44
+ if (node.value === value) {
45
+ if (node.children?.length) {
46
+ const extracted = traverse(node.children);
47
+ children.push(...extracted.map((i) => i.value));
48
+ }
49
+ return true;
50
+ }
51
+ if (node.children?.length && findAndExtract(node.children))
52
+ return true;
53
+ }
54
+ return false;
55
+ }
56
+ findAndExtract(tree);
57
+ return children;
58
+ }
59
+ export function getTreeItemsBetween(tree, start, end) {
60
+ const result = [];
61
+ let startIdx = -1;
62
+ let endIdx = -1;
63
+ let currentIdx = 0;
64
+ function traverseAndFind(nodes) {
65
+ for (const node of nodes) {
66
+ if (node.value === start)
67
+ startIdx = currentIdx;
68
+ if (node.value === end)
69
+ endIdx = currentIdx;
70
+ result.push(node.value);
71
+ currentIdx++;
72
+ if (node.children?.length)
73
+ traverseAndFind(node.children);
74
+ }
75
+ }
76
+ traverseAndFind(tree);
77
+ if (startIdx === -1 || endIdx === -1)
78
+ return [];
79
+ const [from, to] = startIdx < endIdx ? [startIdx, endIdx] : [endIdx, startIdx];
80
+ return result.slice(from, to + 1);
81
+ }
82
+ export function removeTreeNodes(tree, valuesToRemove) {
83
+ const removeSet = new Set(valuesToRemove);
84
+ return filterTree(tree, (n) => !removeSet.has(n.value));
85
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nuance-ui",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "A UI Library for Modern Web Apps, powered by Vue.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,2 +0,0 @@
1
- export type Mod = Record<string, any>;
2
- export declare function useMod(mod: Mod | Mod[] | Mod[][] | null | undefined): Mod | null;