@giddaa-housing/ui 0.1.0 → 1.1.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.
- package/README.md +18 -6
- package/css/base.css +37 -0
- package/css/components.css +135 -0
- package/css/generated/shared.css +1 -0
- package/css/giddaa.css +402 -0
- package/css/preset.css +77 -0
- package/css/styles.css +2 -0
- package/css/theme.css +255 -0
- package/dist/accordion.d.ts +9 -10
- package/dist/accordion.js +41 -117
- package/dist/activity-timeline.d.ts +29 -0
- package/dist/activity-timeline.js +97 -0
- package/dist/alert.d.ts +8 -9
- package/dist/alert.js +53 -141
- package/dist/auth-layout.d.ts +23 -0
- package/dist/auth-layout.js +153 -0
- package/dist/avatar.d.ts +6 -6
- package/dist/avatar.js +40 -142
- package/dist/badge.d.ts +12 -13
- package/dist/badge.js +66 -114
- package/dist/bar-chart.d.ts +136 -114
- package/dist/bar-chart.js +244 -297
- package/dist/breadcrumb.d.ts +5 -5
- package/dist/breadcrumb.js +56 -148
- package/dist/bullet-chart.d.ts +33 -33
- package/dist/bullet-chart.js +123 -183
- package/dist/button-BZIeyUw6.d.ts +17 -0
- package/dist/button-group.d.ts +13 -16
- package/dist/button-group.js +38 -163
- package/dist/button.d.ts +2 -19
- package/dist/button.js +90 -142
- package/dist/calendar.d.ts +6 -6
- package/dist/calendar.js +134 -288
- package/dist/card.d.ts +14 -16
- package/dist/card.js +58 -174
- package/dist/carousel.d.ts +34 -35
- package/dist/carousel.js +319 -378
- package/dist/chart.d.ts +58 -59
- package/dist/chart.js +350 -466
- package/dist/checkbox.d.ts +10 -12
- package/dist/checkbox.js +84 -84
- package/dist/cn-BI_4DMBf.js +23 -0
- package/dist/collapsible.d.ts +7 -8
- package/dist/collapsible.js +23 -77
- package/dist/combobox.d.ts +10 -10
- package/dist/combobox.js +220 -696
- package/dist/cta.d.ts +64 -0
- package/dist/cta.js +192 -0
- package/dist/currency-selector.d.ts +41 -0
- package/dist/currency-selector.js +114 -0
- package/dist/data-table.d.ts +164 -0
- package/dist/data-table.js +673 -0
- package/dist/date-picker.d.ts +27 -20
- package/dist/date-picker.js +122 -520
- package/dist/details-card.d.ts +19 -0
- package/dist/details-card.js +118 -0
- package/dist/dialog.d.ts +13 -14
- package/dist/dialog.js +117 -320
- package/dist/dropdown-menu.d.ts +14 -14
- package/dist/dropdown-menu.js +170 -365
- package/dist/dropzone.d.ts +55 -55
- package/dist/dropzone.js +328 -467
- package/dist/editorial-card.d.ts +27 -0
- package/dist/editorial-card.js +144 -0
- package/dist/empty-state.d.ts +8 -9
- package/dist/empty-state.js +48 -135
- package/dist/field.d.ts +23 -25
- package/dist/field.js +111 -327
- package/dist/filter.d.ts +118 -0
- package/dist/filter.js +775 -0
- package/dist/footer.d.ts +40 -0
- package/dist/footer.js +227 -0
- package/dist/funnel-chart.d.ts +38 -41
- package/dist/funnel-chart.js +168 -563
- package/dist/gallery-indicator.d.ts +17 -0
- package/dist/gallery-indicator.js +75 -0
- package/dist/heatmap-chart.d.ts +95 -0
- package/dist/heatmap-chart.js +197 -0
- package/dist/infotip.d.ts +10 -0
- package/dist/infotip.js +40 -0
- package/dist/input-CfoEJ8A6.d.ts +12 -0
- package/dist/input-group.d.ts +16 -19
- package/dist/input-group.js +92 -372
- package/dist/input-size-context-C-SFx9sx.d.ts +10 -0
- package/dist/input-size-context.d.ts +2 -11
- package/dist/input-size-context.js +14 -20
- package/dist/input.d.ts +2 -13
- package/dist/input.js +23 -79
- package/dist/item.d.ts +7 -8
- package/dist/item.js +22 -89
- package/dist/kpi-card.d.ts +18 -20
- package/dist/kpi-card.js +84 -232
- package/dist/label.d.ts +6 -6
- package/dist/label.js +39 -66
- package/dist/line-chart.d.ts +88 -89
- package/dist/line-chart.js +143 -262
- package/dist/logo.d.ts +4 -4
- package/dist/logo.js +87 -141
- package/dist/map-indicator.d.ts +13 -0
- package/dist/map-indicator.js +83 -0
- package/dist/match.d.ts +15 -0
- package/dist/match.js +68 -0
- package/dist/media-gallery-hero.d.ts +58 -0
- package/dist/media-gallery-hero.js +201 -0
- package/dist/media-player.d.ts +60 -0
- package/dist/media-player.js +919 -0
- package/dist/multi-step-form.d.ts +56 -0
- package/dist/multi-step-form.js +342 -0
- package/dist/number-input.d.ts +34 -34
- package/dist/number-input.js +62 -413
- package/dist/page-header.d.ts +10 -11
- package/dist/page-header.js +34 -107
- package/dist/pagination.d.ts +17 -20
- package/dist/pagination.js +132 -341
- package/dist/password-input.d.ts +5 -12
- package/dist/password-input.js +32 -354
- package/dist/phone-input.d.ts +19 -19
- package/dist/phone-input.js +232 -561
- package/dist/photo-gallery.d.ts +20 -20
- package/dist/photo-gallery.js +314 -746
- package/dist/picker-lzgmsNfG.js +32 -0
- package/dist/pie-chart.d.ts +60 -60
- package/dist/pie-chart.js +141 -184
- package/dist/popover.d.ts +9 -9
- package/dist/popover.js +60 -156
- package/dist/price-tag.d.ts +34 -0
- package/dist/price-tag.js +118 -0
- package/dist/progress.d.ts +18 -16
- package/dist/progress.js +156 -300
- package/dist/property-listing-card.d.ts +29 -0
- package/dist/property-listing-card.js +117 -0
- package/dist/radar-chart.d.ts +108 -0
- package/dist/radar-chart.js +172 -0
- package/dist/radio-group.d.ts +11 -13
- package/dist/radio-group.js +47 -96
- package/dist/review-block.d.ts +18 -0
- package/dist/review-block.js +154 -0
- package/dist/rich-text-editor.d.ts +30 -14
- package/dist/rich-text-editor.js +594 -979
- package/dist/scatter-chart.d.ts +140 -0
- package/dist/scatter-chart.js +248 -0
- package/dist/search-input.d.ts +8 -15
- package/dist/search-input.js +58 -408
- package/dist/select.d.ts +8 -8
- package/dist/select.js +131 -291
- package/dist/separator.d.ts +8 -9
- package/dist/separator.js +31 -70
- package/dist/sheet.d.ts +11 -11
- package/dist/sheet.js +84 -262
- package/dist/sidebar.d.ts +32 -37
- package/dist/sidebar.js +380 -1055
- package/dist/size-context-D4mYvcg8.d.ts +10 -0
- package/dist/size-context.d.ts +2 -11
- package/dist/size-context.js +14 -18
- package/dist/skeleton.d.ts +4 -5
- package/dist/skeleton.js +9 -45
- package/dist/slider.d.ts +27 -0
- package/dist/slider.js +81 -0
- package/dist/sparkline.d.ts +43 -46
- package/dist/sparkline.js +223 -561
- package/dist/stepper.d.ts +23 -24
- package/dist/stepper.js +149 -276
- package/dist/styles.css +9995 -2
- package/dist/switch.d.ts +10 -12
- package/dist/switch.js +49 -106
- package/dist/table-card.d.ts +35 -0
- package/dist/table-card.js +125 -0
- package/dist/table.d.ts +18 -14
- package/dist/table.js +114 -182
- package/dist/tabs.d.ts +23 -15
- package/dist/tabs.js +62 -149
- package/dist/tag.d.ts +22 -23
- package/dist/tag.js +104 -156
- package/dist/testimonial-block.d.ts +33 -0
- package/dist/testimonial-block.js +208 -0
- package/dist/textarea-IS_D8pXf.d.ts +11 -0
- package/dist/textarea.d.ts +2 -12
- package/dist/textarea.js +20 -74
- package/dist/time-picker.d.ts +11 -11
- package/dist/time-picker.js +247 -464
- package/dist/toast.d.ts +16 -18
- package/dist/toast.js +154 -310
- package/dist/tooltip.d.ts +9 -10
- package/dist/tooltip.js +33 -91
- package/dist/tree-map.d.ts +54 -57
- package/dist/tree-map.js +231 -646
- package/dist/use-uncontrolled-CLfM1XbB.js +21 -0
- package/dist/waterfall-chart.d.ts +126 -0
- package/dist/waterfall-chart.js +480 -0
- package/package.json +123 -34
- package/dist/accordion.js.map +0 -1
- package/dist/alert.js.map +0 -1
- package/dist/avatar.js.map +0 -1
- package/dist/badge.js.map +0 -1
- package/dist/bar-chart.js.map +0 -1
- package/dist/base.css +0 -32
- package/dist/breadcrumb.js.map +0 -1
- package/dist/bullet-chart.js.map +0 -1
- package/dist/button-group.js.map +0 -1
- package/dist/button.js.map +0 -1
- package/dist/calendar.js.map +0 -1
- package/dist/card.js.map +0 -1
- package/dist/carousel.js.map +0 -1
- package/dist/chart.js.map +0 -1
- package/dist/checkbox.js.map +0 -1
- package/dist/collapsible.js.map +0 -1
- package/dist/combobox.js.map +0 -1
- package/dist/date-picker.js.map +0 -1
- package/dist/dialog.js.map +0 -1
- package/dist/dropdown-menu.js.map +0 -1
- package/dist/dropzone.js.map +0 -1
- package/dist/empty-state.js.map +0 -1
- package/dist/field.js.map +0 -1
- package/dist/files/red-hat-display-latin-300-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-300-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-300-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-300-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-400-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-400-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-400-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-400-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-500-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-500-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-500-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-500-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-600-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-600-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-600-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-600-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-700-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-700-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-700-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-700-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-800-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-800-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-800-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-800-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-900-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-900-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-900-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-900-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-300-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-300-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-300-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-300-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-400-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-400-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-400-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-400-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-500-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-500-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-500-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-500-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-600-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-600-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-600-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-600-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-700-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-700-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-700-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-700-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-800-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-800-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-800-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-800-normal.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-900-italic.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-900-italic.woff2 +0 -0
- package/dist/files/red-hat-display-latin-ext-900-normal.woff +0 -0
- package/dist/files/red-hat-display-latin-ext-900-normal.woff2 +0 -0
- package/dist/funnel-chart.js.map +0 -1
- package/dist/index.d.ts +0 -87
- package/dist/index.js +0 -10448
- package/dist/index.js.map +0 -1
- package/dist/input-group.js.map +0 -1
- package/dist/input-size-context.js.map +0 -1
- package/dist/input.js.map +0 -1
- package/dist/item.js.map +0 -1
- package/dist/kpi-card.js.map +0 -1
- package/dist/label.js.map +0 -1
- package/dist/line-chart.js.map +0 -1
- package/dist/logo.js.map +0 -1
- package/dist/number-input.js.map +0 -1
- package/dist/page-header.js.map +0 -1
- package/dist/pagination.js.map +0 -1
- package/dist/password-input.js.map +0 -1
- package/dist/phone-input.js.map +0 -1
- package/dist/photo-gallery.js.map +0 -1
- package/dist/pie-chart.js.map +0 -1
- package/dist/popover.js.map +0 -1
- package/dist/progress.js.map +0 -1
- package/dist/radio-group.js.map +0 -1
- package/dist/red-hat-display.css +0 -2
- package/dist/rich-text-editor.js.map +0 -1
- package/dist/search-input.js.map +0 -1
- package/dist/select.js.map +0 -1
- package/dist/separator.js.map +0 -1
- package/dist/sheet.js.map +0 -1
- package/dist/sidebar.js.map +0 -1
- package/dist/size-context.js.map +0 -1
- package/dist/skeleton.js.map +0 -1
- package/dist/sparkline.js.map +0 -1
- package/dist/stepper.js.map +0 -1
- package/dist/switch.js.map +0 -1
- package/dist/tab-list.d.ts +0 -38
- package/dist/tab-list.js +0 -394
- package/dist/tab-list.js.map +0 -1
- package/dist/table.js.map +0 -1
- package/dist/tabs.js.map +0 -1
- package/dist/tag.js.map +0 -1
- package/dist/textarea.js.map +0 -1
- package/dist/theme/giddaa.css +0 -2
- package/dist/time-picker.js.map +0 -1
- package/dist/toast.js.map +0 -1
- package/dist/tooltip.js.map +0 -1
- package/dist/tree-map.js.map +0 -1
package/dist/footer.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { InputGroup } from "./input-group.js";
|
|
2
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
//#region src/footer.d.ts
|
|
5
|
+
type FooterRootProps = React.ComponentProps<"footer"> & {
|
|
6
|
+
containerClassName?: string;
|
|
7
|
+
};
|
|
8
|
+
declare function FooterRoot({ className, containerClassName, children, ...props }: FooterRootProps): React.JSX.Element;
|
|
9
|
+
declare function FooterCta({ className, ...props }: React.ComponentProps<"section">): React.JSX.Element;
|
|
10
|
+
declare function FooterCtaContent({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
11
|
+
declare function FooterCtaTitle({ className, ...props }: React.ComponentProps<"h2">): React.JSX.Element;
|
|
12
|
+
declare function FooterCtaDescription({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
|
|
13
|
+
declare function FooterCtaActions({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
14
|
+
declare function FooterBody({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
15
|
+
declare function FooterHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
16
|
+
declare function FooterTitle({ className, ...props }: React.ComponentProps<"h2">): React.JSX.Element;
|
|
17
|
+
declare function FooterDescription({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
|
|
18
|
+
declare function FooterNav({ className, ...props }: React.ComponentProps<"nav">): React.JSX.Element;
|
|
19
|
+
declare function FooterSection({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
20
|
+
declare function FooterSectionTitle({ className, ...props }: React.ComponentProps<"h3">): React.JSX.Element;
|
|
21
|
+
declare function FooterLinkList({ className, ...props }: React.ComponentProps<"ul">): React.JSX.Element;
|
|
22
|
+
declare function FooterLinkItem({ className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
|
|
23
|
+
type FooterLinkProps = useRender.ComponentProps<"a"> & {
|
|
24
|
+
showArrow?: boolean;
|
|
25
|
+
};
|
|
26
|
+
declare function FooterLink({ className, children, render, showArrow, ...props }: FooterLinkProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
|
27
|
+
declare function FooterContactGrid({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
28
|
+
declare function FooterContact({ className, ...props }: React.ComponentProps<"address">): React.JSX.Element;
|
|
29
|
+
declare function FooterContactTitle({ className, ...props }: React.ComponentProps<"h3">): React.JSX.Element;
|
|
30
|
+
declare function FooterSocialList({ className, ...props }: React.ComponentProps<"ul">): React.JSX.Element;
|
|
31
|
+
declare function FooterSocialItem({ className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
|
|
32
|
+
declare function FooterSocialLink({ className, ...props }: React.ComponentProps<"a">): React.JSX.Element;
|
|
33
|
+
declare function FooterNewsletter({ className, ...props }: React.ComponentProps<"form">): React.JSX.Element;
|
|
34
|
+
declare function FooterNewsletterTitle({ className, ...props }: React.ComponentProps<"h3">): React.JSX.Element;
|
|
35
|
+
declare function FooterNewsletterDescription({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
|
|
36
|
+
declare function FooterNewsletterControl({ className, children, ...props }: React.ComponentProps<typeof InputGroup>): React.JSX.Element;
|
|
37
|
+
declare function FooterBottom({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
38
|
+
declare function FooterLegalLinks({ className, ...props }: React.ComponentProps<"nav">): React.JSX.Element;
|
|
39
|
+
//#endregion
|
|
40
|
+
export { FooterBody, FooterBottom, FooterContact, FooterContactGrid, FooterContactTitle, FooterCta, FooterCtaActions, FooterCtaContent, FooterCtaDescription, FooterCtaTitle, FooterDescription, FooterHeader, FooterLegalLinks, FooterLink, FooterLinkItem, FooterLinkList, type FooterLinkProps, FooterNav, FooterNewsletter, FooterNewsletterControl, FooterNewsletterDescription, FooterNewsletterTitle, FooterRoot, type FooterRootProps, FooterSection, FooterSectionTitle, FooterSocialItem, FooterSocialLink, FooterSocialList, FooterTitle };
|
package/dist/footer.js
ADDED
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { t as cn } from "./cn-BI_4DMBf.js";
|
|
2
|
+
import { InputGroup, InputGroupButton, InputGroupInput } from "./input-group.js";
|
|
3
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { mergeProps } from "@base-ui/react/merge-props";
|
|
5
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
6
|
+
//#region src/footer.tsx
|
|
7
|
+
function FooterRoot({ className, containerClassName, children, ...props }) {
|
|
8
|
+
return /* @__PURE__ */ jsx("footer", {
|
|
9
|
+
"data-slot": "footer-root",
|
|
10
|
+
className: cn("bg-surface text-fg-primary", className),
|
|
11
|
+
...props,
|
|
12
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
13
|
+
"data-slot": "footer-container",
|
|
14
|
+
className: cn("mx-auto flex w-full max-w-7xl flex-col", containerClassName),
|
|
15
|
+
children
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function FooterCta({ className, ...props }) {
|
|
20
|
+
return /* @__PURE__ */ jsx("section", {
|
|
21
|
+
"data-slot": "footer-cta",
|
|
22
|
+
className: cn("grid gap-gdt-xl bg-surface-brand px-gdt-xl py-gdt-4xl text-fg-on-brand md:grid-cols-[minmax(0,1fr)_auto] md:items-center md:px-gdt-5xl", className),
|
|
23
|
+
...props
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function FooterCtaContent({ className, ...props }) {
|
|
27
|
+
return /* @__PURE__ */ jsx("div", {
|
|
28
|
+
"data-slot": "footer-cta-content",
|
|
29
|
+
className: cn("flex max-w-145 flex-col gap-2 md:gap-3", className),
|
|
30
|
+
...props
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function FooterCtaTitle({ className, ...props }) {
|
|
34
|
+
return /* @__PURE__ */ jsx("h2", {
|
|
35
|
+
"data-slot": "footer-cta-title",
|
|
36
|
+
className: cn("text-gdt-h5 text-current md:text-gdt-h4", className),
|
|
37
|
+
...props
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function FooterCtaDescription({ className, ...props }) {
|
|
41
|
+
return /* @__PURE__ */ jsx("p", {
|
|
42
|
+
"data-slot": "footer-cta-description",
|
|
43
|
+
className: cn("text-gdt-sm text-current", className),
|
|
44
|
+
...props
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function FooterCtaActions({ className, ...props }) {
|
|
48
|
+
return /* @__PURE__ */ jsx("div", {
|
|
49
|
+
"data-slot": "footer-cta-actions",
|
|
50
|
+
className: cn("flex flex-wrap items-center gap-3 md:gap-4", className),
|
|
51
|
+
...props
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function FooterBody({ className, ...props }) {
|
|
55
|
+
return /* @__PURE__ */ jsx("div", {
|
|
56
|
+
"data-slot": "footer-body",
|
|
57
|
+
className: cn("flex flex-col gap-gdt-6xl px-gdt-xl py-gdt-5xl md:px-gdt-5xl", className),
|
|
58
|
+
...props
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function FooterHeader({ className, ...props }) {
|
|
62
|
+
return /* @__PURE__ */ jsx("div", {
|
|
63
|
+
"data-slot": "footer-header",
|
|
64
|
+
className: cn("flex max-w-xl flex-col gap-gdt-sm", className),
|
|
65
|
+
...props
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function FooterTitle({ className, ...props }) {
|
|
69
|
+
return /* @__PURE__ */ jsx("h2", {
|
|
70
|
+
"data-slot": "footer-title",
|
|
71
|
+
className: cn("text-gdt-h5 text-fg-primary", className),
|
|
72
|
+
...props
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
function FooterDescription({ className, ...props }) {
|
|
76
|
+
return /* @__PURE__ */ jsx("p", {
|
|
77
|
+
"data-slot": "footer-description",
|
|
78
|
+
className: cn("text-gdt-xs text-fg-secondary", className),
|
|
79
|
+
...props
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
function FooterNav({ className, ...props }) {
|
|
83
|
+
return /* @__PURE__ */ jsx("nav", {
|
|
84
|
+
"data-slot": "footer-nav",
|
|
85
|
+
className: cn("grid gap-x-gdt-4xl gap-y-gdt-xl sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-6", className),
|
|
86
|
+
...props
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function FooterSection({ className, ...props }) {
|
|
90
|
+
return /* @__PURE__ */ jsx("div", {
|
|
91
|
+
"data-slot": "footer-section",
|
|
92
|
+
className: cn("flex min-w-0 flex-col gap-gdt-md", className),
|
|
93
|
+
...props
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
function FooterSectionTitle({ className, ...props }) {
|
|
97
|
+
return /* @__PURE__ */ jsx("h3", {
|
|
98
|
+
"data-slot": "footer-section-title",
|
|
99
|
+
className: cn("text-gdt-xs font-bold text-fg-primary", className),
|
|
100
|
+
...props
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
function FooterLinkList({ className, ...props }) {
|
|
104
|
+
return /* @__PURE__ */ jsx("ul", {
|
|
105
|
+
"data-slot": "footer-link-list",
|
|
106
|
+
className: cn("flex flex-col gap-gdt-sm", className),
|
|
107
|
+
...props
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
function FooterLinkItem({ className, ...props }) {
|
|
111
|
+
return /* @__PURE__ */ jsx("li", {
|
|
112
|
+
"data-slot": "footer-link-item",
|
|
113
|
+
className: cn("text-gdt-xs", className),
|
|
114
|
+
...props
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
function FooterLink({ className, children, render, showArrow = false, ...props }) {
|
|
118
|
+
return useRender({
|
|
119
|
+
defaultTagName: "a",
|
|
120
|
+
props: mergeProps({
|
|
121
|
+
className: cn("inline-flex items-center gap-gdt-sm text-fg-secondary transition-colors hover:text-fg-brand focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-line-focus focus-visible:ring-offset-2", className),
|
|
122
|
+
children: /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", { children }), showArrow && /* @__PURE__ */ jsx("span", {
|
|
123
|
+
"aria-hidden": "true",
|
|
124
|
+
children: "›"
|
|
125
|
+
})] })
|
|
126
|
+
}, props),
|
|
127
|
+
render,
|
|
128
|
+
state: { slot: "footer-link" }
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
function FooterContactGrid({ className, ...props }) {
|
|
132
|
+
return /* @__PURE__ */ jsx("div", {
|
|
133
|
+
"data-slot": "footer-contact-grid",
|
|
134
|
+
className: cn("grid gap-gdt-3xl border-t border-line-subtle pt-gdt-xl md:grid-cols-[minmax(0,1fr)_minmax(18rem,25rem)]", className),
|
|
135
|
+
...props
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
function FooterContact({ className, ...props }) {
|
|
139
|
+
return /* @__PURE__ */ jsx("address", {
|
|
140
|
+
"data-slot": "footer-contact",
|
|
141
|
+
className: cn("not-italic text-gdt-xs text-fg-secondary", className),
|
|
142
|
+
...props
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
function FooterContactTitle({ className, ...props }) {
|
|
146
|
+
return /* @__PURE__ */ jsx("h3", {
|
|
147
|
+
"data-slot": "footer-contact-title",
|
|
148
|
+
className: cn("mb-gdt-sm text-gdt-xs font-bold text-fg-primary", className),
|
|
149
|
+
...props
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
function FooterSocialList({ className, ...props }) {
|
|
153
|
+
return /* @__PURE__ */ jsx("ul", {
|
|
154
|
+
"data-slot": "footer-social-list",
|
|
155
|
+
className: cn("mt-gdt-lg flex flex-wrap items-center gap-gdt-md", className),
|
|
156
|
+
...props
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
function FooterSocialItem({ className, ...props }) {
|
|
160
|
+
return /* @__PURE__ */ jsx("li", {
|
|
161
|
+
"data-slot": "footer-social-item",
|
|
162
|
+
className,
|
|
163
|
+
...props
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
function FooterSocialLink({ className, ...props }) {
|
|
167
|
+
return /* @__PURE__ */ jsx("a", {
|
|
168
|
+
"data-slot": "footer-social-link",
|
|
169
|
+
className: cn("inline-flex size-7 items-center justify-center rounded-full bg-canvas text-fg-secondary transition-colors hover:bg-surface-brand hover:text-fg-on-brand focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-line-focus focus-visible:ring-offset-2 [&>svg:not([class*='size-'])]:size-3.5", className),
|
|
170
|
+
...props
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
function FooterNewsletter({ className, ...props }) {
|
|
174
|
+
return /* @__PURE__ */ jsx("form", {
|
|
175
|
+
"data-slot": "footer-newsletter",
|
|
176
|
+
className: cn("flex flex-col gap-gdt-md", className),
|
|
177
|
+
...props
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
function FooterNewsletterTitle({ className, ...props }) {
|
|
181
|
+
return /* @__PURE__ */ jsx("h3", {
|
|
182
|
+
"data-slot": "footer-newsletter-title",
|
|
183
|
+
className: cn("text-gdt-xs font-bold text-fg-primary", className),
|
|
184
|
+
...props
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
function FooterNewsletterDescription({ className, ...props }) {
|
|
188
|
+
return /* @__PURE__ */ jsx("p", {
|
|
189
|
+
"data-slot": "footer-newsletter-description",
|
|
190
|
+
className: cn("text-gdt-xs text-fg-secondary", className),
|
|
191
|
+
...props
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
function FooterNewsletterControl({ className, children, ...props }) {
|
|
195
|
+
return /* @__PURE__ */ jsx(InputGroup, {
|
|
196
|
+
"data-slot": "footer-newsletter-control",
|
|
197
|
+
size: "md",
|
|
198
|
+
className: cn("max-w-md bg-canvas", className),
|
|
199
|
+
...props,
|
|
200
|
+
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(InputGroupInput, {
|
|
201
|
+
type: "email",
|
|
202
|
+
name: "email",
|
|
203
|
+
placeholder: "Email address",
|
|
204
|
+
"aria-label": "Email address"
|
|
205
|
+
}), /* @__PURE__ */ jsx(InputGroupButton, {
|
|
206
|
+
type: "submit",
|
|
207
|
+
variant: "primary",
|
|
208
|
+
children: "Subscribe"
|
|
209
|
+
})] })
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
function FooterBottom({ className, ...props }) {
|
|
213
|
+
return /* @__PURE__ */ jsx("div", {
|
|
214
|
+
"data-slot": "footer-bottom",
|
|
215
|
+
className: cn("flex flex-col gap-gdt-md border-t border-line-subtle px-gdt-xl py-gdt-lg text-gdt-subtext text-fg-secondary md:flex-row md:items-center md:justify-between md:px-gdt-5xl", className),
|
|
216
|
+
...props
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
function FooterLegalLinks({ className, ...props }) {
|
|
220
|
+
return /* @__PURE__ */ jsx("nav", {
|
|
221
|
+
"data-slot": "footer-legal-links",
|
|
222
|
+
className: cn("flex flex-wrap items-center gap-gdt-xl", className),
|
|
223
|
+
...props
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
//#endregion
|
|
227
|
+
export { FooterBody, FooterBottom, FooterContact, FooterContactGrid, FooterContactTitle, FooterCta, FooterCtaActions, FooterCtaContent, FooterCtaDescription, FooterCtaTitle, FooterDescription, FooterHeader, FooterLegalLinks, FooterLink, FooterLinkItem, FooterLinkList, FooterNav, FooterNewsletter, FooterNewsletterControl, FooterNewsletterDescription, FooterNewsletterTitle, FooterRoot, FooterSection, FooterSectionTitle, FooterSocialItem, FooterSocialLink, FooterSocialList, FooterTitle };
|
package/dist/funnel-chart.d.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ChartCard, ChartValueType } from
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import 'class-variance-authority';
|
|
6
|
-
import 'recharts';
|
|
7
|
-
|
|
1
|
+
import { t as ComponentSize } from "./size-context-D4mYvcg8.js";
|
|
2
|
+
import { ChartCard, ChartValueType } from "./chart.js";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
//#region src/funnel-chart.d.ts
|
|
8
5
|
/**
|
|
9
6
|
* A staged conversion chart for drop-off analytics. Two renderings share one
|
|
10
7
|
* component — `funnel` draws connected, edge-sharing trapezoids (recharts
|
|
@@ -35,12 +32,12 @@ type FunnelChartType = "funnel" | "bars";
|
|
|
35
32
|
/** Where the colour-key legend sits relative to the plot. */
|
|
36
33
|
type FunnelLegendPlacement = "right" | "bottom";
|
|
37
34
|
type FunnelStage = {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
/** Stage name, e.g. "Applied". */
|
|
36
|
+
label: string;
|
|
37
|
+
/** Absolute count reaching this stage. */
|
|
38
|
+
value: number;
|
|
39
|
+
/** Segment colour; defaults to the palette in stage order. */
|
|
40
|
+
fill?: string;
|
|
44
41
|
};
|
|
45
42
|
/**
|
|
46
43
|
* Stage palette, ordered top-of-funnel → bottom: forest → brass → moss → clay →
|
|
@@ -49,36 +46,36 @@ type FunnelStage = {
|
|
|
49
46
|
*/
|
|
50
47
|
declare const FUNNEL_CHART_PALETTE: readonly ["var(--color-forest-700)", "var(--color-brass-500)", "var(--color-moss-600)", "var(--color-clay-500)", "var(--color-stone-500)"];
|
|
51
48
|
type FunnelChartLayout = {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
49
|
+
/** Plot box height in px. */
|
|
50
|
+
height: number;
|
|
51
|
+
/** Plot box width in px — the funnel/bars column; labels + legend flow after. */
|
|
52
|
+
width: number;
|
|
53
|
+
/** Corner radius for the `bars` rendering. */
|
|
54
|
+
barRadius: number;
|
|
55
|
+
/** Bar thickness cap for the `bars` rendering. */
|
|
56
|
+
barMaxSize: number;
|
|
60
57
|
};
|
|
61
58
|
declare const FUNNEL_CHART_LAYOUT: Record<FunnelChartSize, FunnelChartLayout>;
|
|
62
59
|
type FunnelChartProps = Omit<React.ComponentProps<typeof ChartCard>, "size" | "children"> & {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
60
|
+
/** Stages in funnel order — the widest (top) stage first. */
|
|
61
|
+
data: FunnelStage[];
|
|
62
|
+
/** Plot rendering. Defaults to `funnel`. */
|
|
63
|
+
type?: FunnelChartType;
|
|
64
|
+
/** Explicit size; otherwise inherited from the nearest `SizeProvider`. */
|
|
65
|
+
size?: FunnelChartSize;
|
|
66
|
+
/** Chart heading. Omit to hide the title. */
|
|
67
|
+
title?: React.ReactNode;
|
|
68
|
+
/** Supporting metadata (period, source). Omit to hide the description. */
|
|
69
|
+
description?: React.ReactNode;
|
|
70
|
+
/** Enable the hover value tooltip. Default false. */
|
|
71
|
+
tooltip?: boolean;
|
|
72
|
+
/** Legend placement — a right column or a wrapped bottom row. Default right. */
|
|
73
|
+
legend?: FunnelLegendPlacement;
|
|
74
|
+
/** Format the absolute count in the value label and tooltip. */
|
|
75
|
+
valueFormatter?: (value: number) => string;
|
|
76
|
+
/** Value formatting for the tooltip. Defaults to `number`. */
|
|
77
|
+
valueType?: ChartValueType;
|
|
81
78
|
};
|
|
82
79
|
declare function FunnelChart({ data, type, size, title, description, tooltip, legend, valueFormatter, valueType, className, ...props }: FunnelChartProps): React.JSX.Element;
|
|
83
|
-
|
|
84
|
-
export { FUNNEL_CHART_LAYOUT, FUNNEL_CHART_PALETTE, FunnelChart, type FunnelChartLayout, type FunnelChartProps, type FunnelChartSize, type FunnelChartType, type FunnelLegendPlacement, type FunnelStage };
|
|
80
|
+
//#endregion
|
|
81
|
+
export { FUNNEL_CHART_LAYOUT, FUNNEL_CHART_PALETTE, FunnelChart, type FunnelChartLayout, type FunnelChartProps, type FunnelChartSize, type FunnelChartType, type FunnelLegendPlacement, type FunnelStage };
|