@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.
Files changed (27) hide show
  1. package/dist/design-system.cjs.js +17 -17
  2. package/dist/design-system.cjs.js.map +1 -1
  3. package/dist/design-system.es.js +1329 -1266
  4. package/dist/design-system.es.js.map +1 -1
  5. package/dist/index.css +37 -0
  6. package/dist/types/index.d.ts +1 -1
  7. package/dist/types/index.d.ts.map +1 -1
  8. package/dist/types/widgets/header/index.d.ts +24 -5
  9. package/dist/types/widgets/header/index.d.ts.map +1 -1
  10. package/dist/types/widgets/header/model/create-header-model.d.ts +13 -0
  11. package/dist/types/widgets/header/model/create-header-model.d.ts.map +1 -0
  12. package/dist/types/widgets/header/model/index.d.ts +7 -0
  13. package/dist/types/widgets/header/model/index.d.ts.map +1 -0
  14. package/dist/types/widgets/header/model/types.d.ts +62 -0
  15. package/dist/types/widgets/header/model/types.d.ts.map +1 -0
  16. package/dist/types/widgets/header/ui/header.d.ts +32 -38
  17. package/dist/types/widgets/header/ui/header.d.ts.map +1 -1
  18. package/dist/types/widgets/hero-banner/index.d.ts +3 -3
  19. package/dist/types/widgets/hero-banner/index.d.ts.map +1 -1
  20. package/dist/types/widgets/hero-banner/model/create-hero-banner-model.d.ts +1 -1
  21. package/dist/types/widgets/hero-banner/model/index.d.ts +1 -1
  22. package/dist/types/widgets/hero-banner/model/index.d.ts.map +1 -1
  23. package/dist/types/widgets/hero-banner/model/types.d.ts +6 -6
  24. package/dist/types/widgets/hero-banner/model/types.d.ts.map +1 -1
  25. package/dist/types/widgets/hero-banner/ui/hero-banner.d.ts +2 -2
  26. package/dist/types/widgets/hero-banner/ui/hero-banner.d.ts.map +1 -1
  27. 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) {
@@ -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, HeroBannerTemplate, HeroBannerTheme, HeroMetric, } from "./widgets/hero-banner";
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,kBAAkB,EAClB,eAAe,EACf,UAAU,GACV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,YAAY,EACX,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,mBAAmB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACxC,OAAO,EACN,MAAM,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,cAAc,EACd,QAAQ,GACR,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC"}
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
- * Minimal pill-navigation header component for web applications.
6
- * Features centered pill-shaped navigation with dividers.
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 "./ui/header";
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;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
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,7 @@
1
+ /**
2
+ * Header Widget - Model Layer
3
+ * @module widgets/header/model
4
+ */
5
+ export { createHeaderModel } from "./create-header-model";
6
+ export type { HeaderModel, HeaderProps, HeaderVariant, NavigationItem, } from "./types";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -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 - Pill Navigation
2
+ * Header - Multi-variant Navigation
3
3
  * @module widgets/header/ui
4
4
  *
5
- * Pixel-perfect implementation matching Figma template design
6
- * Features: Centered pill-shaped navigation with dividers
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
- export interface HeaderProps {
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 - Pill-shaped navigation matching Figma template
15
+ * Header - Multi-variant navigation
45
16
  *
46
- * Pixel-perfect implementation with:
47
- * - Centered pill navigation with vertical dividers
48
- * - Responsive typography and spacing
49
- * - Semantic colors from Tailwind design system
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;AAMH,MAAM,WAAW,WAAW;IAC3B,2BAA2B;IAC3B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,6BAA6B;IAC7B,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,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;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,qGAwLlB,CAAC"}
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 templates.
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
- * template="modern"
17
+ * variant="modern"
18
18
  * searchForm={<SearchFeature variant="modern" />}
19
19
  * />
20
20
  * ```
21
21
  */
22
- export type { HeroBannerContent, HeroBannerLayout, HeroBannerModel, HeroBannerProps, HeroBannerTemplate, HeroBannerTheme, HeroMetric, } from "./model";
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,kBAAkB,EAClB,eAAe,EACf,UAAU,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
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"}
@@ -13,7 +13,7 @@ import type { HeroBannerModel, HeroBannerProps } from "./types";
13
13
  * ```tsx
14
14
  * const model = createHeroBannerModel({
15
15
  * content: { title: "Welcome" },
16
- * template: "modern"
16
+ * variant: "modern"
17
17
  * });
18
18
  * ```
19
19
  */
@@ -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, HeroBannerTemplate, HeroBannerTheme, HeroMetric, } from "./types";
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,kBAAkB,EAClB,eAAe,EACf,UAAU,GACV,MAAM,SAAS,CAAC"}
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
- * Template variant affecting layout and styling
36
+ * Variant affecting layout and styling
37
37
  */
38
- export type HeroBannerTemplate = "minimal" | "modern" | "luxury";
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
- /** Template variant */
52
- template?: HeroBannerTemplate;
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 template) */
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
- template: HeroBannerTemplate;
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,kBAAkB,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjE;;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,uBAAuB;IACvB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,qBAAqB;IACrB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,mCAAmC;IACnC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,+EAA+E;IAC/E,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,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,gBAAgB,CAAC;CACzB"}
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 templates.
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
- * template="modern"
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,yGAoKtB,CAAC"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@homlista-devs/ui",
3
- "version": "1.6.2",
3
+ "version": "1.6.4",
4
4
  "main": "./dist/design-system.cjs.js",
5
5
  "module": "./dist/design-system.es.js",
6
6
  "types": "./dist/types/index.d.ts",