@proyecto-viviana/solidaria-components 0.4.1 → 0.5.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/dist/Breadcrumbs.d.ts.map +1 -1
- package/dist/Breadcrumbs.js +3 -2
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/Breadcrumbs.jsx +3 -3
- package/dist/Breadcrumbs.jsx.map +1 -1
- package/dist/ElementTag.d.ts +29 -0
- package/dist/ElementTag.d.ts.map +1 -0
- package/dist/ElementTag.js +220 -0
- package/dist/ElementTag.js.map +1 -0
- package/dist/ElementTag.jsx +67 -0
- package/dist/ElementTag.jsx.map +1 -0
- package/dist/Landmark.js +4 -3
- package/dist/Landmark.js.map +1 -1
- package/dist/Landmark.jsx +3 -3
- package/dist/Landmark.jsx.map +1 -1
- package/dist/Link.js +3 -2
- package/dist/Link.js.map +1 -1
- package/dist/Link.jsx +3 -3
- package/dist/Link.jsx.map +1 -1
- package/dist/Select.d.ts.map +1 -1
- package/dist/Select.js +2 -2
- package/dist/Select.js.map +1 -1
- package/dist/Select.jsx +2 -2
- package/dist/Select.jsx.map +1 -1
- package/dist/Separator.js +3 -2
- package/dist/Separator.js.map +1 -1
- package/dist/Separator.jsx +2 -2
- package/dist/Separator.jsx.map +1 -1
- package/dist/Text.d.ts.map +1 -1
- package/dist/Text.js +9 -8
- package/dist/Text.js.map +1 -1
- package/dist/Text.jsx +3 -3
- package/dist/Text.jsx.map +1 -1
- package/dist/VisuallyHidden.d.ts.map +1 -1
- package/dist/VisuallyHidden.js +3 -11
- package/dist/VisuallyHidden.js.map +1 -1
- package/dist/VisuallyHidden.jsx +3 -4
- package/dist/VisuallyHidden.jsx.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.jsx +2 -1
- package/package.json +3 -3
- package/src/Breadcrumbs.tsx +5 -7
- package/src/ElementTag.tsx +116 -0
- package/src/Landmark.tsx +4 -4
- package/src/Link.tsx +4 -4
- package/src/Select.tsx +13 -2
- package/src/Separator.tsx +3 -3
- package/src/Text.tsx +5 -4
- package/src/VisuallyHidden.tsx +8 -12
- package/src/index.ts +2 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ElementTag.jsx","names":[],"sources":["../src/ElementTag.tsx"],"sourcesContent":["import { type JSX, createMemo, splitProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\n\nexport interface ElementTagProps extends Record<string, unknown> {\n /** The HTML tag name to render. */\n tag: string;\n children?: JSX.Element;\n}\n\n/**\n * Renders a string tag as a *statically compiled* element.\n *\n * A drop-in replacement for `<Dynamic component={someString}>`, which is unsafe\n * anywhere that can render after hydration settles. Solid's `createDynamic`\n * string branch calls `getNextElement()` with **no** `template` argument\n * (solid-js 1.9.14, `web/dist/dev.js:771`). `getNextElement(template)` only\n * reaches the registry while `isHydrating()` holds; once `sharedConfig.done` is\n * set — hydration finished, but `sharedConfig.context` still live — it falls\n * through to `return template()` and throws `TypeError: template is not a\n * function`. Any deferred child lands on exactly that path: a `<Show>` that\n * flips, a Suspense resolution, a portal, a container that defers its children.\n *\n * Each branch below is real JSX, so the compiler emits a `template()` of its own\n * and hands it to `getNextElement(template)` — which adopts the SSR node from the\n * registry during hydration and clones the template afterwards. Both phases work.\n *\n * Props other than `tag` are spread through untouched, `children` included, so\n * this matches `<Dynamic>`'s behaviour exactly (`Dynamic` likewise splits only\n * `component` and spreads the rest onto the element).\n */\nexport function ElementTag(props: ElementTagProps): JSX.Element {\n const [local, rest] = splitProps(props, [\"tag\"]);\n // Two memos, layered exactly as `<Dynamic>` layers them, and for the same reason.\n // Reading a single key off a merged-props proxy forces the dynamic spread behind\n // it to evaluate (to settle key precedence), which subscribes the reader to every\n // signal that spread touches. Absorbing that read in `cached` keeps it off the memo\n // below: `cached` re-runs freely, but its *value* only moves when the tag really\n // changes, so the element is rebuilt only then. Inline the read into the memo below\n // instead and any prop change recreates the DOM node — blowing away focus, and\n // looping where an ancestor counts the children it just rendered.\n const cached = createMemo(() => local.tag);\n return createMemo(() => {\n switch (cached()) {\n // Text / inline\n case \"span\":\n return <span {...rest} />;\n case \"a\":\n return <a {...rest} />;\n case \"p\":\n return <p {...rest} />;\n case \"label\":\n return <label {...rest} />;\n case \"strong\":\n return <strong {...rest} />;\n case \"em\":\n return <em {...rest} />;\n case \"small\":\n return <small {...rest} />;\n // Flow\n case \"div\":\n return <div {...rest} />;\n case \"hr\":\n return <hr {...rest} />;\n case \"li\":\n return <li {...rest} />;\n case \"ul\":\n return <ul {...rest} />;\n case \"ol\":\n return <ol {...rest} />;\n case \"figure\":\n return <figure {...rest} />;\n case \"blockquote\":\n return <blockquote {...rest} />;\n case \"address\":\n return <address {...rest} />;\n // Headings\n case \"h1\":\n return <h1 {...rest} />;\n case \"h2\":\n return <h2 {...rest} />;\n case \"h3\":\n return <h3 {...rest} />;\n case \"h4\":\n return <h4 {...rest} />;\n case \"h5\":\n return <h5 {...rest} />;\n case \"h6\":\n return <h6 {...rest} />;\n // Landmarks\n case \"main\":\n return <main {...rest} />;\n case \"nav\":\n return <nav {...rest} />;\n case \"header\":\n return <header {...rest} />;\n case \"footer\":\n return <footer {...rest} />;\n case \"aside\":\n return <aside {...rest} />;\n case \"section\":\n return <section {...rest} />;\n case \"article\":\n return <article {...rest} />;\n case \"form\":\n return <form {...rest} />;\n case \"search\":\n return <search {...rest} />;\n default:\n // A tag no component in this package emits. Kept on `<Dynamic>` rather\n // than hand-built so hydration still adopts the SSR node; it inherits\n // the post-hydration caveat above, which is why every tag the library\n // itself renders is listed explicitly.\n return <Dynamic component={local.tag} {...rest} />;\n }\n }) as unknown as JSX.Element;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA8BA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,CAAC,OAAO,QAAQ,WAAW,OAAO,CAAC,KAAK,CAAC;CAS/C,MAAM,SAAS,iBAAiB,MAAM,GAAG;CACzC,OAAO,iBAAiB;EACtB,QAAQ,OAAO,GAAf;GAEE,KAAK,QACH,OAAO,CAAC,SAAS;GACnB,KAAK,KACH,OAAO,CAAC,MAAM;GAChB,KAAK,KACH,OAAO,CAAC,MAAM;GAChB,KAAK,SACH,OAAO,CAAC,UAAU;GACpB,KAAK,UACH,OAAO,CAAC,WAAW;GACrB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,SACH,OAAO,CAAC,UAAU;GAEpB,KAAK,OACH,OAAO,CAAC,QAAQ;GAClB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,UACH,OAAO,CAAC,WAAW;GACrB,KAAK,cACH,OAAO,CAAC,eAAe;GACzB,KAAK,WACH,OAAO,CAAC,YAAY;GAEtB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,MACH,OAAO,CAAC,OAAO;GACjB,KAAK,MACH,OAAO,CAAC,OAAO;GAEjB,KAAK,QACH,OAAO,CAAC,SAAS;GACnB,KAAK,OACH,OAAO,CAAC,QAAQ;GAClB,KAAK,UACH,OAAO,CAAC,WAAW;GACrB,KAAK,UACH,OAAO,CAAC,WAAW;GACrB,KAAK,SACH,OAAO,CAAC,UAAU;GACpB,KAAK,WACH,OAAO,CAAC,YAAY;GACtB,KAAK,WACH,OAAO,CAAC,YAAY;GACtB,KAAK,QACH,OAAO,CAAC,SAAS;GACnB,KAAK,UACH,OAAO,CAAC,WAAW;GACrB,SAKE,OAAO,CAAC,QAAQ,WAAW,MAAM,SAAS;EAC9C;CACF,CAAC;AACH"}
|
package/dist/Landmark.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { filterDOMProps } from "./utils.js";
|
|
2
|
-
import {
|
|
2
|
+
import { ElementTag } from "./ElementTag.js";
|
|
3
|
+
import { createComponent, mergeProps } from "solid-js/web";
|
|
3
4
|
import { createContext, createMemo, createSignal, splitProps } from "solid-js";
|
|
4
5
|
import { createLandmark, getLandmarkController } from "@proyecto-viviana/solidaria";
|
|
5
6
|
//#region src/Landmark.tsx
|
|
@@ -94,8 +95,8 @@ function Landmark(props) {
|
|
|
94
95
|
return style;
|
|
95
96
|
});
|
|
96
97
|
const domProps = createMemo(() => filterDOMProps(ariaProps, { global: true }));
|
|
97
|
-
return createComponent(
|
|
98
|
-
get
|
|
98
|
+
return createComponent(ElementTag, mergeProps({
|
|
99
|
+
get tag() {
|
|
99
100
|
return elementType();
|
|
100
101
|
},
|
|
101
102
|
ref: setRef
|
package/dist/Landmark.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Landmark.js","names":["JSX","createContext","createMemo","createSignal","splitProps","
|
|
1
|
+
{"version":3,"file":"Landmark.js","names":["JSX","createContext","createMemo","createSignal","splitProps","ElementTag","createLandmark","getLandmarkController","AriaLandmarkProps","AriaLandmarkRole","LandmarkController","SlotProps","filterDOMProps","LandmarkRenderProps","role","LandmarkProps","elementType","IntrinsicElements","class","renderProps","style","CSSProperties","children","Element","LandmarkContext","roleToSemanticElement","Partial","Record","main","navigation","search","banner","contentinfo","complementary","form","region","Landmark","props","local","ariaProps","ref","setRef","HTMLElement","landmarkAria","aria-label","aria-labelledby","id","focus","renderValues","resolvedClass","cls","resolvedStyle","domProps","global","_$createComponent","_$mergeProps","tag","landmarkProps","slot","useLandmarkController"],"sources":["../src/Landmark.tsx"],"sourcesContent":["/**\n * Landmark component for solidaria-components\n *\n * Pre-wired headless landmark component that combines aria hooks.\n * Enables F6 keyboard navigation between major page sections.\n */\n\nimport { type JSX, createContext, createMemo, createSignal, splitProps } from \"solid-js\";\nimport { ElementTag } from \"./ElementTag\";\nimport {\n createLandmark,\n getLandmarkController,\n type AriaLandmarkProps,\n type AriaLandmarkRole,\n type LandmarkController,\n} from \"@proyecto-viviana/solidaria\";\nimport { type SlotProps, filterDOMProps } from \"./utils\";\n\nexport interface LandmarkRenderProps {\n /** The ARIA landmark role. */\n role: AriaLandmarkRole;\n}\n\nexport interface LandmarkProps extends AriaLandmarkProps, SlotProps {\n /**\n * The HTML element type to render.\n * @default 'div' (or semantic element based on role)\n */\n elementType?: keyof JSX.IntrinsicElements;\n /** The CSS className for the element. A function may be provided to receive render props. */\n class?: string | ((renderProps: LandmarkRenderProps) => string);\n /** The inline style for the element. A function may be provided to receive render props. */\n style?: JSX.CSSProperties | ((renderProps: LandmarkRenderProps) => JSX.CSSProperties);\n /** Children content. */\n children?: JSX.Element;\n}\n\nexport type { AriaLandmarkRole, LandmarkController };\n\nexport const LandmarkContext = createContext<LandmarkProps | null>(null);\n\n/**\n * Maps ARIA landmark roles to their semantic HTML elements.\n * Using semantic elements is preferred when possible.\n */\nconst roleToSemanticElement: Partial<Record<AriaLandmarkRole, keyof JSX.IntrinsicElements>> = {\n main: \"main\",\n navigation: \"nav\",\n search: \"search\", // HTML5.3 <search> element\n banner: \"header\",\n contentinfo: \"footer\",\n complementary: \"aside\",\n form: \"form\",\n region: \"section\",\n};\n\n/**\n * A landmark is a region of the page that helps screen reader users navigate.\n * Press F6 to cycle through landmarks, or Shift+F6 to go backwards.\n *\n * @example\n * ```tsx\n * // Main content area\n * <Landmark role=\"main\" aria-label=\"Main content\">\n * <h1>Welcome</h1>\n * <p>Page content here...</p>\n * </Landmark>\n *\n * // Navigation\n * <Landmark role=\"navigation\" aria-label=\"Primary navigation\">\n * <nav>...</nav>\n * </Landmark>\n *\n * // Search\n * <Landmark role=\"search\" aria-label=\"Site search\">\n * <form>...</form>\n * </Landmark>\n *\n * // Custom element type\n * <Landmark role=\"region\" aria-label=\"Featured content\" elementType=\"div\">\n * ...\n * </Landmark>\n * ```\n */\nexport function Landmark(props: LandmarkProps): JSX.Element {\n const [local, ariaProps] = splitProps(props, [\n \"class\",\n \"style\",\n \"slot\",\n \"children\",\n \"elementType\",\n ]);\n\n // Element ref\n const [ref, setRef] = createSignal<HTMLElement>();\n\n // Determine the element type - use semantic element for the role if not specified\n const elementType = createMemo(() => {\n if (local.elementType) {\n return local.elementType;\n }\n return roleToSemanticElement[ariaProps.role] ?? \"div\";\n });\n\n // Create landmark aria props\n const landmarkAria = createLandmark(\n {\n get role() {\n return ariaProps.role;\n },\n get \"aria-label\"() {\n return ariaProps[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return ariaProps[\"aria-labelledby\"];\n },\n get id() {\n return ariaProps.id;\n },\n get focus() {\n return ariaProps.focus;\n },\n },\n ref,\n );\n\n const renderValues = createMemo<LandmarkRenderProps>(() => ({\n role: ariaProps.role,\n }));\n\n const resolvedClass = createMemo(() => {\n const cls = local.class;\n if (typeof cls === \"function\") {\n return cls(renderValues());\n }\n return cls ?? `solidaria-Landmark solidaria-Landmark--${ariaProps.role}`;\n });\n\n const resolvedStyle = createMemo(() => {\n const style = local.style;\n if (typeof style === \"function\") {\n return style(renderValues());\n }\n return style;\n });\n\n const domProps = createMemo(() => filterDOMProps(ariaProps, { global: true }));\n\n return (\n <ElementTag\n tag={elementType()}\n ref={setRef}\n {...domProps()}\n {...landmarkAria.landmarkProps}\n class={resolvedClass()}\n style={resolvedStyle()}\n slot={local.slot}\n >\n {props.children}\n </ElementTag>\n );\n}\n\n/**\n * Returns a controller for programmatic landmark navigation.\n *\n * @example\n * ```tsx\n * const controller = useLandmarkController();\n *\n * <button onClick={() => controller.focusMain()}>Skip to main content</button>\n * <button onClick={() => controller.focusNext()}>Next landmark</button>\n * ```\n */\nexport function useLandmarkController(): LandmarkController {\n return getLandmarkController();\n}\n"],"mappings":";;;;;;;;;;;;AAuCA,MAAawB,kBAAkBvB,cAAoC,IAAI;;;;;AAMvE,MAAMwB,wBAAwF;CAC5FG,MAAM;CACNC,YAAY;CACZC,QAAQ;CACRC,QAAQ;CACRC,aAAa;CACbC,eAAe;CACfC,MAAM;CACNC,QAAQ;AACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,SAAgBC,SAASC,OAAmC;CAC1D,MAAM,CAACC,OAAOC,aAAanC,WAAWiC,OAAO;EAC3C;EACA;EACA;EACA;EACA;CAAa,CACd;CAGD,MAAM,CAACG,KAAKC,UAAUtC,aAA0B;CAGhD,MAAMa,cAAcd,iBAAiB;EACnC,IAAIoC,MAAMtB,aACR,OAAOsB,MAAMtB;EAEf,OAAOS,sBAAsBc,UAAUzB,SAAS;CAClD,CAAC;CAGD,MAAM6B,eAAerC,eACnB;EACE,IAAIQ,OAAO;GACT,OAAOyB,UAAUzB;EACnB;EACA,IAAI,eAAe;GACjB,OAAOyB,UAAU;EACnB;EACA,IAAI,oBAAoB;GACtB,OAAOA,UAAU;EACnB;EACA,IAAIO,KAAK;GACP,OAAOP,UAAUO;EACnB;EACA,IAAIC,QAAQ;GACV,OAAOR,UAAUQ;EACnB;CACF,GACAP,GACF;CAEA,MAAMQ,eAAe9C,kBAAuC,EAC1DY,MAAMyB,UAAUzB,KAClB,EAAE;CAEF,MAAMmC,gBAAgB/C,iBAAiB;EACrC,MAAMgD,MAAMZ,MAAMpB;EAClB,IAAI,OAAOgC,QAAQ,YACjB,OAAOA,IAAIF,aAAa,CAAC;EAE3B,OAAOE,OAAO,0CAA0CX,UAAUzB;CACpE,CAAC;CAED,MAAMqC,gBAAgBjD,iBAAiB;EACrC,MAAMkB,QAAQkB,MAAMlB;EACpB,IAAI,OAAOA,UAAU,YACnB,OAAOA,MAAM4B,aAAa,CAAC;EAE7B,OAAO5B;CACT,CAAC;CAED,MAAMgC,WAAWlD,iBAAiBU,eAAe2B,WAAW,EAAEc,QAAQ,KAAK,CAAC,CAAC;CAE7E,OAAAC,gBACGjD,YAAUkD,WAAA;EAAA,IACTC,MAAG;GAAA,OAAExC,YAAY;EAAC;EAAAwB,KACbC;CAAM,GACPW,gBACAT,aAAac,eAAa;EAAA,KAAA,WAAA;GAAA,OACvBR,cAAc;EAAC;EAAA,IACtB7B,QAAK;GAAA,OAAE+B,cAAc;EAAC;EAAA,IACtBO,OAAI;GAAA,OAAEpB,MAAMoB;EAAI;EAAA,IAAApC,WAAA;GAAA,OAEfe,MAAMf;EAAQ;CAAA,CAAA,CAAA;AAGrB;;;;;;;;;;;;AAaA,SAAgBqC,wBAA4C;CAC1D,OAAOpD,sBAAsB;AAC/B"}
|
package/dist/Landmark.jsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { filterDOMProps } from "./utils.jsx";
|
|
2
|
+
import { ElementTag } from "./ElementTag.jsx";
|
|
2
3
|
import { createContext, createMemo, createSignal, splitProps } from "solid-js";
|
|
3
|
-
import { Dynamic } from "solid-js/web";
|
|
4
4
|
import { createLandmark, getLandmarkController } from "@proyecto-viviana/solidaria";
|
|
5
5
|
//#region src/Landmark.tsx
|
|
6
6
|
/**
|
|
@@ -94,9 +94,9 @@ function Landmark(props) {
|
|
|
94
94
|
return style;
|
|
95
95
|
});
|
|
96
96
|
const domProps = createMemo(() => filterDOMProps(ariaProps, { global: true }));
|
|
97
|
-
return <
|
|
97
|
+
return <ElementTag tag={elementType()} ref={setRef} {...domProps()} {...landmarkAria.landmarkProps} class={resolvedClass()} style={resolvedStyle()} slot={local.slot}>
|
|
98
98
|
{props.children}
|
|
99
|
-
</
|
|
99
|
+
</ElementTag>;
|
|
100
100
|
}
|
|
101
101
|
/**
|
|
102
102
|
* Returns a controller for programmatic landmark navigation.
|
package/dist/Landmark.jsx.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Landmark.jsx","names":[],"sources":["../src/Landmark.tsx"],"sourcesContent":["/**\n * Landmark component for solidaria-components\n *\n * Pre-wired headless landmark component that combines aria hooks.\n * Enables F6 keyboard navigation between major page sections.\n */\n\nimport { type JSX, createContext, createMemo, createSignal, splitProps } from \"solid-js\";\nimport {
|
|
1
|
+
{"version":3,"file":"Landmark.jsx","names":[],"sources":["../src/Landmark.tsx"],"sourcesContent":["/**\n * Landmark component for solidaria-components\n *\n * Pre-wired headless landmark component that combines aria hooks.\n * Enables F6 keyboard navigation between major page sections.\n */\n\nimport { type JSX, createContext, createMemo, createSignal, splitProps } from \"solid-js\";\nimport { ElementTag } from \"./ElementTag\";\nimport {\n createLandmark,\n getLandmarkController,\n type AriaLandmarkProps,\n type AriaLandmarkRole,\n type LandmarkController,\n} from \"@proyecto-viviana/solidaria\";\nimport { type SlotProps, filterDOMProps } from \"./utils\";\n\nexport interface LandmarkRenderProps {\n /** The ARIA landmark role. */\n role: AriaLandmarkRole;\n}\n\nexport interface LandmarkProps extends AriaLandmarkProps, SlotProps {\n /**\n * The HTML element type to render.\n * @default 'div' (or semantic element based on role)\n */\n elementType?: keyof JSX.IntrinsicElements;\n /** The CSS className for the element. A function may be provided to receive render props. */\n class?: string | ((renderProps: LandmarkRenderProps) => string);\n /** The inline style for the element. A function may be provided to receive render props. */\n style?: JSX.CSSProperties | ((renderProps: LandmarkRenderProps) => JSX.CSSProperties);\n /** Children content. */\n children?: JSX.Element;\n}\n\nexport type { AriaLandmarkRole, LandmarkController };\n\nexport const LandmarkContext = createContext<LandmarkProps | null>(null);\n\n/**\n * Maps ARIA landmark roles to their semantic HTML elements.\n * Using semantic elements is preferred when possible.\n */\nconst roleToSemanticElement: Partial<Record<AriaLandmarkRole, keyof JSX.IntrinsicElements>> = {\n main: \"main\",\n navigation: \"nav\",\n search: \"search\", // HTML5.3 <search> element\n banner: \"header\",\n contentinfo: \"footer\",\n complementary: \"aside\",\n form: \"form\",\n region: \"section\",\n};\n\n/**\n * A landmark is a region of the page that helps screen reader users navigate.\n * Press F6 to cycle through landmarks, or Shift+F6 to go backwards.\n *\n * @example\n * ```tsx\n * // Main content area\n * <Landmark role=\"main\" aria-label=\"Main content\">\n * <h1>Welcome</h1>\n * <p>Page content here...</p>\n * </Landmark>\n *\n * // Navigation\n * <Landmark role=\"navigation\" aria-label=\"Primary navigation\">\n * <nav>...</nav>\n * </Landmark>\n *\n * // Search\n * <Landmark role=\"search\" aria-label=\"Site search\">\n * <form>...</form>\n * </Landmark>\n *\n * // Custom element type\n * <Landmark role=\"region\" aria-label=\"Featured content\" elementType=\"div\">\n * ...\n * </Landmark>\n * ```\n */\nexport function Landmark(props: LandmarkProps): JSX.Element {\n const [local, ariaProps] = splitProps(props, [\n \"class\",\n \"style\",\n \"slot\",\n \"children\",\n \"elementType\",\n ]);\n\n // Element ref\n const [ref, setRef] = createSignal<HTMLElement>();\n\n // Determine the element type - use semantic element for the role if not specified\n const elementType = createMemo(() => {\n if (local.elementType) {\n return local.elementType;\n }\n return roleToSemanticElement[ariaProps.role] ?? \"div\";\n });\n\n // Create landmark aria props\n const landmarkAria = createLandmark(\n {\n get role() {\n return ariaProps.role;\n },\n get \"aria-label\"() {\n return ariaProps[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return ariaProps[\"aria-labelledby\"];\n },\n get id() {\n return ariaProps.id;\n },\n get focus() {\n return ariaProps.focus;\n },\n },\n ref,\n );\n\n const renderValues = createMemo<LandmarkRenderProps>(() => ({\n role: ariaProps.role,\n }));\n\n const resolvedClass = createMemo(() => {\n const cls = local.class;\n if (typeof cls === \"function\") {\n return cls(renderValues());\n }\n return cls ?? `solidaria-Landmark solidaria-Landmark--${ariaProps.role}`;\n });\n\n const resolvedStyle = createMemo(() => {\n const style = local.style;\n if (typeof style === \"function\") {\n return style(renderValues());\n }\n return style;\n });\n\n const domProps = createMemo(() => filterDOMProps(ariaProps, { global: true }));\n\n return (\n <ElementTag\n tag={elementType()}\n ref={setRef}\n {...domProps()}\n {...landmarkAria.landmarkProps}\n class={resolvedClass()}\n style={resolvedStyle()}\n slot={local.slot}\n >\n {props.children}\n </ElementTag>\n );\n}\n\n/**\n * Returns a controller for programmatic landmark navigation.\n *\n * @example\n * ```tsx\n * const controller = useLandmarkController();\n *\n * <button onClick={() => controller.focusMain()}>Skip to main content</button>\n * <button onClick={() => controller.focusNext()}>Next landmark</button>\n * ```\n */\nexport function useLandmarkController(): LandmarkController {\n return getLandmarkController();\n}\n"],"mappings":";;;;;;;;;;;AAuCA,MAAa,kBAAkB,cAAoC,IAAI;;;;;AAMvE,MAAM,wBAAwF;CAC5F,MAAM;CACN,YAAY;CACZ,QAAQ;CACR,QAAQ;CACR,aAAa;CACb,eAAe;CACf,MAAM;CACN,QAAQ;AACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,SAAgB,SAAS,OAAmC;CAC1D,MAAM,CAAC,OAAO,aAAa,WAAW,OAAO;EAC3C;EACA;EACA;EACA;EACA;CACF,CAAC;CAGD,MAAM,CAAC,KAAK,UAAU,aAA0B;CAGhD,MAAM,cAAc,iBAAiB;EACnC,IAAI,MAAM,aACR,OAAO,MAAM;EAEf,OAAO,sBAAsB,UAAU,SAAS;CAClD,CAAC;CAGD,MAAM,eAAe,eACnB;EACE,IAAI,OAAO;GACT,OAAO,UAAU;EACnB;EACA,IAAI,eAAe;GACjB,OAAO,UAAU;EACnB;EACA,IAAI,oBAAoB;GACtB,OAAO,UAAU;EACnB;EACA,IAAI,KAAK;GACP,OAAO,UAAU;EACnB;EACA,IAAI,QAAQ;GACV,OAAO,UAAU;EACnB;CACF,GACA,GACF;CAEA,MAAM,eAAe,kBAAuC,EAC1D,MAAM,UAAU,KAClB,EAAE;CAEF,MAAM,gBAAgB,iBAAiB;EACrC,MAAM,MAAM,MAAM;EAClB,IAAI,OAAO,QAAQ,YACjB,OAAO,IAAI,aAAa,CAAC;EAE3B,OAAO,OAAO,0CAA0C,UAAU;CACpE,CAAC;CAED,MAAM,gBAAgB,iBAAiB;EACrC,MAAM,QAAQ,MAAM;EACpB,IAAI,OAAO,UAAU,YACnB,OAAO,MAAM,aAAa,CAAC;EAE7B,OAAO;CACT,CAAC;CAED,MAAM,WAAW,iBAAiB,eAAe,WAAW,EAAE,QAAQ,KAAK,CAAC,CAAC;CAE7E,OACE,CAAC,WACC,KAAK,YAAY,GACjB,KAAK,YACD,SAAS,OACT,aAAa,eACjB,OAAO,cAAc,GACrB,OAAO,cAAc,GACrB,MAAM,MAAM,MACb;OACE,MAAM,SAAS;IAClB,EAAE;AAEN;;;;;;;;;;;;AAaA,SAAgB,wBAA4C;CAC1D,OAAO,sBAAsB;AAC/B"}
|
package/dist/Link.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { filterDOMProps, useRenderProps } from "./utils.js";
|
|
2
|
+
import { ElementTag } from "./ElementTag.js";
|
|
2
3
|
import { handleLinkClick, useRouter } from "./RouterProvider.js";
|
|
3
|
-
import {
|
|
4
|
+
import { createComponent, mergeProps } from "solid-js/web";
|
|
4
5
|
import { createContext, createMemo, splitProps } from "solid-js";
|
|
5
6
|
import { createFocusRing, createHover, createLink } from "@proyecto-viviana/solidaria";
|
|
6
7
|
//#region src/Link.tsx
|
|
@@ -177,7 +178,7 @@ function Link(props) {
|
|
|
177
178
|
onClick?.(event);
|
|
178
179
|
handleLinkClick(event, router, ariaProps.href, ariaProps.routerOptions);
|
|
179
180
|
};
|
|
180
|
-
return createComponent(
|
|
181
|
+
return createComponent(ElementTag, mergeProps({ get tag() {
|
|
181
182
|
return elementType();
|
|
182
183
|
} }, domProps, cleanLinkProps, cleanHoverProps, cleanFocusProps, {
|
|
183
184
|
ref: (element) => {
|
package/dist/Link.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.js","names":["JSX","ParentProps","createContext","createMemo","splitProps","Dynamic","createLink","createFocusRing","createHover","AriaLinkProps","HoverEvents","RenderChildren","ClassNameOrFunction","StyleOrFunction","SlotProps","useRenderProps","filterDOMProps","handleLinkClick","useRouter","RefLike","el","T","current","assignRef","ref","LinkRenderProps","isCurrent","isHovered","isPressed","isFocused","isFocusVisible","isDisabled","LinkProps","Omit","children","class","style","HTMLElement","LinkContext","Link","props","Element","local","ariaProps","router","resolvedHref","href","useHref","undefined","elementType","linkAria","hrefLang","target","rel","download","ping","referrerPolicy","onPress","onPressStart","onPressEnd","onPressUp","onPressChange","onClick","onFocus","onBlur","onFocusChange","onKeyDown","onKeyUp","autoFocus","aria-current","aria-label","aria-labelledby","aria-describedby","focusProps","hoverProps","onHoverStart","onHoverEnd","onHoverChange","renderValues","renderProps","defaultClassName","domProps","global","cleanLinkProps","_ref1","rest","linkProps","Record","cleanHoverProps","_ref2","cleanFocusProps","_ref3","onLinkClick","event","MouseEvent","routerOptions","_$createComponent","_$mergeProps","component","element","data-hovered","data-pressed","data-focused","data-focus-visible","data-current","data-disabled","renderChildren"],"sources":["../src/Link.tsx"],"sourcesContent":["/**\n * Link component for solidaria-components\n *\n * Pre-wired headless link component that combines aria hooks.\n * Port of react-aria-components/src/Link.tsx\n */\n\nimport { type JSX, type ParentProps, createContext, createMemo, splitProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport {\n createLink,\n createFocusRing,\n createHover,\n type AriaLinkProps,\n type HoverEvents,\n} from \"@proyecto-viviana/solidaria\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n} from \"./utils\";\nimport { handleLinkClick, useRouter } from \"./RouterProvider\";\n\ntype RefLike<T> = ((el: T) => void) | { current?: T | null } | undefined;\n\nfunction assignRef<T>(ref: RefLike<T>, el: T): void {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(el);\n } else {\n ref.current = el;\n }\n}\n\nexport interface LinkRenderProps {\n /** Whether the link is the current item within a list. */\n isCurrent: boolean;\n /** Whether the link is currently hovered with a mouse. */\n isHovered: boolean;\n /** Whether the link is currently in a pressed state. */\n isPressed: boolean;\n /** Whether the link is focused, either via a mouse or keyboard. */\n isFocused: boolean;\n /** Whether the link is keyboard focused. */\n isFocusVisible: boolean;\n /** Whether the link is disabled. */\n isDisabled: boolean;\n}\n\nexport interface LinkProps extends Omit<AriaLinkProps, \"elementType\">, HoverEvents, SlotProps {\n /** The children of the component. A function may be provided to receive render props. */\n children?: RenderChildren<LinkRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<LinkRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<LinkRenderProps>;\n /** Ref for the underlying link element. */\n ref?: RefLike<HTMLElement>;\n}\n\nexport const LinkContext = createContext<LinkProps | null>(null);\n\n/**\n * A link allows a user to navigate to another page or resource within a web page\n * or application.\n *\n * @example\n * ```tsx\n * <Link href=\"https://example.com\">Visit Example</Link>\n *\n * // With render props\n * <Link href=\"/about\">\n * {({ isHovered, isFocusVisible }) => (\n * <span class={isHovered ? 'underline' : ''}>\n * About Us\n * </span>\n * )}\n * </Link>\n * ```\n */\nexport function Link(props: ParentProps<LinkProps>): JSX.Element {\n const [local, ariaProps] = splitProps(props, [\n \"children\",\n \"class\",\n \"style\",\n \"ref\",\n \"slot\",\n \"onHoverStart\",\n \"onHoverEnd\",\n \"onHoverChange\",\n ]);\n const router = useRouter();\n const resolvedHref = createMemo(() =>\n ariaProps.href ? router.useHref(ariaProps.href) : undefined,\n );\n\n const elementType = () => {\n if (ariaProps.href && !ariaProps.isDisabled) {\n return \"a\";\n }\n return \"span\";\n };\n\n const linkAria = createLink({\n get elementType() {\n return elementType();\n },\n get isDisabled() {\n return ariaProps.isDisabled;\n },\n get href() {\n return resolvedHref();\n },\n get hrefLang() {\n return ariaProps.hrefLang;\n },\n get target() {\n return ariaProps.target;\n },\n get rel() {\n return ariaProps.rel;\n },\n get download() {\n return ariaProps.download;\n },\n get ping() {\n return ariaProps.ping;\n },\n get referrerPolicy() {\n return ariaProps.referrerPolicy;\n },\n get onPress() {\n return ariaProps.onPress;\n },\n get onPressStart() {\n return ariaProps.onPressStart;\n },\n get onPressEnd() {\n return ariaProps.onPressEnd;\n },\n get onPressUp() {\n return ariaProps.onPressUp;\n },\n get onPressChange() {\n return ariaProps.onPressChange;\n },\n get onClick() {\n return ariaProps.onClick;\n },\n get onFocus() {\n return ariaProps.onFocus;\n },\n get onBlur() {\n return ariaProps.onBlur;\n },\n get onFocusChange() {\n return ariaProps.onFocusChange;\n },\n get onKeyDown() {\n return ariaProps.onKeyDown;\n },\n get onKeyUp() {\n return ariaProps.onKeyUp;\n },\n get autoFocus() {\n return ariaProps.autoFocus;\n },\n get \"aria-current\"() {\n return ariaProps[\"aria-current\"];\n },\n get \"aria-label\"() {\n return ariaProps[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return ariaProps[\"aria-labelledby\"];\n },\n get \"aria-describedby\"() {\n return ariaProps[\"aria-describedby\"];\n },\n });\n\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return ariaProps.isDisabled ?? false;\n },\n get onHoverStart() {\n return local.onHoverStart;\n },\n get onHoverEnd() {\n return local.onHoverEnd;\n },\n get onHoverChange() {\n return local.onHoverChange;\n },\n });\n\n const renderValues = createMemo<LinkRenderProps>(() => ({\n isCurrent: !!ariaProps[\"aria-current\"],\n isHovered: isHovered(),\n isPressed: linkAria.isPressed(),\n isFocused: isFocused(),\n isFocusVisible: isFocusVisible(),\n isDisabled: ariaProps.isDisabled ?? false,\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-Link\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() => filterDOMProps(ariaProps, { global: true }));\n\n const cleanLinkProps = () => {\n const { ref: _ref1, ...rest } = linkAria.linkProps as Record<string, unknown>;\n return rest;\n };\n const cleanHoverProps = () => {\n const { ref: _ref2, ...rest } = hoverProps as Record<string, unknown>;\n return rest;\n };\n const cleanFocusProps = () => {\n const { ref: _ref3, ...rest } = focusProps as Record<string, unknown>;\n return rest;\n };\n const onLinkClick = (event: MouseEvent) => {\n const onClick = cleanLinkProps().onClick as ((event: MouseEvent) => void) | undefined;\n onClick?.(event);\n handleLinkClick(event, router, ariaProps.href, ariaProps.routerOptions);\n };\n\n return (\n <Dynamic\n component={elementType()}\n {...domProps()}\n {...cleanLinkProps()}\n {...cleanHoverProps()}\n {...cleanFocusProps()}\n ref={(element: HTMLElement) => {\n assignRef(local.ref, element);\n }}\n onClick={onLinkClick}\n class={renderProps.class()}\n style={renderProps.style()}\n data-hovered={isHovered() || undefined}\n data-pressed={linkAria.isPressed() || undefined}\n data-focused={isFocused() || undefined}\n data-focus-visible={isFocusVisible() || undefined}\n data-current={!!ariaProps[\"aria-current\"] || undefined}\n data-disabled={ariaProps.isDisabled || undefined}\n >\n {renderProps.renderChildren()}\n </Dynamic>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Link.js","names":["JSX","ParentProps","createContext","createMemo","splitProps","ElementTag","createLink","createFocusRing","createHover","AriaLinkProps","HoverEvents","RenderChildren","ClassNameOrFunction","StyleOrFunction","SlotProps","useRenderProps","filterDOMProps","handleLinkClick","useRouter","RefLike","el","T","current","assignRef","ref","LinkRenderProps","isCurrent","isHovered","isPressed","isFocused","isFocusVisible","isDisabled","LinkProps","Omit","children","class","style","HTMLElement","LinkContext","Link","props","Element","local","ariaProps","router","resolvedHref","href","useHref","undefined","elementType","linkAria","hrefLang","target","rel","download","ping","referrerPolicy","onPress","onPressStart","onPressEnd","onPressUp","onPressChange","onClick","onFocus","onBlur","onFocusChange","onKeyDown","onKeyUp","autoFocus","aria-current","aria-label","aria-labelledby","aria-describedby","focusProps","hoverProps","onHoverStart","onHoverEnd","onHoverChange","renderValues","renderProps","defaultClassName","domProps","global","cleanLinkProps","_ref1","rest","linkProps","Record","cleanHoverProps","_ref2","cleanFocusProps","_ref3","onLinkClick","event","MouseEvent","routerOptions","_$createComponent","_$mergeProps","tag","element","data-hovered","data-pressed","data-focused","data-focus-visible","data-current","data-disabled","renderChildren"],"sources":["../src/Link.tsx"],"sourcesContent":["/**\n * Link component for solidaria-components\n *\n * Pre-wired headless link component that combines aria hooks.\n * Port of react-aria-components/src/Link.tsx\n */\n\nimport { type JSX, type ParentProps, createContext, createMemo, splitProps } from \"solid-js\";\nimport { ElementTag } from \"./ElementTag\";\nimport {\n createLink,\n createFocusRing,\n createHover,\n type AriaLinkProps,\n type HoverEvents,\n} from \"@proyecto-viviana/solidaria\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n} from \"./utils\";\nimport { handleLinkClick, useRouter } from \"./RouterProvider\";\n\ntype RefLike<T> = ((el: T) => void) | { current?: T | null } | undefined;\n\nfunction assignRef<T>(ref: RefLike<T>, el: T): void {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(el);\n } else {\n ref.current = el;\n }\n}\n\nexport interface LinkRenderProps {\n /** Whether the link is the current item within a list. */\n isCurrent: boolean;\n /** Whether the link is currently hovered with a mouse. */\n isHovered: boolean;\n /** Whether the link is currently in a pressed state. */\n isPressed: boolean;\n /** Whether the link is focused, either via a mouse or keyboard. */\n isFocused: boolean;\n /** Whether the link is keyboard focused. */\n isFocusVisible: boolean;\n /** Whether the link is disabled. */\n isDisabled: boolean;\n}\n\nexport interface LinkProps extends Omit<AriaLinkProps, \"elementType\">, HoverEvents, SlotProps {\n /** The children of the component. A function may be provided to receive render props. */\n children?: RenderChildren<LinkRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<LinkRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<LinkRenderProps>;\n /** Ref for the underlying link element. */\n ref?: RefLike<HTMLElement>;\n}\n\nexport const LinkContext = createContext<LinkProps | null>(null);\n\n/**\n * A link allows a user to navigate to another page or resource within a web page\n * or application.\n *\n * @example\n * ```tsx\n * <Link href=\"https://example.com\">Visit Example</Link>\n *\n * // With render props\n * <Link href=\"/about\">\n * {({ isHovered, isFocusVisible }) => (\n * <span class={isHovered ? 'underline' : ''}>\n * About Us\n * </span>\n * )}\n * </Link>\n * ```\n */\nexport function Link(props: ParentProps<LinkProps>): JSX.Element {\n const [local, ariaProps] = splitProps(props, [\n \"children\",\n \"class\",\n \"style\",\n \"ref\",\n \"slot\",\n \"onHoverStart\",\n \"onHoverEnd\",\n \"onHoverChange\",\n ]);\n const router = useRouter();\n const resolvedHref = createMemo(() =>\n ariaProps.href ? router.useHref(ariaProps.href) : undefined,\n );\n\n const elementType = () => {\n if (ariaProps.href && !ariaProps.isDisabled) {\n return \"a\";\n }\n return \"span\";\n };\n\n const linkAria = createLink({\n get elementType() {\n return elementType();\n },\n get isDisabled() {\n return ariaProps.isDisabled;\n },\n get href() {\n return resolvedHref();\n },\n get hrefLang() {\n return ariaProps.hrefLang;\n },\n get target() {\n return ariaProps.target;\n },\n get rel() {\n return ariaProps.rel;\n },\n get download() {\n return ariaProps.download;\n },\n get ping() {\n return ariaProps.ping;\n },\n get referrerPolicy() {\n return ariaProps.referrerPolicy;\n },\n get onPress() {\n return ariaProps.onPress;\n },\n get onPressStart() {\n return ariaProps.onPressStart;\n },\n get onPressEnd() {\n return ariaProps.onPressEnd;\n },\n get onPressUp() {\n return ariaProps.onPressUp;\n },\n get onPressChange() {\n return ariaProps.onPressChange;\n },\n get onClick() {\n return ariaProps.onClick;\n },\n get onFocus() {\n return ariaProps.onFocus;\n },\n get onBlur() {\n return ariaProps.onBlur;\n },\n get onFocusChange() {\n return ariaProps.onFocusChange;\n },\n get onKeyDown() {\n return ariaProps.onKeyDown;\n },\n get onKeyUp() {\n return ariaProps.onKeyUp;\n },\n get autoFocus() {\n return ariaProps.autoFocus;\n },\n get \"aria-current\"() {\n return ariaProps[\"aria-current\"];\n },\n get \"aria-label\"() {\n return ariaProps[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return ariaProps[\"aria-labelledby\"];\n },\n get \"aria-describedby\"() {\n return ariaProps[\"aria-describedby\"];\n },\n });\n\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return ariaProps.isDisabled ?? false;\n },\n get onHoverStart() {\n return local.onHoverStart;\n },\n get onHoverEnd() {\n return local.onHoverEnd;\n },\n get onHoverChange() {\n return local.onHoverChange;\n },\n });\n\n const renderValues = createMemo<LinkRenderProps>(() => ({\n isCurrent: !!ariaProps[\"aria-current\"],\n isHovered: isHovered(),\n isPressed: linkAria.isPressed(),\n isFocused: isFocused(),\n isFocusVisible: isFocusVisible(),\n isDisabled: ariaProps.isDisabled ?? false,\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-Link\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() => filterDOMProps(ariaProps, { global: true }));\n\n const cleanLinkProps = () => {\n const { ref: _ref1, ...rest } = linkAria.linkProps as Record<string, unknown>;\n return rest;\n };\n const cleanHoverProps = () => {\n const { ref: _ref2, ...rest } = hoverProps as Record<string, unknown>;\n return rest;\n };\n const cleanFocusProps = () => {\n const { ref: _ref3, ...rest } = focusProps as Record<string, unknown>;\n return rest;\n };\n const onLinkClick = (event: MouseEvent) => {\n const onClick = cleanLinkProps().onClick as ((event: MouseEvent) => void) | undefined;\n onClick?.(event);\n handleLinkClick(event, router, ariaProps.href, ariaProps.routerOptions);\n };\n\n return (\n <ElementTag\n tag={elementType()}\n {...domProps()}\n {...cleanLinkProps()}\n {...cleanHoverProps()}\n {...cleanFocusProps()}\n ref={(element: HTMLElement) => {\n assignRef(local.ref, element);\n }}\n onClick={onLinkClick}\n class={renderProps.class()}\n style={renderProps.style()}\n data-hovered={isHovered() || undefined}\n data-pressed={linkAria.isPressed() || undefined}\n data-focused={isFocused() || undefined}\n data-focus-visible={isFocusVisible() || undefined}\n data-current={!!ariaProps[\"aria-current\"] || undefined}\n data-disabled={ariaProps.isDisabled || undefined}\n >\n {renderProps.renderChildren()}\n </ElementTag>\n );\n}\n"],"mappings":"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"}
|
package/dist/Link.jsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { filterDOMProps, useRenderProps } from "./utils.jsx";
|
|
2
|
+
import { ElementTag } from "./ElementTag.jsx";
|
|
2
3
|
import { handleLinkClick, useRouter } from "./RouterProvider.jsx";
|
|
3
4
|
import { createContext, createMemo, splitProps } from "solid-js";
|
|
4
|
-
import { Dynamic } from "solid-js/web";
|
|
5
5
|
import { createFocusRing, createHover, createLink } from "@proyecto-viviana/solidaria";
|
|
6
6
|
//#region src/Link.tsx
|
|
7
7
|
/**
|
|
@@ -177,11 +177,11 @@ function Link(props) {
|
|
|
177
177
|
onClick?.(event);
|
|
178
178
|
handleLinkClick(event, router, ariaProps.href, ariaProps.routerOptions);
|
|
179
179
|
};
|
|
180
|
-
return <
|
|
180
|
+
return <ElementTag tag={elementType()} {...domProps()} {...cleanLinkProps()} {...cleanHoverProps()} {...cleanFocusProps()} ref={(element) => {
|
|
181
181
|
assignRef(local.ref, element);
|
|
182
182
|
}} onClick={onLinkClick} class={renderProps.class()} style={renderProps.style()} data-hovered={isHovered() || void 0} data-pressed={linkAria.isPressed() || void 0} data-focused={isFocused() || void 0} data-focus-visible={isFocusVisible() || void 0} data-current={!!ariaProps["aria-current"] || void 0} data-disabled={ariaProps.isDisabled || void 0}>
|
|
183
183
|
{renderProps.renderChildren()}
|
|
184
|
-
</
|
|
184
|
+
</ElementTag>;
|
|
185
185
|
}
|
|
186
186
|
//#endregion
|
|
187
187
|
export { Link, LinkContext };
|
package/dist/Link.jsx.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.jsx","names":[],"sources":["../src/Link.tsx"],"sourcesContent":["/**\n * Link component for solidaria-components\n *\n * Pre-wired headless link component that combines aria hooks.\n * Port of react-aria-components/src/Link.tsx\n */\n\nimport { type JSX, type ParentProps, createContext, createMemo, splitProps } from \"solid-js\";\nimport {
|
|
1
|
+
{"version":3,"file":"Link.jsx","names":[],"sources":["../src/Link.tsx"],"sourcesContent":["/**\n * Link component for solidaria-components\n *\n * Pre-wired headless link component that combines aria hooks.\n * Port of react-aria-components/src/Link.tsx\n */\n\nimport { type JSX, type ParentProps, createContext, createMemo, splitProps } from \"solid-js\";\nimport { ElementTag } from \"./ElementTag\";\nimport {\n createLink,\n createFocusRing,\n createHover,\n type AriaLinkProps,\n type HoverEvents,\n} from \"@proyecto-viviana/solidaria\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n} from \"./utils\";\nimport { handleLinkClick, useRouter } from \"./RouterProvider\";\n\ntype RefLike<T> = ((el: T) => void) | { current?: T | null } | undefined;\n\nfunction assignRef<T>(ref: RefLike<T>, el: T): void {\n if (!ref) return;\n if (typeof ref === \"function\") {\n ref(el);\n } else {\n ref.current = el;\n }\n}\n\nexport interface LinkRenderProps {\n /** Whether the link is the current item within a list. */\n isCurrent: boolean;\n /** Whether the link is currently hovered with a mouse. */\n isHovered: boolean;\n /** Whether the link is currently in a pressed state. */\n isPressed: boolean;\n /** Whether the link is focused, either via a mouse or keyboard. */\n isFocused: boolean;\n /** Whether the link is keyboard focused. */\n isFocusVisible: boolean;\n /** Whether the link is disabled. */\n isDisabled: boolean;\n}\n\nexport interface LinkProps extends Omit<AriaLinkProps, \"elementType\">, HoverEvents, SlotProps {\n /** The children of the component. A function may be provided to receive render props. */\n children?: RenderChildren<LinkRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<LinkRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<LinkRenderProps>;\n /** Ref for the underlying link element. */\n ref?: RefLike<HTMLElement>;\n}\n\nexport const LinkContext = createContext<LinkProps | null>(null);\n\n/**\n * A link allows a user to navigate to another page or resource within a web page\n * or application.\n *\n * @example\n * ```tsx\n * <Link href=\"https://example.com\">Visit Example</Link>\n *\n * // With render props\n * <Link href=\"/about\">\n * {({ isHovered, isFocusVisible }) => (\n * <span class={isHovered ? 'underline' : ''}>\n * About Us\n * </span>\n * )}\n * </Link>\n * ```\n */\nexport function Link(props: ParentProps<LinkProps>): JSX.Element {\n const [local, ariaProps] = splitProps(props, [\n \"children\",\n \"class\",\n \"style\",\n \"ref\",\n \"slot\",\n \"onHoverStart\",\n \"onHoverEnd\",\n \"onHoverChange\",\n ]);\n const router = useRouter();\n const resolvedHref = createMemo(() =>\n ariaProps.href ? router.useHref(ariaProps.href) : undefined,\n );\n\n const elementType = () => {\n if (ariaProps.href && !ariaProps.isDisabled) {\n return \"a\";\n }\n return \"span\";\n };\n\n const linkAria = createLink({\n get elementType() {\n return elementType();\n },\n get isDisabled() {\n return ariaProps.isDisabled;\n },\n get href() {\n return resolvedHref();\n },\n get hrefLang() {\n return ariaProps.hrefLang;\n },\n get target() {\n return ariaProps.target;\n },\n get rel() {\n return ariaProps.rel;\n },\n get download() {\n return ariaProps.download;\n },\n get ping() {\n return ariaProps.ping;\n },\n get referrerPolicy() {\n return ariaProps.referrerPolicy;\n },\n get onPress() {\n return ariaProps.onPress;\n },\n get onPressStart() {\n return ariaProps.onPressStart;\n },\n get onPressEnd() {\n return ariaProps.onPressEnd;\n },\n get onPressUp() {\n return ariaProps.onPressUp;\n },\n get onPressChange() {\n return ariaProps.onPressChange;\n },\n get onClick() {\n return ariaProps.onClick;\n },\n get onFocus() {\n return ariaProps.onFocus;\n },\n get onBlur() {\n return ariaProps.onBlur;\n },\n get onFocusChange() {\n return ariaProps.onFocusChange;\n },\n get onKeyDown() {\n return ariaProps.onKeyDown;\n },\n get onKeyUp() {\n return ariaProps.onKeyUp;\n },\n get autoFocus() {\n return ariaProps.autoFocus;\n },\n get \"aria-current\"() {\n return ariaProps[\"aria-current\"];\n },\n get \"aria-label\"() {\n return ariaProps[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return ariaProps[\"aria-labelledby\"];\n },\n get \"aria-describedby\"() {\n return ariaProps[\"aria-describedby\"];\n },\n });\n\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return ariaProps.isDisabled ?? false;\n },\n get onHoverStart() {\n return local.onHoverStart;\n },\n get onHoverEnd() {\n return local.onHoverEnd;\n },\n get onHoverChange() {\n return local.onHoverChange;\n },\n });\n\n const renderValues = createMemo<LinkRenderProps>(() => ({\n isCurrent: !!ariaProps[\"aria-current\"],\n isHovered: isHovered(),\n isPressed: linkAria.isPressed(),\n isFocused: isFocused(),\n isFocusVisible: isFocusVisible(),\n isDisabled: ariaProps.isDisabled ?? false,\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-Link\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() => filterDOMProps(ariaProps, { global: true }));\n\n const cleanLinkProps = () => {\n const { ref: _ref1, ...rest } = linkAria.linkProps as Record<string, unknown>;\n return rest;\n };\n const cleanHoverProps = () => {\n const { ref: _ref2, ...rest } = hoverProps as Record<string, unknown>;\n return rest;\n };\n const cleanFocusProps = () => {\n const { ref: _ref3, ...rest } = focusProps as Record<string, unknown>;\n return rest;\n };\n const onLinkClick = (event: MouseEvent) => {\n const onClick = cleanLinkProps().onClick as ((event: MouseEvent) => void) | undefined;\n onClick?.(event);\n handleLinkClick(event, router, ariaProps.href, ariaProps.routerOptions);\n };\n\n return (\n <ElementTag\n tag={elementType()}\n {...domProps()}\n {...cleanLinkProps()}\n {...cleanHoverProps()}\n {...cleanFocusProps()}\n ref={(element: HTMLElement) => {\n assignRef(local.ref, element);\n }}\n onClick={onLinkClick}\n class={renderProps.class()}\n style={renderProps.style()}\n data-hovered={isHovered() || undefined}\n data-pressed={linkAria.isPressed() || undefined}\n data-focused={isFocused() || undefined}\n data-focus-visible={isFocusVisible() || undefined}\n data-current={!!ariaProps[\"aria-current\"] || undefined}\n data-disabled={ariaProps.isDisabled || undefined}\n >\n {renderProps.renderChildren()}\n </ElementTag>\n );\n}\n"],"mappings":"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"}
|
package/dist/Select.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../src/Select.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,GAAG,EACR,KAAK,QAAQ,EAWd,MAAM,UAAU,CAAC;AAClB,OAAO,EAUL,KAAK,eAAe,EAEpB,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,cAAc,EAEnB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,SAAS,EAGf,MAAM,SAAS,CAAC;AAOjB,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,CAAC;AA+BzE,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,qCAAqC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,cAAc,EAAE,OAAO,CAAC;IACxB,sCAAsC;IACtC,UAAU,EAAE,OAAO,CAAC;IACpB,sCAAsC;IACtC,UAAU,EAAE,OAAO,CAAC;IACpB,mCAAmC;IACnC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,SAAS;IAClF,yCAAyC;IACzC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,4CAA4C;IAC5C,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC;IAC1B,mDAAmD;IACnD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IACnC,gDAAgD;IAChD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IACnC,8BAA8B;IAC9B,YAAY,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,sBAAsB;IACtB,aAAa,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACtC,+CAA+C;IAC/C,WAAW,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;IACzB,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;IAChC,oEAAoE;IACpE,YAAY,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrC,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5C,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,gDAAgD;IAChD,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACzD,+CAA+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kDAAkD;IAClD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yFAAyF;IACzF,QAAQ,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAC5C,yCAAyC;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAC/C,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAC3C,oDAAoD;IACpD,MAAM,CAAC,EAAE,CACP,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,EACzC,WAAW,EAAE,iBAAiB,KAC3B,GAAG,CAAC,OAAO,CAAC;IACjB,wCAAwC;IACxC,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,yBAAyB;IACzB,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACvC,0BAA0B;IAC1B,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,2CAA2C;IAC3C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mCAAmC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,SAAS;IACpD,qFAAqF;IACrF,QAAQ,CAAC,EAAE,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,yCAAyC;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,0FAA0F;IAC1F,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,kCAAkC;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,sCAAsC;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,cAAc,EAAE,OAAO,CAAC;IACxB,sCAAsC;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,sCAAsC;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,uEAAuE;IACvE,GAAG,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjC,uFAAuF;IACvF,QAAQ,CAAC,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;IACpD,yCAAyC;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;IACtD,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,wBAAwB;IACvC,sCAAsC;IACtC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC,CAAE,SAAQ,SAAS;IACtD,mFAAmF;IACnF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC;IACpC,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;IAC/C,gDAAgD;IAChD,aAAa,CAAC,EAAE,mBAAmB,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC5D,iEAAiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yCAAyC;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;IACtD,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,uBAAuB;IACtC,sCAAsC;IACtC,UAAU,EAAE,OAAO,CAAC;IACpB,qCAAqC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,cAAc,EAAE,OAAO,CAAC;IACxB,qCAAqC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,qCAAqC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,sCAAsC;IACtC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,KAAK,CAAC,EAAE,SAAS;IAChG,+DAA+D;IAC/D,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9B,qCAAqC;IACrC,EAAE,EAAE,GAAG,CAAC;IACR,sBAAsB;IACtB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,sFAAsF;IACtF,QAAQ,CAAC,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAC;IACnD,yCAAyC;IACzC,KAAK,CAAC,EAAE,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;IACrD,wCAAwC;IACxC,KAAK,CAAC,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;IACjD,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,kBAAkB,CAAC,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACtC,UAAU,EAAE,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACzC,aAAa,EAAE,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,YAAY,EAAE,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC9C,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5C,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5C,SAAS,EAAE,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC3C,iBAAiB,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACpD,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7B,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7B,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,gEAA0D,CAAC;AACrF,eAAO,MAAM,kBAAkB,yDAAmD,CAAC;AACnF,eAAO,MAAM,kBAAkB,gEAAgB,CAAC;AAShD;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../src/Select.tsx"],"names":[],"mappings":"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"}
|
package/dist/Select.js
CHANGED
|
@@ -319,8 +319,8 @@ function Select(props) {
|
|
|
319
319
|
const itemRecord = isObjectRecord(item) ? item : null;
|
|
320
320
|
const fallbackKey = itemRecord != null ? toKey(itemRecord.key) ?? toKey(itemRecord.id) : void 0;
|
|
321
321
|
const key = stateProps.getKey?.(item) ?? fallbackKey ?? String(item);
|
|
322
|
-
const fallbackTextValue = itemRecord != null ? toTextValue(itemRecord.textValue) ?? toTextValue(itemRecord.label) : void 0;
|
|
323
|
-
const textValue = stateProps.getTextValue?.(item) ?? fallbackTextValue ?? String(item);
|
|
322
|
+
const fallbackTextValue = itemRecord != null ? toTextValue(itemRecord.textValue) ?? toTextValue(itemRecord.label) ?? toTextValue(itemRecord.name) ?? toTextValue(itemRecord.title) : void 0;
|
|
323
|
+
const textValue = stateProps.getTextValue?.(item) ?? fallbackTextValue ?? (itemRecord != null ? String(key) : String(item));
|
|
324
324
|
const selectedKeys = state.selectedKeys();
|
|
325
325
|
const isSelected = state.selectionMode() === "multiple" ? selectedKeys === "all" ? true : selectedKeys.has(key) : key === state.selectedKey();
|
|
326
326
|
return (() => {
|