@searchcraft/react-sdk 0.1.2 → 0.1.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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/@searchcraft/core/dist/index.js","../src/components/providers/SearchcraftContext.tsx","../src/components/providers/SearchcraftProvider.tsx","../../../node_modules/classnames/index.js","../src/components/ui/components/Spinner/index.tsx","../src/components/ui/components/Button/index.tsx","../src/components/ui/components/ErrorMessage/index.tsx","../src/components/ui/assets/ClearInputIcon.jsx","../src/components/ui/components/ClearInputButton/index.tsx","../src/components/ui/components/InputCaption/index.tsx","../src/components/ui/assets/SearchIcons.jsx","../src/components/ui/components/InputIcon/index.tsx","../src/components/ui/components/Input/index.tsx","../src/components/ui/components/InputLabel/index.tsx","../src/components/ui/BaseSearchForm/index.tsx","../src/components/ui/AutoSearchForm/index.tsx","../src/components/ui/assets/ButtonIcons.jsx","../src/components/ui/BaseSearchResult/index.tsx","../src/components/ui/BaseSearchResults/index.tsx"],"sourcesContent":["var c = Object.defineProperty;\nvar a = (o, e, t) => e in o ? c(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;\nvar n = (o, e, t) => a(o, typeof e != \"symbol\" ? e + \"\" : e, t);\nclass h {\n constructor(e) {\n n(this, \"config\");\n /**\n * @param {string} query - User provided value Searchcraft will use to search against\n * @param {string} mode - Can be either 'fuzzy' or 'normal'\n * @returns {SearchResult} - Returns a `SearchResponse` object with the results from the search or throws an error\n */\n n(this, \"search\", async (e) => {\n try {\n const t = this.config.index.join(\",\"), i = `${this.config.endpointURL}/search`, r = {\n query: e.query,\n mode: e.mode,\n app: t\n }, s = {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Access-Control-Allow-Origin\": \"*\",\n Authorization: this.config.apiKey ? `${this.config.apiKey}` : \"\"\n },\n body: JSON.stringify(r)\n };\n return await (await fetch(i, s)).json();\n } catch (t) {\n return t;\n }\n });\n if (!e.endpointURL || !e.index)\n throw new Error(\"Endpoint URL and Index value(s) must be provided\");\n this.config = e;\n }\n}\nexport {\n h as CoreSDK\n};\n//# sourceMappingURL=index.js.map\n","import React from 'react';\n\nimport type { SearchcraftProviderContext } from './SearchcraftProviderContext';\n\nconst defaultContext: SearchcraftProviderContext = {\n error: null,\n index: [''],\n isRequesting: false,\n mode: 'fuzzy',\n query: '',\n setQuery: (query) => query,\n search: async () => null,\n};\n\nexport const SearchcraftContext =\n React.createContext<SearchcraftProviderContext>(defaultContext);\n","import { type PropsWithChildren, useContext, useState } from 'react';\nimport type {\n SearchcraftInstance,\n SearchError,\n SearchResult,\n} from '@searchcraft/core';\nimport { CoreSDK as Searchcraft } from '@searchcraft/core';\n\nimport { SearchcraftContext } from './SearchcraftContext';\nimport type { SearchcraftProviderContext } from './SearchcraftProviderContext';\n\nconst SearchcraftProvider = ({\n children,\n searchcraft,\n}: PropsWithChildren & SearchcraftInstance) => {\n const [query, setQuery] = useState<string>('');\n const [isRequesting, setIsRequesting] = useState<boolean>(false);\n const [searchResults, setSearchResults] = useState<\n SearchResult | SearchError | null\n >(null);\n\n const search = async () => {\n setIsRequesting(true);\n const results = await searchcraft.search({ query, mode: 'fuzzy' });\n setSearchResults(results);\n setIsRequesting(false);\n };\n\n const providerContext: SearchcraftProviderContext = {\n error: null,\n index: searchcraft.config.index,\n isRequesting,\n mode: 'fuzzy',\n query,\n search,\n searchResults,\n setQuery,\n };\n\n return (\n <SearchcraftContext.Provider value={providerContext}>\n {children}\n </SearchcraftContext.Provider>\n );\n};\n\nconst useSearchcraft = () =>\n useContext<SearchcraftProviderContext>(SearchcraftContext);\n\nexport { SearchcraftProvider, useSearchcraft, Searchcraft };\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import styles from '@styles/sc-spinner.module.scss';\n\nexport const SpinnerLight = () => (\n <div className={styles.spinnerContainer}>\n <div className={styles.spinnerLight} />\n </div>\n);\n\nexport const SpinnerDark = () => (\n <div className={styles.spinnerContainer}>\n <div className={styles.spinnerDark} />\n </div>\n);\n","import type { FC, ReactNode } from 'react';\nimport classNames from 'classnames';\n\nimport { useSearchcraft } from '@/components/providers/SearchcraftProvider';\nimport styles from '@styles/sc-button.module.scss';\n\nimport { SpinnerDark } from '../Spinner';\n\nexport type ButtonProps = {\n className?: string;\n iconElement?: ReactNode;\n iconOnly?: boolean;\n iconPosition?: string;\n label?: string;\n onClick?: () => void;\n};\n\nconst Button: FC<ButtonProps> = ({\n className,\n iconElement,\n iconOnly = false,\n iconPosition = 'left',\n label = 'Search',\n onClick,\n}) => {\n const { isRequesting } = useSearchcraft();\n return (\n <>\n {iconOnly && (\n <button\n className={classNames(\n styles.button,\n className,\n '.searchcraft-button',\n )}\n onClick={onClick}\n type='submit'\n >\n {isRequesting ? <SpinnerDark /> : iconElement}\n </button>\n )}\n {!iconOnly && (\n <button\n className={classNames(\n styles.button,\n className,\n '.searchcraft-button',\n )}\n onClick={onClick}\n type='submit'\n >\n {iconPosition === 'left' && isRequesting ? (\n <div className={styles.spinnerMarginRight}>\n <SpinnerDark />\n </div>\n ) : (\n iconElement\n )}\n <span\n className={classNames(\n isRequesting && styles.buttonLabel,\n className,\n '.searchcraft-button-label',\n )}\n >\n {label}\n </span>\n {iconPosition === 'right' && isRequesting ? (\n <div className={styles.spinnerMarginLeft}>\n <SpinnerDark />\n </div>\n ) : (\n iconElement\n )}\n </button>\n )}\n </>\n );\n};\n\nexport default Button;\n","import type { FC } from 'react';\nimport classNames from 'classnames';\n\nimport styles from '@styles/sc-input-error-message.module.scss';\n\nexport type ErrorMessageProps = {\n className?: string;\n errorMessage?: string;\n};\n\nconst ErrorMessage: FC<ErrorMessageProps> = ({ className, errorMessage }) => {\n return (\n <p className={classNames(styles.errorMessage, className)}>\n {errorMessage || 'Search term is required.'}\n </p>\n );\n};\n\nexport default ErrorMessage;\n","export const ClearInputIcon = () => (\n <svg width='22' height='22' viewBox='0 0 22 22' fill='none'>\n <title>Searchcraft Clear Input Icon</title>\n <path\n d='M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z'\n stroke='black'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n\nexport const ArrowRightIcon = () => (\n <svg width='20' height='21' viewBox='0 0 20 21' fill='none'>\n <title>Searchcraft Arrow Right Icon</title>\n <path\n d='M7.5 15.0444L12.5 10.0444L7.5 5.04443'\n stroke='#737373'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n","import type { FC } from 'react';\nimport classNames from 'classnames';\n\nimport { useSearchcraft } from '@/components/providers/SearchcraftProvider';\nimport styles from '@styles/sc-clear-input-button.module.scss';\n\nimport { ClearInputIcon } from '../../assets/ClearInputIcon';\nimport { SpinnerLight } from '../Spinner';\n\nexport type ClearInputButtonProps = {\n onClearInput?: () => void;\n rightToLeftOrientation?: boolean;\n};\n\nexport const ClearInputButton: FC<ClearInputButtonProps> = ({\n onClearInput,\n rightToLeftOrientation = false,\n}) => {\n const { isRequesting } = useSearchcraft();\n return rightToLeftOrientation ? (\n <button\n className={classNames(\n styles.inputClearButtonRTL,\n '.sc-clear-input-button-rtl',\n )}\n onClick={onClearInput}\n type='button'\n >\n {isRequesting ? <SpinnerLight /> : <ClearInputIcon />}\n </button>\n ) : (\n <button\n className={classNames(\n styles.inputClearButtonLTR,\n '.sc-clear-input-button-ltr',\n )}\n onClick={onClearInput}\n type='button'\n >\n {isRequesting ? <SpinnerLight /> : <ClearInputIcon />}\n </button>\n );\n};\n","import type { FC } from 'react';\nimport classNames from 'classnames';\n\nimport styles from '@styles/sc-input-caption.module.scss';\n\nexport type InputCaptionProps = {\n error?: boolean;\n inputCaptionClassName?: string;\n inputCaptionValue: string;\n rightToLeftOrientation?: boolean;\n};\n\nexport const InputCaption: FC<InputCaptionProps> = ({\n error = false,\n inputCaptionClassName,\n inputCaptionValue = 'Enter Search',\n rightToLeftOrientation = false,\n}) => {\n return rightToLeftOrientation ? (\n <p\n className={classNames(\n error ? styles.inputCaptionErrorRTL : styles.inputCaptionRTL,\n inputCaptionClassName,\n )}\n >\n {inputCaptionValue}\n </p>\n ) : (\n <p\n className={classNames(\n error ? styles.inputCaptionErrorLTR : styles.inputCaptionLTR,\n inputCaptionClassName,\n )}\n >\n {inputCaptionValue}\n </p>\n );\n};\n","export const SearchIcon = () => (\n <svg width='20' height='20' viewBox='0 0 20 20' fill='none'>\n <title>Searchcraft Search Icon</title>\n <path\n d='M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z'\n stroke='#404040'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n\nexport const SearchIconError = () => (\n <svg width='20' height='20' viewBox='0 0 20 20' fill='none'>\n <title>Searchcraft Error Search Icon</title>\n <path\n d='M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z'\n stroke='#737373'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n","import type { FC } from 'react';\n\nimport styles from '@styles/sc-input-icon.module.scss';\nimport { SearchIcon, SearchIconError } from '../../assets/SearchIcons';\n\nexport type InputIconProps = {\n error?: boolean;\n rightToLeftOrientation?: boolean;\n};\n\nexport const InputIcon: FC<InputIconProps> = ({\n error = false,\n rightToLeftOrientation = false,\n}) => {\n return error ? (\n <div\n className={\n rightToLeftOrientation ? styles.inputIconRTL : styles.inputIconLTR\n }\n >\n <SearchIconError />\n </div>\n ) : (\n <div\n className={\n rightToLeftOrientation ? styles.inputIconRTL : styles.inputIconLTR\n }\n >\n <SearchIcon />\n </div>\n );\n};\n","import type { ChangeEventHandler, FC } from 'react';\nimport classNames from 'classnames';\n\nimport styles from '@styles/sc-input.module.scss';\n\nimport { ClearInputButton } from '../ClearInputButton';\nimport { InputCaption } from '../InputCaption';\nimport { InputIcon } from '../InputIcon';\n\nexport type InputProps = {\n error?: boolean;\n formClassName?: string;\n inputCaptionClassName?: string;\n inputCaptionValue?: string;\n inputClassName?: string;\n onClearInput?: () => void;\n onSearchInputChange: ChangeEventHandler<HTMLInputElement>;\n placeholderValue?: string;\n rightToLeftOrientation?: boolean;\n query: string;\n};\n\nconst Input: FC<InputProps> = ({\n error = false,\n formClassName = '',\n inputCaptionClassName = '',\n inputClassName = '',\n inputCaptionValue = '',\n onClearInput,\n onSearchInputChange,\n placeholderValue = 'Enter Search',\n rightToLeftOrientation = false,\n query = '',\n}) => {\n const containerClassName = rightToLeftOrientation\n ? styles.inputContainerRTL\n : styles.inputContainerLTR;\n return (\n <div\n className={classNames(\n containerClassName,\n formClassName,\n 'searchcraft-input-form',\n )}\n >\n {rightToLeftOrientation ? (\n <>\n <input\n className={classNames(\n error ? styles.inputErrorRTL : styles.inputRTL,\n inputClassName,\n 'searchcraft-input',\n )}\n id='searchcraft-input-id'\n onChange={onSearchInputChange}\n placeholder={placeholderValue}\n type='text'\n value={query}\n />\n {inputCaptionValue && (\n <InputCaption\n inputCaptionClassName={inputCaptionClassName}\n inputCaptionValue={inputCaptionValue}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n )}\n {query.length > 0 && (\n <ClearInputButton\n onClearInput={onClearInput}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n )}\n <InputIcon\n error={error}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n </>\n ) : (\n <>\n <input\n className={classNames(\n error ? styles.inputErrorLTR : styles.inputLTR,\n inputClassName,\n 'searchcraft-input',\n )}\n id='searchcraft-input-id'\n onChange={onSearchInputChange}\n placeholder={placeholderValue}\n type='text'\n value={query}\n />\n {inputCaptionValue && (\n <InputCaption\n inputCaptionClassName={inputCaptionClassName}\n inputCaptionValue={inputCaptionValue}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n )}\n {query.length > 0 && (\n <ClearInputButton\n onClearInput={onClearInput}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n )}\n <InputIcon error={error} />\n </>\n )}\n </div>\n );\n};\n\nexport default Input;\n","import type { FC } from 'react';\nimport classNames from 'classnames';\n\nimport styles from '@styles/sc-input-label.module.scss';\n\nexport type InputLabelProps = {\n className?: string;\n label: string;\n};\n\nconst InputLabel: FC<InputLabelProps> = ({\n className,\n label = 'Enter Search',\n}) => {\n return (\n <label\n className={classNames(styles.label, className)}\n htmlFor='searchcraft-input-id'\n >\n {label}\n </label>\n );\n};\n\nexport default InputLabel;\n","import { useState, type FC } from 'react';\n\nimport { useSearchcraft } from '@components/providers/SearchcraftProvider';\nimport styles from '@styles/sc-search-form.module.scss';\n\nimport Button from '../components/Button';\nimport ErrorMessage from '../components/ErrorMessage';\nimport Input from '../components/Input';\nimport InputLabel from '../components/InputLabel';\n\nexport interface BaseSearchFormProps {\n errorMessage?: string;\n handleSubmit: (query: string) => void;\n labelForInput?: string;\n placeholderValue?: string;\n rightToLeftOrientation?: boolean;\n}\n\n/**\n * * Form used to submit the search query using a provided search function.\n */\nconst BaseSearchForm: FC<BaseSearchFormProps> = ({\n errorMessage,\n handleSubmit,\n labelForInput = 'Search',\n placeholderValue = 'Enter Search Term',\n rightToLeftOrientation = false,\n}) => {\n const { query, setQuery } = useSearchcraft();\n const [error, setError] = useState<boolean>(false);\n\n const handleFormSubmit = (e: { preventDefault: () => void }) => {\n e.preventDefault();\n if (query.trim() === '') {\n setError(true);\n } else {\n setError(false);\n handleSubmit(query);\n }\n };\n\n const handleSearchInputChange = (event: { target: { value: string } }) =>\n setQuery(event.target.value);\n\n const handleClearInput = () => setQuery('');\n\n return (\n <form\n className={rightToLeftOrientation ? styles.formRTL : styles.formLTR}\n onSubmit={handleFormSubmit}\n >\n <InputLabel label={labelForInput} />\n <div className={styles.searchContainer}>\n {rightToLeftOrientation && <Button />}\n <Input\n error={error}\n onClearInput={handleClearInput}\n onSearchInputChange={handleSearchInputChange}\n placeholderValue={placeholderValue}\n query={query}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n {!rightToLeftOrientation && <Button />}\n </div>\n {error && <ErrorMessage errorMessage={errorMessage} />}\n </form>\n );\n};\n\nexport default BaseSearchForm;\n","import { useState, type FC, useEffect, type ChangeEventHandler } from 'react';\n\nimport { useSearchcraft } from '@components/providers/SearchcraftProvider';\nimport styles from '@styles/sc-search-form.module.scss';\n\nimport Input from '../components/Input';\nimport InputLabel from '../components/InputLabel';\nimport classNames from 'classnames';\n\nexport interface AutoSearchFormProps {\n autoSearchFormClass?: string;\n handleSubmit: (query: string) => void;\n inputCaptionValue?: string;\n labelForInput?: string;\n onClearedInput?: () => void;\n placeholderValue?: string;\n rightToLeftOrientation?: boolean;\n searchContainerClass?: string;\n}\n\n/**\n * * Button-less form used to submit the search query with a timing configurable debounced function.\n */\nconst AutoSearchForm: FC<AutoSearchFormProps> = ({\n autoSearchFormClass = '',\n handleSubmit,\n inputCaptionValue = '',\n labelForInput = 'Search',\n onClearedInput = () => {},\n placeholderValue = 'Search here',\n rightToLeftOrientation = false,\n searchContainerClass = '',\n}) => {\n const { query, setQuery } = useSearchcraft();\n const [canSearch, setCanSearch] = useState<boolean>(false);\n\n const handleSearchInputChange: ChangeEventHandler<HTMLInputElement> = (\n event,\n ) => {\n event.preventDefault();\n setQuery(event.currentTarget.value);\n if (query !== event.currentTarget.value) {\n setCanSearch(true);\n }\n };\n\n /**\n * * Exposes a callback for convenience when the input's value is cleared by the user\n */\n const handleClearInput = () => {\n setQuery('');\n onClearedInput();\n };\n\n /**\n * * Delay the submit function until the user is done typing to throttle API usage.\n */\n useEffect(() => {\n if (canSearch) {\n handleSubmit(query);\n setCanSearch(false);\n } else {\n return;\n }\n }, [canSearch, handleSubmit, query]);\n const autoSearchFormClassname = rightToLeftOrientation\n ? styles.formRTL\n : styles.formLTR;\n return (\n <form\n className={classNames(\n autoSearchFormClassname,\n autoSearchFormClass,\n 'searchcraft-auto-search-form',\n )}\n onSubmit={(event) => {\n event.preventDefault();\n }}\n >\n <InputLabel label={labelForInput} />\n <div\n className={classNames(\n styles.searchContainer,\n searchContainerClass,\n 'searchcraft-input-container',\n )}\n >\n <Input\n inputCaptionValue={inputCaptionValue}\n onClearInput={handleClearInput}\n onSearchInputChange={handleSearchInputChange}\n placeholderValue={placeholderValue}\n query={query}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n </div>\n </form>\n );\n};\n\nexport default AutoSearchForm;\n","export const ButtonIcon = () => (\n <svg width='20' height='20' viewBox='0 0 20 20' fill='none'>\n <title>Searchcraft Button Icon</title>\n <path\n d='M2.725 5.79959L10 10.0079L17.275 5.79959M10 18.3996V9.99959M17.5 13.3329V6.66626C17.4997 6.37399 17.4225 6.08693 17.2763 5.8339C17.13 5.58086 16.9198 5.37073 16.6667 5.22459L10.8333 1.89126C10.58 1.74498 10.2926 1.66797 10 1.66797C9.70744 1.66797 9.42003 1.74498 9.16667 1.89126L3.33333 5.22459C3.08022 5.37073 2.86998 5.58086 2.72372 5.8339C2.57745 6.08693 2.5003 6.37399 2.5 6.66626V13.3329C2.5003 13.6252 2.57745 13.9123 2.72372 14.1653C2.86998 14.4183 3.08022 14.6285 3.33333 14.7746L9.16667 18.1079C9.42003 18.2542 9.70744 18.3312 10 18.3312C10.2926 18.3312 10.58 18.2542 10.8333 18.1079L16.6667 14.7746C16.9198 14.6285 17.13 14.4183 17.2763 14.1653C17.4225 13.9123 17.4997 13.6252 17.5 13.3329Z'\n stroke='white'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n","import type { FC } from 'react';\n\nimport { ButtonIcon } from '../assets/ButtonIcons';\n\nimport styles from '@styles/sc-search-result.module.scss';\nimport { ArrowRightIcon } from '../assets/ClearInputIcon';\n\ninterface BaseSearchResultProps {\n buttonCallbackFn?: () => void;\n buttonLabel?: string;\n imageAltText?: string;\n imageSrc?: string;\n interactiveResult?: boolean;\n callbackFn?: () => void;\n keyDownCallbackFn?: () => void;\n resultBodyContent?: string;\n resultHeading?: string;\n resultSubheading?: string;\n}\n\nconst BaseSearchResult: FC<BaseSearchResultProps> = ({\n buttonCallbackFn = () => {},\n buttonLabel = '',\n callbackFn = () => {},\n keyDownCallbackFn = () => {},\n imageAltText = '',\n interactiveResult = false,\n imageSrc = '',\n resultBodyContent = '',\n resultHeading = '',\n resultSubheading = '',\n}) => {\n const buttonFn = (event: { stopPropagation: () => void }) => {\n event.stopPropagation();\n buttonCallbackFn();\n };\n\n const callbackFunc = () => {\n if (interactiveResult) {\n callbackFn();\n } else {\n return;\n }\n };\n\n return (\n <div\n className={\n interactiveResult\n ? styles.interactiveResultContainer\n : styles.resultContainer\n }\n id='searchcraft-item'\n onClick={callbackFunc}\n onKeyDown={keyDownCallbackFn}\n >\n {interactiveResult && (\n <div className={styles.interactiveIconLarge}>\n <ArrowRightIcon />\n </div>\n )}\n <div className={styles.imageContainer}>\n <img alt={imageAltText} className={styles.image} src={imageSrc} />\n </div>\n <div className={styles.contentContainer}>\n <h2 className={styles.heading}>\n {resultHeading}{' '}\n {interactiveResult && (\n <div className={styles.interactiveIconSmall}>\n <ArrowRightIcon />\n </div>\n )}\n </h2>\n <h3 className={styles.subheading}>{resultSubheading}</h3>\n <p className={styles.bodyContent}>{resultBodyContent}</p>\n <button className={styles.button} onClick={buttonFn} type='button'>\n <ButtonIcon />\n <span>{buttonLabel}</span>\n </button>\n </div>\n </div>\n );\n};\n\nexport default BaseSearchResult;\n","import type { FC } from 'react';\n\nimport styles from '@styles/sc-search-results.module.scss';\n\nimport { useSearchcraft } from '@/components/providers/SearchcraftProvider';\nimport BaseSearchResult from '@components/ui/BaseSearchResult';\n\nconst BaseSearchResults: FC = () => {\n const { searchResults } = useSearchcraft();\n\n return (\n <div className={styles.resultsContainer}>\n {searchResults?.data?.hits ? (\n searchResults?.data?.hits?.map((document, index) => {\n const { doc: result } = document;\n const callback = () => {\n console.log('interactive');\n };\n const buttonCallback = () => {\n console.log('button callback');\n };\n return (\n <BaseSearchResult\n key={`${result?.id}-${index}`}\n buttonLabel='View More'\n buttonCallbackFn={buttonCallback}\n callbackFn={callback}\n interactiveResult\n imageSrc={result?.poster}\n resultBodyContent={result?.overview}\n resultHeading={result?.title}\n resultSubheading={result?.release_date}\n />\n );\n })\n ) : (\n <div>no results found</div>\n )}\n </div>\n );\n};\n\nexport default BaseSearchResults;\n"],"names":["c","a","o","e","t","n","h","s","defaultContext","query","SearchcraftContext","React","SearchcraftProvider","children","searchcraft","setQuery","useState","isRequesting","setIsRequesting","searchResults","setSearchResults","search","results","providerContext","useSearchcraft","useContext","hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","SpinnerLight","jsx","styles","SpinnerDark","Button","className","iconElement","iconOnly","iconPosition","label","onClick","jsxs","Fragment","ErrorMessage","errorMessage","ClearInputIcon","ArrowRightIcon","ClearInputButton","onClearInput","rightToLeftOrientation","InputCaption","error","inputCaptionClassName","inputCaptionValue","SearchIcon","SearchIconError","InputIcon","Input","formClassName","inputClassName","onSearchInputChange","placeholderValue","containerClassName","InputLabel","BaseSearchForm","handleSubmit","labelForInput","setError","handleFormSubmit","handleSearchInputChange","event","handleClearInput","AutoSearchForm","autoSearchFormClass","onClearedInput","searchContainerClass","canSearch","setCanSearch","useEffect","autoSearchFormClassname","ButtonIcon","BaseSearchResult","buttonCallbackFn","buttonLabel","callbackFn","keyDownCallbackFn","imageAltText","interactiveResult","imageSrc","resultBodyContent","resultHeading","resultSubheading","buttonFn","callbackFunc","BaseSearchResults","_a","_c","_b","document","index","result"],"mappings":"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","x_google_ignoreList":[0,3]}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/@searchcraft/core/dist/index.js","../src/components/providers/Context.tsx","../src/components/providers/Provider.tsx","../../../node_modules/classnames/index.js","../src/components/ui/assets/ClearInputIcon.jsx","../src/components/ui/components/Spinner/index.tsx","../src/components/ui/components/ClearInputButton/index.tsx","../src/components/ui/components/InputCaption/index.tsx","../src/components/ui/assets/SearchIcons.jsx","../src/components/ui/components/InputIcon/index.tsx","../src/components/ui/components/Input/index.tsx","../src/components/ui/components/InputLabel/index.tsx","../src/components/ui/AutoSearchForm/index.tsx","../src/components/ui/components/Button/index.tsx","../src/components/ui/components/ErrorMessage/index.tsx","../src/components/ui/BaseSearchForm/index.tsx","../src/components/ui/BaseSearchResult/index.tsx","../src/components/ui/BaseSearchResults/index.tsx","../src/Searchcraft/Searchcraft.tsx"],"sourcesContent":["var l = Object.defineProperty;\nvar c = (e, t, o) => t in e ? l(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;\nvar r = (e, t, o) => c(e, typeof t != \"symbol\" ? t + \"\" : t, o);\nclass u {\n constructor(t) {\n r(this, \"config\");\n /**\n * @param {string} query - User provided value Searchcraft will use to search against\n * @param {string} mode - Can be either 'fuzzy' or 'normal'\n * @returns {SearchResult} - Returns a `SearchResponse` object with the results from the search or throws an error\n */\n r(this, \"search\", async (t) => {\n try {\n const o = this.config.index.join(\",\"), n = `${this.config.endpointURL}/search`, s = {\n query: t.query,\n mode: t.mode,\n app: o\n }, a = {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: this.config.apiKey ? `${this.config.apiKey}` : \"\"\n },\n body: JSON.stringify(s)\n };\n return await (await fetch(n, a)).json();\n } catch (o) {\n return o;\n }\n });\n if (!t.endpointURL || !t.index)\n throw new Error(\"Endpoint URL and Index value(s) must be provided\");\n this.config = t;\n }\n}\nvar i = /* @__PURE__ */ ((e) => (e[e.DEBUG = 0] = \"DEBUG\", e[e.INFO = 1] = \"INFO\", e[e.WARN = 2] = \"WARN\", e[e.ERROR = 3] = \"ERROR\", e))(i || {});\nclass g {\n constructor(t) {\n r(this, \"logLevel\");\n r(this, \"logFormatter\");\n this.logLevel = t.logLevel || 1, this.logFormatter = t.logFormatter || this.defaultFormatter;\n }\n defaultFormatter(t, o) {\n return `[${i[t]}] ${(/* @__PURE__ */ new Date()).toISOString()}: ${o}`;\n }\n debug(t) {\n this.logLevel <= 0 && console.log(this.logFormatter(0, t));\n }\n info(t) {\n this.logLevel <= 1 && console.info(this.logFormatter(1, t));\n }\n warn(t) {\n this.logLevel <= 2 && console.warn(this.logFormatter(2, t));\n }\n error(t) {\n this.logLevel <= 3 && console.error(this.logFormatter(3, t));\n }\n}\nexport {\n u as CoreSDK,\n i as LogLevel,\n g as SDKDebugger\n};\n//# sourceMappingURL=index.js.map\n","import { createContext } from 'react';\n\nimport type {\n ProviderContextTypes as SearchcraftContextType,\n ThemeContextType,\n} from './ProviderContextTypes';\n\nconst defaultContext: SearchcraftContextType = {\n error: null,\n index: [''],\n isRequesting: false,\n mode: 'fuzzy',\n query: '',\n setQuery: (query) => query,\n search: async () => null,\n};\n\nexport const SearchcraftContext =\n createContext<SearchcraftContextType>(defaultContext);\n\nexport const ThemeContext = createContext<ThemeContextType | undefined>(\n undefined,\n);\n","import {\n type PropsWithChildren,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from 'react';\n\nimport type { SearchError, SearchResult } from '@searchcraft/core';\nimport {\n CoreSDK as SearchcraftCore,\n SDKDebugger,\n LogLevel,\n} from '@searchcraft/core';\n\nimport {\n SearchcraftContext,\n ThemeContext,\n} from '@/components/providers/Context';\nimport type {\n ProviderContextTypes as SearchcraftContextType,\n ThemeOptionType,\n} from '@/components/providers/ProviderContextTypes';\n\ninterface SearchcraftProviderProps extends PropsWithChildren {\n searchcraft: SearchcraftCore;\n debug?: boolean;\n}\n\nconst Provider = ({\n children,\n searchcraft,\n debug = false,\n}: SearchcraftProviderProps) => {\n const [query, setQuery] = useState<string>('');\n const [isRequesting, setIsRequesting] = useState<boolean>(false);\n const [searchResults, setSearchResults] = useState<\n SearchResult | SearchError | null\n >(null);\n const [theme, setTheme] = useState<ThemeOptionType>('light');\n\n const debuggerInstance = useMemo(() => {\n return debug ? new SDKDebugger({ logLevel: LogLevel.DEBUG }) : null;\n }, [debug]);\n\n const log = (level: LogLevel, message: string) => {\n if (debuggerInstance) {\n switch (level) {\n case LogLevel.DEBUG:\n debuggerInstance.debug(message);\n break;\n case LogLevel.INFO:\n debuggerInstance.info(message);\n break;\n case LogLevel.WARN:\n debuggerInstance.warn(message);\n break;\n case LogLevel.ERROR:\n debuggerInstance.error(message);\n break;\n default:\n break;\n }\n }\n };\n\n const search = async () => {\n log(LogLevel.INFO, `Starting search with query: \"${query}\"`);\n setIsRequesting(true);\n try {\n const results = await searchcraft.search({ query, mode: 'fuzzy' });\n setSearchResults(results);\n log(LogLevel.DEBUG, `Search results: ${JSON.stringify(results)}`);\n } catch (error) {\n // setSearchResults({ error: (error as Error).message });\n log(\n LogLevel.ERROR,\n `Search failed with error: ${(error as Error).message}`,\n );\n } finally {\n setIsRequesting(false);\n }\n };\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>\n useEffect(() => {\n log(LogLevel.INFO, 'SearchcraftProvider mounted.');\n return () => {\n log(LogLevel.INFO, 'SearchcraftProvider unmounted.');\n };\n }, [debuggerInstance]);\n\n const providerContext: SearchcraftContextType = {\n error: null,\n index: searchcraft.config.index,\n isRequesting,\n mode: 'fuzzy',\n query,\n search,\n searchResults,\n setQuery,\n };\n\n const toggleTheme = useCallback(() => {\n setTheme((prevTheme) => (prevTheme === 'light' ? 'dark' : 'light'));\n }, []);\n\n const themeContextValue = useMemo(\n () => ({\n theme,\n toggleTheme,\n }),\n [theme, toggleTheme],\n );\n\n return (\n <SearchcraftContext.Provider value={providerContext}>\n <ThemeContext.Provider value={themeContextValue}>\n {children}\n </ThemeContext.Provider>\n </SearchcraftContext.Provider>\n );\n};\n\nconst useSearchcraft = () => {\n const context = useContext<SearchcraftContextType>(SearchcraftContext);\n if (!context) {\n throw new Error(\n 'Searchcraft compound components must be used within Searchcraft.Provider',\n );\n }\n return context;\n};\n\nconst useTheme = () => {\n const context = useContext(ThemeContext);\n if (!context) {\n throw new Error('useTheme must be used within a ThemeProvider');\n }\n return context;\n};\n\nexport { Provider, SearchcraftCore, useSearchcraft, useTheme };\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export const ClearInputIconLight = () => (\n <svg width='22' height='22' viewBox='0 0 22 22' fill='none'>\n <title>Searchcraft Clear Input Icon Light</title>\n <path\n d='M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z'\n stroke='black'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n\nexport const ClearInputIconDark = () => (\n <svg\n width='22'\n height='22'\n viewBox='0 0 22 22'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n >\n <title>Searchcraft Clear Input Icon Dark</title>\n <path\n d='M14 8L8 14M8 8L14 14M21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z'\n stroke='white'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n\nexport const ArrowRightIconLight = () => (\n <svg width='20' height='21' viewBox='0 0 20 21' fill='none'>\n <title>Searchcraft Arrow Right Icon Light</title>\n <path\n d='M7.5 15.0444L12.5 10.0444L7.5 5.04443'\n stroke='#737373'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n\nexport const ArrowRightIconDark = () => (\n <svg\n width='8'\n height='12'\n viewBox='0 0 8 12'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n >\n <title>Searchcraft Arrow Right Icon Dark</title>\n <path\n d='M1.5 11L6.5 6L1.5 1'\n stroke='#BFBFBF'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n","import styles from '@styles/sc-spinner.module.scss';\n\nexport const SpinnerLight = () => (\n <div className={styles.spinnerContainer}>\n <div className={styles.spinnerLight} />\n </div>\n);\n\nexport const SpinnerDark = () => (\n <div className={styles.spinnerContainer}>\n <div className={styles.spinnerDark} />\n </div>\n);\n","import type { FC } from 'react';\nimport classNames from 'classnames';\n\nimport { useSearchcraft, useTheme } from '@/components/providers/Provider';\nimport styles from '@styles/sc-clear-input-button.module.scss';\n\nimport {\n ClearInputIconLight,\n ClearInputIconDark,\n} from '../../assets/ClearInputIcon';\nimport { SpinnerDark, SpinnerLight } from '../Spinner';\n\nexport type ClearInputButtonProps = {\n onClearInput?: () => void;\n rightToLeftOrientation?: boolean;\n};\n\nconst ClearInputButton: FC<ClearInputButtonProps> = ({\n onClearInput,\n rightToLeftOrientation = false,\n}) => {\n const { isRequesting } = useSearchcraft();\n const { theme } = useTheme();\n const isLightTheme = theme === 'light';\n\n return rightToLeftOrientation ? (\n <button\n className={classNames(\n styles.inputClearButtonRTL,\n '.sc-clear-input-button-rtl',\n )}\n onClick={onClearInput}\n type='button'\n >\n {isRequesting ? (\n isLightTheme ? (\n <SpinnerLight />\n ) : (\n <SpinnerDark />\n )\n ) : isLightTheme ? (\n <ClearInputIconLight />\n ) : (\n <ClearInputIconDark />\n )}\n </button>\n ) : (\n <button\n className={classNames(\n styles.inputClearButtonLTR,\n '.sc-clear-input-button-ltr',\n )}\n onClick={onClearInput}\n type='button'\n >\n {isRequesting ? (\n isLightTheme ? (\n <SpinnerLight />\n ) : (\n <SpinnerDark />\n )\n ) : isLightTheme ? (\n <ClearInputIconLight />\n ) : (\n <ClearInputIconDark />\n )}\n </button>\n );\n};\n\nexport default ClearInputButton;\n","import type { FC } from 'react';\nimport classNames from 'classnames';\n\nimport styles from '@styles/sc-input-caption.module.scss';\nimport { useTheme } from '@/Searchcraft/Searchcraft';\n\nexport type InputCaptionProps = {\n error?: boolean;\n inputCaptionClassName?: string;\n inputCaptionValue: string;\n rightToLeftOrientation?: boolean;\n};\n\nconst InputCaption: FC<InputCaptionProps> = ({\n error = false,\n inputCaptionClassName,\n inputCaptionValue = 'Enter Search',\n rightToLeftOrientation = false,\n}) => {\n const { theme } = useTheme();\n const isLightTheme = theme === 'light';\n return rightToLeftOrientation ? (\n <p\n className={classNames(\n error\n ? isLightTheme\n ? styles.inputCaptionErrorLightRTL\n : styles.inputCaptionErrorDarkRTL\n : isLightTheme\n ? styles.inputCaptionLightRTL\n : styles.inputCaptionDarkRTL,\n inputCaptionClassName,\n '.searchcraft-input-caption',\n )}\n >\n {inputCaptionValue}\n </p>\n ) : (\n <p\n className={classNames(\n error\n ? isLightTheme\n ? styles.inputCaptionErrorLightLTR\n : styles.inputCaptionErrorDarkLTR\n : isLightTheme\n ? styles.inputCaptionLightLTR\n : styles.inputCaptionDarkLTR,\n inputCaptionClassName,\n '.searchcraft-input-caption',\n )}\n >\n {inputCaptionValue}\n </p>\n );\n};\n\nexport default InputCaption;\n","export const SearchIconLight = () => (\n <svg width='20' height='20' viewBox='0 0 20 20' fill='none'>\n <title>Searchcraft Search Icon Light</title>\n <path\n d='M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z'\n stroke='#404040'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n\nexport const SearchIconDark = () => (\n <svg\n width='18'\n height='18'\n viewBox='0 0 18 18'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n >\n <title>Searchcraft Search Icon Dark</title>\n <path\n d='M16.5 16.5L12.875 12.875M14.8333 8.16667C14.8333 11.8486 11.8486 14.8333 8.16667 14.8333C4.48477 14.8333 1.5 11.8486 1.5 8.16667C1.5 4.48477 4.48477 1.5 8.16667 1.5C11.8486 1.5 14.8333 4.48477 14.8333 8.16667Z'\n stroke='#E6E6E6'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n\nexport const SearchIconLightError = () => (\n <svg width='20' height='20' viewBox='0 0 20 20' fill='none'>\n <title>Searchcraft Error Search Icon Light</title>\n <path\n d='M17.5 17.5L13.875 13.875M15.8333 9.16667C15.8333 12.8486 12.8486 15.8333 9.16667 15.8333C5.48477 15.8333 2.5 12.8486 2.5 9.16667C2.5 5.48477 5.48477 2.5 9.16667 2.5C12.8486 2.5 15.8333 5.48477 15.8333 9.16667Z'\n stroke='#737373'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n\nexport const SearchIconDarkError = () => (\n <svg\n width='18'\n height='18'\n viewBox='0 0 18 18'\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n >\n <title>Searchcraft Error Search Icon Dark</title>\n <path\n d='M16.5 16.5L12.875 12.875M14.8333 8.16667C14.8333 11.8486 11.8486 14.8333 8.16667 14.8333C4.48477 14.8333 1.5 11.8486 1.5 8.16667C1.5 4.48477 4.48477 1.5 8.16667 1.5C11.8486 1.5 14.8333 4.48477 14.8333 8.16667Z'\n stroke='#BFBFBF'\n strokeWidth='1.5'\n strokeLinecap='round'\n strokeLinejoin='round'\n />\n </svg>\n);\n","import type { FC } from 'react';\n\nimport { useTheme } from '@/Searchcraft/Searchcraft';\n\nimport styles from '@styles/sc-input-icon.module.scss';\n\nimport {\n SearchIconLight,\n SearchIconDark,\n SearchIconLightError,\n SearchIconDarkError,\n} from '../../assets/SearchIcons';\n\nexport type InputIconProps = {\n error?: boolean;\n rightToLeftOrientation?: boolean;\n};\n\nexport const InputIcon: FC<InputIconProps> = ({\n error = false,\n rightToLeftOrientation = false,\n}) => {\n const { theme } = useTheme();\n const isLightTheme = theme === 'light';\n return error ? (\n <div\n className={\n rightToLeftOrientation ? styles.inputIconRTL : styles.inputIconLTR\n }\n >\n {isLightTheme ? <SearchIconLightError /> : <SearchIconDarkError />}\n </div>\n ) : (\n <div\n className={\n rightToLeftOrientation ? styles.inputIconRTL : styles.inputIconLTR\n }\n >\n {isLightTheme ? <SearchIconLight /> : <SearchIconDark />}\n </div>\n );\n};\n","import type { ChangeEventHandler, FC } from 'react';\nimport classNames from 'classnames';\n\nimport { useTheme } from '@/Searchcraft/Searchcraft';\n\nimport styles from '@styles/sc-input.module.scss';\n\nimport ClearInputButton from '../ClearInputButton';\nimport InputCaption from '../InputCaption';\nimport { InputIcon } from '../InputIcon';\n\nexport type InputProps = {\n error?: boolean;\n formClassName?: string;\n inputCaptionClassName?: string;\n inputCaptionValue?: string;\n inputClassName?: string;\n onClearInput?: () => void;\n onSearchInputChange: ChangeEventHandler<HTMLInputElement>;\n placeholderValue?: string;\n rightToLeftOrientation?: boolean;\n query: string;\n};\n\nconst Input: FC<InputProps> = ({\n error = false,\n formClassName = '',\n inputCaptionClassName = '',\n inputClassName = '',\n inputCaptionValue = '',\n onClearInput,\n onSearchInputChange,\n placeholderValue = 'Enter Search',\n rightToLeftOrientation = false,\n query = '',\n}) => {\n const { theme } = useTheme();\n const isLightTheme = theme === 'light';\n const containerClassName = rightToLeftOrientation\n ? styles.inputContainerRTL\n : styles.inputContainerLTR;\n return (\n <div\n className={classNames(\n containerClassName,\n formClassName,\n 'searchcraft-input-form',\n )}\n >\n {rightToLeftOrientation ? (\n <>\n <input\n className={classNames(\n error\n ? isLightTheme\n ? styles.inputErrorLightRTL\n : styles.inputErrorDarkRTL\n : isLightTheme\n ? styles.inputLightRTL\n : styles.inputDarkRTL,\n inputClassName,\n 'searchcraft-input',\n )}\n id='searchcraft-input-id'\n onChange={onSearchInputChange}\n placeholder={placeholderValue}\n type='text'\n value={query}\n />\n {inputCaptionValue && (\n <InputCaption\n inputCaptionClassName={inputCaptionClassName}\n inputCaptionValue={inputCaptionValue}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n )}\n {query.length > 0 && (\n <ClearInputButton\n onClearInput={onClearInput}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n )}\n <InputIcon\n error={error}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n </>\n ) : (\n <>\n <input\n className={classNames(\n error\n ? isLightTheme\n ? styles.inputErrorLightLTR\n : styles.inputErrorDarkLTR\n : isLightTheme\n ? styles.inputLightLTR\n : styles.inputDarkLTR,\n inputClassName,\n 'searchcraft-input',\n )}\n id='searchcraft-input-id'\n onChange={onSearchInputChange}\n placeholder={placeholderValue}\n type='text'\n value={query}\n />\n {inputCaptionValue && (\n <InputCaption\n inputCaptionClassName={inputCaptionClassName}\n inputCaptionValue={inputCaptionValue}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n )}\n {query.length > 0 && (\n <ClearInputButton\n onClearInput={onClearInput}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n )}\n <InputIcon error={error} />\n </>\n )}\n </div>\n );\n};\n\nexport default Input;\n","import type { FC } from 'react';\nimport classNames from 'classnames';\n\nimport { useTheme } from '@/Searchcraft/Searchcraft';\n\nimport styles from '@styles/sc-input-label.module.scss';\n\nexport type InputLabelProps = {\n className?: string;\n label: string;\n};\n\nconst InputLabel: FC<InputLabelProps> = ({\n className,\n label = 'Enter Search',\n}) => {\n const { theme } = useTheme();\n const labelStyle = theme === 'light' ? styles.labelLight : styles.labelDark;\n return (\n <label\n className={classNames(labelStyle, className)}\n htmlFor='searchcraft-input-id'\n >\n {label}\n </label>\n );\n};\n\nexport default InputLabel;\n","import { useState, type FC, useEffect, type ChangeEventHandler } from 'react';\nimport classNames from 'classnames';\n\nimport { useSearchcraft } from '@/components/providers/Provider';\n\nimport styles from '@styles/sc-search-form.module.scss';\n\nimport Input from '../components/Input';\nimport InputLabel from '../components/InputLabel';\n\nexport interface AutoSearchFormProps {\n autoSearchFormClass?: string;\n handleSubmit: (query: string) => void;\n inputCaptionValue?: string;\n labelForInput?: string;\n onClearInput?: () => void;\n placeholderValue?: string;\n rightToLeftOrientation?: boolean;\n searchContainerClass?: string;\n}\n\n/**\n * * Button-less form used to submit the search query with a timing configurable debounced function.\n */\nconst AutoSearchForm: FC<AutoSearchFormProps> = ({\n autoSearchFormClass = '',\n handleSubmit,\n inputCaptionValue = '',\n labelForInput = 'Search',\n onClearInput = () => {},\n placeholderValue = 'Search here',\n rightToLeftOrientation = false,\n searchContainerClass = '',\n}) => {\n const { query, setQuery } = useSearchcraft();\n const [canSearch, setCanSearch] = useState<boolean>(false);\n\n const autoSearchFormClassname = rightToLeftOrientation\n ? styles.formRTL\n : styles.formLTR;\n\n const handleSearchInputChange: ChangeEventHandler<HTMLInputElement> = (\n event,\n ) => {\n event.preventDefault();\n setQuery(event.currentTarget.value);\n if (query !== event.currentTarget.value) {\n setCanSearch(true);\n }\n };\n\n /**\n * * Exposes a callback for convenience when the input's value is cleared by the user\n */\n const handleClearInput = () => {\n setQuery('');\n onClearInput();\n };\n\n /**\n * * Delay the submit function until the user is done typing to throttle API usage.\n */\n useEffect(() => {\n if (canSearch) {\n handleSubmit(query);\n setCanSearch(false);\n } else {\n return;\n }\n }, [canSearch, handleSubmit, query]);\n\n return (\n <form\n className={classNames(\n autoSearchFormClassname,\n autoSearchFormClass,\n 'searchcraft-auto-search-form',\n )}\n onSubmit={(event) => {\n event.preventDefault();\n }}\n >\n <InputLabel label={labelForInput} />\n <div\n className={classNames(\n styles.searchContainer,\n searchContainerClass,\n 'searchcraft-input-container',\n )}\n >\n <Input\n inputCaptionValue={inputCaptionValue}\n onClearInput={handleClearInput}\n onSearchInputChange={handleSearchInputChange}\n placeholderValue={placeholderValue}\n query={query}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n </div>\n </form>\n );\n};\n\nexport default AutoSearchForm;\n","import type { FC, ReactNode } from 'react';\nimport classNames from 'classnames';\n\nimport { useSearchcraft, useTheme } from '@/components/providers/Provider';\nimport styles from '@styles/sc-button.module.scss';\n\nimport { SpinnerDark } from '../Spinner';\n\nexport type ButtonProps = {\n className?: string;\n iconElement?: ReactNode;\n iconOnly?: boolean;\n iconPosition?: string;\n label?: string;\n onClick?: () => void;\n};\n\nconst Button: FC<ButtonProps> = ({\n className,\n iconElement,\n iconOnly = false,\n iconPosition = 'left',\n label = 'Search',\n onClick,\n}) => {\n const { isRequesting } = useSearchcraft();\n const { theme } = useTheme();\n const buttonStyle =\n theme === 'light' ? styles.buttonLight : styles.buttonDark;\n return (\n <>\n {iconOnly && (\n <button\n className={classNames(buttonStyle, className, '.searchcraft-button')}\n onClick={onClick}\n type='submit'\n >\n {isRequesting ? <SpinnerDark /> : iconElement}\n </button>\n )}\n {!iconOnly && (\n <button\n className={classNames(buttonStyle, className, '.searchcraft-button')}\n onClick={onClick}\n type='submit'\n >\n {iconPosition === 'left' && isRequesting ? (\n <div className={styles.spinnerMarginRight}>\n <SpinnerDark />\n </div>\n ) : (\n iconElement\n )}\n <span\n className={classNames(\n isRequesting && styles.buttonLabel,\n className,\n '.searchcraft-button-label',\n )}\n >\n {label}\n </span>\n </button>\n )}\n </>\n );\n};\n\nexport default Button;\n","import type { FC } from 'react';\nimport classNames from 'classnames';\n\nimport { useTheme } from '@/Searchcraft/Searchcraft';\n\nimport styles from '@styles/sc-input-error-message.module.scss';\n\nexport type ErrorMessageProps = {\n className?: string;\n errorMessage?: string;\n};\n\nconst ErrorMessage: FC<ErrorMessageProps> = ({ className, errorMessage }) => {\n const { theme } = useTheme();\n const errorMessageStyle =\n theme === 'light' ? styles.errorMessageLight : styles.errorMessageDark;\n return (\n <p className={classNames(errorMessageStyle, className)}>\n {errorMessage || 'Search term is required.'}\n </p>\n );\n};\n\nexport default ErrorMessage;\n","import { useState, type FC } from 'react';\n\nimport { useSearchcraft } from '@/components/providers/Provider';\nimport styles from '@styles/sc-search-form.module.scss';\n\nimport Button from '../components/Button';\nimport ErrorMessage from '../components/ErrorMessage';\nimport Input from '../components/Input';\nimport InputLabel from '../components/InputLabel';\n\nexport interface BaseSearchFormProps {\n errorMessage?: string;\n handleSubmit: (query: string) => void;\n labelForInput?: string;\n onClearInput?: () => void;\n placeholderValue?: string;\n rightToLeftOrientation?: boolean;\n}\n\n/**\n * * Form used to submit the search query using a provided search function.\n */\nconst BaseSearchForm: FC<BaseSearchFormProps> = ({\n errorMessage,\n handleSubmit,\n labelForInput = 'Search',\n onClearInput = () => {},\n placeholderValue = 'Enter Search Term',\n rightToLeftOrientation = false,\n}) => {\n const { query, setQuery } = useSearchcraft();\n const [error, setError] = useState<boolean>(false);\n\n const handleFormSubmit = (e: { preventDefault: () => void }) => {\n e.preventDefault();\n if (query.trim() === '') {\n setError(true);\n } else {\n setError(false);\n handleSubmit(query);\n }\n };\n\n const handleSearchInputChange = (event: { target: { value: string } }) =>\n setQuery(event.target.value);\n\n /**\n * * Exposes a callback for convenience when the input's value is cleared by the user\n */\n const handleClearInput = () => {\n setQuery('');\n onClearInput();\n };\n\n return (\n <form\n className={rightToLeftOrientation ? styles.formRTL : styles.formLTR}\n onSubmit={handleFormSubmit}\n >\n <InputLabel label={labelForInput} />\n <div className={styles.searchContainer}>\n {rightToLeftOrientation && <Button />}\n <Input\n error={error}\n onClearInput={handleClearInput}\n onSearchInputChange={handleSearchInputChange}\n placeholderValue={placeholderValue}\n query={query}\n rightToLeftOrientation={rightToLeftOrientation}\n />\n {!rightToLeftOrientation && <Button />}\n </div>\n {error && <ErrorMessage errorMessage={errorMessage} />}\n </form>\n );\n};\n\nexport default BaseSearchForm;\n","import type { FC } from 'react';\n\nimport styles from '@styles/sc-search-result.module.scss';\n\nimport { useTheme } from '@/components/providers/Provider';\nimport Button from '@/components/ui/components/Button';\n\nimport { ButtonIcon } from '../assets/ButtonIcons';\nimport {\n ArrowRightIconLight,\n ArrowRightIconDark,\n} from '../assets/ClearInputIcon';\n\nexport interface BaseSearchResultProps {\n buttonCallbackFn?: () => void;\n buttonLabel?: string;\n imageAltText?: string;\n imageSrc?: string;\n interactiveResult?: boolean;\n callbackFn?: () => void;\n keyDownCallbackFn?: () => void;\n resultBodyContent?: string;\n resultHeading?: string;\n resultSubheading?: string;\n}\n\nconst BaseSearchResult: FC<BaseSearchResultProps> = ({\n buttonCallbackFn = () => {},\n buttonLabel = '',\n callbackFn = () => {},\n keyDownCallbackFn = () => {},\n imageAltText = '',\n interactiveResult = false,\n imageSrc = '',\n resultBodyContent = '',\n resultHeading = '',\n resultSubheading = '',\n}) => {\n const { theme } = useTheme();\n const isLightTheme = theme === 'light';\n const buttonFn = () => {\n buttonCallbackFn();\n };\n\n const callbackFunc = () => {\n if (interactiveResult) {\n callbackFn();\n } else {\n return;\n }\n };\n\n return (\n <div\n className={\n interactiveResult\n ? isLightTheme\n ? styles.interactiveResultContainerLight\n : styles.interactiveResultContainerDark\n : styles.resultContainer\n }\n id='searchcraft-item'\n onClick={callbackFunc}\n onKeyDown={keyDownCallbackFn}\n >\n {interactiveResult && (\n <div className={styles.interactiveIconLarge}>\n {isLightTheme ? <ArrowRightIconLight /> : <ArrowRightIconDark />}\n </div>\n )}\n <div className={styles.imageContainer}>\n <img\n alt={imageAltText}\n className={isLightTheme ? styles.imageLight : styles.imageDark}\n src={imageSrc}\n />\n </div>\n <div className={styles.contentContainer}>\n <h2 className={isLightTheme ? styles.headingLight : styles.headingDark}>\n {resultHeading}{' '}\n {interactiveResult && (\n <div className={styles.interactiveIconSmall}>\n {isLightTheme ? <ArrowRightIconLight /> : <ArrowRightIconDark />}\n </div>\n )}\n </h2>\n <h3\n className={\n isLightTheme ? styles.subheadingLight : styles.subheadingDark\n }\n >\n {resultSubheading}\n </h3>\n <p\n className={\n isLightTheme ? styles.bodyContentLight : styles.bodyContentDark\n }\n >\n {resultBodyContent}\n </p>\n <Button label={buttonLabel} onClick={buttonFn} />\n </div>\n </div>\n );\n};\n\nexport default BaseSearchResult;\n","import type { FC } from 'react';\n\nimport styles from '@styles/sc-search-results.module.scss';\n\nimport { useSearchcraft } from '@/components/providers/Provider';\nimport BaseSearchResult from '@components/ui/BaseSearchResult';\nimport ErrorMessage from '@components/ui/components/ErrorMessage';\n\nconst BaseSearchResults: FC = () => {\n const { searchResults, query } = useSearchcraft();\n\n return (\n <div className={styles.resultsContainer}>\n {searchResults?.data?.hits?.map((document, index) => {\n const { doc: result } = document;\n const callback = () => {\n console.log('interactive element');\n };\n const buttonCallback = () => {\n console.log('button callback');\n };\n return (\n <BaseSearchResult\n key={`${result?.id}-${index}`}\n buttonLabel='View More'\n buttonCallbackFn={buttonCallback}\n callbackFn={callback}\n interactiveResult\n imageSrc={result?.poster}\n resultBodyContent={result?.overview}\n resultHeading={result?.title}\n resultSubheading={result?.release_date}\n />\n );\n })}\n {query.length > 0 && searchResults?.data?.hits?.length === 0 && (\n <ErrorMessage\n errorMessage={`No search results found for ${query} query`}\n />\n )}\n </div>\n );\n};\n\nexport default BaseSearchResults;\n","import type { FC } from 'react';\nimport type { CoreSDK } from '@searchcraft/core';\nimport { CoreSDK as SearchcraftCore } from '@searchcraft/core';\n\nimport {\n Provider,\n useSearchcraft,\n useTheme,\n} from '@/components/providers/Provider';\nimport AutoSearchForm, {\n type AutoSearchFormProps,\n} from '@components/ui/AutoSearchForm';\nimport BaseSearchForm, {\n type BaseSearchFormProps,\n} from '@components/ui/BaseSearchForm';\nimport BaseSearchResult, {\n type BaseSearchResultProps,\n} from '@components/ui/BaseSearchResult';\nimport BaseSearchResults from '@components/ui/BaseSearchResults';\nimport Button from '@/components/ui/components/Button';\nimport ClearInputButton from '@/components/ui/components/ClearInputButton';\nimport ErrorMessage from '@/components/ui/components/ErrorMessage';\nimport Input, { type InputProps } from '@/components/ui/components/Input';\nimport InputCaption, {\n type InputCaptionProps,\n} from '@/components/ui/components/InputCaption';\nimport { InputIcon } from '@/components/ui/components/InputIcon';\nimport InputLabel, {\n type InputLabelProps,\n} from '@/components/ui/components/InputLabel';\n\nconst Searchcraft: FC & {\n AutoSearchForm: FC<AutoSearchFormProps>;\n BaseSearchForm: FC<BaseSearchFormProps>;\n BaseSearchResult: FC<BaseSearchResultProps>;\n BaseSearchResults: FC;\n Button: FC;\n ClearInputButton: FC;\n ErrorMessage: FC;\n Input: FC<InputProps>;\n InputCaption: FC<InputCaptionProps>;\n InputIcon: FC;\n InputLabel: FC<InputLabelProps>;\n Provider: FC<{ searchcraft: CoreSDK; debug?: boolean }>;\n} = () => null;\n\nSearchcraft.AutoSearchForm = AutoSearchForm;\nSearchcraft.BaseSearchForm = BaseSearchForm;\nSearchcraft.BaseSearchResult = BaseSearchResult;\nSearchcraft.BaseSearchResults = BaseSearchResults;\nSearchcraft.Button = Button;\nSearchcraft.ClearInputButton = ClearInputButton;\nSearchcraft.ErrorMessage = ErrorMessage;\nSearchcraft.Input = Input;\nSearchcraft.InputCaption = InputCaption;\nSearchcraft.InputIcon = InputIcon;\nSearchcraft.InputLabel = InputLabel;\nSearchcraft.Provider = Provider;\n\nexport {\n AutoSearchForm,\n BaseSearchForm,\n BaseSearchResult,\n BaseSearchResults,\n Button,\n ClearInputButton,\n ErrorMessage,\n Input,\n InputCaption,\n InputIcon,\n InputLabel,\n Provider,\n SearchcraftCore,\n useSearchcraft,\n useTheme,\n};\n\nexport default Searchcraft;\n"],"names":["l","c","e","t","o","r","u","n","s","a","i","g","defaultContext","query","SearchcraftContext","createContext","ThemeContext","Provider","children","searchcraft","debug","setQuery","useState","isRequesting","setIsRequesting","searchResults","setSearchResults","theme","setTheme","debuggerInstance","useMemo","SDKDebugger","LogLevel","log","level","message","search","results","error","useEffect","providerContext","toggleTheme","useCallback","prevTheme","themeContextValue","jsx","useSearchcraft","context","useContext","useTheme","hasOwn","classNames","classes","arg","appendClass","parseValue","key","value","newClass","module","ClearInputIconLight","jsxs","ClearInputIconDark","ArrowRightIconLight","ArrowRightIconDark","SpinnerLight","styles","SpinnerDark","ClearInputButton","onClearInput","rightToLeftOrientation","isLightTheme","InputCaption","inputCaptionClassName","inputCaptionValue","SearchIconLight","SearchIconDark","SearchIconLightError","SearchIconDarkError","InputIcon","Input","formClassName","inputClassName","onSearchInputChange","placeholderValue","containerClassName","Fragment","InputLabel","className","label","labelStyle","AutoSearchForm","autoSearchFormClass","handleSubmit","labelForInput","searchContainerClass","canSearch","setCanSearch","autoSearchFormClassname","handleSearchInputChange","event","handleClearInput","Button","iconElement","iconOnly","iconPosition","onClick","buttonStyle","ErrorMessage","errorMessage","errorMessageStyle","BaseSearchForm","setError","handleFormSubmit","BaseSearchResult","buttonCallbackFn","buttonLabel","callbackFn","keyDownCallbackFn","imageAltText","interactiveResult","imageSrc","resultBodyContent","resultHeading","resultSubheading","buttonFn","callbackFunc","BaseSearchResults","_b","_a","document","index","result","_d","_c","Searchcraft"],"mappings":"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","x_google_ignoreList":[0,3]}
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- ._formLTR_dvuqa_5{text-align:left}._formRTL_dvuqa_9{text-align:right}._searchContainer_dvuqa_13{align-items:center;display:flex}._button_8jqm2_5{background-color:#000;border:1px solid #E6E6E6;border-radius:8px;color:#fff;display:flex;font-family:var(--font-stack);font-size:16px;font-weight:700;line-height:20px;padding:11px 20px;position:relative}._button_8jqm2_5:hover{background-color:#2e2e2e;cursor:pointer}._button_8jqm2_5:focus{outline:2px solid #000000}._spinnerMarginRight_8jqm2_26{margin-right:4px;position:absolute;left:4px}._spinnerMarginLeft_8jqm2_32{margin-left:4px;position:absolute;left:4px}._buttonLabel_8jqm2_38{animation:_rightandback_8jqm2_1 .2s;position:relative}@keyframes _rightandback_8jqm2_1{0%{right:-6px}50%{right:-12px}75%{right:-6px}to{right:0}}._spinnerContainer_1noam_1{background-color:transparent;height:20px;width:20px}._spinnerDark_1noam_7{height:100%;width:100%;background:conic-gradient(#000 50%,#fff);clip-path:circle(50%);-webkit-mask-image:radial-gradient(circle at center,#0000 6.6666666667px,#000 6.6666666667px);mask-image:radial-gradient(circle at center,#0000 6.6666666667px,#000 6.6666666667px);animation:_spinning_1noam_1 1s linear infinite}._spinnerLight_1noam_16{height:100%;width:100%;background:conic-gradient(#737373 50%,#fff);clip-path:circle(50%);-webkit-mask-image:radial-gradient(circle at center,#0000 6.6666666667px,#000 6.6666666667px);mask-image:radial-gradient(circle at center,#0000 6.6666666667px,#000 6.6666666667px);animation:_spinning_1noam_1 1s linear infinite}@keyframes _spinning_1noam_1{0%{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}._errorMessage_12dc9_5{color:#900;font-family:var(--font-stack);font-size:12px;line-height:16px;margin-bottom:4px;margin-top:4px}._inputContainerLTR_s1rq8_5{position:relative}._inputContainerRTL_s1rq8_9{position:relative;margin-left:8px}._inputLTR_s1rq8_14{background-color:#ededed;border:none;border-radius:8px;font-family:var(--font-stack);outline:none;margin-right:8px;padding:15px 16px 15px 36px}._inputLTR_s1rq8_14::placeholder{color:#737373;font-family:var(--font-stack);font-size:16px}._inputLTR_s1rq8_14:focus{outline:2px solid #000000}._inputRTL_s1rq8_35{background-color:#ededed;border:none;border-radius:8px;font-family:var(--font-stack);outline:none;margin-left:8px;padding:15px 36px 15px 16px;text-align:right}._inputRTL_s1rq8_35::placeholder{color:#737373;font-family:var(--font-stack);font-size:16px}._inputRTL_s1rq8_35:focus{outline:2px solid #000000}._inputErrorLTR_s1rq8_57{background-color:#ededed;border:none;border-radius:8px;font-family:var(--font-stack);outline:none;outline:2px solid #c00;margin-right:8px;padding:15px 16px 15px 36px}._inputErrorLTR_s1rq8_57::placeholder{color:#737373;font-family:var(--font-stack);font-size:16px}._inputErrorLTR_s1rq8_57:focus{outline:2px solid #000000}._inputErrorLTR_s1rq8_57:focus-visible{outline:2px solid #c00}._inputErrorRTL_s1rq8_82{background-color:#ededed;border:none;border-radius:8px;font-family:var(--font-stack);outline:none;outline:2px solid #c00;margin-left:8px;padding:15px 36px 15px 16px;text-align:right}._inputErrorRTL_s1rq8_82::placeholder{color:#737373;font-family:var(--font-stack);font-size:16px}._inputErrorRTL_s1rq8_82:focus{outline:2px solid #000000}._inputErrorRTL_s1rq8_82:focus-visible{outline:2px solid #c00}._inputClearButtonLTR_t63ei_5{align-items:center;background:none;border:none;display:flex;height:20px;justify-content:center;padding:0;position:absolute;right:25px;top:11px;width:20px}._inputClearButtonRTL_t63ei_19{align-items:center;background:none;border:none;display:flex;height:20px;justify-content:center;left:25px;padding:0;position:absolute;top:11px;width:20px}._inputCaptionLTR_xoy9r_5{color:#404040;font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px}._inputCaptionErrorLTR_xoy9r_14{color:#404040;font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#900}._inputCaptionRTL_xoy9r_24{color:#404040;font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;text-align:right}._inputCaptionErrorRTL_xoy9r_34{color:#404040;font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#900;text-align:right}._inputIconLTR_cusap_5{height:20px;left:10px;position:absolute;top:11px;width:20px}._inputIconRTL_cusap_13{height:20px;position:absolute;right:10px;top:11px;width:20px}._label_1euwf_5{color:#292929;font-family:var(--font-stack);font-size:12px;font-weight:700;line-height:16px;margin-bottom:4px}._resultContainer_10d68_5{align-items:flex-start;display:flex;flex-direction:column;gap:16px}@media (min-width: 600px){._resultContainer_10d68_5{flex-direction:row}}._interactiveResultContainer_10d68_17{align-items:flex-start;background-color:#fafafa;border-radius:16px;display:flex;position:relative;flex-direction:column;gap:16px;padding:8px}@media (min-width: 600px){._interactiveResultContainer_10d68_17{flex-direction:row}}._interactiveIconLarge_10d68_33{position:absolute;right:5px;top:8px;display:inline-block}@media (max-width: 600px){._interactiveIconLarge_10d68_33{display:none}}._interactiveIconSmall_10d68_45{position:absolute;right:5px;top:-2px;display:inline-block}@media (min-width: 600px){._interactiveIconSmall_10d68_45{display:none}}._imageContainer_10d68_57{max-height:540px;max-width:100%}@media (min-width: 600px){._imageContainer_10d68_57{max-height:100%;max-width:50%}}._contentContainer_10d68_68{max-height:100%;max-width:100%}@media (min-width: 600px){._contentContainer_10d68_68{max-width:50%}}._image_10d68_57{aspect-ratio:2/1;border-radius:8px;border:1px solid #D9D9D9;max-height:100%;max-width:100%}._heading_10d68_86{color:#292929;font-family:var(--font-stack);font-size:16px;font-weight:700;line-height:20px;margin-bottom:4px;margin-top:0;position:relative}._subheading_10d68_97{color:#737373;font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-bottom:4px;margin-top:0}._bodyContent_10d68_107{color:#404040;font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-top:0;margin-bottom:4px}._button_10d68_117{background-color:#000;border:1px solid #E6E6E6;border-radius:8px;color:#fff;display:flex;font-weight:700;line-height:20px;padding:10px 20px;margin-top:16px}._button_10d68_117 span{margin-left:4px}:root{--font-stack: Helvetica, Arial, sans-serif}._resultsContainer_pfxt4_5{display:flex;flex-direction:column;justify-content:center;margin:100px 20px}._resultsContainer_pfxt4_5>div{margin-bottom:20px}._resultsContainer_pfxt4_5>div img{height:300px;width:200px}
1
+ ._formLTR_dvuqa_5{text-align:left}._formRTL_dvuqa_9{text-align:right}._searchContainer_dvuqa_13{align-items:center;display:flex}._inputContainerLTR_1nio0_5{position:relative}._inputContainerRTL_1nio0_9{position:relative;margin-left:8px}._inputLightLTR_1nio0_14{border:none;border-radius:8px;font-family:var(--font-stack);outline:none;background-color:#ededed;color:#292929;margin-right:8px;padding:15px 16px 15px 36px}._inputLightLTR_1nio0_14::placeholder{font-family:var(--font-stack);font-size:16px}._inputLightLTR_1nio0_14::placeholder{color:#737373}._inputLightLTR_1nio0_14:focus{outline:2px solid #000}._inputDarkLTR_1nio0_38{border:none;border-radius:8px;font-family:var(--font-stack);outline:none;background-color:#1a1a1a;color:#fff;margin-right:8px;padding:15px 16px 15px 36px}._inputDarkLTR_1nio0_38::placeholder{font-family:var(--font-stack);font-size:16px}._inputDarkLTR_1nio0_38::placeholder{color:#bfbfbf}._inputDarkLTR_1nio0_38:focus{outline:2px solid #FFF}._inputErrorLightLTR_1nio0_62{border:none;border-radius:8px;font-family:var(--font-stack);outline:none;background-color:#ededed;color:#292929;outline:2px solid #c00;margin-right:8px;padding:15px 16px 15px 36px}._inputErrorLightLTR_1nio0_62::placeholder{font-family:var(--font-stack);font-size:16px}._inputErrorLightLTR_1nio0_62::placeholder{color:#737373}._inputErrorLightLTR_1nio0_62:focus{outline:2px solid #000}._inputErrorLightLTR_1nio0_62:focus-visible{outline:2px solid #c00}._inputErrorDarkLTR_1nio0_90{border:none;border-radius:8px;font-family:var(--font-stack);outline:none;background-color:#1a1a1a;color:#fff;outline:2px solid #FFB3B3;margin-right:8px;padding:15px 16px 15px 36px}._inputErrorDarkLTR_1nio0_90::placeholder{font-family:var(--font-stack);font-size:16px}._inputErrorDarkLTR_1nio0_90::placeholder{color:#bfbfbf}._inputErrorDarkLTR_1nio0_90:focus{outline:2px solid #FFF}._inputErrorDarkLTR_1nio0_90:focus-visible{outline:2px solid #FFB3B3}._inputLightRTL_1nio0_118{border:none;border-radius:8px;font-family:var(--font-stack);outline:none;background-color:#ededed;color:#292929;margin-left:8px;padding:15px 36px 15px 16px;text-align:right}._inputLightRTL_1nio0_118::placeholder{font-family:var(--font-stack);font-size:16px}._inputLightRTL_1nio0_118::placeholder{color:#737373}._inputLightRTL_1nio0_118:focus{outline:2px solid #000}._inputDarkRTL_1nio0_143{border:none;border-radius:8px;font-family:var(--font-stack);outline:none;background-color:#1a1a1a;color:#fff;margin-left:8px;padding:15px 36px 15px 16px;text-align:right}._inputDarkRTL_1nio0_143::placeholder{font-family:var(--font-stack);font-size:16px}._inputDarkRTL_1nio0_143::placeholder{color:#bfbfbf}._inputDarkRTL_1nio0_143:focus{outline:2px solid #FFF}._inputErrorLightRTL_1nio0_168{border:none;border-radius:8px;font-family:var(--font-stack);outline:none;background-color:#ededed;color:#292929;outline:2px solid #c00;margin-left:8px;padding:15px 36px 15px 16px;text-align:right}._inputErrorLightRTL_1nio0_168::placeholder{font-family:var(--font-stack);font-size:16px}._inputErrorLightRTL_1nio0_168::placeholder{color:#737373}._inputErrorLightRTL_1nio0_168:focus{outline:2px solid #000}._inputErrorLightRTL_1nio0_168:focus-visible{outline:2px solid #c00}._inputErrorDarkRTL_1nio0_197{border:none;border-radius:8px;font-family:var(--font-stack);outline:none;background-color:#1a1a1a;color:#fff;outline:2px solid #FFB3B3;margin-left:8px;padding:15px 36px 15px 16px;text-align:right}._inputErrorDarkRTL_1nio0_197::placeholder{font-family:var(--font-stack);font-size:16px}._inputErrorDarkRTL_1nio0_197::placeholder{color:#bfbfbf}._inputErrorDarkRTL_1nio0_197:focus{outline:2px solid #FFF}._inputErrorDarkRTL_1nio0_197:focus-visible{outline:2px solid #FFB3B3}._inputClearButtonLTR_t63ei_5{align-items:center;background:none;border:none;display:flex;height:20px;justify-content:center;padding:0;position:absolute;right:25px;top:11px;width:20px}._inputClearButtonRTL_t63ei_19{align-items:center;background:none;border:none;display:flex;height:20px;justify-content:center;left:25px;padding:0;position:absolute;top:11px;width:20px}._spinnerContainer_1noam_1{background-color:transparent;height:20px;width:20px}._spinnerDark_1noam_7{height:100%;width:100%;background:conic-gradient(#000 50%,#fff);clip-path:circle(50%);-webkit-mask-image:radial-gradient(circle at center,#0000 6.6666666667px,#000 6.6666666667px);mask-image:radial-gradient(circle at center,#0000 6.6666666667px,#000 6.6666666667px);animation:_spinning_1noam_1 1s linear infinite}._spinnerLight_1noam_16{height:100%;width:100%;background:conic-gradient(#737373 50%,#fff);clip-path:circle(50%);-webkit-mask-image:radial-gradient(circle at center,#0000 6.6666666667px,#000 6.6666666667px);mask-image:radial-gradient(circle at center,#0000 6.6666666667px,#000 6.6666666667px);animation:_spinning_1noam_1 1s linear infinite}@keyframes _spinning_1noam_1{0%{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}._inputCaptionLightLTR_f6rxj_5{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#404040}._inputCaptionDarkLTR_f6rxj_14{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#e6e6e6}._inputCaptionErrorLightLTR_f6rxj_23{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#900}._inputCaptionErrorDarkLTR_f6rxj_32{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#ffb3b3}._inputCaptionLightRTL_f6rxj_41{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#404040;text-align:right}._inputCaptionDarkRTL_f6rxj_51{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#e6e6e6;text-align:right}._inputCaptionErrorLightRTL_f6rxj_61{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#900;text-align:right}._inputCaptionErrorDarkRTL_f6rxj_71{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#ffb3b3;text-align:right}._inputIconLTR_cusap_5{height:20px;left:10px;position:absolute;top:11px;width:20px}._inputIconRTL_cusap_13{height:20px;position:absolute;right:10px;top:11px;width:20px}._labelLight_14iga_5{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#292929}._labelDark_14iga_14{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#fff}._buttonLight_97gf2_5{border-radius:8px;display:flex;font-family:var(--font-stack);font-size:16px;font-weight:700;line-height:20px;padding:11px 20px;position:relative;background-color:#000;border:1px solid #E6E6E6;color:#fff}._buttonLight_97gf2_5:hover{cursor:pointer}._buttonLight_97gf2_5:hover{background-color:#2e2e2e}._buttonLight_97gf2_5:focus{outline:2px solid #000000}._buttonDark_97gf2_28{border-radius:8px;display:flex;font-family:var(--font-stack);font-size:16px;font-weight:700;line-height:20px;padding:11px 20px;position:relative;background-color:#fff;border:1px solid #404040;color:#292929}._buttonDark_97gf2_28:hover{cursor:pointer}._buttonDark_97gf2_28:hover{background-color:#fafafa}._buttonDark_97gf2_28:focus{outline:2px solid #404040}._spinnerMarginRight_97gf2_51{left:4px;margin-right:4px;position:absolute}._spinnerMarginLeft_97gf2_57{left:4px;margin-left:4px;position:absolute}._buttonLabel_97gf2_63{animation:_right-and-back_97gf2_1 .2s;margin-left:4px;position:relative}@keyframes _right-and-back_97gf2_1{0%{right:-6px}50%{right:-12px}75%{right:-6px}to{right:0}}._errorMessageLight_1endn_5{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#900}._errorMessageDark_1endn_14{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-top:4px;color:#ffb3b3}._interactiveResultContainerLight_vyyhe_5{background-color:#fafafa;align-items:flex-start;border-radius:16px;display:flex;position:relative;flex-direction:column;gap:16px;padding:8px}@media (min-width: 600px){._interactiveResultContainerLight_vyyhe_5{flex-direction:row}}._interactiveResultContainerDark_vyyhe_21{background-color:#2e2e2e;align-items:flex-start;border-radius:16px;display:flex;position:relative;flex-direction:column;gap:16px;padding:8px}@media (min-width: 600px){._interactiveResultContainerDark_vyyhe_21{flex-direction:row}}._resultContainer_vyyhe_37{align-items:flex-start;display:flex;flex-direction:column;gap:16px}@media (min-width: 600px){._resultContainer_vyyhe_37{flex-direction:row}}._interactiveIconLarge_vyyhe_49{display:inline-block;position:absolute;right:5px;top:8px}@media (max-width: 600px){._interactiveIconLarge_vyyhe_49{display:none}}._interactiveIconSmall_vyyhe_61{position:absolute;right:5px;top:-2px;display:inline-block}@media (min-width: 600px){._interactiveIconSmall_vyyhe_61{display:none}}._imageContainer_vyyhe_73{max-height:540px;max-width:100%}@media (min-width: 600px){._imageContainer_vyyhe_73{max-height:100%;max-width:50%}}._contentContainer_vyyhe_84{max-height:100%;max-width:100%}@media (min-width: 600px){._contentContainer_vyyhe_84{max-width:50%}}._imageLight_vyyhe_94{aspect-ratio:2/1;border-radius:8px;max-height:100%;max-width:100%;border:1px solid #D9D9D9}._imageDark_vyyhe_102{aspect-ratio:2/1;border-radius:8px;max-height:100%;max-width:100%;border:1px solid #333}._headingLight_vyyhe_110{font-family:var(--font-stack);font-size:16px;font-weight:700;line-height:20px;margin-bottom:4px;margin-top:0;position:relative;color:#292929}._headingDark_vyyhe_121{font-family:var(--font-stack);font-size:16px;font-weight:700;line-height:20px;margin-bottom:4px;margin-top:0;position:relative;color:#fff}._subheadingLight_vyyhe_132{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-bottom:4px;margin-top:0;color:#737373}._subheadingDark_vyyhe_142{font-family:var(--font-stack);font-size:12px;font-weight:400;line-height:16px;margin-bottom:4px;margin-top:0;color:#bfbfbf}._bodyContentLight_vyyhe_152{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0;color:#404040}._bodyContentDark_vyyhe_162{font-family:var(--font-stack);font-size:16px;font-weight:400;line-height:20px;margin-bottom:4px;margin-top:0;color:#e6e6e6}:root{--font-stack: Helvetica, Arial, sans-serif}._resultsContainer_684vx_5{display:flex;flex-direction:column;justify-content:center;margin:100px 20px}._resultsContainer_684vx_5>p{align-self:center}._resultsContainer_684vx_5>div{margin-bottom:20px}._resultsContainer_684vx_5>div img{height:300px;width:200px}
package/package.json CHANGED
@@ -2,8 +2,8 @@
2
2
  "name": "@searchcraft/react-sdk",
3
3
  "private": false,
4
4
  "author": "Searchcraft",
5
- "version": "0.1.2",
6
- "description": "SearchCraft's React SDK.",
5
+ "version": "0.1.4",
6
+ "description": "SearchCraft React SDK.",
7
7
  "type": "module",
8
8
  "license": "Apache-2.0",
9
9
  "keywords": ["searchcraft"],