@hawiyah/react 0.0.0-stage → 0.2.1
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/LICENSE +73 -0
- package/NOTICE +19 -0
- package/PORTAL.md +74 -0
- package/README.md +461 -2
- package/dist/calendar.d.ts +52 -0
- package/dist/calendar.d.ts.map +1 -0
- package/dist/calendar.js +148 -0
- package/dist/calendar.js.map +1 -0
- package/dist/content-navigation.d.ts +15 -0
- package/dist/content-navigation.d.ts.map +1 -0
- package/dist/content-navigation.js +29 -0
- package/dist/content-navigation.js.map +1 -0
- package/dist/display.d.ts +421 -0
- package/dist/display.d.ts.map +1 -0
- package/dist/display.js +208 -0
- package/dist/display.js.map +1 -0
- package/dist/expanded-content.d.ts +217 -0
- package/dist/expanded-content.d.ts.map +1 -0
- package/dist/expanded-content.js +124 -0
- package/dist/expanded-content.js.map +1 -0
- package/dist/expanded-controls.d.ts +107 -0
- package/dist/expanded-controls.d.ts.map +1 -0
- package/dist/expanded-controls.js +142 -0
- package/dist/expanded-controls.js.map +1 -0
- package/dist/expanded-interactive.d.ts +116 -0
- package/dist/expanded-interactive.d.ts.map +1 -0
- package/dist/expanded-interactive.js +204 -0
- package/dist/expanded-interactive.js.map +1 -0
- package/dist/expanded-layout.d.ts +80 -0
- package/dist/expanded-layout.d.ts.map +1 -0
- package/dist/expanded-layout.js +26 -0
- package/dist/expanded-layout.js.map +1 -0
- package/dist/expanded-shared.d.ts +3 -0
- package/dist/expanded-shared.d.ts.map +1 -0
- package/dist/expanded-shared.js +14 -0
- package/dist/expanded-shared.js.map +1 -0
- package/dist/file-upload-list.d.ts +10 -0
- package/dist/file-upload-list.d.ts.map +1 -0
- package/dist/file-upload-list.js +7 -0
- package/dist/file-upload-list.js.map +1 -0
- package/dist/forms.d.ts +34 -0
- package/dist/forms.d.ts.map +1 -0
- package/dist/forms.js +65 -0
- package/dist/forms.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/interactive.d.ts +60 -0
- package/dist/interactive.d.ts.map +1 -0
- package/dist/interactive.js +321 -0
- package/dist/interactive.js.map +1 -0
- package/dist/mobile-top-bar.d.ts +14 -0
- package/dist/mobile-top-bar.d.ts.map +1 -0
- package/dist/mobile-top-bar.js +8 -0
- package/dist/mobile-top-bar.js.map +1 -0
- package/dist/navigation-drawer.d.ts +20 -0
- package/dist/navigation-drawer.d.ts.map +1 -0
- package/dist/navigation-drawer.js +37 -0
- package/dist/navigation-drawer.js.map +1 -0
- package/dist/portal.d.ts +27 -0
- package/dist/portal.d.ts.map +1 -0
- package/dist/portal.js +16 -0
- package/dist/portal.js.map +1 -0
- package/dist/search-field.d.ts +15 -0
- package/dist/search-field.d.ts.map +1 -0
- package/dist/search-field.js +113 -0
- package/dist/search-field.js.map +1 -0
- package/dist/shared.d.ts +35 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +78 -0
- package/dist/shared.js.map +1 -0
- package/dist/site-verification.d.ts +10 -0
- package/dist/site-verification.d.ts.map +1 -0
- package/dist/site-verification.js +16 -0
- package/dist/site-verification.js.map +1 -0
- package/package.json +54 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../src/interactive.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ComponentPropsWithRef, ReactNode } from 'react';
|
|
2
|
+
export interface MobileTopBarProps extends Omit<ComponentPropsWithRef<'header'>, 'title'> {
|
|
3
|
+
title: ReactNode;
|
|
4
|
+
subtitle?: ReactNode;
|
|
5
|
+
variant?: 'main' | 'internal';
|
|
6
|
+
headingLevel?: 1 | 2 | 3;
|
|
7
|
+
backHref?: string;
|
|
8
|
+
backLabel?: string;
|
|
9
|
+
leading?: ReactNode;
|
|
10
|
+
actions?: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
/** Page chrome in normal flow. The application owns navigation and action behavior. */
|
|
13
|
+
export declare function MobileTopBar({ title, subtitle, variant, headingLevel, backHref, backLabel, leading, actions, children, className, ...props }: MobileTopBarProps): import("react").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=mobile-top-bar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mobile-top-bar.d.ts","sourceRoot":"","sources":["../src/mobile-top-bar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9D,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACvF,KAAK,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACtE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAChE,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAC;CAC1C;AACD,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAoB,EAAE,YAAgB,EAAE,QAAQ,EAAE,SAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,+BAOzL"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cx } from './shared.js';
|
|
3
|
+
/** Page chrome in normal flow. The application owns navigation and action behavior. */
|
|
4
|
+
export function MobileTopBar({ title, subtitle, variant = 'internal', headingLevel = 1, backHref, backLabel = 'رجوع', leading, actions, children, className, ...props }) {
|
|
5
|
+
const Heading = `h${headingLevel}`;
|
|
6
|
+
return _jsxs("header", { ...props, className: cx('hw-mobile-top-bar', className), "data-variant": variant, children: [(leading || backHref) && _jsx("div", { className: "hw-mobile-top-bar-leading", children: leading ?? _jsx("a", { className: "hw-mobile-top-bar-back", href: backHref, "aria-label": backLabel, children: _jsx("span", { className: "hw-icon", "data-icon": "arrow-left-01", "data-directional": "true", "aria-hidden": "true" }) }) }), _jsxs("div", { className: "hw-mobile-top-bar-copy", children: [_jsx(Heading, { className: "hw-mobile-top-bar-title", children: title }), subtitle && _jsx("p", { className: "hw-mobile-top-bar-subtitle", children: subtitle })] }), actions && _jsx("div", { className: "hw-mobile-top-bar-actions", children: actions }), children] });
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=mobile-top-bar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mobile-top-bar.js","sourceRoot":"","sources":["../src/mobile-top-bar.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAOjC,uFAAuF;AACvF,MAAM,UAAU,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,GAAG,UAAU,EAAE,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAqB;IACxL,MAAM,OAAO,GAAG,IAAI,YAAY,EAAwB,CAAC;IACzD,OAAO,qBAAY,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,mBAAmB,EAAE,SAAS,CAAC,kBAAgB,OAAO,aAC3F,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,cAAK,SAAS,EAAC,2BAA2B,YAAE,OAAO,IAAI,YAAG,SAAS,EAAC,wBAAwB,EAAC,IAAI,EAAE,QAAQ,gBAAc,SAAS,YAAE,eAAM,SAAS,EAAC,SAAS,eAAW,eAAe,sBAAkB,MAAM,iBAAa,MAAM,GAAG,GAAI,GAAO,EAC1Q,eAAK,SAAS,EAAC,wBAAwB,aAAC,KAAC,OAAO,IAAC,SAAS,EAAC,yBAAyB,YAAE,KAAK,GAAW,EAAC,QAAQ,IAAI,YAAG,SAAS,EAAC,4BAA4B,YAAE,QAAQ,GAAK,IAAO,EACjL,OAAO,IAAI,cAAK,SAAS,EAAC,2BAA2B,YAAE,OAAO,GAAO,EAAE,QAAQ,IACzE,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { DrawerProps } from './expanded-interactive.js';
|
|
3
|
+
export interface NavigationDrawerItem {
|
|
4
|
+
id: string;
|
|
5
|
+
label: string;
|
|
6
|
+
href?: string;
|
|
7
|
+
icon?: string;
|
|
8
|
+
current?: boolean;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
children?: readonly NavigationDrawerItem[];
|
|
11
|
+
}
|
|
12
|
+
export interface NavigationDrawerProps extends Omit<DrawerProps, 'children' | 'side'> {
|
|
13
|
+
items: readonly NavigationDrawerItem[];
|
|
14
|
+
navigationLabel?: string;
|
|
15
|
+
userContent?: ReactNode;
|
|
16
|
+
side?: 'start' | 'end';
|
|
17
|
+
}
|
|
18
|
+
/** Page navigation in an existing modal Drawer; groups are native disclosures. */
|
|
19
|
+
export declare function NavigationDrawer({ items, navigationLabel, userContent, side, closeLabel, className, ...props }: NavigationDrawerProps): import("react").JSX.Element;
|
|
20
|
+
//# sourceMappingURL=navigation-drawer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-drawer.d.ts","sourceRoot":"","sources":["../src/navigation-drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAChE;AACD,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,CAAC;IACnF,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;CACxB;AAgCD,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,eAAkC,EAAE,WAAW,EAAE,IAAc,EAAE,UAA4B,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,qBAAqB,+BAMpL"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Drawer } from './expanded-interactive.js';
|
|
3
|
+
import { cx } from './shared.js';
|
|
4
|
+
function label(item) {
|
|
5
|
+
return _jsxs(_Fragment, { children: [item.icon && _jsx("span", { className: "hw-icon", "data-icon": item.icon, "aria-hidden": "true" }), _jsx("span", { className: "hw-navigation-drawer-label", children: item.label })] });
|
|
6
|
+
}
|
|
7
|
+
function groupEntries(item) {
|
|
8
|
+
const children = item.children ?? [];
|
|
9
|
+
if (!item.href)
|
|
10
|
+
return children;
|
|
11
|
+
let id = `${item.id}-page`;
|
|
12
|
+
while (children.some(child => child.id === id))
|
|
13
|
+
id += '-page';
|
|
14
|
+
return [{ ...item, id, children: undefined }, ...children];
|
|
15
|
+
}
|
|
16
|
+
function entries(items) {
|
|
17
|
+
return _jsx("ul", { children: items.map(item => _jsx("li", { "data-hw-value": item.id, children: item.disabled ? _jsx("span", { className: "hw-navigation-drawer-row", "aria-disabled": "true", children: label(item) })
|
|
18
|
+
: item.children?.length ? _jsxs("details", { className: "hw-navigation-drawer-group", children: [_jsx("summary", { className: "hw-navigation-drawer-row", children: label(item) }), entries(groupEntries(item))] })
|
|
19
|
+
: item.href ? _jsx("a", { className: "hw-navigation-drawer-row", href: item.href, "aria-current": item.current ? 'page' : undefined, children: label(item) })
|
|
20
|
+
: _jsx("span", { className: "hw-navigation-drawer-row", children: label(item) }) }, item.id)) });
|
|
21
|
+
}
|
|
22
|
+
function routeActivation(event, close) {
|
|
23
|
+
const link = event.target.closest('a[href]');
|
|
24
|
+
if (!link || !event.currentTarget.contains(link) || link.closest('[aria-disabled="true"], [inert]'))
|
|
25
|
+
return;
|
|
26
|
+
if (event.button !== 0 || event.ctrlKey || event.metaKey || event.altKey || event.shiftKey || link.hasAttribute('download') || (link.target && link.target !== '_self'))
|
|
27
|
+
return;
|
|
28
|
+
const native = event.nativeEvent;
|
|
29
|
+
// Let router/consumer handlers decide whether this route activation proceeds.
|
|
30
|
+
queueMicrotask(() => { if (!native.defaultPrevented && link.isConnected)
|
|
31
|
+
close(); });
|
|
32
|
+
}
|
|
33
|
+
/** Page navigation in an existing modal Drawer; groups are native disclosures. */
|
|
34
|
+
export function NavigationDrawer({ items, navigationLabel = 'التنقل الرئيسي', userContent, side = 'start', closeLabel = 'إغلاق القائمة', className, ...props }) {
|
|
35
|
+
return _jsx(Drawer, { ...props, side: side, closeLabel: closeLabel, className: cx('hw-navigation-drawer', className), children: ({ close }) => _jsxs(_Fragment, { children: [userContent && _jsx("div", { className: "hw-navigation-drawer-user", children: userContent }), _jsx("nav", { className: "hw-navigation-drawer-nav", "aria-label": navigationLabel, onClick: event => routeActivation(event, close), children: entries(items) })] }) });
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=navigation-drawer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation-drawer.js","sourceRoot":"","sources":["../src/navigation-drawer.tsx"],"names":[],"mappings":"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"}
|
package/dist/portal.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ComponentPropsWithRef, ReactNode } from 'react';
|
|
2
|
+
import type { BreadcrumbItem } from './display.js';
|
|
3
|
+
import type { PortalHeaderProps, PortalFooterProps, PortalNavItem } from './expanded-content.js';
|
|
4
|
+
export interface SecondaryNavItem extends PortalNavItem {
|
|
5
|
+
icon?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface SecondaryNavProps extends ComponentPropsWithRef<'nav'> {
|
|
8
|
+
items: readonly SecondaryNavItem[];
|
|
9
|
+
label?: string;
|
|
10
|
+
variant?: 'default' | 'mobile';
|
|
11
|
+
}
|
|
12
|
+
/** Ordinary page links: Tab navigates links, without tablist/menu keyboard semantics. */
|
|
13
|
+
export declare function SecondaryNav({ items, label, variant, className, ...props }: SecondaryNavProps): import("react").JSX.Element;
|
|
14
|
+
export interface PortalLayoutProps extends ComponentPropsWithRef<'div'> {
|
|
15
|
+
brand: ReactNode;
|
|
16
|
+
headerProps?: Omit<PortalHeaderProps, 'brand' | 'mainId'>;
|
|
17
|
+
footerProps?: PortalFooterProps;
|
|
18
|
+
secondaryNavigation?: readonly PortalNavItem[];
|
|
19
|
+
secondaryLabel?: string;
|
|
20
|
+
breadcrumbs?: readonly BreadcrumbItem[];
|
|
21
|
+
breadcrumbLabel?: string;
|
|
22
|
+
mainId?: string;
|
|
23
|
+
skipLabel?: string;
|
|
24
|
+
}
|
|
25
|
+
/** Complete public portal shell; application content supplies its own page heading. */
|
|
26
|
+
export declare function PortalLayout({ brand, headerProps, footerProps, secondaryNavigation, secondaryLabel, breadcrumbs, breadcrumbLabel, mainId, skipLabel, lang, dir, children, className, ...props }: PortalLayoutProps): import("react").JSX.Element;
|
|
27
|
+
//# sourceMappingURL=portal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../src/portal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGjG,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IAAiE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;AACvI,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB,CAAC,KAAK,CAAC;IAAG,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAA;CAAE;AAC9J,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,KAAwB,EAAE,OAAmB,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,+BAE5H;AACD,MAAM,WAAW,iBAAkB,SAAQ,qBAAqB,CAAC,KAAK,CAAC;IACrE,KAAK,EAAE,SAAS,CAAC;IAAC,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC;IAC5E,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAAC,mBAAmB,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAC3F,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CACrC;AACD,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,eAA+B,EAAE,MAAM,EAAE,SAA+B,EAAE,IAAW,EAAE,GAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,+BAUvQ"}
|
package/dist/portal.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from 'react';
|
|
3
|
+
import { Breadcrumb } from './display.js';
|
|
4
|
+
import { PortalHeader, PortalFooter } from './expanded-content.js';
|
|
5
|
+
import { cx } from './shared.js';
|
|
6
|
+
/** Ordinary page links: Tab navigates links, without tablist/menu keyboard semantics. */
|
|
7
|
+
export function SecondaryNav({ items, label = 'التنقل الثانوي', variant = 'default', className, ...props }) {
|
|
8
|
+
return _jsx("nav", { ...props, className: cx('hw-secondary-nav', className), "aria-label": label, "data-variant": variant, children: _jsx("ul", { children: items.map((item, index) => _jsx("li", { children: _jsxs("a", { href: item.href, "aria-current": item.current ? 'page' : undefined, children: [variant === 'mobile' && item.icon && _jsx("span", { className: "hw-icon", "data-icon": item.icon, "aria-hidden": "true" }), _jsx("span", { children: item.label })] }) }, index)) }) });
|
|
9
|
+
}
|
|
10
|
+
/** Complete public portal shell; application content supplies its own page heading. */
|
|
11
|
+
export function PortalLayout({ brand, headerProps, footerProps, secondaryNavigation, secondaryLabel, breadcrumbs, breadcrumbLabel = 'مسار التنقل', mainId, skipLabel = 'انتقل إلى المحتوى', lang = 'ar', dir = 'rtl', children, className, ...props }) {
|
|
12
|
+
const id = useId();
|
|
13
|
+
const contentId = mainId ?? `${id}-main`;
|
|
14
|
+
return _jsxs("div", { ...props, lang: lang, dir: dir, className: cx('hw-portal-layout', className), children: [_jsx(PortalHeader, { ...headerProps, brand: brand, mainId: contentId, skipLabel: skipLabel }), secondaryNavigation?.length ? _jsx(SecondaryNav, { items: secondaryNavigation, label: secondaryLabel }) : null, _jsxs("main", { id: contentId, tabIndex: -1, className: "hw-portal-layout-main hw-container", children: [breadcrumbs?.length ? _jsx(Breadcrumb, { items: breadcrumbs, label: breadcrumbLabel }) : null, children] }), _jsx(PortalFooter, { brand: brand, linksLabel: "\u0631\u0648\u0627\u0628\u0637 \u0627\u0644\u062A\u0630\u064A\u064A\u0644", ...footerProps })] });
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=portal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal.js","sourceRoot":"","sources":["../src/portal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAIjC,yFAAyF;AACzF,MAAM,UAAU,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,gBAAgB,EAAE,OAAO,GAAG,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,EAAqB;IAC3H,OAAO,iBAAS,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,gBAAc,KAAK,kBAAgB,OAAO,YAAE,uBAAK,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,uBAAgB,aAAG,IAAI,EAAE,IAAI,CAAC,IAAI,kBAAgB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,aAAG,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,eAAM,SAAS,EAAC,SAAS,eAAY,IAAI,CAAC,IAAI,iBAAc,MAAM,GAAG,EAAC,yBAAO,IAAI,CAAC,KAAK,GAAQ,IAAI,IAArN,KAAK,CAAqN,CAAC,GAAM,GAAM,CAAC;AAClY,CAAC;AAOD,uFAAuF;AACvF,MAAM,UAAU,YAAY,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,GAAG,aAAa,EAAE,MAAM,EAAE,SAAS,GAAG,mBAAmB,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,GAAG,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAqB;IACtQ,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAAC,MAAM,SAAS,GAAG,MAAM,IAAI,GAAG,EAAE,OAAO,CAAC;IAC7D,OAAO,kBAAS,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,aACvF,KAAC,YAAY,OAAK,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAI,EACvF,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,cAAc,GAAI,CAAC,CAAC,CAAC,IAAI,EACzG,gBAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS,EAAC,oCAAoC,aAC9E,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,KAAC,UAAU,IAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,GAAI,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,IAC7F,EACP,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAC,2EAAe,KAAK,WAAW,GAAI,IACtE,CAAC;AACT,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TextFieldProps } from './forms.js';
|
|
2
|
+
export interface SearchFieldProps extends Omit<TextFieldProps, 'type' | 'value' | 'defaultValue' | 'onSearch'> {
|
|
3
|
+
value?: string;
|
|
4
|
+
defaultValue?: string;
|
|
5
|
+
onValueChange?: (value: string) => void;
|
|
6
|
+
clearLabel?: string;
|
|
7
|
+
suggestions?: readonly string[];
|
|
8
|
+
maxSuggestions?: number;
|
|
9
|
+
resultsMessage?: (count: number) => string;
|
|
10
|
+
onSearch?: (query: string) => void;
|
|
11
|
+
showSearchButton?: boolean;
|
|
12
|
+
searchLabel?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function SearchField({ value, defaultValue, onValueChange, clearLabel, suggestions, maxSuggestions, resultsMessage, onSearch, showSearchButton, searchLabel, label, hint, error, ref, onChange, onKeyDown, onFocus, onBlur, onCompositionStart, onCompositionEnd, ...props }: SearchFieldProps): import("react").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=search-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-field.d.ts","sourceRoot":"","sources":["../src/search-field.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,YAAY,CAAC;AAI/C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,GAAG,cAAc,GAAG,UAAU,CAAC;IAC5G,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAC9E,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAClD;AACD,wBAAgB,WAAW,CAAC,EAAC,KAAK,EAAE,YAAiB,EAAE,aAAa,EAAE,UAAwB,EAAE,WAAW,EAAE,cAAkB,EAAE,cAAmD,EAAE,QAAQ,EAAE,gBAAwB,EAAE,WAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,GAAG,KAAK,EAAC,EAAE,gBAAgB,+BA2D9W"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useId, useRef, useState } from 'react';
|
|
3
|
+
import { getSearchSuggestions, isDisabled, requestSearchDialogClose } from '@hawiyah/core';
|
|
4
|
+
import { Button, TextField } from './forms.js';
|
|
5
|
+
import { assignRef, Field, useControllable } from './shared.js';
|
|
6
|
+
import { useFormReset } from './expanded-shared.js';
|
|
7
|
+
export function SearchField({ value, defaultValue = '', onValueChange, clearLabel = 'مسح البحث', suggestions, maxSuggestions = 8, resultsMessage = count => `${count} اقتراحات متاحة`, onSearch, showSearchButton = false, searchLabel = 'بحث', label, hint, error, ref, onChange, onKeyDown, onFocus, onBlur, onCompositionStart, onCompositionEnd, ...props }) {
|
|
8
|
+
const id = useId(), input = useRef(null), root = useRef(null);
|
|
9
|
+
const [text, setText] = useControllable(value, defaultValue, onValueChange);
|
|
10
|
+
const [opened, setOpened] = useState(false), [active, setActive] = useState(-1);
|
|
11
|
+
const composing = useRef(false), expectedValue = useRef(undefined);
|
|
12
|
+
const close = () => { setOpened(false); setActive(-1); };
|
|
13
|
+
const canEdit = () => !!input.current && !props.readOnly && !input.current.readOnly && !isDisabled(input.current);
|
|
14
|
+
const matches = getSearchSuggestions(text, suggestions ?? [], maxSuggestions);
|
|
15
|
+
const expanded = opened && suggestions !== undefined && !props.readOnly && !props.disabled && !composing.current && matches.length > 0;
|
|
16
|
+
const listId = `${props.id ?? id}-suggestions`;
|
|
17
|
+
const suggestionSignature = JSON.stringify(suggestions);
|
|
18
|
+
const write = (next) => { expectedValue.current = next; setText(next); };
|
|
19
|
+
const setInput = useCallback((node) => {
|
|
20
|
+
input.current = node;
|
|
21
|
+
if (!node) {
|
|
22
|
+
assignRef(ref, null);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const cleanup = typeof ref === 'function' ? ref(node) : (assignRef(ref, node), undefined);
|
|
26
|
+
return () => { input.current = null; if (typeof cleanup === 'function')
|
|
27
|
+
cleanup();
|
|
28
|
+
else
|
|
29
|
+
assignRef(ref, null); };
|
|
30
|
+
}, [ref]);
|
|
31
|
+
useFormReset(input, () => { close(); composing.current = false; if (value === undefined)
|
|
32
|
+
setText(defaultValue); }, props.form);
|
|
33
|
+
useEffect(() => { setActive(-1); }, [text]);
|
|
34
|
+
useEffect(() => { if (value !== expectedValue.current)
|
|
35
|
+
close(); expectedValue.current = undefined; }, [value]);
|
|
36
|
+
useEffect(close, [suggestionSignature, maxSuggestions, props.readOnly, props.disabled]);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
if (!expanded || active < 0)
|
|
39
|
+
return;
|
|
40
|
+
const list = input.current?.ownerDocument.getElementById(listId), option = list?.children[active];
|
|
41
|
+
if (!list || !option)
|
|
42
|
+
return;
|
|
43
|
+
const outer = list.getBoundingClientRect(), inner = option.getBoundingClientRect();
|
|
44
|
+
if (inner.top < outer.top)
|
|
45
|
+
list.scrollTop -= outer.top - inner.top;
|
|
46
|
+
else if (inner.bottom > outer.bottom)
|
|
47
|
+
list.scrollTop += inner.bottom - outer.bottom;
|
|
48
|
+
}, [active, expanded, listId]);
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
const node = input.current, container = root.current;
|
|
51
|
+
if (!node || !container)
|
|
52
|
+
return;
|
|
53
|
+
const outside = (event) => { if (!container.contains(event.target))
|
|
54
|
+
close(); };
|
|
55
|
+
node.ownerDocument.addEventListener('pointerdown', outside);
|
|
56
|
+
const Observer = node.ownerDocument.defaultView?.MutationObserver;
|
|
57
|
+
const observer = Observer ? new Observer(() => { if (node.readOnly || isDisabled(node))
|
|
58
|
+
close(); }) : undefined;
|
|
59
|
+
observer?.observe(node, { attributes: true, attributeFilter: ['readonly', 'disabled', 'aria-disabled'] });
|
|
60
|
+
for (let parent = node.parentElement; parent; parent = parent.parentElement)
|
|
61
|
+
if (parent.localName === 'fieldset')
|
|
62
|
+
observer?.observe(parent, { attributes: true, attributeFilter: ['disabled'] });
|
|
63
|
+
return () => { observer?.disconnect(); node.ownerDocument.removeEventListener('pointerdown', outside); };
|
|
64
|
+
}, []);
|
|
65
|
+
const choose = (index) => { if (!canEdit() || composing.current)
|
|
66
|
+
return; const match = matches[index]; if (!match)
|
|
67
|
+
return; write(match.value); input.current?.focus(); close(); };
|
|
68
|
+
const search = () => { if (!input.current || isDisabled(input.current) || composing.current)
|
|
69
|
+
return; const query = text.trim(); if (query)
|
|
70
|
+
onSearch?.(query); close(); };
|
|
71
|
+
return _jsxs(Field, { ref: root, label: label, hint: hint, error: error, required: props.required, controlId: props.id ?? id, className: "hw-search-field", children: [_jsxs("div", { className: "hw-input-group", children: [_jsxs("div", { className: "hw-search-control", children: [_jsx(TextField, { ...props, ref: setInput, type: "search", value: text, autoComplete: props.autoComplete ?? (suggestions !== undefined ? 'off' : undefined), role: suggestions !== undefined ? 'combobox' : props.role, "aria-autocomplete": suggestions !== undefined ? 'list' : props['aria-autocomplete'], "aria-expanded": suggestions !== undefined ? expanded : props['aria-expanded'], "aria-controls": suggestions !== undefined ? listId : props['aria-controls'], "aria-activedescendant": expanded && active >= 0 && active < matches.length ? `${listId}-${active}` : undefined, onChange: event => { onChange?.(event); if (event.defaultPrevented || !canEdit())
|
|
72
|
+
return; write(event.currentTarget.value); setActive(-1); setOpened(!composing.current); }, onFocus: event => { onFocus?.(event); if (!event.defaultPrevented && canEdit() && !composing.current)
|
|
73
|
+
setOpened(true); }, onBlur: event => { onBlur?.(event); close(); }, onCompositionStart: event => { onCompositionStart?.(event); composing.current = true; close(); }, onCompositionEnd: event => { onCompositionEnd?.(event); composing.current = false; if (!event.defaultPrevented && canEdit())
|
|
74
|
+
setOpened(true); }, onKeyDown: event => {
|
|
75
|
+
onKeyDown?.(event);
|
|
76
|
+
if (event.defaultPrevented || composing.current || event.nativeEvent.isComposing || event.ctrlKey || event.altKey || event.metaKey || event.shiftKey || isDisabled(event.currentTarget))
|
|
77
|
+
return;
|
|
78
|
+
if (event.key === 'Escape' && expanded) {
|
|
79
|
+
event.preventDefault();
|
|
80
|
+
event.stopPropagation();
|
|
81
|
+
close();
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
if (event.key === 'Escape' && requestSearchDialogClose(event.currentTarget)) {
|
|
85
|
+
event.preventDefault();
|
|
86
|
+
event.stopPropagation();
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
if (canEdit() && matches.length && (event.key === 'ArrowDown' || event.key === 'ArrowUp')) {
|
|
90
|
+
event.preventDefault();
|
|
91
|
+
setOpened(true);
|
|
92
|
+
setActive(index => event.key === 'ArrowDown' ? (index + 1) % matches.length : (index <= 0 ? matches.length - 1 : index - 1));
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (event.key === 'Enter') {
|
|
96
|
+
if (expanded && active >= 0) {
|
|
97
|
+
event.preventDefault();
|
|
98
|
+
choose(active);
|
|
99
|
+
}
|
|
100
|
+
else
|
|
101
|
+
search();
|
|
102
|
+
}
|
|
103
|
+
} }), _jsx(Button, { className: "hw-search-clear", variant: "ghost", hidden: !text || props.readOnly, disabled: props.disabled, "aria-label": clearLabel, "aria-controls": props.id ?? id, onPointerDown: event => { if (event.button === 0)
|
|
104
|
+
event.preventDefault(); }, onMouseDown: event => { if (event.button === 0)
|
|
105
|
+
event.preventDefault(); }, onClick: () => { if (canEdit()) {
|
|
106
|
+
write('');
|
|
107
|
+
input.current?.focus();
|
|
108
|
+
close();
|
|
109
|
+
} }, children: _jsx("span", { className: "hw-search-clear-icon", "aria-hidden": "true" }) }), suggestions !== undefined && _jsx("div", { className: "hw-search-suggestions", id: listId, role: "listbox", "aria-label": props['aria-label'] ?? (typeof label === 'string' ? label : searchLabel), hidden: !expanded, children: matches.map((match, index) => _jsx("div", { className: "hw-search-option", dir: "auto", id: `${listId}-${index}`, role: "option", "aria-selected": index === active, onPointerDown: event => { if (event.button === 0)
|
|
110
|
+
event.preventDefault(); }, onMouseDown: event => { if (event.button === 0)
|
|
111
|
+
event.preventDefault(); }, onClick: () => choose(index), children: match.segments.map((segment, i) => segment.match ? _jsx("strong", { children: segment.text }, i) : segment.text) }, match.value)) })] }), showSearchButton && _jsx(Button, { className: "hw-search-submit", disabled: props.disabled, "aria-label": searchLabel, onClick: search, children: _jsx("span", { className: "hw-search-submit-icon", "aria-hidden": "true" }) })] }), suggestions !== undefined && _jsx("span", { className: "hw-sr-only", role: "status", "aria-live": "polite", "aria-atomic": "true", children: opened && !props.readOnly && !props.disabled && !composing.current && text.trim() ? resultsMessage(matches.length) : '' })] });
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=search-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-field.js","sourceRoot":"","sources":["../src/search-field.tsx"],"names":[],"mappings":"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"}
|
package/dist/shared.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type FieldValueElement } from '@hawiyah/core';
|
|
2
|
+
import type { ComponentPropsWithRef, Dispatch, HTMLAttributes, ReactNode, Ref, SetStateAction } from 'react';
|
|
3
|
+
export declare const cx: (...classes: (string | undefined | false)[]) => string;
|
|
4
|
+
export declare function useFieldValueRef<T extends FieldValueElement>(ref: Ref<T> | undefined): (element: T | null) => (() => void) | undefined;
|
|
5
|
+
export declare function assignRef<T>(ref: Ref<T> | undefined, value: T | null): void;
|
|
6
|
+
export declare function useControllable<T>(value: T | undefined, defaultValue: T, onChange?: (value: T) => void): [T, (value: T) => void];
|
|
7
|
+
export type { Dispatch, SetStateAction };
|
|
8
|
+
export interface FieldDecoration {
|
|
9
|
+
label?: ReactNode;
|
|
10
|
+
hint?: ReactNode;
|
|
11
|
+
error?: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export interface FieldProps extends ComponentPropsWithRef<'div'>, FieldDecoration {
|
|
14
|
+
controlId?: string;
|
|
15
|
+
required?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/** A label and description provider for a single Hawiyah form control. */
|
|
18
|
+
export declare function Field(props: FieldProps): import("react").JSX.Element;
|
|
19
|
+
/** A decorated native control can add its own helpers inside a surrounding Field. */
|
|
20
|
+
export declare function ControlField(props: FieldProps): import("react").JSX.Element;
|
|
21
|
+
export declare function useFieldControl(props: {
|
|
22
|
+
id?: string;
|
|
23
|
+
required?: boolean;
|
|
24
|
+
'aria-label'?: string;
|
|
25
|
+
'aria-labelledby'?: string;
|
|
26
|
+
'aria-describedby'?: string;
|
|
27
|
+
'aria-invalid'?: HTMLAttributes<HTMLElement>['aria-invalid'];
|
|
28
|
+
}): {
|
|
29
|
+
id: string;
|
|
30
|
+
required: boolean | undefined;
|
|
31
|
+
'aria-labelledby': string | undefined;
|
|
32
|
+
'aria-describedby': string | undefined;
|
|
33
|
+
'aria-invalid': boolean | "false" | "true" | "grammar" | "spelling" | undefined;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.tsx"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,iBAAiB,EAA2B,MAAM,eAAe,CAAC;AACnG,OAAO,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE7G,eAAO,MAAM,EAAE,GAAI,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC,EAAE,WAAsC,CAAC;AACpG,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,iBAAiB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,aAGtD,CAAC,GAAG,IAAI,8BAUtC;AACD,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,QAGpE;AACD,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,YAAY,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAMhI;AACD,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;AACzC,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAOD,MAAM,WAAW,UAAW,SAAQ,qBAAqB,CAAC,KAAK,CAAC,EAAE,eAAe;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,0EAA0E;AAC1E,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,+BAEtC;AACD,qFAAqF;AACrF,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,+BAG7C;AAiBD,wBAAgB,eAAe,CAAC,KAAK,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,CAAA;CAAE;;;;;;EAUvN"}
|
package/dist/shared.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useCallback, useContext, useEffect, useId, useRef, useState } from 'react';
|
|
3
|
+
import { observeFieldValue } from '@hawiyah/core';
|
|
4
|
+
export const cx = (...classes) => classes.filter(Boolean).join(' ');
|
|
5
|
+
export function useFieldValueRef(ref) {
|
|
6
|
+
const observer = useRef(undefined);
|
|
7
|
+
useEffect(() => { observer.current?.refresh(); });
|
|
8
|
+
return useCallback((element) => {
|
|
9
|
+
observer.current?.destroy();
|
|
10
|
+
observer.current = undefined;
|
|
11
|
+
if (!element) {
|
|
12
|
+
assignRef(ref, null);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const current = observeFieldValue(element);
|
|
16
|
+
observer.current = current;
|
|
17
|
+
const cleanup = typeof ref === 'function' ? ref(element) : (assignRef(ref, element), undefined);
|
|
18
|
+
return () => {
|
|
19
|
+
current.destroy();
|
|
20
|
+
if (observer.current === current)
|
|
21
|
+
observer.current = undefined;
|
|
22
|
+
if (typeof cleanup === 'function')
|
|
23
|
+
cleanup();
|
|
24
|
+
else
|
|
25
|
+
assignRef(ref, null);
|
|
26
|
+
};
|
|
27
|
+
}, [ref]);
|
|
28
|
+
}
|
|
29
|
+
export function assignRef(ref, value) {
|
|
30
|
+
if (typeof ref === 'function')
|
|
31
|
+
ref(value);
|
|
32
|
+
else if (ref)
|
|
33
|
+
ref.current = value;
|
|
34
|
+
}
|
|
35
|
+
export function useControllable(value, defaultValue, onChange) {
|
|
36
|
+
const [internal, setInternal] = useState(defaultValue);
|
|
37
|
+
return [value === undefined ? internal : value, (next) => {
|
|
38
|
+
if (value === undefined)
|
|
39
|
+
setInternal(next);
|
|
40
|
+
if (next !== (value === undefined ? internal : value))
|
|
41
|
+
onChange?.(next);
|
|
42
|
+
}];
|
|
43
|
+
}
|
|
44
|
+
const FieldContext = createContext(undefined);
|
|
45
|
+
function descriptionIds(...values) {
|
|
46
|
+
const ids = values.flatMap(value => value?.trim().split(/\s+/) ?? []).filter(Boolean);
|
|
47
|
+
return [...new Set(ids)].join(' ') || undefined;
|
|
48
|
+
}
|
|
49
|
+
/** A label and description provider for a single Hawiyah form control. */
|
|
50
|
+
export function Field(props) {
|
|
51
|
+
return _jsx(FieldLayout, { ...props });
|
|
52
|
+
}
|
|
53
|
+
/** A decorated native control can add its own helpers inside a surrounding Field. */
|
|
54
|
+
export function ControlField(props) {
|
|
55
|
+
const parent = useContext(FieldContext);
|
|
56
|
+
return _jsx(FieldLayout, { ...props, parent: parent });
|
|
57
|
+
}
|
|
58
|
+
function FieldLayout({ label, hint, error, controlId, required, children, className, parent, ...props }) {
|
|
59
|
+
const generatedId = useId();
|
|
60
|
+
const id = controlId ?? parent?.id ?? `hw-field-${generatedId}`;
|
|
61
|
+
const decorationId = parent ? `hw-field-${generatedId}` : id;
|
|
62
|
+
const labelId = label != null ? `${decorationId}-label` : parent?.labelId;
|
|
63
|
+
const description = descriptionIds(parent?.description, hint ? `${decorationId}-hint` : undefined, error ? `${decorationId}-error` : undefined);
|
|
64
|
+
const isRequired = required ?? parent?.required;
|
|
65
|
+
return _jsx(FieldContext.Provider, { value: { id, labelId, description, invalid: Boolean(error || parent?.invalid), required: isRequired }, children: _jsxs("div", { ...props, className: cx('hw-field', className), children: [label != null && _jsxs("label", { className: "hw-label", htmlFor: id, id: labelId, children: [label, isRequired && _jsx("span", { className: "hw-required-marker", "aria-hidden": "true", children: " *" })] }), children, hint && _jsx("div", { className: "hw-hint", id: `${decorationId}-hint`, children: hint }), error && _jsx("div", { className: "hw-error", id: `${decorationId}-error`, children: error })] }) });
|
|
66
|
+
}
|
|
67
|
+
export function useFieldControl(props) {
|
|
68
|
+
const field = useContext(FieldContext);
|
|
69
|
+
const generated = useId();
|
|
70
|
+
return {
|
|
71
|
+
id: props.id ?? field?.id ?? `hw-input-${generated}`,
|
|
72
|
+
required: props.required ?? field?.required,
|
|
73
|
+
'aria-labelledby': props['aria-labelledby'] ?? (props['aria-label'] ? undefined : field?.labelId),
|
|
74
|
+
'aria-describedby': descriptionIds(props['aria-describedby'], field?.description),
|
|
75
|
+
'aria-invalid': props['aria-invalid'] ?? (field?.invalid || undefined),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ComponentPropsWithRef, ReactNode } from 'react';
|
|
2
|
+
import { type SiteVerificationOptions } from '@hawiyah/core';
|
|
3
|
+
export interface SiteVerificationProps extends ComponentPropsWithRef<'aside'>, SiteVerificationOptions {
|
|
4
|
+
mark?: ReactNode;
|
|
5
|
+
open?: boolean;
|
|
6
|
+
defaultOpen?: boolean;
|
|
7
|
+
onOpenChange?: (open: boolean) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function SiteVerification({ locale, label, detailsLabel, domainLabel, domainDescription, httpsLabel, httpsDescription, registrationLabel, externalLabel, registrationExternal, domain, registrationHref, registrationNumber, mark, open, defaultOpen, onOpenChange, children, className, ...props }: SiteVerificationProps): import("react").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=site-verification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-verification.d.ts","sourceRoot":"","sources":["../src/site-verification.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAA6B,KAAK,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGxF,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB,CAAC,OAAO,CAAC,EAAE,uBAAuB;IACpG,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AACD,wBAAgB,gBAAgB,CAAC,EAAC,MAAW,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,oBAAyB,EAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,WAAiB,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAC,EAAE,qBAAqB,+BAgB9U"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { getSiteVerificationLabels } from '@hawiyah/core';
|
|
4
|
+
import { cx } from './shared.js';
|
|
5
|
+
export function SiteVerification({ locale = 'ar', label, detailsLabel, domainLabel, domainDescription, httpsLabel, httpsDescription, registrationLabel, externalLabel, registrationExternal = true, domain, registrationHref, registrationNumber, mark, open, defaultOpen = false, onOpenChange, children, className, ...props }) {
|
|
6
|
+
const copy = getSiteVerificationLabels(locale), [localOpen, setLocalOpen] = useState(defaultOpen);
|
|
7
|
+
const expanded = open ?? localOpen;
|
|
8
|
+
return _jsx("aside", { ...props, className: cx('hw-site-verification', className), "aria-label": props['aria-label'] ?? label ?? copy.label, children: _jsxs("details", { open: expanded, onToggle: event => { const next = event.currentTarget.open; if (next !== expanded) {
|
|
9
|
+
setLocalOpen(next);
|
|
10
|
+
onOpenChange?.(next);
|
|
11
|
+
} }, children: [_jsxs("summary", { onClick: event => { if (open !== undefined) {
|
|
12
|
+
event.preventDefault();
|
|
13
|
+
onOpenChange?.(!open);
|
|
14
|
+
} }, children: [mark && _jsx("span", { className: "hw-verification-mark", children: mark }), _jsx("span", { children: label ?? copy.label }), _jsxs("span", { className: "hw-verification-toggle", children: [detailsLabel ?? copy.detailsLabel, _jsx("span", { className: "hw-icon", "data-icon": "arrow-down-01", "aria-hidden": "true" })] })] }), _jsxs("div", { className: "hw-verification-content", children: [_jsxs("div", { className: "hw-verification-checks", children: [domain && _jsxs("section", { children: [_jsx("span", { className: "hw-icon", "data-icon": "link-04", "aria-hidden": "true" }), _jsxs("div", { children: [_jsxs("h2", { children: [domainLabel ?? copy.domainLabel, " ", _jsx("bdi", { children: domain })] }), _jsx("p", { children: domainDescription ?? copy.domainDescription })] })] }), _jsxs("section", { children: [_jsx("span", { className: "hw-icon", "data-icon": "lock-password", "aria-hidden": "true" }), _jsxs("div", { children: [_jsxs("h2", { children: [httpsLabel ?? copy.httpsLabel, " ", _jsx("bdi", { children: "HTTPS" })] }), _jsx("p", { children: httpsDescription ?? copy.httpsDescription })] })] })] }), registrationHref && _jsx("p", { className: "hw-verification-registration", children: _jsxs("a", { href: registrationHref, target: registrationExternal ? '_blank' : undefined, rel: registrationExternal ? 'noopener noreferrer' : undefined, children: [registrationLabel ?? copy.registrationLabel, registrationNumber && _jsxs(_Fragment, { children: [" ", _jsx("bdi", { children: registrationNumber })] }), registrationExternal && _jsxs("span", { className: "hw-sr-only", children: [" \u00B7 ", externalLabel ?? copy.externalLabel] })] }) }), children] })] }) });
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=site-verification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-verification.js","sourceRoot":"","sources":["../src/site-verification.tsx"],"names":[],"mappings":"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"}
|