@homlista-devs/ui 1.6.2 → 1.6.4
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/design-system.cjs.js +17 -17
- package/dist/design-system.cjs.js.map +1 -1
- package/dist/design-system.es.js +1329 -1266
- package/dist/design-system.es.js.map +1 -1
- package/dist/index.css +37 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/widgets/header/index.d.ts +24 -5
- package/dist/types/widgets/header/index.d.ts.map +1 -1
- package/dist/types/widgets/header/model/create-header-model.d.ts +13 -0
- package/dist/types/widgets/header/model/create-header-model.d.ts.map +1 -0
- package/dist/types/widgets/header/model/index.d.ts +7 -0
- package/dist/types/widgets/header/model/index.d.ts.map +1 -0
- package/dist/types/widgets/header/model/types.d.ts +62 -0
- package/dist/types/widgets/header/model/types.d.ts.map +1 -0
- package/dist/types/widgets/header/ui/header.d.ts +32 -38
- package/dist/types/widgets/header/ui/header.d.ts.map +1 -1
- package/dist/types/widgets/hero-banner/index.d.ts +3 -3
- package/dist/types/widgets/hero-banner/index.d.ts.map +1 -1
- package/dist/types/widgets/hero-banner/model/create-hero-banner-model.d.ts +1 -1
- package/dist/types/widgets/hero-banner/model/index.d.ts +1 -1
- package/dist/types/widgets/hero-banner/model/index.d.ts.map +1 -1
- package/dist/types/widgets/hero-banner/model/types.d.ts +6 -6
- package/dist/types/widgets/hero-banner/model/types.d.ts.map +1 -1
- package/dist/types/widgets/hero-banner/ui/hero-banner.d.ts +2 -2
- package/dist/types/widgets/hero-banner/ui/hero-banner.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -472,6 +472,9 @@
|
|
|
472
472
|
.ml-1\.5 {
|
|
473
473
|
margin-left: calc(var(--spacing) * 1.5);
|
|
474
474
|
}
|
|
475
|
+
.ml-auto {
|
|
476
|
+
margin-left: auto;
|
|
477
|
+
}
|
|
475
478
|
.line-clamp-2 {
|
|
476
479
|
overflow: hidden;
|
|
477
480
|
display: -webkit-box;
|
|
@@ -564,6 +567,9 @@
|
|
|
564
567
|
.h-52 {
|
|
565
568
|
height: calc(var(--spacing) * 52);
|
|
566
569
|
}
|
|
570
|
+
.h-\[15px\] {
|
|
571
|
+
height: 15px;
|
|
572
|
+
}
|
|
567
573
|
.h-\[481px\] {
|
|
568
574
|
height: 481px;
|
|
569
575
|
}
|
|
@@ -636,6 +642,9 @@
|
|
|
636
642
|
.w-70 {
|
|
637
643
|
width: calc(var(--spacing) * 70);
|
|
638
644
|
}
|
|
645
|
+
.w-\[15px\] {
|
|
646
|
+
width: 15px;
|
|
647
|
+
}
|
|
639
648
|
.w-\[454px\] {
|
|
640
649
|
width: 454px;
|
|
641
650
|
}
|
|
@@ -1259,6 +1268,9 @@
|
|
|
1259
1268
|
.px-8 {
|
|
1260
1269
|
padding-inline: calc(var(--spacing) * 8);
|
|
1261
1270
|
}
|
|
1271
|
+
.px-16 {
|
|
1272
|
+
padding-inline: calc(var(--spacing) * 16);
|
|
1273
|
+
}
|
|
1262
1274
|
.py-1 {
|
|
1263
1275
|
padding-block: calc(var(--spacing) * 1);
|
|
1264
1276
|
}
|
|
@@ -1396,6 +1408,14 @@
|
|
|
1396
1408
|
--tw-font-weight: var(--font-weight-semibold);
|
|
1397
1409
|
font-weight: var(--font-weight-semibold);
|
|
1398
1410
|
}
|
|
1411
|
+
.tracking-\[0\.04em\] {
|
|
1412
|
+
--tw-tracking: 0.04em;
|
|
1413
|
+
letter-spacing: 0.04em;
|
|
1414
|
+
}
|
|
1415
|
+
.tracking-\[0\.05em\] {
|
|
1416
|
+
--tw-tracking: 0.05em;
|
|
1417
|
+
letter-spacing: 0.05em;
|
|
1418
|
+
}
|
|
1399
1419
|
.tracking-normal {
|
|
1400
1420
|
--tw-tracking: var(--tracking-normal);
|
|
1401
1421
|
letter-spacing: var(--tracking-normal);
|
|
@@ -1828,6 +1848,13 @@
|
|
|
1828
1848
|
}
|
|
1829
1849
|
}
|
|
1830
1850
|
}
|
|
1851
|
+
.hover\:bg-zinc-100 {
|
|
1852
|
+
&:hover {
|
|
1853
|
+
@media (hover: hover) {
|
|
1854
|
+
background-color: var(--color-zinc-100);
|
|
1855
|
+
}
|
|
1856
|
+
}
|
|
1857
|
+
}
|
|
1831
1858
|
.hover\:bg-zinc-200 {
|
|
1832
1859
|
&:hover {
|
|
1833
1860
|
@media (hover: hover) {
|
|
@@ -1863,6 +1890,16 @@
|
|
|
1863
1890
|
}
|
|
1864
1891
|
}
|
|
1865
1892
|
}
|
|
1893
|
+
.hover\:text-white\/80 {
|
|
1894
|
+
&:hover {
|
|
1895
|
+
@media (hover: hover) {
|
|
1896
|
+
color: color-mix(in srgb, #fff 80%, transparent);
|
|
1897
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1898
|
+
color: color-mix(in oklab, var(--color-white) 80%, transparent);
|
|
1899
|
+
}
|
|
1900
|
+
}
|
|
1901
|
+
}
|
|
1902
|
+
}
|
|
1866
1903
|
.hover\:text-zinc-600 {
|
|
1867
1904
|
&:hover {
|
|
1868
1905
|
@media (hover: hover) {
|
package/dist/types/index.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export type { EntityDirectoryProps } from "./widgets/entity-directory";
|
|
|
30
30
|
export { EntityDirectory } from "./widgets/entity-directory";
|
|
31
31
|
export type { HeaderProps } from "./widgets/header";
|
|
32
32
|
export { Header } from "./widgets/header";
|
|
33
|
-
export type { HeroBannerContent, HeroBannerLayout, HeroBannerProps,
|
|
33
|
+
export type { HeroBannerContent, HeroBannerLayout, HeroBannerProps, HeroBannerTheme, HeroBannerVariant, HeroMetric, } from "./widgets/hero-banner";
|
|
34
34
|
export { HeroBanner } from "./widgets/hero-banner";
|
|
35
35
|
export type { MortgageCalculatorProps } from "./widgets/mortgage-calculator";
|
|
36
36
|
export { MortgageCalculator } from "./widgets/mortgage-calculator";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACX,MAAM,EACN,cAAc,EACd,qBAAqB,EACrB,UAAU,GACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,uBAAuB,EACvB,wBAAwB,EACxB,YAAY,GACZ,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACX,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,cAAc,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,qBAAqB,GACrB,MAAM,qBAAqB,CAAC;AAI7B,YAAY,EACX,YAAY,EACZ,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,eAAe,IAAI,2BAA2B,GAC9C,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,YAAY,EACX,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACrB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC7E,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,YAAY,EACX,iBAAiB,EACjB,UAAU,EACV,qBAAqB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD,OAAO,EACN,UAAU,EACV,eAAe,EACf,eAAe,EACf,UAAU,GACV,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,YAAY,EACX,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Header Widget
|
|
3
3
|
* @module widgets/header
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Multi-variant header component for web applications.
|
|
6
|
+
* Supports minimal (pill navigation), modern (transparent navigation), and luxury (minimalist) variants.
|
|
7
7
|
*
|
|
8
8
|
* IMPORTANT: Always use Tailwind CSS standard classes instead of hardcoded values.
|
|
9
9
|
*
|
|
@@ -11,16 +11,35 @@
|
|
|
11
11
|
* ```tsx
|
|
12
12
|
* import { Header } from '@homlista-devs/ui';
|
|
13
13
|
*
|
|
14
|
+
* // Minimal variant (default)
|
|
14
15
|
* <Header
|
|
16
|
+
* variant="minimal"
|
|
15
17
|
* logo="BRAND NAME"
|
|
16
18
|
* navigationItems={[
|
|
17
|
-
* { label: "Home", href: "/" },
|
|
18
|
-
* { label: "About", href: "/about" },
|
|
19
|
+
* { id: "home", label: "Home", href: "/" },
|
|
20
|
+
* { id: "about", label: "About", href: "/about" },
|
|
19
21
|
* ]}
|
|
20
22
|
* loginButtonText="Sign In"
|
|
21
23
|
* />
|
|
24
|
+
*
|
|
25
|
+
* // Modern variant
|
|
26
|
+
* <Header
|
|
27
|
+
* variant="modern"
|
|
28
|
+
* logo="BRAND NAME"
|
|
29
|
+
* />
|
|
30
|
+
*
|
|
31
|
+
* // Luxury variant
|
|
32
|
+
* <Header
|
|
33
|
+
* variant="luxury"
|
|
34
|
+
* logo="YLSE SALGADO"
|
|
35
|
+
* navigationItems={[
|
|
36
|
+
* { id: "acerca", label: "ACERCA DE", href: "#acerca" },
|
|
37
|
+
* { id: "propiedades", label: "PROPIEDADES", href: "#propiedades" },
|
|
38
|
+
* ]}
|
|
39
|
+
* />
|
|
22
40
|
* ```
|
|
23
41
|
*/
|
|
24
|
-
export type { HeaderProps } from "./
|
|
42
|
+
export type { HeaderModel, HeaderProps, HeaderVariant, NavigationItem, } from "./model";
|
|
43
|
+
export { createHeaderModel } from "./model";
|
|
25
44
|
export { Header } from "./ui/header";
|
|
26
45
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/widgets/header/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/widgets/header/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,YAAY,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Header Widget - Model Creation
|
|
3
|
+
* @module widgets/header/model
|
|
4
|
+
*/
|
|
5
|
+
import type { HeaderModel, HeaderProps } from "./types";
|
|
6
|
+
/**
|
|
7
|
+
* Creates a normalized header model with defaults applied
|
|
8
|
+
*
|
|
9
|
+
* @param props - Header configuration props
|
|
10
|
+
* @returns Normalized header model
|
|
11
|
+
*/
|
|
12
|
+
export declare function createHeaderModel(props: Pick<HeaderProps, "variant" | "logo" | "navigationItems" | "loginButtonText" | "showMobileMenu">): HeaderModel;
|
|
13
|
+
//# sourceMappingURL=create-header-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-header-model.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/header/model/create-header-model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAExD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,IAAI,CACV,WAAW,EACT,SAAS,GACT,MAAM,GACN,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,CAClB,GACC,WAAW,CAQb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/header/model/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,GACd,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Header Widget - Type Definitions
|
|
3
|
+
* @module widgets/header/model/types
|
|
4
|
+
*/
|
|
5
|
+
import type { ReactNode } from "react";
|
|
6
|
+
/**
|
|
7
|
+
* Navigation item configuration
|
|
8
|
+
*/
|
|
9
|
+
export interface NavigationItem {
|
|
10
|
+
/** Unique identifier */
|
|
11
|
+
id: string;
|
|
12
|
+
/** Display label */
|
|
13
|
+
label: string;
|
|
14
|
+
/** Link URL */
|
|
15
|
+
href: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Template variant affecting layout and styling
|
|
19
|
+
*/
|
|
20
|
+
export type HeaderVariant = "minimal" | "modern" | "luxury";
|
|
21
|
+
/**
|
|
22
|
+
* Header component props
|
|
23
|
+
*/
|
|
24
|
+
export interface HeaderProps {
|
|
25
|
+
/** Template variant */
|
|
26
|
+
variant?: HeaderVariant;
|
|
27
|
+
/** Logo text or element */
|
|
28
|
+
logo?: ReactNode;
|
|
29
|
+
/** Navigation items array */
|
|
30
|
+
navigationItems?: NavigationItem[];
|
|
31
|
+
/** Optional login button text */
|
|
32
|
+
loginButtonText?: string;
|
|
33
|
+
/** Show mobile menu */
|
|
34
|
+
showMobileMenu?: boolean;
|
|
35
|
+
/** Custom className for header container */
|
|
36
|
+
className?: string;
|
|
37
|
+
/** Custom className for logo */
|
|
38
|
+
logoClassName?: string;
|
|
39
|
+
/** Custom className for navigation container */
|
|
40
|
+
navigationClassName?: string;
|
|
41
|
+
/** Custom className for navigation items */
|
|
42
|
+
navigationItemClassName?: string;
|
|
43
|
+
/** Custom className for login button */
|
|
44
|
+
loginButtonClassName?: string;
|
|
45
|
+
/** Custom className for mobile menu button */
|
|
46
|
+
mobileMenuButtonClassName?: string;
|
|
47
|
+
/** Element ID */
|
|
48
|
+
id?: string;
|
|
49
|
+
/** ARIA label */
|
|
50
|
+
"aria-label"?: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Normalized header model with defaults applied
|
|
54
|
+
*/
|
|
55
|
+
export interface HeaderModel {
|
|
56
|
+
variant: HeaderVariant;
|
|
57
|
+
logo?: ReactNode;
|
|
58
|
+
navigationItems: NavigationItem[];
|
|
59
|
+
loginButtonText: string;
|
|
60
|
+
showMobileMenu: boolean;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/header/model/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,uBAAuB;IACvB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,6BAA6B;IAC7B,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,iCAAiC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4CAA4C;IAC5C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wCAAwC;IACxC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,8CAA8C;IAC9C,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,iBAAiB;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iBAAiB;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACxB"}
|
|
@@ -1,52 +1,46 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Header -
|
|
2
|
+
* Header - Multi-variant Navigation
|
|
3
3
|
* @module widgets/header/ui
|
|
4
4
|
*
|
|
5
|
-
* Pixel-perfect implementation matching Figma template
|
|
6
|
-
*
|
|
5
|
+
* Pixel-perfect implementation matching Figma template designs
|
|
6
|
+
* Variants: minimal (pill navigation), modern (transparent navigation), luxury (elegant navigation with separators)
|
|
7
7
|
*
|
|
8
8
|
* IMPORTANT: Always use Tailwind CSS standard classes instead of hardcoded values:
|
|
9
9
|
* ❌ DON'T: px-[24px], text-[14px], bg-[#f4f4f5]
|
|
10
10
|
* ✅ DO: px-6, text-sm, bg-zinc-100
|
|
11
11
|
* This ensures consistency, theme customization, and maintainability.
|
|
12
12
|
*/
|
|
13
|
-
|
|
14
|
-
/** Logo text or element */
|
|
15
|
-
logo?: React.ReactNode;
|
|
16
|
-
/** Navigation items array */
|
|
17
|
-
navigationItems?: Array<{
|
|
18
|
-
id: string;
|
|
19
|
-
label: string;
|
|
20
|
-
href: string;
|
|
21
|
-
}>;
|
|
22
|
-
/** Optional login button text */
|
|
23
|
-
loginButtonText?: string;
|
|
24
|
-
/** Show mobile menu */
|
|
25
|
-
showMobileMenu?: boolean;
|
|
26
|
-
/** Custom className for header container */
|
|
27
|
-
className?: string;
|
|
28
|
-
/** Custom className for logo */
|
|
29
|
-
logoClassName?: string;
|
|
30
|
-
/** Custom className for navigation container */
|
|
31
|
-
navigationClassName?: string;
|
|
32
|
-
/** Custom className for navigation items */
|
|
33
|
-
navigationItemClassName?: string;
|
|
34
|
-
/** Custom className for login button */
|
|
35
|
-
loginButtonClassName?: string;
|
|
36
|
-
/** Custom className for mobile menu button */
|
|
37
|
-
mobileMenuButtonClassName?: string;
|
|
38
|
-
/** Element ID */
|
|
39
|
-
id?: string;
|
|
40
|
-
/** ARIA label */
|
|
41
|
-
"aria-label"?: string;
|
|
42
|
-
}
|
|
13
|
+
import type { HeaderProps } from "../model";
|
|
43
14
|
/**
|
|
44
|
-
* Header -
|
|
15
|
+
* Header - Multi-variant navigation
|
|
45
16
|
*
|
|
46
|
-
* Pixel-perfect implementation
|
|
47
|
-
* - Centered pill navigation with vertical dividers
|
|
48
|
-
* -
|
|
49
|
-
* -
|
|
17
|
+
* Pixel-perfect implementation supporting multiple design variants:
|
|
18
|
+
* - Minimal: Centered pill navigation with vertical dividers
|
|
19
|
+
* - Modern: Transparent navigation with dark logo and CTA
|
|
20
|
+
* - Luxury: Elegant navigation with separators, serif logo, and dual actions
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* // Minimal variant (default)
|
|
25
|
+
* <Header
|
|
26
|
+
* variant="minimal"
|
|
27
|
+
* logo="BRAND NAME"
|
|
28
|
+
* navigationItems={[
|
|
29
|
+
* { id: "home", label: "Home", href: "/" },
|
|
30
|
+
* { id: "about", label: "About", href: "/about" },
|
|
31
|
+
* ]}
|
|
32
|
+
* />
|
|
33
|
+
*
|
|
34
|
+
* // Luxury variant
|
|
35
|
+
* <Header
|
|
36
|
+
* variant="luxury"
|
|
37
|
+
* logo="YLSE SALGADO"
|
|
38
|
+
* navigationItems={[
|
|
39
|
+
* { id: "acerca", label: "ACERCA DE", href: "#acerca" },
|
|
40
|
+
* { id: "propiedades", label: "PROPIEDADES", href: "#propiedades" },
|
|
41
|
+
* ]}
|
|
42
|
+
* />
|
|
43
|
+
* ```
|
|
50
44
|
*/
|
|
51
45
|
export declare const Header: import("react").ForwardRefExoticComponent<HeaderProps & import("react").RefAttributes<HTMLElement>>;
|
|
52
46
|
//# sourceMappingURL=header.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/header/ui/header.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/header/ui/header.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,MAAM,qGAyPlB,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Hero Banner Widget
|
|
3
3
|
* @module widgets/hero-banner
|
|
4
4
|
*
|
|
5
|
-
* A flexible hero section component that adapts to different design
|
|
5
|
+
* A flexible hero section component that adapts to different design variants.
|
|
6
6
|
* Supports background images, statistics, logo, and custom search forms.
|
|
7
7
|
*
|
|
8
8
|
* @example
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
* title: "Find Your Dream Home",
|
|
15
15
|
* subtitle: "Discover amazing properties",
|
|
16
16
|
* }}
|
|
17
|
-
*
|
|
17
|
+
* variant="modern"
|
|
18
18
|
* searchForm={<SearchFeature variant="modern" />}
|
|
19
19
|
* />
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
|
-
export type { HeroBannerContent, HeroBannerLayout, HeroBannerModel, HeroBannerProps,
|
|
22
|
+
export type { HeroBannerContent, HeroBannerLayout, HeroBannerModel, HeroBannerProps, HeroBannerTheme, HeroBannerVariant, HeroMetric, } from "./model";
|
|
23
23
|
export { createHeroBannerModel } from "./model";
|
|
24
24
|
export { HeroBanner } from "./ui/hero-banner";
|
|
25
25
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/widgets/hero-banner/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,YAAY,EACX,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/widgets/hero-banner/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,YAAY,EACX,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,UAAU,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* @module widgets/hero-banner/model
|
|
4
4
|
*/
|
|
5
5
|
export { createHeroBannerModel } from "./create-hero-banner-model";
|
|
6
|
-
export type { HeroBannerContent, HeroBannerLayout, HeroBannerModel, HeroBannerProps,
|
|
6
|
+
export type { HeroBannerContent, HeroBannerLayout, HeroBannerModel, HeroBannerProps, HeroBannerTheme, HeroBannerVariant, HeroMetric, } from "./types";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/hero-banner/model/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EACX,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/hero-banner/model/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EACX,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,UAAU,GACV,MAAM,SAAS,CAAC"}
|
|
@@ -33,9 +33,9 @@ export interface HeroBannerTheme {
|
|
|
33
33
|
backgroundPosition?: string;
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* Variant affecting layout and styling
|
|
37
37
|
*/
|
|
38
|
-
export type
|
|
38
|
+
export type HeroBannerVariant = "minimal" | "modern" | "luxury";
|
|
39
39
|
/**
|
|
40
40
|
* Layout variant for content positioning
|
|
41
41
|
*/
|
|
@@ -48,15 +48,15 @@ export interface HeroBannerProps {
|
|
|
48
48
|
content: HeroBannerContent;
|
|
49
49
|
/** Visual theme configuration */
|
|
50
50
|
theme?: HeroBannerTheme;
|
|
51
|
-
/**
|
|
52
|
-
|
|
51
|
+
/** Hero banner variant */
|
|
52
|
+
variant?: HeroBannerVariant;
|
|
53
53
|
/** Layout variant */
|
|
54
54
|
layout?: HeroBannerLayout;
|
|
55
55
|
/** Search form or CTA component */
|
|
56
56
|
searchForm?: ReactNode;
|
|
57
57
|
/** Optional logo element */
|
|
58
58
|
logo?: ReactNode;
|
|
59
|
-
/** Optional navigation/header element (typically shown in minimal
|
|
59
|
+
/** Optional navigation/header element (typically shown in minimal variant) */
|
|
60
60
|
navigation?: ReactNode;
|
|
61
61
|
/** Additional CSS classes */
|
|
62
62
|
className?: string;
|
|
@@ -71,7 +71,7 @@ export interface HeroBannerProps {
|
|
|
71
71
|
export interface HeroBannerModel {
|
|
72
72
|
content: HeroBannerContent;
|
|
73
73
|
theme: HeroBannerTheme;
|
|
74
|
-
|
|
74
|
+
variant: HeroBannerVariant;
|
|
75
75
|
layout: HeroBannerLayout;
|
|
76
76
|
}
|
|
77
77
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/hero-banner/model/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,2BAA2B;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/hero-banner/model/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,2BAA2B;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,4BAA4B;IAC5B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,iCAAiC;IACjC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,qBAAqB;IACrB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,mCAAmC;IACnC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,gBAAgB,CAAC;CACzB"}
|
|
@@ -6,7 +6,7 @@ import type { HeroBannerProps } from "../model";
|
|
|
6
6
|
/**
|
|
7
7
|
* Hero Banner Component
|
|
8
8
|
*
|
|
9
|
-
* A flexible hero section that adapts to different design
|
|
9
|
+
* A flexible hero section that adapts to different design variants.
|
|
10
10
|
* Supports background images, metrics, logo, and custom search forms.
|
|
11
11
|
*
|
|
12
12
|
* @example
|
|
@@ -21,7 +21,7 @@ import type { HeroBannerProps } from "../model";
|
|
|
21
21
|
* ]
|
|
22
22
|
* }}
|
|
23
23
|
* theme={{ backgroundImage: "/hero-bg.jpg" }}
|
|
24
|
-
*
|
|
24
|
+
* variant="modern"
|
|
25
25
|
* searchForm={<SearchFeature variant="modern" />}
|
|
26
26
|
* />
|
|
27
27
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hero-banner.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/hero-banner/ui/hero-banner.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAmBhD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"hero-banner.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/hero-banner/ui/hero-banner.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAmBhD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,UAAU,yGAqKtB,CAAC"}
|