@kurone-kito/web-toybox-solid 0.1.0-alpha.2 → 0.1.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,12 +1,33 @@
1
- # ⚙️ Web ToyBox
1
+ # ⚙️ Web ToyBox (Solid)
2
2
 
3
- Common functions and component library for Solid.js web applications
3
+ Common components for Solid.js web applications.
4
4
 
5
- ## Usage
5
+ ## Installation
6
6
 
7
- ```ts
8
- import hello from '@kurone-kito/web-toybox-solid';
9
- console.log(hello); // => 'Hello, world!'
7
+ ```bash
8
+ pnpm add @kurone-kito/web-toybox-solid @solidjs/meta solid-js
9
+ ```
10
+
11
+ ## Basic usage
12
+
13
+ Use the bundled `MetaProvider` to ensure the same `@solidjs/meta` instance
14
+ is shared with the head components.
15
+
16
+ ```tsx
17
+ import { MetaProvider, Head } from '@kurone-kito/web-toybox-solid';
18
+
19
+ export const App = () => (
20
+ <MetaProvider>
21
+ <Head
22
+ siteName="Example Site"
23
+ title="Sample Page"
24
+ description="This is a sample description."
25
+ images={["https://example.com/image.png"]}
26
+ author="John Doe"
27
+ />
28
+ {/* ...the rest of your app... */}
29
+ </MetaProvider>
30
+ );
10
31
  ```
11
32
 
12
33
  ## LICENSE
@@ -11,7 +11,9 @@ export interface MetaListProps {
11
11
  readonly description?: string | undefined;
12
12
  /** The keywords of the meta tag. */
13
13
  readonly keywords?: string | undefined;
14
+ readonly robots?: readonly Robots[] | undefined;
14
15
  }
16
+ export type Robots = 'all' | 'follow' | 'index' | 'indexifembedded' | `max-image-preview: ${'large' | 'none' | 'standard'}` | `max-snippet: ${number}` | `max-video-preview: ${number}` | 'noarchive' | 'nofollow' | 'noimageindex' | 'noindex' | 'none' | 'nosnippet' | 'notranslate' | `unavailable_after: ${string}`;
15
17
  /**
16
18
  * The meta list component.
17
19
  * @param props The component properties.
@@ -1 +1 @@
1
- {"version":3,"file":"MetaList.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/meta/MetaList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,0CAA0C;AAC1C,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAErC,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC,mDAAmD;IACnD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC,uCAAuC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C,oCAAoC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,CAAC,aAAa,CA2C7C,CAAC"}
1
+ {"version":3,"file":"MetaList.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/meta/MetaList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,0CAA0C;AAC1C,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAErC,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC,mDAAmD;IACnD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC,uCAAuC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C,oCAAoC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEvC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,MAAM,MAAM,GACd,KAAK,GACL,QAAQ,GACR,OAAO,GACP,iBAAiB,GACjB,sBAAsB,OAAO,GAAG,MAAM,GAAG,UAAU,EAAE,GACrD,gBAAgB,MAAM,EAAE,GACxB,sBAAsB,MAAM,EAAE,GAC9B,WAAW,GACX,UAAU,GACV,cAAc,GACd,SAAS,GACT,MAAM,GACN,WAAW,GACX,aAAa,GACb,sBAAsB,MAAM,EAAE,CAAC;AAEnC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,CAAC,aAAa,CA8C7C,CAAC"}
package/dist/index.d.mts CHANGED
@@ -1,6 +1,7 @@
1
+ export { MetaProvider } from '@solidjs/meta';
1
2
  export type { LinkListProps } from './components/atoms/meta/LinkList.js';
2
3
  export { LinkList } from './components/atoms/meta/LinkList.js';
3
- export type { MetaListProps } from './components/atoms/meta/MetaList.js';
4
+ export type { MetaListProps, Robots, } from './components/atoms/meta/MetaList.js';
4
5
  export { MetaList } from './components/atoms/meta/MetaList.js';
5
6
  export type { OgpProps } from './components/atoms/meta/Ogp.js';
6
7
  export { Ogp } from './components/atoms/meta/Ogp.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,YAAY,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,YAAY,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,YAAY,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,YAAY,EACV,aAAa,EACb,MAAM,GACP,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,YAAY,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,YAAY,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,YAAY,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC"}
package/dist/index.mjs CHANGED
@@ -1,5 +1,6 @@
1
- import { createComponent, memo, mergeProps } from "solid-js/web";
2
1
  import { Link, Meta, Title as Title$1 } from "@solidjs/meta";
2
+ import { MetaProvider } from "@solidjs/meta";
3
+ import { createComponent, memo, mergeProps } from "solid-js/web";
3
4
  import { Show, Switch, Match, Index, splitProps } from "solid-js";
4
5
  const LinkList = (props) => [createComponent(Show, {
5
6
  get when() {
@@ -161,6 +162,18 @@ const MetaList = (props) => [createComponent(Show, {
161
162
  }), createComponent(Meta, {
162
163
  name: "referer",
163
164
  content: "strict-origin-when-cross-origin"
165
+ }), createComponent(Show, {
166
+ get when() {
167
+ return props.robots?.length;
168
+ },
169
+ get children() {
170
+ return createComponent(Meta, {
171
+ name: "robots",
172
+ get content() {
173
+ return props.robots?.join(", ");
174
+ }
175
+ });
176
+ }
164
177
  }), createComponent(Show, {
165
178
  get when() {
166
179
  return props.colorLight;
@@ -432,6 +445,7 @@ export {
432
445
  Head,
433
446
  LinkList,
434
447
  MetaList,
448
+ MetaProvider,
435
449
  Ogp,
436
450
  Title,
437
451
  XCard
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/components/atoms/meta/LinkList.tsx","../src/components/atoms/meta/MetaList.tsx","../src/components/atoms/meta/Ogp.tsx","../src/components/atoms/meta/Title.tsx","../src/components/atoms/meta/XCard.tsx","../src/components/molecules/Head.tsx"],"sourcesContent":["import { Link } from '@solidjs/meta';\nimport type { Component } from 'solid-js';\nimport { Index, Match, Show, Switch } from 'solid-js';\n\n/** Type definition for the properties. */\nexport interface LinkListProps {\n /** The author URL. */\n readonly authorUrl?: string | undefined;\n\n /** The mime type of the favicon. */\n readonly faviconType?: string | undefined;\n\n /** The favicon URL. */\n readonly faviconUrl?: string | undefined;\n\n /** The license URL. */\n readonly licenseUrl?: string | undefined;\n\n /** The images to preload. */\n readonly preloadImages?: readonly string[] | undefined;\n\n /** The next page URL. */\n readonly next?: string | undefined;\n\n /** The previous page URL. */\n readonly prev?: string | undefined;\n}\n\n/**\n * The link list component.\n * @param props The component properties.\n * @returns The component.\n * @example\n * ```tsx\n * <LinkList\n * authorUrl=\"https://example.com/author\"\n * faviconType=\"image/png\"\n * faviconUrl=\"https://example.com/favicon.png\"\n * licenseUrl=\"https://example.com/license\"\n * next=\"https://example.com/next\"\n * preloadImages={['https://example.com/image1.png', 'https://example.com/image2.png']}\n * prev=\"https://example.com/prev\"\n * />\n * ```\n */\nexport const LinkList: Component<LinkListProps> = (props) => (\n <>\n <Show when={props.authorUrl}>\n {(href) => <Link href={href()} rel=\"author\" />}\n </Show>\n <Switch>\n <Match when={props.faviconType && props.faviconUrl}>\n <Link href={props.faviconUrl} rel=\"icon\" type={props.faviconType} />\n </Match>\n <Match when={!props.faviconType && props.faviconUrl}>\n <Link href={props.faviconUrl} rel=\"icon\" />\n </Match>\n </Switch>\n <Show when={props.licenseUrl}>\n {(href) => <Link href={href()} hreflang=\"en\" rel=\"license\" />}\n </Show>\n <Show when={props.next}>{(href) => <Link href={href()} rel=\"next\" />}</Show>\n <Index each={props.preloadImages}>\n {(image) => <Link as=\"image\" href={image()} rel=\"preload\" />}\n </Index>\n <Show when={props.prev}>{(href) => <Link href={href()} rel=\"prev\" />}</Show>\n </>\n);\n","import { Meta } from '@solidjs/meta';\nimport type { Component } from 'solid-js';\nimport { Match, Show, Switch } from 'solid-js';\n\n/** Type definition for the properties. */\nexport interface MetaListProps {\n /** The author of the meta tag. */\n readonly author?: string | undefined;\n\n /** The color of the meta tag on the dark mode. */\n readonly colorDark?: string | undefined;\n\n /** The color of the meta tag on the light mode. */\n readonly colorLight?: string | undefined;\n\n /** The description of the meta tag. */\n readonly description?: string | undefined;\n\n /** The keywords of the meta tag. */\n readonly keywords?: string | undefined;\n}\n\n/**\n * The meta list component.\n * @param props The component properties.\n * @returns The component.\n * @example\n * ```tsx\n * <MetaList\n * author=\"John Doe\"\n * colorDark=\"#000000\"\n * colorLight=\"#FFFFFF\"\n * description=\"This is a sample description.\"\n * keywords=\"sample, meta, tags\"\n * />\n * ```\n */\nexport const MetaList: Component<MetaListProps> = (props) => (\n <>\n <Show when={props.author}>\n <Meta name=\"author\" content={props.author} />\n </Show>\n <Switch>\n <Match when={props.colorDark && props.colorLight}>\n <Meta name=\"color-scheme\" content=\"light dark\" />\n </Match>\n <Match when={props.colorDark && !props.colorLight}>\n <Meta name=\"color-scheme\" content=\"dark\" />\n </Match>\n <Match when={!props.colorDark && props.colorLight}>\n <Meta name=\"color-scheme\" content=\"light\" />\n </Match>\n </Switch>\n <Show when={props.description}>\n <Meta name=\"description\" content={props.description} />\n </Show>\n <Meta name=\"generator\" content=\"SolidStart\" />\n <Show when={props.keywords}>\n <Meta name=\"keywords\" content={props.keywords} />\n </Show>\n <Meta name=\"referer\" content=\"strict-origin-when-cross-origin\" />\n <Show when={props.colorLight}>\n <Meta\n name=\"theme-color\"\n media=\"(prefers-color-scheme: light)\"\n content={props.colorLight}\n />\n </Show>\n <Show when={props.colorDark}>\n <Meta\n name=\"theme-color\"\n media=\"(prefers-color-scheme: dark)\"\n content={props.colorDark}\n />\n </Show>\n <Meta\n name=\"viewport\"\n content=\"width=device-width, initial-scale=1, viewport-fit=cover\"\n />\n </>\n);\n","import { Meta } from '@solidjs/meta';\nimport type { Component } from 'solid-js';\nimport { Index, Show } from 'solid-js';\n\n/** Type definition for the properties. */\nexport interface OgpProps {\n /** The description of the page. */\n readonly description?: string | undefined;\n\n /** The alt text of the images. */\n readonly imageAlt?: string | undefined;\n\n /** The height of the images. */\n readonly imageHeight?: number | string | undefined;\n\n /** The mime type of the images. */\n readonly imageType?: string | undefined;\n\n /** The width of the images. */\n readonly imageWidth?: number | string | undefined;\n\n /** The image URLs of the page. */\n readonly images?: readonly string[] | undefined;\n\n /** The language of the page. */\n readonly language?: string | undefined;\n\n /** The site name. */\n readonly siteName: string;\n\n /** The title of the page. */\n readonly title?: string | undefined;\n\n /** The URL of the page. */\n readonly url?: string | undefined;\n}\n\n/**\n * The OGP component.\n * @param props The component properties.\n * @returns The component.\n * @example\n * ```tsx\n * <Ogp\n * description=\"This is a sample page.\"\n * images={['https://example.com/image1.png', 'https://example.com/image2.png']}\n * imageAlt=\"Sample Image\"\n * imageHeight={630}\n * imageType=\"image/png\"\n * imageWidth={1200}\n * language=\"en_US\"\n * siteName=\"Example Site\"\n * title=\"Sample Page\"\n * url=\"https://example.com/sample-page\"\n * />\n * ```\n */\nexport const Ogp: Component<OgpProps> = (props) => (\n <>\n <Show when={props.description}>\n <Meta property=\"og:description\" content={props.description} />\n </Show>\n <Index each={props.images}>\n {(image) => <Meta property=\"og:image\" content={image()} />}\n </Index>\n <Show when={props.imageAlt}>\n <Meta property=\"og:image:alt\" content={props.imageAlt} />\n </Show>\n <Show when={props.imageHeight}>\n <Meta property=\"og:image:height\" content={`${props.imageHeight}`} />\n </Show>\n <Show when={props.imageType}>\n <Meta property=\"og:image:type\" content={props.imageType} />\n </Show>\n <Show when={props.imageWidth}>\n <Meta property=\"og:image:width\" content={`${props.imageWidth}`} />\n </Show>\n <Show when={props.language}>\n <Meta property=\"og:locale\" content={props.language} />\n </Show>\n <Show when={props.siteName}>\n <Meta property=\"og:site_name\" content={props.siteName} />\n </Show>\n <Show\n fallback={<Meta property=\"og:title\" content={props.siteName} />}\n when={props.title}\n >\n <Meta\n property=\"og:title\"\n content={`${props.title} | ${props.siteName}`}\n />\n </Show>\n <Meta property=\"og:type\" content=\"website\" />\n <Show when={props.url}>\n <Meta property=\"og:url\" content={props.url} />\n </Show>\n </>\n);\n","import { Title as SolidTitle } from '@solidjs/meta';\nimport type { Component } from 'solid-js';\nimport { Show } from 'solid-js';\n\n/** Type definition for the properties. */\nexport interface TitleProps {\n /** The site name. */\n readonly siteName: string;\n\n /** The title of the page. */\n readonly title?: string | undefined;\n}\n\n/**\n * The title component.\n * @param props The component properties.\n * @returns The component.\n * @example\n * ```tsx\n * <Title siteName=\"Example Site\" title=\"Sample Page\" />\n * ```\n */\nexport const Title: Component<TitleProps> = (props) => (\n <SolidTitle>\n <Show fallback={props.siteName} when={props.title}>\n {props.title} :: {props.siteName}\n </Show>\n </SolidTitle>\n);\n","import { Meta } from '@solidjs/meta';\nimport type { Component } from 'solid-js';\nimport { Show } from 'solid-js';\n\n/** Type definition for the properties. */\nexport interface XCardProps {\n /** The author of the meta tag. */\n readonly author?: string | undefined;\n\n /** The card description. */\n readonly description?: string | undefined;\n\n /** The card image URL. */\n readonly image?: string | undefined;\n\n /** The site name. */\n readonly siteName: string;\n\n /** The title of the page. */\n readonly title?: string | undefined;\n}\n\n/**\n * The 𝕏 card component.\n * @param props The component properties.\n * @returns The component.\n * @example\n * ```tsx\n * <XCard\n * author=\"Jane Doe\"\n * description=\"This is a sample description.\"\n * image=\"https://example.com/image.png\"\n * siteName=\"Example Site\"\n * title=\"Sample Page\"\n * />\n * ```\n */\nexport const XCard: Component<XCardProps> = (props) => (\n <>\n <Meta name=\"twitter:card\" content=\"summary_large_image\" />\n <Show when={props.author}>\n <Meta name=\"twitter:creator\" content={props.author} />\n </Show>\n <Show when={props.description}>\n <Meta name=\"twitter:description\" content={props.description} />\n </Show>\n <Show when={props.image}>\n <Meta name=\"twitter:image\" content={props.image} />\n </Show>\n <Show when={props.author}>\n <Meta name=\"twitter:author\" content={props.author} />\n </Show>\n <Show\n fallback={<Meta name=\"twitter:title\" content={props.siteName} />}\n when={props.title}\n >\n <Meta\n name=\"twitter:title\"\n content={`${props.title} | ${props.siteName}`}\n />\n </Show>\n </>\n);\n","import type { Component } from 'solid-js';\nimport { Show, splitProps } from 'solid-js';\nimport type { Except } from 'type-fest';\nimport type { LinkListProps } from '../atoms/meta/LinkList.js';\nimport { LinkList } from '../atoms/meta/LinkList.js';\nimport type { MetaListProps } from '../atoms/meta/MetaList.js';\nimport { MetaList } from '../atoms/meta/MetaList.js';\nimport type { OgpProps } from '../atoms/meta/Ogp.js';\nimport { Ogp } from '../atoms/meta/Ogp.js';\nimport type { TitleProps } from '../atoms/meta/Title.js';\nimport { Title } from '../atoms/meta/Title.js';\nimport type { XCardProps } from '../atoms/meta/XCard.js';\nimport { XCard } from '../atoms/meta/XCard.js';\n\n/** Type definition for the properties. */\nexport interface HeadProps\n extends LinkListProps,\n MetaListProps,\n OgpProps,\n TitleProps,\n Except<XCardProps, 'image'> {}\n\n/**\n * The head metadata component.\n * @param props The properties.\n * @returns The component.\n * @example\n * ```tsx\n * <Head\n * author=\"John Doe\"\n * colorDark=\"#000000\"\n * colorLight=\"#FFFFFF\"\n * description=\"This is a sample description.\"\n * images={['https://example.com/image.png']}\n * links={[\n * { rel: 'icon', href: '/favicon.ico' },\n * { rel: 'stylesheet', href: 'https://example.com/styles.css' },\n * ]}\n * keywords=\"sample, meta, tags\"\n * siteName=\"Example Site\"\n * title=\"Sample Page\"\n * type=\"website\"\n * url=\"https://example.com/page\"\n * />\n * ```\n */\nexport const Head: Component<HeadProps> = (props) => {\n const [local, rest] = splitProps(props, ['images']);\n return (\n <>\n <Title {...rest} />\n <MetaList {...rest} />\n <Ogp images={local.images} {...rest} />\n <Show fallback={<XCard {...rest} />} when={local.images?.[0]}>\n {(images) => <XCard image={images()} {...rest} />}\n </Show>\n <LinkList {...rest} />\n </>\n );\n};\n"],"names":["LinkList","props","_$createComponent","Show","when","authorUrl","children","href","Link","rel","Switch","Match","_$memo","faviconType","faviconUrl","type","licenseUrl","hreflang","next","Index","each","preloadImages","image","as","prev","MetaList","author","Meta","name","content","colorDark","colorLight","description","keywords","media","Ogp","property","images","imageAlt","imageHeight","imageType","imageWidth","language","siteName","fallback","title","url","Title","SolidTitle","XCard","Head","local","rest","splitProps","_$mergeProps"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/components/atoms/meta/LinkList.tsx","../src/components/atoms/meta/MetaList.tsx","../src/components/atoms/meta/Ogp.tsx","../src/components/atoms/meta/Title.tsx","../src/components/atoms/meta/XCard.tsx","../src/components/molecules/Head.tsx"],"sourcesContent":["import { Link } from '@solidjs/meta';\nimport type { Component } from 'solid-js';\nimport { Index, Match, Show, Switch } from 'solid-js';\n\n/** Type definition for the properties. */\nexport interface LinkListProps {\n /** The author URL. */\n readonly authorUrl?: string | undefined;\n\n /** The mime type of the favicon. */\n readonly faviconType?: string | undefined;\n\n /** The favicon URL. */\n readonly faviconUrl?: string | undefined;\n\n /** The license URL. */\n readonly licenseUrl?: string | undefined;\n\n /** The images to preload. */\n readonly preloadImages?: readonly string[] | undefined;\n\n /** The next page URL. */\n readonly next?: string | undefined;\n\n /** The previous page URL. */\n readonly prev?: string | undefined;\n}\n\n/**\n * The link list component.\n * @param props The component properties.\n * @returns The component.\n * @example\n * ```tsx\n * <LinkList\n * authorUrl=\"https://example.com/author\"\n * faviconType=\"image/png\"\n * faviconUrl=\"https://example.com/favicon.png\"\n * licenseUrl=\"https://example.com/license\"\n * next=\"https://example.com/next\"\n * preloadImages={['https://example.com/image1.png', 'https://example.com/image2.png']}\n * prev=\"https://example.com/prev\"\n * />\n * ```\n */\nexport const LinkList: Component<LinkListProps> = (props) => (\n <>\n <Show when={props.authorUrl}>\n {(href) => <Link href={href()} rel=\"author\" />}\n </Show>\n <Switch>\n <Match when={props.faviconType && props.faviconUrl}>\n <Link href={props.faviconUrl} rel=\"icon\" type={props.faviconType} />\n </Match>\n <Match when={!props.faviconType && props.faviconUrl}>\n <Link href={props.faviconUrl} rel=\"icon\" />\n </Match>\n </Switch>\n <Show when={props.licenseUrl}>\n {(href) => <Link href={href()} hreflang=\"en\" rel=\"license\" />}\n </Show>\n <Show when={props.next}>{(href) => <Link href={href()} rel=\"next\" />}</Show>\n <Index each={props.preloadImages}>\n {(image) => <Link as=\"image\" href={image()} rel=\"preload\" />}\n </Index>\n <Show when={props.prev}>{(href) => <Link href={href()} rel=\"prev\" />}</Show>\n </>\n);\n","import { Meta } from '@solidjs/meta';\nimport type { Component } from 'solid-js';\nimport { Match, Show, Switch } from 'solid-js';\n\n/** Type definition for the properties. */\nexport interface MetaListProps {\n /** The author of the meta tag. */\n readonly author?: string | undefined;\n\n /** The color of the meta tag on the dark mode. */\n readonly colorDark?: string | undefined;\n\n /** The color of the meta tag on the light mode. */\n readonly colorLight?: string | undefined;\n\n /** The description of the meta tag. */\n readonly description?: string | undefined;\n\n /** The keywords of the meta tag. */\n readonly keywords?: string | undefined;\n\n readonly robots?: readonly Robots[] | undefined;\n}\n\nexport type Robots =\n | 'all'\n | 'follow'\n | 'index'\n | 'indexifembedded'\n | `max-image-preview: ${'large' | 'none' | 'standard'}`\n | `max-snippet: ${number}`\n | `max-video-preview: ${number}`\n | 'noarchive'\n | 'nofollow'\n | 'noimageindex'\n | 'noindex'\n | 'none'\n | 'nosnippet'\n | 'notranslate'\n | `unavailable_after: ${string}`;\n\n/**\n * The meta list component.\n * @param props The component properties.\n * @returns The component.\n * @example\n * ```tsx\n * <MetaList\n * author=\"John Doe\"\n * colorDark=\"#000000\"\n * colorLight=\"#FFFFFF\"\n * description=\"This is a sample description.\"\n * keywords=\"sample, meta, tags\"\n * />\n * ```\n */\nexport const MetaList: Component<MetaListProps> = (props) => (\n <>\n <Show when={props.author}>\n <Meta name=\"author\" content={props.author} />\n </Show>\n <Switch>\n <Match when={props.colorDark && props.colorLight}>\n <Meta name=\"color-scheme\" content=\"light dark\" />\n </Match>\n <Match when={props.colorDark && !props.colorLight}>\n <Meta name=\"color-scheme\" content=\"dark\" />\n </Match>\n <Match when={!props.colorDark && props.colorLight}>\n <Meta name=\"color-scheme\" content=\"light\" />\n </Match>\n </Switch>\n <Show when={props.description}>\n <Meta name=\"description\" content={props.description} />\n </Show>\n <Meta name=\"generator\" content=\"SolidStart\" />\n <Show when={props.keywords}>\n <Meta name=\"keywords\" content={props.keywords} />\n </Show>\n <Meta name=\"referer\" content=\"strict-origin-when-cross-origin\" />\n <Show when={props.robots?.length}>\n <Meta name=\"robots\" content={props.robots?.join(', ')} />\n </Show>\n <Show when={props.colorLight}>\n <Meta\n name=\"theme-color\"\n media=\"(prefers-color-scheme: light)\"\n content={props.colorLight}\n />\n </Show>\n <Show when={props.colorDark}>\n <Meta\n name=\"theme-color\"\n media=\"(prefers-color-scheme: dark)\"\n content={props.colorDark}\n />\n </Show>\n <Meta\n name=\"viewport\"\n content=\"width=device-width, initial-scale=1, viewport-fit=cover\"\n />\n </>\n);\n","import { Meta } from '@solidjs/meta';\nimport type { Component } from 'solid-js';\nimport { Index, Show } from 'solid-js';\n\n/** Type definition for the properties. */\nexport interface OgpProps {\n /** The description of the page. */\n readonly description?: string | undefined;\n\n /** The alt text of the images. */\n readonly imageAlt?: string | undefined;\n\n /** The height of the images. */\n readonly imageHeight?: number | string | undefined;\n\n /** The mime type of the images. */\n readonly imageType?: string | undefined;\n\n /** The width of the images. */\n readonly imageWidth?: number | string | undefined;\n\n /** The image URLs of the page. */\n readonly images?: readonly string[] | undefined;\n\n /** The language of the page. */\n readonly language?: string | undefined;\n\n /** The site name. */\n readonly siteName: string;\n\n /** The title of the page. */\n readonly title?: string | undefined;\n\n /** The URL of the page. */\n readonly url?: string | undefined;\n}\n\n/**\n * The OGP component.\n * @param props The component properties.\n * @returns The component.\n * @example\n * ```tsx\n * <Ogp\n * description=\"This is a sample page.\"\n * images={['https://example.com/image1.png', 'https://example.com/image2.png']}\n * imageAlt=\"Sample Image\"\n * imageHeight={630}\n * imageType=\"image/png\"\n * imageWidth={1200}\n * language=\"en_US\"\n * siteName=\"Example Site\"\n * title=\"Sample Page\"\n * url=\"https://example.com/sample-page\"\n * />\n * ```\n */\nexport const Ogp: Component<OgpProps> = (props) => (\n <>\n <Show when={props.description}>\n <Meta property=\"og:description\" content={props.description} />\n </Show>\n <Index each={props.images}>\n {(image) => <Meta property=\"og:image\" content={image()} />}\n </Index>\n <Show when={props.imageAlt}>\n <Meta property=\"og:image:alt\" content={props.imageAlt} />\n </Show>\n <Show when={props.imageHeight}>\n <Meta property=\"og:image:height\" content={`${props.imageHeight}`} />\n </Show>\n <Show when={props.imageType}>\n <Meta property=\"og:image:type\" content={props.imageType} />\n </Show>\n <Show when={props.imageWidth}>\n <Meta property=\"og:image:width\" content={`${props.imageWidth}`} />\n </Show>\n <Show when={props.language}>\n <Meta property=\"og:locale\" content={props.language} />\n </Show>\n <Show when={props.siteName}>\n <Meta property=\"og:site_name\" content={props.siteName} />\n </Show>\n <Show\n fallback={<Meta property=\"og:title\" content={props.siteName} />}\n when={props.title}\n >\n <Meta\n property=\"og:title\"\n content={`${props.title} | ${props.siteName}`}\n />\n </Show>\n <Meta property=\"og:type\" content=\"website\" />\n <Show when={props.url}>\n <Meta property=\"og:url\" content={props.url} />\n </Show>\n </>\n);\n","import { Title as SolidTitle } from '@solidjs/meta';\nimport type { Component } from 'solid-js';\nimport { Show } from 'solid-js';\n\n/** Type definition for the properties. */\nexport interface TitleProps {\n /** The site name. */\n readonly siteName: string;\n\n /** The title of the page. */\n readonly title?: string | undefined;\n}\n\n/**\n * The title component.\n * @param props The component properties.\n * @returns The component.\n * @example\n * ```tsx\n * <Title siteName=\"Example Site\" title=\"Sample Page\" />\n * ```\n */\nexport const Title: Component<TitleProps> = (props) => (\n <SolidTitle>\n <Show fallback={props.siteName} when={props.title}>\n {props.title} :: {props.siteName}\n </Show>\n </SolidTitle>\n);\n","import { Meta } from '@solidjs/meta';\nimport type { Component } from 'solid-js';\nimport { Show } from 'solid-js';\n\n/** Type definition for the properties. */\nexport interface XCardProps {\n /** The author of the meta tag. */\n readonly author?: string | undefined;\n\n /** The card description. */\n readonly description?: string | undefined;\n\n /** The card image URL. */\n readonly image?: string | undefined;\n\n /** The site name. */\n readonly siteName: string;\n\n /** The title of the page. */\n readonly title?: string | undefined;\n}\n\n/**\n * The 𝕏 card component.\n * @param props The component properties.\n * @returns The component.\n * @example\n * ```tsx\n * <XCard\n * author=\"Jane Doe\"\n * description=\"This is a sample description.\"\n * image=\"https://example.com/image.png\"\n * siteName=\"Example Site\"\n * title=\"Sample Page\"\n * />\n * ```\n */\nexport const XCard: Component<XCardProps> = (props) => (\n <>\n <Meta name=\"twitter:card\" content=\"summary_large_image\" />\n <Show when={props.author}>\n <Meta name=\"twitter:creator\" content={props.author} />\n </Show>\n <Show when={props.description}>\n <Meta name=\"twitter:description\" content={props.description} />\n </Show>\n <Show when={props.image}>\n <Meta name=\"twitter:image\" content={props.image} />\n </Show>\n <Show when={props.author}>\n <Meta name=\"twitter:author\" content={props.author} />\n </Show>\n <Show\n fallback={<Meta name=\"twitter:title\" content={props.siteName} />}\n when={props.title}\n >\n <Meta\n name=\"twitter:title\"\n content={`${props.title} | ${props.siteName}`}\n />\n </Show>\n </>\n);\n","import type { Component } from 'solid-js';\nimport { Show, splitProps } from 'solid-js';\nimport type { Except } from 'type-fest';\nimport type { LinkListProps } from '../atoms/meta/LinkList.js';\nimport { LinkList } from '../atoms/meta/LinkList.js';\nimport type { MetaListProps } from '../atoms/meta/MetaList.js';\nimport { MetaList } from '../atoms/meta/MetaList.js';\nimport type { OgpProps } from '../atoms/meta/Ogp.js';\nimport { Ogp } from '../atoms/meta/Ogp.js';\nimport type { TitleProps } from '../atoms/meta/Title.js';\nimport { Title } from '../atoms/meta/Title.js';\nimport type { XCardProps } from '../atoms/meta/XCard.js';\nimport { XCard } from '../atoms/meta/XCard.js';\n\n/** Type definition for the properties. */\nexport interface HeadProps\n extends LinkListProps,\n MetaListProps,\n OgpProps,\n TitleProps,\n Except<XCardProps, 'image'> {}\n\n/**\n * The head metadata component.\n * @param props The properties.\n * @returns The component.\n * @example\n * ```tsx\n * <Head\n * author=\"John Doe\"\n * colorDark=\"#000000\"\n * colorLight=\"#FFFFFF\"\n * description=\"This is a sample description.\"\n * images={['https://example.com/image.png']}\n * links={[\n * { rel: 'icon', href: '/favicon.ico' },\n * { rel: 'stylesheet', href: 'https://example.com/styles.css' },\n * ]}\n * keywords=\"sample, meta, tags\"\n * siteName=\"Example Site\"\n * title=\"Sample Page\"\n * type=\"website\"\n * url=\"https://example.com/page\"\n * />\n * ```\n */\nexport const Head: Component<HeadProps> = (props) => {\n const [local, rest] = splitProps(props, ['images']);\n return (\n <>\n <Title {...rest} />\n <MetaList {...rest} />\n <Ogp images={local.images} {...rest} />\n <Show fallback={<XCard {...rest} />} when={local.images?.[0]}>\n {(images) => <XCard image={images()} {...rest} />}\n </Show>\n <LinkList {...rest} />\n </>\n );\n};\n"],"names":["LinkList","props","_$createComponent","Show","when","authorUrl","children","href","Link","rel","Switch","Match","_$memo","faviconType","faviconUrl","type","licenseUrl","hreflang","next","Index","each","preloadImages","image","as","prev","MetaList","author","Meta","name","content","colorDark","colorLight","description","keywords","robots","length","join","media","Ogp","property","images","imageAlt","imageHeight","imageType","imageWidth","language","siteName","fallback","title","url","Title","SolidTitle","XCard","Head","local","rest","splitProps","_$mergeProps"],"mappings":"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"}
package/docs/README.md CHANGED
@@ -2,15 +2,36 @@
2
2
 
3
3
  ***
4
4
 
5
- # ⚙️ Web ToyBox
5
+ # ⚙️ Web ToyBox (Solid)
6
6
 
7
- Common functions and component library for Solid.js web applications
7
+ Common components for Solid.js web applications.
8
8
 
9
- ## Usage
9
+ ## Installation
10
10
 
11
- ```ts
12
- import hello from '@kurone-kito/web-toybox-solid';
13
- console.log(hello); // => 'Hello, world!'
11
+ ```bash
12
+ pnpm add @kurone-kito/web-toybox-solid @solidjs/meta solid-js
13
+ ```
14
+
15
+ ## Basic usage
16
+
17
+ Use the bundled `MetaProvider` to ensure the same `@solidjs/meta` instance
18
+ is shared with the head components.
19
+
20
+ ```tsx
21
+ import { MetaProvider, Head } from '@kurone-kito/web-toybox-solid';
22
+
23
+ export const App = () => (
24
+ <MetaProvider>
25
+ <Head
26
+ siteName="Example Site"
27
+ title="Sample Page"
28
+ description="This is a sample description."
29
+ images={["https://example.com/image.png"]}
30
+ author="John Doe"
31
+ />
32
+ {/* ...the rest of your app... */}
33
+ </MetaProvider>
34
+ );
14
35
  ```
15
36
 
16
37
  ## LICENSE
package/docs/globals.md CHANGED
@@ -13,11 +13,16 @@
13
13
  - [TitleProps](interfaces/TitleProps.md)
14
14
  - [XCardProps](interfaces/XCardProps.md)
15
15
 
16
+ ## Type Aliases
17
+
18
+ - [Robots](type-aliases/Robots.md)
19
+
16
20
  ## Variables
17
21
 
18
22
  - [Head](variables/Head.md)
19
23
  - [LinkList](variables/LinkList.md)
20
24
  - [MetaList](variables/MetaList.md)
25
+ - [MetaProvider](variables/MetaProvider.md)
21
26
  - [Ogp](variables/Ogp.md)
22
27
  - [Title](variables/Title.md)
23
28
  - [XCard](variables/XCard.md)
@@ -230,6 +230,16 @@ The previous page URL.
230
230
 
231
231
  ***
232
232
 
233
+ ### robots?
234
+
235
+ > `readonly` `optional` **robots**: readonly [`Robots`](../type-aliases/Robots.md)[]
236
+
237
+ #### Inherited from
238
+
239
+ [`MetaListProps`](MetaListProps.md).[`robots`](MetaListProps.md#robots)
240
+
241
+ ***
242
+
233
243
  ### siteName
234
244
 
235
245
  > `readonly` **siteName**: `string`
@@ -51,3 +51,9 @@ The description of the meta tag.
51
51
  > `readonly` `optional` **keywords**: `string`
52
52
 
53
53
  The keywords of the meta tag.
54
+
55
+ ***
56
+
57
+ ### robots?
58
+
59
+ > `readonly` `optional` **robots**: readonly [`Robots`](../type-aliases/Robots.md)[]
@@ -0,0 +1,9 @@
1
+ [**@kurone-kito/web-toybox-solid**](../README.md)
2
+
3
+ ***
4
+
5
+ [@kurone-kito/web-toybox-solid](../globals.md) / Robots
6
+
7
+ # Type Alias: Robots
8
+
9
+ > **Robots** = `"all"` \| `"follow"` \| `"index"` \| `"indexifembedded"` \| \`max-image-preview: $\{"large" \| "none" \| "standard"\}\` \| `` `max-snippet: ${number}` `` \| `` `max-video-preview: ${number}` `` \| `"noarchive"` \| `"nofollow"` \| `"noimageindex"` \| `"noindex"` \| `"none"` \| `"nosnippet"` \| `"notranslate"` \| `` `unavailable_after: ${string}` ``
@@ -0,0 +1,9 @@
1
+ [**@kurone-kito/web-toybox-solid**](../README.md)
2
+
3
+ ***
4
+
5
+ [@kurone-kito/web-toybox-solid](../globals.md) / MetaProvider
6
+
7
+ # Variable: MetaProvider
8
+
9
+ > `const` **MetaProvider**: `ParentComponent`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kurone-kito/web-toybox-solid",
3
- "version": "0.1.0-alpha.2",
3
+ "version": "0.1.0-alpha.4",
4
4
  "description": "Common functions and component library for Solid.js web applications",
5
5
  "keywords": [
6
6
  "components",
@@ -26,25 +26,25 @@
26
26
  ],
27
27
  "dependencies": {
28
28
  "type-fest": "^5.0.1",
29
- "@kurone-kito/web-toybox": "^0.1.0-alpha.2"
29
+ "@kurone-kito/web-toybox": "^0.1.0-alpha.4"
30
30
  },
31
31
  "devDependencies": {
32
- "@kurone-kito/typescript-config": "^0.21.0",
33
- "@kurone-kito/vite-lib-config": "^0.21.0",
32
+ "@kurone-kito/typescript-config": "^0.22.0-alpha.4",
33
+ "@kurone-kito/vite-lib-config": "^0.22.0-alpha.4",
34
34
  "@solidjs/meta": "^0.29.4",
35
35
  "@solidjs/testing-library": "^0.8.10",
36
36
  "@testing-library/jest-dom": "^6.9.1",
37
- "@vitest/coverage-v8": "^3.2.4",
37
+ "@vitest/coverage-v8": "^4.0.15",
38
38
  "cpy-cli": "^6.0.0",
39
- "jsdom": "^27.0.0",
40
- "rimraf": "^6.0.1",
41
- "solid-js": "^1.9.9",
42
- "typedoc": "^0.28.13",
39
+ "jsdom": "^27.3.0",
40
+ "rimraf": "^6.1.2",
41
+ "solid-js": "^1.9.10",
42
+ "typedoc": "^0.28.15",
43
43
  "typedoc-plugin-markdown": "^4.9.0",
44
44
  "typescript": "~5.9.3",
45
- "vite": "^7.1.9",
46
- "vite-plugin-solid": "^2.11.9",
47
- "vitest": "^3.2.4"
45
+ "vite": "^7.2.7",
46
+ "vite-plugin-solid": "^2.11.10",
47
+ "vitest": "^4.0.15"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "@solidjs/meta": ">=0.29.x",