@homlista-devs/ui 1.6.0 → 1.6.2
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.map +1 -1
- package/dist/design-system.es.js.map +1 -1
- package/dist/types/App.d.ts +4 -0
- package/dist/types/App.d.ts.map +1 -0
- package/dist/types/entities/entity/index.d.ts +7 -0
- package/dist/types/entities/entity/index.d.ts.map +1 -0
- package/dist/types/entities/entity/lib/entity-utils.d.ts +18 -0
- package/dist/types/entities/entity/lib/entity-utils.d.ts.map +1 -0
- package/dist/types/entities/entity/model/types.d.ts +71 -0
- package/dist/types/entities/entity/model/types.d.ts.map +1 -0
- package/dist/types/entities/mortgage/index.d.ts +7 -0
- package/dist/types/entities/mortgage/index.d.ts.map +1 -0
- package/dist/types/entities/mortgage/lib/calculations.d.ts +31 -0
- package/dist/types/entities/mortgage/lib/calculations.d.ts.map +1 -0
- package/dist/types/entities/mortgage/model/types.d.ts +43 -0
- package/dist/types/entities/mortgage/model/types.d.ts.map +1 -0
- package/dist/types/entities/property/index.d.ts +6 -0
- package/dist/types/entities/property/index.d.ts.map +1 -0
- package/dist/types/entities/property/model/types.d.ts +47 -0
- package/dist/types/entities/property/model/types.d.ts.map +1 -0
- package/dist/types/features/button/index.d.ts +8 -0
- package/dist/types/features/button/index.d.ts.map +1 -0
- package/dist/types/features/button/lib/button-variants.d.ts +7 -0
- package/dist/types/features/button/lib/button-variants.d.ts.map +1 -0
- package/dist/types/features/button/ui/button.d.ts +8 -0
- package/dist/types/features/button/ui/button.d.ts.map +1 -0
- package/dist/types/features/card/index.d.ts +7 -0
- package/dist/types/features/card/index.d.ts.map +1 -0
- package/dist/types/features/card/lib/utils.d.ts +3 -0
- package/dist/types/features/card/lib/utils.d.ts.map +1 -0
- package/dist/types/features/card/ui/card.d.ts +21 -0
- package/dist/types/features/card/ui/card.d.ts.map +1 -0
- package/dist/types/features/donut-chart/index.d.ts +9 -0
- package/dist/types/features/donut-chart/index.d.ts.map +1 -0
- package/dist/types/features/donut-chart/lib/donut-chart-utils.d.ts +31 -0
- package/dist/types/features/donut-chart/lib/donut-chart-utils.d.ts.map +1 -0
- package/dist/types/features/donut-chart/ui/donut-chart.d.ts +29 -0
- package/dist/types/features/donut-chart/ui/donut-chart.d.ts.map +1 -0
- package/dist/types/features/entity-filtering/index.d.ts +9 -0
- package/dist/types/features/entity-filtering/index.d.ts.map +1 -0
- package/dist/types/features/entity-filtering/model/use-entity-filter.d.ts +38 -0
- package/dist/types/features/entity-filtering/model/use-entity-filter.d.ts.map +1 -0
- package/dist/types/features/entity-filtering/ui/category-chips.d.ts +23 -0
- package/dist/types/features/entity-filtering/ui/category-chips.d.ts.map +1 -0
- package/dist/types/features/input/index.d.ts +9 -0
- package/dist/types/features/input/index.d.ts.map +1 -0
- package/dist/types/features/input/lib/input-variants.d.ts +20 -0
- package/dist/types/features/input/lib/input-variants.d.ts.map +1 -0
- package/dist/types/features/input/ui/input.d.ts +27 -0
- package/dist/types/features/input/ui/input.d.ts.map +1 -0
- package/dist/types/features/modal/index.d.ts +7 -0
- package/dist/types/features/modal/index.d.ts.map +1 -0
- package/dist/types/features/modal/lib/utils.d.ts +3 -0
- package/dist/types/features/modal/lib/utils.d.ts.map +1 -0
- package/dist/types/features/modal/ui/modal.d.ts +28 -0
- package/dist/types/features/modal/ui/modal.d.ts.map +1 -0
- package/dist/types/features/select/index.d.ts +9 -0
- package/dist/types/features/select/index.d.ts.map +1 -0
- package/dist/types/features/select/lib/select-variants.d.ts +20 -0
- package/dist/types/features/select/lib/select-variants.d.ts.map +1 -0
- package/dist/types/features/select/ui/select.d.ts +32 -0
- package/dist/types/features/select/ui/select.d.ts.map +1 -0
- package/dist/types/features/text/index.d.ts +7 -0
- package/dist/types/features/text/index.d.ts.map +1 -0
- package/dist/types/features/text/lib/utils.d.ts +3 -0
- package/dist/types/features/text/lib/utils.d.ts.map +1 -0
- package/dist/types/features/text/ui/text.d.ts +15 -0
- package/dist/types/features/text/ui/text.d.ts.map +1 -0
- package/dist/types/index.d.ts +53 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/main.d.ts +2 -0
- package/dist/types/main.d.ts.map +1 -0
- package/dist/types/pages/layouts/index.d.ts +7 -0
- package/dist/types/pages/layouts/index.d.ts.map +1 -0
- package/dist/types/pages/layouts/lib/utils.d.ts +3 -0
- package/dist/types/pages/layouts/lib/utils.d.ts.map +1 -0
- package/dist/types/pages/layouts/ui/page-layout.d.ts +30 -0
- package/dist/types/pages/layouts/ui/page-layout.d.ts.map +1 -0
- package/dist/types/shared/config/themes.d.ts +13 -0
- package/dist/types/shared/config/themes.d.ts.map +1 -0
- package/dist/types/shared/config/tokens/index.d.ts +187 -0
- package/dist/types/shared/config/tokens/index.d.ts.map +1 -0
- package/dist/types/shared/index.d.ts +15 -0
- package/dist/types/shared/index.d.ts.map +1 -0
- package/dist/types/shared/lib/a11y/components.d.ts +6 -0
- package/dist/types/shared/lib/a11y/components.d.ts.map +1 -0
- package/dist/types/shared/lib/a11y/index.d.ts +2 -0
- package/dist/types/shared/lib/a11y/index.d.ts.map +1 -0
- package/dist/types/shared/lib/a11y/utils.d.ts +54 -0
- package/dist/types/shared/lib/a11y/utils.d.ts.map +1 -0
- package/dist/types/shared/lib/design-system.d.ts +307 -0
- package/dist/types/shared/lib/design-system.d.ts.map +1 -0
- package/dist/types/shared/lib/governance/components.d.ts +10 -0
- package/dist/types/shared/lib/governance/components.d.ts.map +1 -0
- package/dist/types/shared/lib/governance/index.d.ts +110 -0
- package/dist/types/shared/lib/governance/index.d.ts.map +1 -0
- package/dist/types/shared/lib/governance/migrations.d.ts +2 -0
- package/dist/types/shared/lib/governance/migrations.d.ts.map +1 -0
- package/dist/types/shared/lib/governance/policies.d.ts +81 -0
- package/dist/types/shared/lib/governance/policies.d.ts.map +1 -0
- package/dist/types/shared/lib/governance/utils.d.ts +54 -0
- package/dist/types/shared/lib/governance/utils.d.ts.map +1 -0
- package/dist/types/shared/lib/i18n/index.d.ts +125 -0
- package/dist/types/shared/lib/i18n/index.d.ts.map +1 -0
- package/dist/types/shared/lib/performance/hooks.d.ts +35 -0
- package/dist/types/shared/lib/performance/hooks.d.ts.map +1 -0
- package/dist/types/shared/lib/performance/index.d.ts +40 -0
- package/dist/types/shared/lib/performance/index.d.ts.map +1 -0
- package/dist/types/shared/lib/theme/use-theme.d.ts +13 -0
- package/dist/types/shared/lib/theme/use-theme.d.ts.map +1 -0
- package/dist/types/shared/lib/utils.d.ts +3 -0
- package/dist/types/shared/lib/utils.d.ts.map +1 -0
- package/dist/types/shared/model/theme-store.d.ts +12 -0
- package/dist/types/shared/model/theme-store.d.ts.map +1 -0
- package/dist/types/shared/types/property.d.ts +47 -0
- package/dist/types/shared/types/property.d.ts.map +1 -0
- package/dist/types/shared/types/theme.d.ts +74 -0
- package/dist/types/shared/types/theme.d.ts.map +1 -0
- package/dist/types/shared/ui/chip/chip-variants.d.ts +7 -0
- package/dist/types/shared/ui/chip/chip-variants.d.ts.map +1 -0
- package/dist/types/shared/ui/chip/chip.d.ts +15 -0
- package/dist/types/shared/ui/chip/chip.d.ts.map +1 -0
- package/dist/types/shared/ui/chip/index.d.ts +9 -0
- package/dist/types/shared/ui/chip/index.d.ts.map +1 -0
- package/dist/types/shared/ui/theme/theme-provider.d.ts +12 -0
- package/dist/types/shared/ui/theme/theme-provider.d.ts.map +1 -0
- package/dist/types/test/setup.d.ts +2 -0
- package/dist/types/test/setup.d.ts.map +1 -0
- package/dist/types/widgets/entity-directory/index.d.ts +23 -0
- package/dist/types/widgets/entity-directory/index.d.ts.map +1 -0
- package/dist/types/widgets/entity-directory/ui/empty-state.d.ts +20 -0
- package/dist/types/widgets/entity-directory/ui/empty-state.d.ts.map +1 -0
- package/dist/types/widgets/entity-directory/ui/entity-directory.d.ts +70 -0
- package/dist/types/widgets/entity-directory/ui/entity-directory.d.ts.map +1 -0
- package/dist/types/widgets/entity-directory/ui/error-state.d.ts +15 -0
- package/dist/types/widgets/entity-directory/ui/error-state.d.ts.map +1 -0
- package/dist/types/widgets/entity-directory/ui/header.d.ts +15 -0
- package/dist/types/widgets/entity-directory/ui/header.d.ts.map +1 -0
- package/dist/types/widgets/entity-directory/ui/list-item.d.ts +24 -0
- package/dist/types/widgets/entity-directory/ui/list-item.d.ts.map +1 -0
- package/dist/types/widgets/entity-directory/ui/list.d.ts +34 -0
- package/dist/types/widgets/entity-directory/ui/list.d.ts.map +1 -0
- package/dist/types/widgets/entity-directory/ui/loading-state.d.ts +13 -0
- package/dist/types/widgets/entity-directory/ui/loading-state.d.ts.map +1 -0
- package/dist/types/widgets/entity-directory/ui/search-filter.d.ts +17 -0
- package/dist/types/widgets/entity-directory/ui/search-filter.d.ts.map +1 -0
- package/dist/types/widgets/entity-directory/ui/table-header.d.ts +34 -0
- package/dist/types/widgets/entity-directory/ui/table-header.d.ts.map +1 -0
- package/dist/types/widgets/header/index.d.ts +26 -0
- package/dist/types/widgets/header/index.d.ts.map +1 -0
- package/dist/types/widgets/header/ui/header.d.ts +52 -0
- package/dist/types/widgets/header/ui/header.d.ts.map +1 -0
- package/dist/types/widgets/hero-banner/index.d.ts +25 -0
- package/dist/types/widgets/hero-banner/index.d.ts.map +1 -0
- package/dist/types/widgets/hero-banner/model/create-hero-banner-model.d.ts +21 -0
- package/dist/types/widgets/hero-banner/model/create-hero-banner-model.d.ts.map +1 -0
- package/dist/types/widgets/hero-banner/model/index.d.ts +7 -0
- package/dist/types/widgets/hero-banner/model/index.d.ts.map +1 -0
- package/dist/types/widgets/hero-banner/model/types.d.ts +77 -0
- package/dist/types/widgets/hero-banner/model/types.d.ts.map +1 -0
- package/dist/types/widgets/hero-banner/ui/hero-banner.d.ts +30 -0
- package/dist/types/widgets/hero-banner/ui/hero-banner.d.ts.map +1 -0
- package/dist/types/widgets/mortgage-calculator/index.d.ts +8 -0
- package/dist/types/widgets/mortgage-calculator/index.d.ts.map +1 -0
- package/dist/types/widgets/mortgage-calculator/lib/constants.d.ts +22 -0
- package/dist/types/widgets/mortgage-calculator/lib/constants.d.ts.map +1 -0
- package/dist/types/widgets/mortgage-calculator/ui/mortgage-calculator.d.ts +27 -0
- package/dist/types/widgets/mortgage-calculator/ui/mortgage-calculator.d.ts.map +1 -0
- package/dist/types/widgets/property-card/index.d.ts +7 -0
- package/dist/types/widgets/property-card/index.d.ts.map +1 -0
- package/dist/types/widgets/property-card/ui/property-card.d.ts +19 -0
- package/dist/types/widgets/property-card/ui/property-card.d.ts.map +1 -0
- package/dist/types/widgets/property-gallery/index.d.ts +7 -0
- package/dist/types/widgets/property-gallery/index.d.ts.map +1 -0
- package/dist/types/widgets/property-gallery/ui/property-gallery.d.ts +16 -0
- package/dist/types/widgets/property-gallery/ui/property-gallery.d.ts.map +1 -0
- package/dist/types/widgets/search-feature/index.d.ts +20 -0
- package/dist/types/widgets/search-feature/index.d.ts.map +1 -0
- package/dist/types/widgets/search-feature/lib/constants.d.ts +14 -0
- package/dist/types/widgets/search-feature/lib/constants.d.ts.map +1 -0
- package/dist/types/widgets/search-feature/lib/use-search.d.ts +32 -0
- package/dist/types/widgets/search-feature/lib/use-search.d.ts.map +1 -0
- package/dist/types/widgets/search-feature/model/index.d.ts +6 -0
- package/dist/types/widgets/search-feature/model/index.d.ts.map +1 -0
- package/dist/types/widgets/search-feature/model/types.d.ts +116 -0
- package/dist/types/widgets/search-feature/model/types.d.ts.map +1 -0
- package/dist/types/widgets/search-feature/ui/search-button.d.ts +22 -0
- package/dist/types/widgets/search-feature/ui/search-button.d.ts.map +1 -0
- package/dist/types/widgets/search-feature/ui/search-card-form.d.ts +9 -0
- package/dist/types/widgets/search-feature/ui/search-card-form.d.ts.map +1 -0
- package/dist/types/widgets/search-feature/ui/search-compact-form.d.ts +9 -0
- package/dist/types/widgets/search-feature/ui/search-compact-form.d.ts.map +1 -0
- package/dist/types/widgets/search-feature/ui/search-divider.d.ts +10 -0
- package/dist/types/widgets/search-feature/ui/search-divider.d.ts.map +1 -0
- package/dist/types/widgets/search-feature/ui/search-feature.d.ts +23 -0
- package/dist/types/widgets/search-feature/ui/search-feature.d.ts.map +1 -0
- package/dist/types/widgets/search-feature/ui/search-form-field.d.ts +34 -0
- package/dist/types/widgets/search-feature/ui/search-form-field.d.ts.map +1 -0
- package/dist/types/widgets/search-feature/ui/search-luxury-form.d.ts +16 -0
- package/dist/types/widgets/search-feature/ui/search-luxury-form.d.ts.map +1 -0
- package/dist/types/widgets/search-feature/ui/search-minimal-form.d.ts +10 -0
- package/dist/types/widgets/search-feature/ui/search-minimal-form.d.ts.map +1 -0
- package/dist/types/widgets/search-feature/ui/search-mobile-form.d.ts +9 -0
- package/dist/types/widgets/search-feature/ui/search-mobile-form.d.ts.map +1 -0
- package/dist/types/widgets/search-feature/ui/search-modern-form.d.ts +16 -0
- package/dist/types/widgets/search-feature/ui/search-modern-form.d.ts.map +1 -0
- package/package.json +2 -3
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Feature Hook
|
|
3
|
+
* Manages search form state and submission logic
|
|
4
|
+
*/
|
|
5
|
+
import type { SearchFormData, SearchOption, SearchSubmitHandler, UseSearchResult } from "../model";
|
|
6
|
+
export interface UseSearchOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Callback when search is submitted
|
|
9
|
+
*/
|
|
10
|
+
onSubmit?: SearchSubmitHandler;
|
|
11
|
+
/**
|
|
12
|
+
* Default form values
|
|
13
|
+
*/
|
|
14
|
+
defaultValues?: Partial<SearchFormData>;
|
|
15
|
+
/**
|
|
16
|
+
* Property type options (required)
|
|
17
|
+
*/
|
|
18
|
+
propertyTypeOptions: SearchOption[];
|
|
19
|
+
/**
|
|
20
|
+
* Transaction type options (required)
|
|
21
|
+
*/
|
|
22
|
+
transactionTypeOptions: SearchOption[];
|
|
23
|
+
/**
|
|
24
|
+
* Location options (required)
|
|
25
|
+
*/
|
|
26
|
+
locationOptions: SearchOption[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Custom hook for search feature logic
|
|
30
|
+
*/
|
|
31
|
+
export declare function useSearch({ onSubmit, defaultValues, propertyTypeOptions, transactionTypeOptions, locationOptions, }: UseSearchOptions): UseSearchResult;
|
|
32
|
+
//# sourceMappingURL=use-search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-search.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/search-feature/lib/use-search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACX,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAE/B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAExC;;OAEG;IACH,mBAAmB,EAAE,YAAY,EAAE,CAAC;IAEpC;;OAEG;IACH,sBAAsB,EAAE,YAAY,EAAE,CAAC;IAEvC;;OAEG;IACH,eAAe,EAAE,YAAY,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EACzB,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,GACf,EAAE,gBAAgB,GAAG,eAAe,CA0DpC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Feature Model
|
|
3
|
+
* Public exports for type definitions
|
|
4
|
+
*/
|
|
5
|
+
export type { SearchCriteria, SearchFeatureProps, SearchFormComponentProps, SearchFormData, SearchOption, SearchSubmitHandler, SearchVariant, UseSearchResult, Zone, } from "./types";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/search-feature/model/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACX,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,IAAI,GACJ,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Feature Model
|
|
3
|
+
* Type definitions for the search feature widget
|
|
4
|
+
*/
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
/**
|
|
7
|
+
* Search form data structure
|
|
8
|
+
* Uses generic strings to allow full customization by clients
|
|
9
|
+
*/
|
|
10
|
+
export interface SearchFormData {
|
|
11
|
+
propertyType: string;
|
|
12
|
+
transactionType: string;
|
|
13
|
+
location: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Search option with optional icon
|
|
17
|
+
*/
|
|
18
|
+
export interface SearchOption {
|
|
19
|
+
value: string;
|
|
20
|
+
label: string;
|
|
21
|
+
icon?: React.ReactNode;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Search criteria for submission
|
|
25
|
+
*/
|
|
26
|
+
export interface SearchCriteria {
|
|
27
|
+
propertyType: string;
|
|
28
|
+
transactionType: string;
|
|
29
|
+
location: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Search submit handler function type
|
|
33
|
+
*/
|
|
34
|
+
export type SearchSubmitHandler = (criteria: SearchCriteria) => void;
|
|
35
|
+
/**
|
|
36
|
+
* Zone/location option
|
|
37
|
+
*/
|
|
38
|
+
export interface Zone {
|
|
39
|
+
id?: string;
|
|
40
|
+
name: string;
|
|
41
|
+
slug: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Search feature variant types
|
|
45
|
+
*/
|
|
46
|
+
export type SearchVariant = "minimal" | "modern" | "luxury" | "card" | "compact";
|
|
47
|
+
/**
|
|
48
|
+
* Main search feature props
|
|
49
|
+
*/
|
|
50
|
+
export interface SearchFeatureProps {
|
|
51
|
+
/**
|
|
52
|
+
* Callback when search form is submitted
|
|
53
|
+
*/
|
|
54
|
+
onSubmit?: SearchSubmitHandler;
|
|
55
|
+
/**
|
|
56
|
+
* Default values for form fields
|
|
57
|
+
*/
|
|
58
|
+
defaultValues?: Partial<SearchFormData>;
|
|
59
|
+
/**
|
|
60
|
+
* Custom CSS class name
|
|
61
|
+
*/
|
|
62
|
+
className?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Visual variant of the search form
|
|
65
|
+
* @default "minimal"
|
|
66
|
+
*/
|
|
67
|
+
variant?: SearchVariant;
|
|
68
|
+
/**
|
|
69
|
+
* Property type options (e.g., House, Apartment, Land)
|
|
70
|
+
* Client must provide these options
|
|
71
|
+
*/
|
|
72
|
+
propertyTypeOptions: SearchOption[];
|
|
73
|
+
/**
|
|
74
|
+
* Transaction type options (e.g., Sale, Rent, Lease)
|
|
75
|
+
* Client must provide these options
|
|
76
|
+
*/
|
|
77
|
+
transactionTypeOptions: SearchOption[];
|
|
78
|
+
/**
|
|
79
|
+
* Location/zone options
|
|
80
|
+
* Client must provide these options
|
|
81
|
+
*/
|
|
82
|
+
locationOptions: SearchOption[];
|
|
83
|
+
/**
|
|
84
|
+
* Button label text (used for modern and luxury variants)
|
|
85
|
+
* @default "Conoce Más"
|
|
86
|
+
*/
|
|
87
|
+
buttonLabel?: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Search form component props (used by all form variants)
|
|
91
|
+
*/
|
|
92
|
+
export interface SearchFormComponentProps {
|
|
93
|
+
formData: SearchFormData;
|
|
94
|
+
options: {
|
|
95
|
+
propertyTypeOptions: SearchOption[];
|
|
96
|
+
transactionTypeOptions: SearchOption[];
|
|
97
|
+
locationOptions: SearchOption[];
|
|
98
|
+
};
|
|
99
|
+
onFieldChange: (field: keyof SearchFormData) => (value: string) => void;
|
|
100
|
+
isSubmitting: boolean;
|
|
101
|
+
onSubmit: (e: React.FormEvent) => void;
|
|
102
|
+
error?: string | null;
|
|
103
|
+
className?: string;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Use search hook result
|
|
107
|
+
*/
|
|
108
|
+
export interface UseSearchResult {
|
|
109
|
+
formData: SearchFormData;
|
|
110
|
+
setFormData: React.Dispatch<React.SetStateAction<SearchFormData>>;
|
|
111
|
+
handleSubmit: (e: React.FormEvent) => void;
|
|
112
|
+
propertyTypeOptions: SearchOption[];
|
|
113
|
+
transactionTypeOptions: SearchOption[];
|
|
114
|
+
locationOptions: SearchOption[];
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/search-feature/model/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,IAAI;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GACtB,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,SAAS,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAE/B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAExC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB;;;OAGG;IACH,mBAAmB,EAAE,YAAY,EAAE,CAAC;IAEpC;;;OAGG;IACH,sBAAsB,EAAE,YAAY,EAAE,CAAC;IAEvC;;;OAGG;IACH,eAAe,EAAE,YAAY,EAAE,CAAC;IAEhC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE;QACR,mBAAmB,EAAE,YAAY,EAAE,CAAC;QACpC,sBAAsB,EAAE,YAAY,EAAE,CAAC;QACvC,eAAe,EAAE,YAAY,EAAE,CAAC;KAChC,CAAC;IACF,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,cAAc,KAAK,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;IAClE,YAAY,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IAC3C,mBAAmB,EAAE,YAAY,EAAE,CAAC;IACpC,sBAAsB,EAAE,YAAY,EAAE,CAAC;IACvC,eAAe,EAAE,YAAY,EAAE,CAAC;CAChC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Button Component
|
|
3
|
+
* Specialized button for search forms with different variants
|
|
4
|
+
*/
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
export interface SearchButtonProps {
|
|
7
|
+
/**
|
|
8
|
+
* Visual variant of the button
|
|
9
|
+
* @default "pill"
|
|
10
|
+
*/
|
|
11
|
+
variant?: "pill" | "mobile";
|
|
12
|
+
/**
|
|
13
|
+
* Whether the search is in progress
|
|
14
|
+
*/
|
|
15
|
+
isSubmitting: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Custom CSS class name
|
|
18
|
+
*/
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare const SearchButton: React.FC<SearchButtonProps>;
|
|
22
|
+
//# sourceMappingURL=search-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-button.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/search-feature/ui/search-button.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,iBAAiB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAE5B;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA+BpD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Card Form Component
|
|
3
|
+
* Card-style search form with grid layout
|
|
4
|
+
*/
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import type { SearchFormComponentProps } from "../model";
|
|
7
|
+
export type SearchCardFormProps = SearchFormComponentProps;
|
|
8
|
+
export declare const SearchCardForm: React.FC<SearchCardFormProps>;
|
|
9
|
+
//# sourceMappingURL=search-card-form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-card-form.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/search-feature/ui/search-card-form.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAGzD,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AAE3D,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA8DxD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Compact Form Component
|
|
3
|
+
* Compact vertical search form layout
|
|
4
|
+
*/
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import type { SearchFormComponentProps } from "../model";
|
|
7
|
+
export type SearchCompactFormProps = Omit<SearchFormComponentProps, "error">;
|
|
8
|
+
export declare const SearchCompactForm: React.FC<SearchCompactFormProps>;
|
|
9
|
+
//# sourceMappingURL=search-compact-form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-compact-form.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/search-feature/ui/search-compact-form.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAIzD,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;AAE7E,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA2C9D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Divider Component
|
|
3
|
+
* Visual separator for search form fields
|
|
4
|
+
*/
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
export interface SearchDividerProps {
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const SearchDivider: React.FC<SearchDividerProps>;
|
|
10
|
+
//# sourceMappingURL=search-divider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-divider.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/search-feature/ui/search-divider.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,kBAAkB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAItD,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Feature Widget
|
|
3
|
+
* Comprehensive property search component with multiple variants
|
|
4
|
+
*/
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import type { SearchFeatureProps } from "../model";
|
|
7
|
+
/**
|
|
8
|
+
* SearchFeature - Main search widget component
|
|
9
|
+
*
|
|
10
|
+
* A comprehensive property search component that supports multiple visual variants
|
|
11
|
+
* and is fully customizable with options for property types, transaction types, and locations.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* <SearchFeature
|
|
16
|
+
* variant="pill"
|
|
17
|
+
* onSubmit={(criteria) => console.log(criteria)}
|
|
18
|
+
* defaultValues={{ propertyType: "HOUSE", transactionType: "SALE" }}
|
|
19
|
+
* />
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare const SearchFeature: React.FC<SearchFeatureProps>;
|
|
23
|
+
//# sourceMappingURL=search-feature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-feature.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/search-feature/ui/search-feature.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,UAAU,CAAC;AAiBnE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAuGtD,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Form Field Component
|
|
3
|
+
* Wrapper component for search form select fields
|
|
4
|
+
*/
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import type { SearchOption } from "../model";
|
|
7
|
+
export interface SearchFormFieldProps {
|
|
8
|
+
/**
|
|
9
|
+
* Field label
|
|
10
|
+
*/
|
|
11
|
+
label: string;
|
|
12
|
+
/**
|
|
13
|
+
* Select options with optional icons
|
|
14
|
+
*/
|
|
15
|
+
options: SearchOption[];
|
|
16
|
+
/**
|
|
17
|
+
* Current selected value
|
|
18
|
+
*/
|
|
19
|
+
value: string;
|
|
20
|
+
/**
|
|
21
|
+
* Change handler
|
|
22
|
+
*/
|
|
23
|
+
onChange: (value: string) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Custom CSS class name for the select
|
|
26
|
+
*/
|
|
27
|
+
className?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Custom CSS class name for the container
|
|
30
|
+
*/
|
|
31
|
+
containerClassName?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare const SearchFormField: React.FC<SearchFormFieldProps>;
|
|
34
|
+
//# sourceMappingURL=search-form-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-form-field.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/search-feature/ui/search-form-field.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,EAAE,YAAY,EAAE,CAAC;IAExB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA0C1D,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Luxury Form Component
|
|
3
|
+
* Rectangular search form with sharp edges and elegant styling
|
|
4
|
+
* Based on Figma "Template Luxury/Home" design
|
|
5
|
+
*/
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import type { SearchFormComponentProps } from "../model";
|
|
8
|
+
export interface SearchLuxuryFormProps extends Omit<SearchFormComponentProps, "error"> {
|
|
9
|
+
/**
|
|
10
|
+
* Button label text
|
|
11
|
+
* @default "Conoce Más"
|
|
12
|
+
*/
|
|
13
|
+
buttonLabel?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const SearchLuxuryForm: React.FC<SearchLuxuryFormProps>;
|
|
16
|
+
//# sourceMappingURL=search-luxury-form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-luxury-form.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/search-feature/ui/search-luxury-form.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAIzD,MAAM,WAAW,qBAChB,SAAQ,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC;IAC/C;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA4D5D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Minimal Form Component
|
|
3
|
+
* Horizontal pill-shaped search form with dividers
|
|
4
|
+
* Based on Figma "Template Minimalista/Home" design
|
|
5
|
+
*/
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import type { SearchFormComponentProps } from "../model";
|
|
8
|
+
export type SearchMinimalFormProps = Omit<SearchFormComponentProps, "error">;
|
|
9
|
+
export declare const SearchMinimalForm: React.FC<SearchMinimalFormProps>;
|
|
10
|
+
//# sourceMappingURL=search-minimal-form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-minimal-form.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/search-feature/ui/search-minimal-form.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAKzD,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;AAE7E,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAuD9D,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Mobile Form Component
|
|
3
|
+
* Mobile-optimized search form (shown only on small screens)
|
|
4
|
+
*/
|
|
5
|
+
import * as React from "react";
|
|
6
|
+
import type { SearchFormComponentProps } from "../model";
|
|
7
|
+
export type SearchMobileFormProps = Omit<SearchFormComponentProps, "error">;
|
|
8
|
+
export declare const SearchMobileForm: React.FC<SearchMobileFormProps>;
|
|
9
|
+
//# sourceMappingURL=search-mobile-form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-mobile-form.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/search-feature/ui/search-mobile-form.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAIzD,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;AAE5E,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA0C5D,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Modern Form Component
|
|
3
|
+
* Modern rounded rectangular search form with text button
|
|
4
|
+
* Based on Figma "Template Moderno/Home" design
|
|
5
|
+
*/
|
|
6
|
+
import * as React from "react";
|
|
7
|
+
import type { SearchFormComponentProps } from "../model";
|
|
8
|
+
export interface SearchModernFormProps extends Omit<SearchFormComponentProps, "error"> {
|
|
9
|
+
/**
|
|
10
|
+
* Button label text
|
|
11
|
+
* @default "Conoce Más"
|
|
12
|
+
*/
|
|
13
|
+
buttonLabel?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const SearchModernForm: React.FC<SearchModernFormProps>;
|
|
16
|
+
//# sourceMappingURL=search-modern-form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-modern-form.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/search-feature/ui/search-modern-form.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAIzD,MAAM,WAAW,qBAChB,SAAQ,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC;IAC/C;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA4D5D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@homlista-devs/ui",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.2",
|
|
4
4
|
"main": "./dist/design-system.cjs.js",
|
|
5
5
|
"module": "./dist/design-system.es.js",
|
|
6
6
|
"types": "./dist/types/index.d.ts",
|
|
@@ -31,8 +31,7 @@
|
|
|
31
31
|
"scripts": {
|
|
32
32
|
"dev": "vite",
|
|
33
33
|
"build": "tsc --noEmit && vite build",
|
|
34
|
-
"build:lib": "vite build && npm run build:css",
|
|
35
|
-
"build:lib:full": "vite build && npm run build:types && npm run build:css",
|
|
34
|
+
"build:lib": "vite build && npm run build:types && npm run build:css",
|
|
36
35
|
"build:types": "tsc --project tsconfig.app.json --emitDeclarationOnly --outDir dist/types --skipLibCheck",
|
|
37
36
|
"build:css": "postcss ./src/index.css -o ./dist/index.css --config ./postcss.config.js",
|
|
38
37
|
"lint": "biome check --write .",
|