@hawiyah/react 0.0.0-stage → 0.2.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.
Files changed (77) hide show
  1. package/LICENSE +73 -0
  2. package/NOTICE +19 -0
  3. package/PORTAL.md +74 -0
  4. package/README.md +461 -2
  5. package/dist/calendar.d.ts +52 -0
  6. package/dist/calendar.d.ts.map +1 -0
  7. package/dist/calendar.js +148 -0
  8. package/dist/calendar.js.map +1 -0
  9. package/dist/content-navigation.d.ts +15 -0
  10. package/dist/content-navigation.d.ts.map +1 -0
  11. package/dist/content-navigation.js +29 -0
  12. package/dist/content-navigation.js.map +1 -0
  13. package/dist/display.d.ts +421 -0
  14. package/dist/display.d.ts.map +1 -0
  15. package/dist/display.js +208 -0
  16. package/dist/display.js.map +1 -0
  17. package/dist/expanded-content.d.ts +217 -0
  18. package/dist/expanded-content.d.ts.map +1 -0
  19. package/dist/expanded-content.js +124 -0
  20. package/dist/expanded-content.js.map +1 -0
  21. package/dist/expanded-controls.d.ts +107 -0
  22. package/dist/expanded-controls.d.ts.map +1 -0
  23. package/dist/expanded-controls.js +142 -0
  24. package/dist/expanded-controls.js.map +1 -0
  25. package/dist/expanded-interactive.d.ts +116 -0
  26. package/dist/expanded-interactive.d.ts.map +1 -0
  27. package/dist/expanded-interactive.js +204 -0
  28. package/dist/expanded-interactive.js.map +1 -0
  29. package/dist/expanded-layout.d.ts +80 -0
  30. package/dist/expanded-layout.d.ts.map +1 -0
  31. package/dist/expanded-layout.js +26 -0
  32. package/dist/expanded-layout.js.map +1 -0
  33. package/dist/expanded-shared.d.ts +3 -0
  34. package/dist/expanded-shared.d.ts.map +1 -0
  35. package/dist/expanded-shared.js +14 -0
  36. package/dist/expanded-shared.js.map +1 -0
  37. package/dist/file-upload-list.d.ts +10 -0
  38. package/dist/file-upload-list.d.ts.map +1 -0
  39. package/dist/file-upload-list.js +7 -0
  40. package/dist/file-upload-list.js.map +1 -0
  41. package/dist/forms.d.ts +34 -0
  42. package/dist/forms.d.ts.map +1 -0
  43. package/dist/forms.js +65 -0
  44. package/dist/forms.js.map +1 -0
  45. package/dist/index.d.ts +20 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +17 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/interactive.d.ts +60 -0
  50. package/dist/interactive.d.ts.map +1 -0
  51. package/dist/interactive.js +321 -0
  52. package/dist/interactive.js.map +1 -0
  53. package/dist/mobile-top-bar.d.ts +14 -0
  54. package/dist/mobile-top-bar.d.ts.map +1 -0
  55. package/dist/mobile-top-bar.js +8 -0
  56. package/dist/mobile-top-bar.js.map +1 -0
  57. package/dist/navigation-drawer.d.ts +20 -0
  58. package/dist/navigation-drawer.d.ts.map +1 -0
  59. package/dist/navigation-drawer.js +37 -0
  60. package/dist/navigation-drawer.js.map +1 -0
  61. package/dist/portal.d.ts +27 -0
  62. package/dist/portal.d.ts.map +1 -0
  63. package/dist/portal.js +16 -0
  64. package/dist/portal.js.map +1 -0
  65. package/dist/search-field.d.ts +15 -0
  66. package/dist/search-field.d.ts.map +1 -0
  67. package/dist/search-field.js +113 -0
  68. package/dist/search-field.js.map +1 -0
  69. package/dist/shared.d.ts +35 -0
  70. package/dist/shared.d.ts.map +1 -0
  71. package/dist/shared.js +78 -0
  72. package/dist/shared.js.map +1 -0
  73. package/dist/site-verification.d.ts +10 -0
  74. package/dist/site-verification.d.ts.map +1 -0
  75. package/dist/site-verification.js +16 -0
  76. package/dist/site-verification.js.map +1 -0
  77. 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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"}
@@ -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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"}
@@ -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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"}