@netfoundry/docusaurus-theme 0.1.8 → 0.2.0

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 (87) hide show
  1. package/css/legacy.css +2 -46
  2. package/css/tabs-v1-gradient.css +92 -0
  3. package/css/tabs-v2-glass.css +116 -0
  4. package/css/tabs-v3-minimal.css +86 -0
  5. package/css/tabs-v4-segmented.css +85 -0
  6. package/css/tabs-v5-neon.css +99 -0
  7. package/css/tabs-v6-neumorphic.css +89 -0
  8. package/css/tabs-v7-brutalist.css +81 -0
  9. package/css/tabs-v8-float.css +114 -0
  10. package/css/tabs-v9-line.css +104 -0
  11. package/css/theme.css +72 -20
  12. package/dist/css/legacy.css +2 -46
  13. package/dist/css/tabs-v1-gradient.css +92 -0
  14. package/dist/css/tabs-v2-glass.css +116 -0
  15. package/dist/css/tabs-v3-minimal.css +86 -0
  16. package/dist/css/tabs-v4-segmented.css +85 -0
  17. package/dist/css/tabs-v5-neon.css +99 -0
  18. package/dist/css/tabs-v6-neumorphic.css +89 -0
  19. package/dist/css/tabs-v7-brutalist.css +81 -0
  20. package/dist/css/tabs-v8-float.css +114 -0
  21. package/dist/css/tabs-v9-line.css +104 -0
  22. package/dist/css/theme.css +72 -20
  23. package/dist/src/components/NetFoundryFooter/defaults.d.ts +19 -0
  24. package/dist/src/components/NetFoundryFooter/defaults.d.ts.map +1 -0
  25. package/dist/src/components/NetFoundryFooter/defaults.js +24 -0
  26. package/dist/src/components/NetFoundryFooter/defaults.js.map +1 -0
  27. package/dist/src/components/NetFoundryLayout/NetFoundryLayout.d.ts.map +1 -1
  28. package/dist/src/components/NetFoundryLayout/NetFoundryLayout.js +3 -1
  29. package/dist/src/components/NetFoundryLayout/NetFoundryLayout.js.map +1 -1
  30. package/dist/src/components/ProductSearch/ProductSearch.d.ts +10 -0
  31. package/dist/src/components/ProductSearch/ProductSearch.d.ts.map +1 -0
  32. package/dist/src/components/ProductSearch/ProductSearch.js +140 -0
  33. package/dist/src/components/ProductSearch/ProductSearch.js.map +1 -0
  34. package/dist/src/components/ProductSearch/ProductSearch.module.css +189 -0
  35. package/dist/src/components/ProductSearch/index.d.ts +4 -0
  36. package/dist/src/components/ProductSearch/index.d.ts.map +1 -0
  37. package/dist/src/components/ProductSearch/index.js +4 -0
  38. package/dist/src/components/ProductSearch/index.js.map +1 -0
  39. package/dist/src/components/index.d.ts +1 -0
  40. package/dist/src/components/index.d.ts.map +1 -1
  41. package/dist/src/components/index.js +1 -0
  42. package/dist/src/components/index.js.map +1 -1
  43. package/dist/src/index.js +1 -1
  44. package/dist/src/index.js.map +1 -1
  45. package/dist/src/options.d.ts +20 -30
  46. package/dist/src/options.d.ts.map +1 -1
  47. package/dist/theme/BlogPostPage/Metadata.d.ts +2 -0
  48. package/dist/theme/BlogPostPage/Metadata.d.ts.map +1 -0
  49. package/dist/theme/BlogPostPage/Metadata.js +2 -0
  50. package/dist/theme/BlogPostPage/Metadata.js.map +1 -0
  51. package/dist/theme/BlogPostPage/StructuredData.d.ts +2 -0
  52. package/dist/theme/BlogPostPage/StructuredData.d.ts.map +1 -0
  53. package/dist/theme/BlogPostPage/StructuredData.js +2 -0
  54. package/dist/theme/BlogPostPage/StructuredData.js.map +1 -0
  55. package/dist/theme/BlogPostPage/index.d.ts +14 -0
  56. package/dist/theme/BlogPostPage/index.d.ts.map +1 -0
  57. package/dist/theme/BlogPostPage/index.js +27 -0
  58. package/dist/theme/BlogPostPage/index.js.map +1 -0
  59. package/dist/theme/BlogPostPage/index.module.css +53 -0
  60. package/dist/theme/DocSearch/index.d.ts +3 -0
  61. package/dist/theme/DocSearch/index.d.ts.map +1 -0
  62. package/dist/theme/DocSearch/index.js +30 -0
  63. package/dist/theme/DocSearch/index.js.map +1 -0
  64. package/dist/theme/DocSearch/styles.module.css +12 -0
  65. package/dist/theme/Layout/index.d.ts +0 -9
  66. package/dist/theme/Layout/index.d.ts.map +1 -1
  67. package/dist/theme/Layout/index.js +17 -19
  68. package/dist/theme/Layout/index.js.map +1 -1
  69. package/dist/theme/Navbar/Content/index.d.ts +6 -0
  70. package/dist/theme/Navbar/Content/index.d.ts.map +1 -0
  71. package/dist/theme/Navbar/Content/index.js +27 -0
  72. package/dist/theme/Navbar/Content/index.js.map +1 -0
  73. package/dist/theme/Navbar/Content/index.module.css +0 -0
  74. package/dist/theme/Navbar/Logo/index.d.ts +3 -0
  75. package/dist/theme/Navbar/Logo/index.d.ts.map +1 -0
  76. package/dist/theme/Navbar/Logo/index.js +44 -0
  77. package/dist/theme/Navbar/Logo/index.js.map +1 -0
  78. package/dist/theme/OsTabs/index.d.ts +13 -0
  79. package/dist/theme/OsTabs/index.d.ts.map +1 -0
  80. package/dist/theme/OsTabs/index.js +20 -0
  81. package/dist/theme/OsTabs/index.js.map +1 -0
  82. package/dist/theme/SearchBar/SearchBar.module.css +37 -0
  83. package/dist/theme/SearchBar/index.d.ts +2 -0
  84. package/dist/theme/SearchBar/index.d.ts.map +1 -0
  85. package/dist/theme/SearchBar/index.js +36 -0
  86. package/dist/theme/SearchBar/index.js.map +1 -0
  87. package/package.json +9 -3
package/css/legacy.css CHANGED
@@ -86,8 +86,6 @@
86
86
  --ziti-code-block-border-color: rgb(197, 199, 201);
87
87
  --ziti-code-block-font-color: rgb(57, 58, 52);
88
88
  --ifm-code-padding-horizontal: 7px;
89
- --nf-tab-color: 222, 222, 222;
90
- --nf-tab-color-rgb: rgb(var(--nf-tab-color));
91
89
  }
92
90
  @media (max-height: 1024px) {
93
91
  /*for smaller screens, reduce space definitions*/
@@ -140,7 +138,6 @@ html[data-theme="dark"] {
140
138
  --ziti-code-block-background-color: rgb(33, 47, 77);
141
139
  --ziti-code-block-border-color: rgb(33, 47, 77);
142
140
  --ziti-code-block-font-color: rgb(148, 163, 184);
143
- --nf-tab-color: 67, 72, 98;
144
141
  }
145
142
 
146
143
  html[data-theme=dark] #Wizardly code {
@@ -1994,55 +1991,14 @@ li a code {
1994
1991
  color: rgba(117, 82, 136, 0.98);
1995
1992
  }
1996
1993
 
1997
- .tabItem_node_modules {
1998
- background-color: rgba(117, 82, 136, 0.2) !important;
1999
- border: 1px solid rgba(117, 82, 136, 0.98);
2000
- color: rgba(117, 82, 136, 0.98);
2001
-
2002
- }
2003
-
2004
- [class*="tabItem_"] {
2005
- background-color: rgb(142,142,142, .2);
2006
- position: relative;
2007
- padding: 5px 10px;
2008
- border-radius: 7px;
2009
- }
2010
- [class*="tabItem_"][role="tabpanel"] {
2011
- background-color: var(--nf-tab-color-rgb);
2012
- padding: 1em 0.5em;
2013
- }
2014
-
2015
-
2016
- .tabs__item:hover {
2017
- background-color: rgba(var(--nf-tab-color), 0.5);
2018
- }
2019
-
2020
- .tabs__item {
2021
- background-color: rgba(225,225,225, 0.3);
2022
- border-bottom-left-radius: 0;
2023
- border-bottom-right-radius: 0;
2024
- margin-right: 10px;
2025
- pointer-events: all;
1994
+ .margin-top--md {
1995
+ margin-top: 0 !important;
2026
1996
  }
2027
1997
 
2028
1998
  [hidden] {
2029
1999
  display: none !important;
2030
2000
  }
2031
2001
 
2032
- .tabs {
2033
- padding-left: 10px;
2034
- }
2035
-
2036
- .tabs__item.tabs__item--active {
2037
- background-color: var(--nf-tab-color-rgb);
2038
- border-bottom-width: 0;
2039
- pointer-events: none;
2040
- }
2041
-
2042
- .margin-top--md {
2043
- margin-top: 0 !important;
2044
- }
2045
-
2046
2002
  #Wizardly div {
2047
2003
  color: rgba(44,55,65) !important;
2048
2004
  }
@@ -0,0 +1,92 @@
1
+ /* ==========================================================================
2
+ TABS V1 - Gradient Pills
3
+ Floating pill tabs with gradient container, no underline
4
+ ========================================================================== */
5
+
6
+ :root {
7
+ --nf-tabs-bg: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
8
+ --nf-tabs-border: rgba(0, 0, 0, 0.06);
9
+ --nf-tab-bg: rgba(255, 255, 255, 0.5);
10
+ --nf-tab-bg-hover: rgba(255, 255, 255, 0.8);
11
+ --nf-tab-bg-active: #ffffff;
12
+ --nf-tab-text: #64748b;
13
+ --nf-tab-text-hover: #334155;
14
+ --nf-tab-text-active: #0068f9;
15
+ --nf-tab-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
16
+ --nf-tab-shadow-active: 0 4px 12px -2px rgba(0, 104, 249, 0.25), 0 2px 4px rgba(0, 0, 0, 0.05);
17
+ --nf-tab-panel-bg: #ffffff;
18
+ --nf-tab-panel-border: rgba(0, 0, 0, 0.06);
19
+ --nf-tab-panel-shadow: 0 4px 24px -4px rgba(0, 0, 0, 0.1);
20
+ }
21
+
22
+ html[data-theme="dark"] {
23
+ --nf-tabs-bg: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
24
+ --nf-tabs-border: rgba(255, 255, 255, 0.06);
25
+ --nf-tab-bg: rgba(255, 255, 255, 0.03);
26
+ --nf-tab-bg-hover: rgba(255, 255, 255, 0.08);
27
+ --nf-tab-bg-active: rgba(21, 142, 237, 0.2);
28
+ --nf-tab-text: #94a3b8;
29
+ --nf-tab-text-hover: #cbd5e1;
30
+ --nf-tab-text-active: #38bdf8;
31
+ --nf-tab-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
32
+ --nf-tab-shadow-active: 0 4px 12px -2px rgba(21, 142, 237, 0.3), 0 0 0 1px rgba(56, 189, 248, 0.2);
33
+ --nf-tab-panel-bg: rgba(30, 41, 59, 0.8);
34
+ --nf-tab-panel-border: rgba(255, 255, 255, 0.06);
35
+ --nf-tab-panel-shadow: 0 4px 24px -4px rgba(0, 0, 0, 0.4);
36
+ }
37
+
38
+ .tabs {
39
+ display: flex;
40
+ flex-wrap: wrap;
41
+ gap: 8px;
42
+ padding: 8px;
43
+ margin-bottom: 0;
44
+ background: var(--nf-tabs-bg);
45
+ border-radius: 16px 16px 0 0;
46
+ border: 1px solid var(--nf-tabs-border);
47
+ border-bottom: none;
48
+ }
49
+
50
+ .tabs__item {
51
+ padding: 10px 20px;
52
+ font-size: 0.875rem;
53
+ font-weight: 500;
54
+ color: var(--nf-tab-text);
55
+ background: var(--nf-tab-bg);
56
+ border: none;
57
+ border-radius: 10px;
58
+ cursor: pointer;
59
+ transition: all 0.2s ease;
60
+ box-shadow: var(--nf-tab-shadow);
61
+ }
62
+
63
+ .tabs__item:hover {
64
+ color: var(--nf-tab-text-hover);
65
+ background: var(--nf-tab-bg-hover);
66
+ transform: translateY(-1px);
67
+ }
68
+
69
+ .tabs__item.tabs__item--active {
70
+ color: var(--nf-tab-text-active);
71
+ background: var(--nf-tab-bg-active);
72
+ font-weight: 600;
73
+ box-shadow: var(--nf-tab-shadow-active);
74
+ transform: translateY(-2px);
75
+ }
76
+
77
+ [class*="tabItem_"][role="tabpanel"] {
78
+ background: var(--nf-tab-panel-bg);
79
+ border: 1px solid var(--nf-tab-panel-border);
80
+ border-radius: 0 0 16px 16px;
81
+ padding: 1.5rem;
82
+ box-shadow: var(--nf-tab-panel-shadow);
83
+ animation: fadeSlideIn 0.25s ease-out;
84
+ }
85
+
86
+ @keyframes fadeSlideIn {
87
+ from { opacity: 0; transform: translateY(-8px); }
88
+ to { opacity: 1; transform: translateY(0); }
89
+ }
90
+
91
+ .margin-top--md { margin-top: 0 !important; }
92
+ [hidden] { display: none !important; }
@@ -0,0 +1,116 @@
1
+ /* ==========================================================================
2
+ TABS V2 - Glassmorphism
3
+ Frosted glass effect with blur, floating aesthetic
4
+ ========================================================================== */
5
+
6
+ :root {
7
+ --nf-tabs-bg: rgba(255, 255, 255, 0.7);
8
+ --nf-tabs-blur: 12px;
9
+ --nf-tabs-border: rgba(255, 255, 255, 0.3);
10
+ --nf-tab-bg: transparent;
11
+ --nf-tab-bg-hover: rgba(0, 104, 249, 0.08);
12
+ --nf-tab-bg-active: rgba(0, 104, 249, 0.12);
13
+ --nf-tab-text: #475569;
14
+ --nf-tab-text-hover: #0068f9;
15
+ --nf-tab-text-active: #0068f9;
16
+ --nf-tab-glow: 0 0 20px rgba(0, 104, 249, 0.15);
17
+ --nf-tab-panel-bg: rgba(255, 255, 255, 0.85);
18
+ --nf-tab-panel-blur: 16px;
19
+ --nf-tab-panel-border: rgba(255, 255, 255, 0.4);
20
+ --nf-tab-panel-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
21
+ }
22
+
23
+ html[data-theme="dark"] {
24
+ --nf-tabs-bg: rgba(15, 23, 42, 0.75);
25
+ --nf-tabs-blur: 12px;
26
+ --nf-tabs-border: rgba(255, 255, 255, 0.08);
27
+ --nf-tab-bg: transparent;
28
+ --nf-tab-bg-hover: rgba(56, 189, 248, 0.1);
29
+ --nf-tab-bg-active: rgba(56, 189, 248, 0.15);
30
+ --nf-tab-text: #94a3b8;
31
+ --nf-tab-text-hover: #38bdf8;
32
+ --nf-tab-text-active: #38bdf8;
33
+ --nf-tab-glow: 0 0 30px rgba(56, 189, 248, 0.2);
34
+ --nf-tab-panel-bg: rgba(15, 23, 42, 0.8);
35
+ --nf-tab-panel-blur: 16px;
36
+ --nf-tab-panel-border: rgba(255, 255, 255, 0.06);
37
+ --nf-tab-panel-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
38
+ }
39
+
40
+ .tabs {
41
+ display: flex;
42
+ flex-wrap: wrap;
43
+ gap: 4px;
44
+ padding: 6px;
45
+ margin-bottom: 0;
46
+ background: var(--nf-tabs-bg);
47
+ backdrop-filter: blur(var(--nf-tabs-blur));
48
+ -webkit-backdrop-filter: blur(var(--nf-tabs-blur));
49
+ border-radius: 14px 14px 0 0;
50
+ border: 1px solid var(--nf-tabs-border);
51
+ border-bottom: none;
52
+ }
53
+
54
+ .tabs__item {
55
+ position: relative;
56
+ padding: 12px 24px;
57
+ font-size: 0.875rem;
58
+ font-weight: 500;
59
+ letter-spacing: 0.01em;
60
+ color: var(--nf-tab-text);
61
+ background: var(--nf-tab-bg);
62
+ border: none;
63
+ border-radius: 10px;
64
+ cursor: pointer;
65
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
66
+ }
67
+
68
+ .tabs__item:hover {
69
+ color: var(--nf-tab-text-hover);
70
+ background: var(--nf-tab-bg-hover);
71
+ }
72
+
73
+ .tabs__item.tabs__item--active {
74
+ color: var(--nf-tab-text-active);
75
+ background: var(--nf-tab-bg-active);
76
+ font-weight: 600;
77
+ box-shadow: var(--nf-tab-glow);
78
+ }
79
+
80
+ /* Subtle dot indicator for active tab */
81
+ .tabs__item.tabs__item--active::before {
82
+ content: '';
83
+ position: absolute;
84
+ top: 6px;
85
+ right: 6px;
86
+ width: 6px;
87
+ height: 6px;
88
+ background: currentColor;
89
+ border-radius: 50%;
90
+ opacity: 0.8;
91
+ animation: pulse 2s infinite;
92
+ }
93
+
94
+ @keyframes pulse {
95
+ 0%, 100% { transform: scale(1); opacity: 0.8; }
96
+ 50% { transform: scale(1.2); opacity: 0.5; }
97
+ }
98
+
99
+ [class*="tabItem_"][role="tabpanel"] {
100
+ background: var(--nf-tab-panel-bg);
101
+ backdrop-filter: blur(var(--nf-tab-panel-blur));
102
+ -webkit-backdrop-filter: blur(var(--nf-tab-panel-blur));
103
+ border: 1px solid var(--nf-tab-panel-border);
104
+ border-radius: 0 0 14px 14px;
105
+ padding: 1.75rem;
106
+ box-shadow: var(--nf-tab-panel-shadow);
107
+ animation: glassReveal 0.35s ease-out;
108
+ }
109
+
110
+ @keyframes glassReveal {
111
+ from { opacity: 0; transform: scale(0.98); }
112
+ to { opacity: 1; transform: scale(1); }
113
+ }
114
+
115
+ .margin-top--md { margin-top: 0 !important; }
116
+ [hidden] { display: none !important; }
@@ -0,0 +1,86 @@
1
+ /* ==========================================================================
2
+ TABS V3 - Minimal / Apple-style
3
+ Ultra clean, typography-focused, subtle and refined
4
+ ========================================================================== */
5
+
6
+ :root {
7
+ --nf-tab-text: #86868b;
8
+ --nf-tab-text-hover: #1d1d1f;
9
+ --nf-tab-text-active: #1d1d1f;
10
+ --nf-tab-border: #d2d2d7;
11
+ --nf-tab-panel-bg: #fafafa;
12
+ --nf-tab-panel-border: #e5e5e5;
13
+ }
14
+
15
+ html[data-theme="dark"] {
16
+ --nf-tab-text: #86868b;
17
+ --nf-tab-text-hover: #f5f5f7;
18
+ --nf-tab-text-active: #f5f5f7;
19
+ --nf-tab-border: #424245;
20
+ --nf-tab-panel-bg: rgba(28, 28, 30, 0.6);
21
+ --nf-tab-panel-border: #38383a;
22
+ }
23
+
24
+ .tabs {
25
+ display: flex;
26
+ flex-wrap: wrap;
27
+ gap: 0;
28
+ padding: 0;
29
+ margin-bottom: 0;
30
+ background: transparent;
31
+ border: none;
32
+ border-bottom: 1px solid var(--nf-tab-border);
33
+ }
34
+
35
+ .tabs__item {
36
+ position: relative;
37
+ padding: 12px 20px;
38
+ font-size: 0.9375rem;
39
+ font-weight: 400;
40
+ color: var(--nf-tab-text);
41
+ background: transparent;
42
+ border: none;
43
+ border-radius: 0;
44
+ cursor: pointer;
45
+ transition: color 0.2s ease;
46
+ }
47
+
48
+ .tabs__item:hover {
49
+ color: var(--nf-tab-text-hover);
50
+ background: transparent;
51
+ }
52
+
53
+ .tabs__item.tabs__item--active {
54
+ color: var(--nf-tab-text-active);
55
+ font-weight: 600;
56
+ background: transparent;
57
+ }
58
+
59
+ /* Clean bottom highlight bar */
60
+ .tabs__item.tabs__item--active::after {
61
+ content: '';
62
+ position: absolute;
63
+ bottom: -1px;
64
+ left: 0;
65
+ right: 0;
66
+ height: 2px;
67
+ background: var(--nf-tab-text-active);
68
+ border-radius: 2px 2px 0 0;
69
+ }
70
+
71
+ [class*="tabItem_"][role="tabpanel"] {
72
+ background: var(--nf-tab-panel-bg);
73
+ border: 1px solid var(--nf-tab-panel-border);
74
+ border-top: none;
75
+ border-radius: 0 0 8px 8px;
76
+ padding: 1.5rem;
77
+ animation: minimalFade 0.2s ease;
78
+ }
79
+
80
+ @keyframes minimalFade {
81
+ from { opacity: 0; }
82
+ to { opacity: 1; }
83
+ }
84
+
85
+ .margin-top--md { margin-top: 0 !important; }
86
+ [hidden] { display: none !important; }
@@ -0,0 +1,85 @@
1
+ /* ==========================================================================
2
+ TABS V4 - Segmented Control
3
+ iOS-style segmented control with sliding background
4
+ ========================================================================== */
5
+
6
+ :root {
7
+ --nf-tabs-bg: #e5e5ea;
8
+ --nf-tab-text: #3a3a3c;
9
+ --nf-tab-text-active: #000000;
10
+ --nf-tab-slider-bg: #ffffff;
11
+ --nf-tab-slider-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.08);
12
+ --nf-tab-panel-bg: #ffffff;
13
+ --nf-tab-panel-border: #e5e5ea;
14
+ --nf-tab-panel-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
15
+ }
16
+
17
+ html[data-theme="dark"] {
18
+ --nf-tabs-bg: #2c2c2e;
19
+ --nf-tab-text: #98989d;
20
+ --nf-tab-text-active: #ffffff;
21
+ --nf-tab-slider-bg: #636366;
22
+ --nf-tab-slider-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
23
+ --nf-tab-panel-bg: #1c1c1e;
24
+ --nf-tab-panel-border: #38383a;
25
+ --nf-tab-panel-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
26
+ }
27
+
28
+ .tabs {
29
+ display: inline-flex;
30
+ flex-wrap: wrap;
31
+ gap: 0;
32
+ padding: 3px;
33
+ margin-bottom: 0;
34
+ background: var(--nf-tabs-bg);
35
+ border-radius: 10px;
36
+ border: none;
37
+ position: relative;
38
+ }
39
+
40
+ .tabs__item {
41
+ position: relative;
42
+ padding: 8px 16px;
43
+ font-size: 0.8125rem;
44
+ font-weight: 500;
45
+ color: var(--nf-tab-text);
46
+ background: transparent;
47
+ border: none;
48
+ border-radius: 8px;
49
+ cursor: pointer;
50
+ transition: color 0.2s ease;
51
+ z-index: 1;
52
+ min-width: 80px;
53
+ text-align: center;
54
+ }
55
+
56
+ .tabs__item:hover {
57
+ color: var(--nf-tab-text-active);
58
+ background: transparent;
59
+ }
60
+
61
+ .tabs__item.tabs__item--active {
62
+ color: var(--nf-tab-text-active);
63
+ font-weight: 600;
64
+ background: var(--nf-tab-slider-bg);
65
+ box-shadow: var(--nf-tab-slider-shadow);
66
+ transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
67
+ }
68
+
69
+ [class*="tabItem_"][role="tabpanel"] {
70
+ background: var(--nf-tab-panel-bg);
71
+ border: 1px solid var(--nf-tab-panel-border);
72
+ border-radius: 12px;
73
+ padding: 1.5rem;
74
+ margin-top: 12px;
75
+ box-shadow: var(--nf-tab-panel-shadow);
76
+ animation: segmentSlide 0.25s ease-out;
77
+ }
78
+
79
+ @keyframes segmentSlide {
80
+ from { opacity: 0; transform: translateX(-8px); }
81
+ to { opacity: 1; transform: translateX(0); }
82
+ }
83
+
84
+ .margin-top--md { margin-top: 0 !important; }
85
+ [hidden] { display: none !important; }
@@ -0,0 +1,99 @@
1
+ /* ==========================================================================
2
+ TABS V5 - Neon Cyberpunk
3
+ Glowing edges, electric colors, dark-first aesthetic
4
+ ========================================================================== */
5
+
6
+ :root {
7
+ --nf-tabs-bg: #0a0a0f;
8
+ --nf-tab-text: #6b7280;
9
+ --nf-tab-text-hover: #a78bfa;
10
+ --nf-tab-text-active: #f0abfc;
11
+ --nf-tab-glow: #c084fc;
12
+ --nf-tab-glow-secondary: #22d3ee;
13
+ --nf-tab-panel-bg: linear-gradient(145deg, #0f0f18 0%, #0a0a0f 100%);
14
+ --nf-tab-panel-border: rgba(192, 132, 252, 0.2);
15
+ }
16
+
17
+ html[data-theme="dark"] {
18
+ --nf-tabs-bg: #0a0a0f;
19
+ --nf-tab-text: #6b7280;
20
+ --nf-tab-text-hover: #a78bfa;
21
+ --nf-tab-text-active: #f0abfc;
22
+ --nf-tab-glow: #c084fc;
23
+ --nf-tab-glow-secondary: #22d3ee;
24
+ --nf-tab-panel-bg: linear-gradient(145deg, #0f0f18 0%, #0a0a0f 100%);
25
+ --nf-tab-panel-border: rgba(192, 132, 252, 0.2);
26
+ }
27
+
28
+ html:not([data-theme="dark"]) {
29
+ --nf-tabs-bg: #fafafa;
30
+ --nf-tab-text: #71717a;
31
+ --nf-tab-text-hover: #7c3aed;
32
+ --nf-tab-text-active: #9333ea;
33
+ --nf-tab-glow: #a855f7;
34
+ --nf-tab-glow-secondary: #06b6d4;
35
+ --nf-tab-panel-bg: linear-gradient(145deg, #ffffff 0%, #f4f4f5 100%);
36
+ --nf-tab-panel-border: rgba(168, 85, 247, 0.25);
37
+ }
38
+
39
+ .tabs {
40
+ display: flex;
41
+ flex-wrap: wrap;
42
+ gap: 6px;
43
+ padding: 10px 12px;
44
+ background: var(--nf-tabs-bg);
45
+ border-radius: 4px 4px 0 0;
46
+ border: 1px solid rgba(128, 128, 128, 0.15);
47
+ border-bottom: none;
48
+ }
49
+
50
+ .tabs__item {
51
+ position: relative;
52
+ padding: 10px 22px;
53
+ font-size: 0.85rem;
54
+ font-weight: 500;
55
+ letter-spacing: 0.05em;
56
+ text-transform: uppercase;
57
+ color: var(--nf-tab-text);
58
+ background: transparent;
59
+ border: 1px solid transparent;
60
+ border-radius: 4px;
61
+ cursor: pointer;
62
+ transition: all 0.2s ease;
63
+ }
64
+
65
+ .tabs__item:hover {
66
+ color: var(--nf-tab-text-hover);
67
+ border-color: rgba(128, 128, 128, 0.3);
68
+ text-shadow: 0 0 12px var(--nf-tab-glow);
69
+ }
70
+
71
+ .tabs__item.tabs__item--active {
72
+ color: var(--nf-tab-text-active);
73
+ border-color: var(--nf-tab-glow);
74
+ background: rgba(192, 132, 252, 0.08);
75
+ box-shadow:
76
+ 0 0 10px rgba(192, 132, 252, 0.3),
77
+ 0 0 20px rgba(192, 132, 252, 0.15),
78
+ inset 0 0 15px rgba(192, 132, 252, 0.05);
79
+ text-shadow: 0 0 20px var(--nf-tab-glow);
80
+ }
81
+
82
+ [class*="tabItem_"][role="tabpanel"] {
83
+ background: var(--nf-tab-panel-bg);
84
+ border: 1px solid var(--nf-tab-panel-border);
85
+ border-radius: 0 0 4px 4px;
86
+ padding: 1.5rem;
87
+ box-shadow:
88
+ 0 4px 20px rgba(0, 0, 0, 0.2),
89
+ inset 0 1px 0 rgba(255, 255, 255, 0.03);
90
+ animation: neonFade 0.3s ease;
91
+ }
92
+
93
+ @keyframes neonFade {
94
+ from { opacity: 0; filter: brightness(1.5); }
95
+ to { opacity: 1; filter: brightness(1); }
96
+ }
97
+
98
+ .margin-top--md { margin-top: 0 !important; }
99
+ [hidden] { display: none !important; }
@@ -0,0 +1,89 @@
1
+ /* ==========================================================================
2
+ TABS V6 - Neumorphism
3
+ Soft UI with embossed/debossed shadows, tactile feel
4
+ ========================================================================== */
5
+
6
+ :root {
7
+ --nf-neu-bg: #e4e8ec;
8
+ --nf-neu-shadow-dark: #c8ccd0;
9
+ --nf-neu-shadow-light: #ffffff;
10
+ --nf-tab-text: #6b7280;
11
+ --nf-tab-text-active: #374151;
12
+ --nf-tab-accent: #3b82f6;
13
+ --nf-tab-panel-bg: #e4e8ec;
14
+ }
15
+
16
+ html[data-theme="dark"] {
17
+ --nf-neu-bg: #2a2d35;
18
+ --nf-neu-shadow-dark: #1e2028;
19
+ --nf-neu-shadow-light: #363942;
20
+ --nf-tab-text: #9ca3af;
21
+ --nf-tab-text-active: #e5e7eb;
22
+ --nf-tab-accent: #60a5fa;
23
+ --nf-tab-panel-bg: #2a2d35;
24
+ }
25
+
26
+ .tabs {
27
+ display: flex;
28
+ flex-wrap: wrap;
29
+ gap: 12px;
30
+ padding: 16px;
31
+ background: var(--nf-neu-bg);
32
+ border-radius: 20px 20px 0 0;
33
+ border: none;
34
+ box-shadow:
35
+ inset 4px 4px 8px var(--nf-neu-shadow-dark),
36
+ inset -4px -4px 8px var(--nf-neu-shadow-light);
37
+ }
38
+
39
+ .tabs__item {
40
+ padding: 12px 24px;
41
+ font-size: 0.875rem;
42
+ font-weight: 500;
43
+ color: var(--nf-tab-text);
44
+ background: var(--nf-neu-bg);
45
+ border: none;
46
+ border-radius: 12px;
47
+ cursor: pointer;
48
+ transition: all 0.2s ease;
49
+ box-shadow:
50
+ 4px 4px 8px var(--nf-neu-shadow-dark),
51
+ -4px -4px 8px var(--nf-neu-shadow-light);
52
+ }
53
+
54
+ .tabs__item:hover {
55
+ color: var(--nf-tab-accent);
56
+ }
57
+
58
+ .tabs__item:active {
59
+ box-shadow:
60
+ inset 3px 3px 6px var(--nf-neu-shadow-dark),
61
+ inset -3px -3px 6px var(--nf-neu-shadow-light);
62
+ }
63
+
64
+ .tabs__item.tabs__item--active {
65
+ color: var(--nf-tab-accent);
66
+ font-weight: 600;
67
+ box-shadow:
68
+ inset 4px 4px 8px var(--nf-neu-shadow-dark),
69
+ inset -4px -4px 8px var(--nf-neu-shadow-light);
70
+ }
71
+
72
+ [class*="tabItem_"][role="tabpanel"] {
73
+ background: var(--nf-tab-panel-bg);
74
+ border: none;
75
+ border-radius: 0 0 20px 20px;
76
+ padding: 1.75rem;
77
+ box-shadow:
78
+ inset 4px 4px 8px var(--nf-neu-shadow-dark),
79
+ inset -4px -4px 8px var(--nf-neu-shadow-light);
80
+ animation: neuReveal 0.25s ease-out;
81
+ }
82
+
83
+ @keyframes neuReveal {
84
+ from { opacity: 0; transform: scale(0.98); }
85
+ to { opacity: 1; transform: scale(1); }
86
+ }
87
+
88
+ .margin-top--md { margin-top: 0 !important; }
89
+ [hidden] { display: none !important; }