@kerkhoff-ict/solora 2.4.0 → 2.4.1

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.css CHANGED
@@ -817,6 +817,80 @@ flux\\:input:focus {
817
817
 
818
818
  /* src/components/darkToggle.css */
819
819
 
820
+ /* src/components/popover.css */
821
+ .popover {
822
+ position: relative;
823
+ display: inline-block;
824
+ font-family:
825
+ -apple-system,
826
+ BlinkMacSystemFont,
827
+ "Segoe UI",
828
+ Roboto,
829
+ Helvetica,
830
+ Arial,
831
+ sans-serif;
832
+ cursor: pointer;
833
+ user-select: none;
834
+ }
835
+ .popover-content {
836
+ position: absolute;
837
+ top: 100%;
838
+ left: 0;
839
+ min-width: 10rem;
840
+ max-width: 20rem;
841
+ border-radius: 12px;
842
+ margin-top: 0.5rem;
843
+ overflow: hidden;
844
+ overflow-y: auto;
845
+ background: transparent;
846
+ border: 1px solid rgba(255, 255, 255, 0.3);
847
+ backdrop-filter: blur(12px);
848
+ -webkit-backdrop-filter: blur(12px);
849
+ box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
850
+ opacity: 0;
851
+ transform: translateY(-10px) scale(0.95);
852
+ pointer-events: none;
853
+ transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
854
+ z-index: 1000;
855
+ padding: 0.5rem;
856
+ color: var(--color-text-dark, #000);
857
+ background: var(--color-bg, #fefefe);
858
+ }
859
+ .popover.sol-pop-w-16 {
860
+ width: 4rem;
861
+ }
862
+ .popover.sol-pop-w-32 {
863
+ width: 8rem;
864
+ }
865
+ .popover.sol-pop-w-64 {
866
+ width: 16rem;
867
+ }
868
+ .popover-content::-webkit-scrollbar {
869
+ width: 6px;
870
+ }
871
+ .popover-content::-webkit-scrollbar-thumb {
872
+ background: rgba(0, 0, 0, 0.2);
873
+ border-radius: 3px;
874
+ }
875
+ .popover-content::-webkit-scrollbar-track {
876
+ background: transparent;
877
+ }
878
+ .popover.open .popover-content {
879
+ opacity: 1;
880
+ transform: translateY(0) scale(1);
881
+ pointer-events: auto;
882
+ }
883
+ :root.dark .popover-content {
884
+ background: transparent;
885
+ backdrop-filter: blur(12px);
886
+ -webkit-backdrop-filter: blur(12px);
887
+ box-shadow: 0 12px 32px rgba(0, 0, 0, 0.6);
888
+ color: #f0f0f0;
889
+ }
890
+ :root.dark .popover-content::-webkit-scrollbar-thumb {
891
+ background: rgba(255, 255, 255, 0.2);
892
+ }
893
+
820
894
  /* src/index.css */
821
895
  :root {
822
896
  --font-body:
package/dist/index.js CHANGED
@@ -2268,6 +2268,29 @@ function initThemeToggle(elementSelector = ".sol-theme-toggle") {
2268
2268
  });
2269
2269
  }
2270
2270
 
2271
+ // src/components/popover.js
2272
+ function initPopovers() {
2273
+ if (typeof window === "undefined") return;
2274
+ document.querySelectorAll(".popover").forEach((pop) => {
2275
+ if (pop.dataset.initialized) return;
2276
+ pop.dataset.initialized = "true";
2277
+ const content = pop.querySelector(".popover-content");
2278
+ if (!content) return;
2279
+ const toggle = () => pop.classList.toggle("open");
2280
+ const close = () => pop.classList.remove("open");
2281
+ pop.addEventListener("click", (e) => {
2282
+ e.stopPropagation();
2283
+ toggle();
2284
+ });
2285
+ document.addEventListener("click", (e) => {
2286
+ if (!pop.contains(e.target)) close();
2287
+ });
2288
+ document.addEventListener("keydown", (e) => {
2289
+ if (e.key === "Escape") close();
2290
+ });
2291
+ });
2292
+ }
2293
+
2271
2294
  // src/index.js
2272
2295
  function safeInitAll() {
2273
2296
  try {
@@ -2275,6 +2298,7 @@ function safeInitAll() {
2275
2298
  initDropdowns();
2276
2299
  initContextMenu();
2277
2300
  initThemeToggle();
2301
+ initPopovers();
2278
2302
  } catch (err) {
2279
2303
  console.warn("[Solora] initAll error:", err);
2280
2304
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kerkhoff-ict/solora",
3
- "version": "2.4.0",
3
+ "version": "2.4.1",
4
4
  "description": "Simple CSS component library",
5
5
  "main": "dist/index.js",
6
6
  "style": "dist/index.css",