@twreporter/react-typescript-components 0.1.0-beta.15 → 0.1.0-beta.17
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/lib/button/constants.d.mts +2 -2
- package/lib/button/index.d.mts +4 -4
- package/lib/button/index.js +1 -1
- package/lib/button/index.mjs +1 -1
- package/lib/{button-hDNHA85d.mjs → button-D_AWI7r9.mjs} +8 -2
- package/lib/button-D_AWI7r9.mjs.map +1 -0
- package/lib/{button-D50NHdly.js → button-Dk0MxlKd.js} +8 -2
- package/lib/button-Dk0MxlKd.js.map +1 -0
- package/lib/constants/release-branch.d.mts +2 -2
- package/lib/constants/theme.d.mts +2 -2
- package/lib/{constants-BNxn_qJc.js → constants-91DoZaeP.js} +1 -1
- package/lib/{constants-BNxn_qJc.js.map → constants-91DoZaeP.js.map} +1 -1
- package/lib/constants-BGUGvo1A.d.ts +22 -0
- package/lib/constants-BP47D2l7.js +36 -0
- package/lib/constants-BP47D2l7.js.map +1 -0
- package/lib/{constants--CDeoDub.mjs → constants-BYqJQzQQ.mjs} +1 -1
- package/lib/{constants--CDeoDub.mjs.map → constants-BYqJQzQQ.mjs.map} +1 -1
- package/lib/{constants-Cb4Udkwt.d.mts → constants-BnVX84Yl.d.mts} +2 -2
- package/lib/{constants-nmH6p6-y.js → constants-BuIUKM2c.js} +1 -1
- package/lib/{constants-nmH6p6-y.js.map → constants-BuIUKM2c.js.map} +1 -1
- package/lib/{constants-B6oiTL1L.d.mts → constants-C2kTkuiJ.d.mts} +2 -2
- package/lib/{constants-CBjyeHSl.d.ts → constants-COhDITk3.d.ts} +1 -1
- package/lib/{constants-CVmr4VOP.d.mts → constants-Cg4dfRV_.d.mts} +2 -2
- package/lib/constants-CxHP9dkH.d.mts +22 -0
- package/lib/{constants-z9Q8ph_H.mjs → constants-Cz7n-nLz.mjs} +1 -1
- package/lib/{constants-z9Q8ph_H.mjs.map → constants-Cz7n-nLz.mjs.map} +1 -1
- package/lib/{constants-B_NgWFML.d.ts → constants-CzHmv07x.d.ts} +1 -1
- package/lib/constants-Dfgyc0ND.mjs +18 -0
- package/lib/constants-Dfgyc0ND.mjs.map +1 -0
- package/lib/{constants-D-mBwgNQ.d.mts → constants-P65Nafg1.d.mts} +2 -2
- package/lib/{constants-BqAhJjFv.d.mts → constants-oX1rftqQ.d.mts} +2 -2
- package/lib/customized-link/external-link.d.mts +2 -2
- package/lib/customized-link/external-link.js +1 -1
- package/lib/customized-link/external-link.mjs +1 -1
- package/lib/customized-link/index.d.mts +3 -3
- package/lib/customized-link/index.js +3 -3
- package/lib/customized-link/index.mjs +2 -2
- package/lib/customized-link/internal-link.d.mts +2 -2
- package/lib/customized-link/internal-link.js +1 -1
- package/lib/customized-link/type.d.mts +1 -1
- package/lib/{customized-link-DnaZxeKK.mjs → customized-link-DNKmWI0u.mjs} +2 -2
- package/lib/{customized-link-DnaZxeKK.mjs.map → customized-link-DNKmWI0u.mjs.map} +1 -1
- package/lib/{customized-link-DqW2a8oZ.js → customized-link-XNoMkeYw.js} +3 -3
- package/lib/{customized-link-DqW2a8oZ.js.map → customized-link-XNoMkeYw.js.map} +1 -1
- package/lib/divider/constants.d.mts +2 -2
- package/lib/divider/constants.js +1 -1
- package/lib/divider/constants.mjs +1 -1
- package/lib/divider/index.d.mts +2 -2
- package/lib/divider/index.js +2 -2
- package/lib/divider/index.mjs +2 -2
- package/lib/{divider-CE4u6SR5.mjs → divider-CEIxmAsH.mjs} +2 -2
- package/lib/{divider-CE4u6SR5.mjs.map → divider-CEIxmAsH.mjs.map} +1 -1
- package/lib/{divider-B1zvSjNJ.js → divider-Db3AhImD.js} +2 -2
- package/lib/{divider-B1zvSjNJ.js.map → divider-Db3AhImD.js.map} +1 -1
- package/lib/dropdown-menu/index.d.mts +1 -1
- package/lib/dropdown-menu/index.js +4 -4
- package/lib/dropdown-menu/index.mjs +3 -3
- package/lib/{dropdown-menu-D7VNOiIl.mjs → dropdown-menu-CuyS5r71.mjs} +2 -2
- package/lib/{dropdown-menu-D7VNOiIl.mjs.map → dropdown-menu-CuyS5r71.mjs.map} +1 -1
- package/lib/{dropdown-menu-BAqmP8qa.js → dropdown-menu-tbV9rhnw.js} +3 -3
- package/lib/{dropdown-menu-BAqmP8qa.js.map → dropdown-menu-tbV9rhnw.js.map} +1 -1
- package/lib/{external-link-DoBTwlV3.js → external-link-BMrkjNyi.js} +1 -1
- package/lib/{external-link-DoBTwlV3.js.map → external-link-BMrkjNyi.js.map} +1 -1
- package/lib/{external-link-DXT5ep5-.mjs → external-link-BykRRwmY.mjs} +1 -1
- package/lib/{external-link-DXT5ep5-.mjs.map → external-link-BykRRwmY.mjs.map} +1 -1
- package/lib/{external-link-goP_Ay-S.d.mts → external-link-khVeTReZ.d.mts} +2 -2
- package/lib/hamburger-menu/index.js +11 -8
- package/lib/hamburger-menu/index.mjs +10 -7
- package/lib/{hamburger-menu-b8Ck07ms.mjs → hamburger-menu-Ca6QMgF9.mjs} +17 -9
- package/lib/hamburger-menu-Ca6QMgF9.mjs.map +1 -0
- package/lib/{hamburger-menu-Dy0hnv0l.js → hamburger-menu-qrLPGpHF.js} +18 -10
- package/lib/hamburger-menu-qrLPGpHF.js.map +1 -0
- package/lib/header/index.d.mts +3 -3
- package/lib/header/index.js +57 -16
- package/lib/header/index.js.map +1 -1
- package/lib/header/index.mjs +56 -15
- package/lib/header/index.mjs.map +1 -1
- package/lib/{heading-BSEtBLuY.mjs → heading-BWuXn7wB.mjs} +1 -1
- package/lib/{heading-BSEtBLuY.mjs.map → heading-BWuXn7wB.mjs.map} +1 -1
- package/lib/{heading-CNS7rJIc.js → heading-DJepEhoE.js} +1 -1
- package/lib/{heading-CNS7rJIc.js.map → heading-DJepEhoE.js.map} +1 -1
- package/lib/hooks/index.d.mts +10 -0
- package/lib/hooks/index.d.ts +10 -0
- package/lib/hooks/index.js +6 -0
- package/lib/hooks/index.mjs +4 -0
- package/lib/hooks/use-outside-click.d.mts +2 -0
- package/lib/hooks/use-outside-click.d.ts +2 -0
- package/lib/hooks/use-outside-click.js +3 -0
- package/lib/hooks/use-outside-click.mjs +3 -0
- package/lib/hooks-DFV2v01e.mjs +8 -0
- package/lib/hooks-DFV2v01e.mjs.map +1 -0
- package/lib/hooks-Mt5N4Z2W.js +13 -0
- package/lib/hooks-Mt5N4Z2W.js.map +1 -0
- package/lib/icons/constants.d.mts +2 -2
- package/lib/icons/constants.d.ts +1 -1
- package/lib/icons/index.d.mts +3 -3
- package/lib/icons/index.d.ts +1 -1
- package/lib/{index-CYb6xr3M.d.mts → index-DaRD2S-9.d.mts} +1 -1
- package/lib/input/constants.d.mts +3 -0
- package/lib/input/constants.d.ts +3 -0
- package/lib/input/constants.js +5 -0
- package/lib/input/constants.mjs +3 -0
- package/lib/input/index.d.mts +44 -0
- package/lib/input/index.d.ts +44 -0
- package/lib/input/index.js +15 -0
- package/lib/input/index.mjs +13 -0
- package/lib/input/theme.d.mts +16 -0
- package/lib/input/theme.d.ts +16 -0
- package/lib/input/theme.js +4 -0
- package/lib/input/theme.mjs +4 -0
- package/lib/input-_Hl5B4_K.mjs +73 -0
- package/lib/input-_Hl5B4_K.mjs.map +1 -0
- package/lib/input-czWOItrW.js +88 -0
- package/lib/input-czWOItrW.js.map +1 -0
- package/lib/{internal-link-B9ExuJfg.js → internal-link-BLXTBMRq.js} +1 -1
- package/lib/{internal-link-B9ExuJfg.js.map → internal-link-BLXTBMRq.js.map} +1 -1
- package/lib/{internal-link-Ciu7CWSY.d.mts → internal-link-BSb3__eR.d.mts} +2 -2
- package/lib/logo/constants.d.mts +2 -2
- package/lib/logo/constants.d.ts +1 -1
- package/lib/logo/index.d.mts +8 -8
- package/lib/logo/index.d.ts +6 -6
- package/lib/{release-branch-BqeBsvrl.d.mts → release-branch-8qGtkKtd.d.mts} +2 -2
- package/lib/styles.css +104 -9
- package/lib/tab-bar/constants.d.mts +3 -3
- package/lib/tab-bar/constants.js +1 -1
- package/lib/tab-bar/constants.mjs +1 -1
- package/lib/tab-bar/index.js +7 -7
- package/lib/tab-bar/index.mjs +6 -6
- package/lib/tab-bar/theme.d.mts +2 -2
- package/lib/tab-bar/theme.js +1 -1
- package/lib/tab-bar/theme.mjs +1 -1
- package/lib/{tab-bar-Dv2TkUW1.js → tab-bar-Binq1EhQ.js} +7 -7
- package/lib/{tab-bar-Dv2TkUW1.js.map → tab-bar-Binq1EhQ.js.map} +1 -1
- package/lib/{tab-bar-SYrjAH5q.mjs → tab-bar-BqiC7-Lw.mjs} +6 -6
- package/lib/{tab-bar-SYrjAH5q.mjs.map → tab-bar-BqiC7-Lw.mjs.map} +1 -1
- package/lib/text/constants.d.mts +2 -2
- package/lib/text/heading.d.mts +2 -2
- package/lib/text/heading.js +1 -1
- package/lib/text/heading.mjs +1 -1
- package/lib/text/paragraph.d.mts +2 -2
- package/lib/{theme-lCi6tmmS.d.mts → theme-B9CWW8U9.d.mts} +2 -2
- package/lib/{theme-W--MzZEH.js → theme-BOMyqC4d.js} +1 -1
- package/lib/{theme-W--MzZEH.js.map → theme-BOMyqC4d.js.map} +1 -1
- package/lib/theme-CIEkzycI.js +43 -0
- package/lib/theme-CIEkzycI.js.map +1 -0
- package/lib/theme-CkSx7UX3.mjs +38 -0
- package/lib/theme-CkSx7UX3.mjs.map +1 -0
- package/lib/{theme-DQCIQh_8.mjs → theme-PhMjSVv9.mjs} +1 -1
- package/lib/{theme-DQCIQh_8.mjs.map → theme-PhMjSVv9.mjs.map} +1 -1
- package/lib/title-bar/index.d.mts +4 -4
- package/lib/title-bar/index.d.ts +4 -4
- package/lib/title-bar/index.js +5 -5
- package/lib/title-bar/index.mjs +4 -4
- package/lib/{type-2Go0njwa.d.mts → type-4zpM3Fk5.d.mts} +1 -1
- package/lib/types/index.d.mts +1 -1
- package/lib/use-outside-click-436PXIeY.js +27 -0
- package/lib/use-outside-click-436PXIeY.js.map +1 -0
- package/lib/use-outside-click-Bz_v9VCq.mjs +20 -0
- package/lib/use-outside-click-Bz_v9VCq.mjs.map +1 -0
- package/lib/use-outside-click-CHxRFaTZ.d.ts +7 -0
- package/lib/use-outside-click-DToGSYRk.d.mts +7 -0
- package/package.json +3 -3
- package/lib/button-D50NHdly.js.map +0 -1
- package/lib/button-hDNHA85d.mjs.map +0 -1
- package/lib/hamburger-menu-Dy0hnv0l.js.map +0 -1
- package/lib/hamburger-menu-b8Ck07ms.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-_Hl5B4_K.mjs","names":["SearchBar: FC<SearchBarProps> & {\n Theme: typeof THEME\n WidthType: typeof WIDTH_TYPE\n}","IconButton"],"sources":["../src/input/components/search-bar.tsx","../src/input/index.ts"],"sourcesContent":["import { useState } from 'react'\nimport type { FC, FormEvent, ChangeEvent } from 'react'\nimport clsx from 'clsx'\n// constants\nimport { THEME, type Theme } from '../../constants/theme'\nimport {\n RELEASE_BRANCH,\n type ReleaseBranch,\n} from '../../constants/release-branch'\nimport { WIDTH_TYPE, type WidthType } from '../constants'\n// theme\nimport { selectThemeStyle } from '../theme'\n// icons\nimport { Cross, Search } from '../../icons'\n// button\nimport { IconButton } from '../../button'\n\nconst defaultFunc = () => {}\ntype SearchBarProps = {\n placeholder?: string\n theme?: Theme\n releaseBranch?: ReleaseBranch\n onSearch?: (keywords: string) => void\n onClose?: () => void\n handleBlur?: () => void\n autoFocus?: boolean\n widthType?: WidthType\n className?: string\n}\nconst SearchBar: FC<SearchBarProps> & {\n Theme: typeof THEME\n WidthType: typeof WIDTH_TYPE\n} = ({\n placeholder = '',\n theme = THEME.normal,\n releaseBranch = RELEASE_BRANCH.master,\n onSearch = defaultFunc,\n onClose = defaultFunc,\n handleBlur = defaultFunc,\n autoFocus = true,\n widthType = WIDTH_TYPE.fit,\n className = '',\n}) => {\n const [keywords, setKeywords] = useState('')\n const [focus, setFocus] = useState(false)\n const {\n bgColor,\n focusBgColor,\n desktopBgColor,\n borderColor,\n color,\n focusColor,\n placeholderColor,\n } = selectThemeStyle(theme)\n const onFocus = () => setFocus(true)\n const onBlur = () => {\n setFocus(false)\n handleBlur()\n }\n const onSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n onSearch(keywords)\n }\n const onChange = (e: ChangeEvent<HTMLInputElement>) => {\n const input = e.currentTarget.value\n setKeywords(input)\n }\n const onReset = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n setKeywords('')\n }\n\n return (\n <form\n className={clsx(\n 'flex items-center',\n widthType === WIDTH_TYPE.stretch ? 'w-full' : 'w-fit',\n className\n )}\n noValidate\n onSubmit={onSubmit}\n onReset={onReset}\n onFocus={onFocus}\n >\n <div\n className={clsx(\n 'flex items-center py-[8px] px-[16px] rounded-[40px] border-[1px] border-solid gap-[8px]',\n bgColor,\n widthType === WIDTH_TYPE.stretch ? 'w-full' : 'w-fit',\n focus\n ? clsx(focusBgColor, borderColor, desktopBgColor)\n : 'border-transparent'\n )}\n >\n <input\n type=\"search\"\n placeholder={placeholder}\n value={keywords}\n onChange={onChange}\n onBlur={onBlur}\n // biome-ignore lint/a11y/noAutofocus: autoFocus is intentionally used to focus the search input for better UX\n autoFocus={autoFocus}\n className={clsx(\n 'h-[24px] text-[14px] focus-visible:border-0',\n 'focus-visible:outline-0 focus-visible:border-transparent [&::-webkit-search-cancel-button]:hidden',\n widthType === WIDTH_TYPE.stretch ? 'w-full' : 'w-fit',\n color,\n placeholderColor,\n focusColor\n )}\n />\n <IconButton\n theme={theme}\n iconComponent={Search(releaseBranch)}\n onClick={() => onSearch(keywords)}\n />\n </div>\n <IconButton\n theme={theme}\n iconComponent={Cross(releaseBranch)}\n onClick={onClose}\n className={clsx('ml-[8px] hidden', 'desktop:inline-flex')}\n />\n </form>\n )\n}\nSearchBar.Theme = THEME\nSearchBar.WidthType = WIDTH_TYPE\n\nexport default SearchBar\n","import SearchBar from './components/search-bar'\n\nexport { SearchBar }\n\nexport default {\n SearchBar,\n}\n"],"mappings":";;;;;;;;;;;AAiBA,MAAM,oBAAoB;AAY1B,MAAMA,aAGD,EACH,cAAc,IACd,QAAQ,MAAM,QACd,gBAAgB,eAAe,QAC/B,WAAW,aACX,UAAU,aACV,aAAa,aACb,YAAY,MACZ,YAAY,WAAW,KACvB,YAAY,SACR;CACJ,MAAM,CAAC,UAAU,eAAe,SAAS,GAAG;CAC5C,MAAM,CAAC,OAAO,YAAY,SAAS,MAAM;CACzC,MAAM,EACJ,SACA,cACA,gBACA,aACA,OACA,YACA,qBACE,iBAAiB,MAAM;CAC3B,MAAM,gBAAgB,SAAS,KAAK;CACpC,MAAM,eAAe;AACnB,WAAS,MAAM;AACf,cAAY;;CAEd,MAAM,YAAY,MAAkC;AAClD,IAAE,gBAAgB;AAClB,WAAS,SAAS;;CAEpB,MAAM,YAAY,MAAqC;EACrD,MAAM,QAAQ,EAAE,cAAc;AAC9B,cAAY,MAAM;;CAEpB,MAAM,WAAW,MAAkC;AACjD,IAAE,gBAAgB;AAClB,cAAY,GAAG;;AAGjB,QACE,qBAAC;EACC,WAAW,KACT,qBACA,cAAc,WAAW,UAAU,WAAW,SAC9C,UACD;EACD;EACU;EACD;EACA;aAET,qBAAC;GACC,WAAW,KACT,2FACA,SACA,cAAc,WAAW,UAAU,WAAW,SAC9C,QACI,KAAK,cAAc,aAAa,eAAe,GAC/C,qBACL;cAED,oBAAC;IACC,MAAK;IACQ;IACb,OAAO;IACG;IACF;IAEG;IACX,WAAW,KACT,+CACA,qGACA,cAAc,WAAW,UAAU,WAAW,SAC9C,OACA,kBACA,WACD;KACD,EACF,oBAACC;IACQ;IACP,eAAe,OAAO,cAAc;IACpC,eAAe,SAAS,SAAS;KACjC;IACE,EACN,oBAACA;GACQ;GACP,eAAe,MAAM,cAAc;GACnC,SAAS;GACT,WAAW,KAAK,mBAAmB,sBAAsB;IACzD;GACG;;AAGX,UAAU,QAAQ;AAClB,UAAU,YAAY;AAEtB,yBAAe;;;;AC7Hf,oBAAe,EACb,+BACD"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
const require_chunk = require('./chunk-BxBTb9qk.js');
|
|
2
|
+
const require_theme = require('./theme-DDBlIbeS.js');
|
|
3
|
+
const require_button = require('./button-Dk0MxlKd.js');
|
|
4
|
+
const require_release_branch = require('./release-branch-CRZV4Ivz.js');
|
|
5
|
+
const require_icons = require('./icons-qP5oNB0W.js');
|
|
6
|
+
const require_constants = require('./constants-BP47D2l7.js');
|
|
7
|
+
const require_theme$1 = require('./theme-CIEkzycI.js');
|
|
8
|
+
let react = require("react");
|
|
9
|
+
react = require_chunk.__toESM(react);
|
|
10
|
+
let clsx = require("clsx");
|
|
11
|
+
clsx = require_chunk.__toESM(clsx);
|
|
12
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
13
|
+
react_jsx_runtime = require_chunk.__toESM(react_jsx_runtime);
|
|
14
|
+
|
|
15
|
+
//#region src/input/components/search-bar.tsx
|
|
16
|
+
const defaultFunc = () => {};
|
|
17
|
+
const SearchBar = ({ placeholder = "", theme = require_theme.THEME.normal, releaseBranch = require_release_branch.RELEASE_BRANCH.master, onSearch = defaultFunc, onClose = defaultFunc, handleBlur = defaultFunc, autoFocus = true, widthType = require_constants.WIDTH_TYPE.fit, className = "" }) => {
|
|
18
|
+
const [keywords, setKeywords] = (0, react.useState)("");
|
|
19
|
+
const [focus, setFocus] = (0, react.useState)(false);
|
|
20
|
+
const { bgColor, focusBgColor, desktopBgColor, borderColor, color, focusColor, placeholderColor } = require_theme$1.selectThemeStyle(theme);
|
|
21
|
+
const onFocus = () => setFocus(true);
|
|
22
|
+
const onBlur = () => {
|
|
23
|
+
setFocus(false);
|
|
24
|
+
handleBlur();
|
|
25
|
+
};
|
|
26
|
+
const onSubmit = (e) => {
|
|
27
|
+
e.preventDefault();
|
|
28
|
+
onSearch(keywords);
|
|
29
|
+
};
|
|
30
|
+
const onChange = (e) => {
|
|
31
|
+
const input = e.currentTarget.value;
|
|
32
|
+
setKeywords(input);
|
|
33
|
+
};
|
|
34
|
+
const onReset = (e) => {
|
|
35
|
+
e.preventDefault();
|
|
36
|
+
setKeywords("");
|
|
37
|
+
};
|
|
38
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("form", {
|
|
39
|
+
className: (0, clsx.default)("flex items-center", widthType === require_constants.WIDTH_TYPE.stretch ? "w-full" : "w-fit", className),
|
|
40
|
+
noValidate: true,
|
|
41
|
+
onSubmit,
|
|
42
|
+
onReset,
|
|
43
|
+
onFocus,
|
|
44
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
45
|
+
className: (0, clsx.default)("flex items-center py-[8px] px-[16px] rounded-[40px] border-[1px] border-solid gap-[8px]", bgColor, widthType === require_constants.WIDTH_TYPE.stretch ? "w-full" : "w-fit", focus ? (0, clsx.default)(focusBgColor, borderColor, desktopBgColor) : "border-transparent"),
|
|
46
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
47
|
+
type: "search",
|
|
48
|
+
placeholder,
|
|
49
|
+
value: keywords,
|
|
50
|
+
onChange,
|
|
51
|
+
onBlur,
|
|
52
|
+
autoFocus,
|
|
53
|
+
className: (0, clsx.default)("h-[24px] text-[14px] focus-visible:border-0", "focus-visible:outline-0 focus-visible:border-transparent [&::-webkit-search-cancel-button]:hidden", widthType === require_constants.WIDTH_TYPE.stretch ? "w-full" : "w-fit", color, placeholderColor, focusColor)
|
|
54
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.icon_button_default, {
|
|
55
|
+
theme,
|
|
56
|
+
iconComponent: require_icons.Search(releaseBranch),
|
|
57
|
+
onClick: () => onSearch(keywords)
|
|
58
|
+
})]
|
|
59
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.icon_button_default, {
|
|
60
|
+
theme,
|
|
61
|
+
iconComponent: require_icons.Cross(releaseBranch),
|
|
62
|
+
onClick: onClose,
|
|
63
|
+
className: (0, clsx.default)("ml-[8px] hidden", "desktop:inline-flex")
|
|
64
|
+
})]
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
SearchBar.Theme = require_theme.THEME;
|
|
68
|
+
SearchBar.WidthType = require_constants.WIDTH_TYPE;
|
|
69
|
+
var search_bar_default = SearchBar;
|
|
70
|
+
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region src/input/index.ts
|
|
73
|
+
var input_default = { SearchBar: search_bar_default };
|
|
74
|
+
|
|
75
|
+
//#endregion
|
|
76
|
+
Object.defineProperty(exports, 'input_default', {
|
|
77
|
+
enumerable: true,
|
|
78
|
+
get: function () {
|
|
79
|
+
return input_default;
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
Object.defineProperty(exports, 'search_bar_default', {
|
|
83
|
+
enumerable: true,
|
|
84
|
+
get: function () {
|
|
85
|
+
return search_bar_default;
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
//# sourceMappingURL=input-czWOItrW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-czWOItrW.js","names":["SearchBar: FC<SearchBarProps> & {\n Theme: typeof THEME\n WidthType: typeof WIDTH_TYPE\n}","THEME","RELEASE_BRANCH","WIDTH_TYPE","selectThemeStyle","IconButton","Search","Cross"],"sources":["../src/input/components/search-bar.tsx","../src/input/index.ts"],"sourcesContent":["import { useState } from 'react'\nimport type { FC, FormEvent, ChangeEvent } from 'react'\nimport clsx from 'clsx'\n// constants\nimport { THEME, type Theme } from '../../constants/theme'\nimport {\n RELEASE_BRANCH,\n type ReleaseBranch,\n} from '../../constants/release-branch'\nimport { WIDTH_TYPE, type WidthType } from '../constants'\n// theme\nimport { selectThemeStyle } from '../theme'\n// icons\nimport { Cross, Search } from '../../icons'\n// button\nimport { IconButton } from '../../button'\n\nconst defaultFunc = () => {}\ntype SearchBarProps = {\n placeholder?: string\n theme?: Theme\n releaseBranch?: ReleaseBranch\n onSearch?: (keywords: string) => void\n onClose?: () => void\n handleBlur?: () => void\n autoFocus?: boolean\n widthType?: WidthType\n className?: string\n}\nconst SearchBar: FC<SearchBarProps> & {\n Theme: typeof THEME\n WidthType: typeof WIDTH_TYPE\n} = ({\n placeholder = '',\n theme = THEME.normal,\n releaseBranch = RELEASE_BRANCH.master,\n onSearch = defaultFunc,\n onClose = defaultFunc,\n handleBlur = defaultFunc,\n autoFocus = true,\n widthType = WIDTH_TYPE.fit,\n className = '',\n}) => {\n const [keywords, setKeywords] = useState('')\n const [focus, setFocus] = useState(false)\n const {\n bgColor,\n focusBgColor,\n desktopBgColor,\n borderColor,\n color,\n focusColor,\n placeholderColor,\n } = selectThemeStyle(theme)\n const onFocus = () => setFocus(true)\n const onBlur = () => {\n setFocus(false)\n handleBlur()\n }\n const onSubmit = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n onSearch(keywords)\n }\n const onChange = (e: ChangeEvent<HTMLInputElement>) => {\n const input = e.currentTarget.value\n setKeywords(input)\n }\n const onReset = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n setKeywords('')\n }\n\n return (\n <form\n className={clsx(\n 'flex items-center',\n widthType === WIDTH_TYPE.stretch ? 'w-full' : 'w-fit',\n className\n )}\n noValidate\n onSubmit={onSubmit}\n onReset={onReset}\n onFocus={onFocus}\n >\n <div\n className={clsx(\n 'flex items-center py-[8px] px-[16px] rounded-[40px] border-[1px] border-solid gap-[8px]',\n bgColor,\n widthType === WIDTH_TYPE.stretch ? 'w-full' : 'w-fit',\n focus\n ? clsx(focusBgColor, borderColor, desktopBgColor)\n : 'border-transparent'\n )}\n >\n <input\n type=\"search\"\n placeholder={placeholder}\n value={keywords}\n onChange={onChange}\n onBlur={onBlur}\n // biome-ignore lint/a11y/noAutofocus: autoFocus is intentionally used to focus the search input for better UX\n autoFocus={autoFocus}\n className={clsx(\n 'h-[24px] text-[14px] focus-visible:border-0',\n 'focus-visible:outline-0 focus-visible:border-transparent [&::-webkit-search-cancel-button]:hidden',\n widthType === WIDTH_TYPE.stretch ? 'w-full' : 'w-fit',\n color,\n placeholderColor,\n focusColor\n )}\n />\n <IconButton\n theme={theme}\n iconComponent={Search(releaseBranch)}\n onClick={() => onSearch(keywords)}\n />\n </div>\n <IconButton\n theme={theme}\n iconComponent={Cross(releaseBranch)}\n onClick={onClose}\n className={clsx('ml-[8px] hidden', 'desktop:inline-flex')}\n />\n </form>\n )\n}\nSearchBar.Theme = THEME\nSearchBar.WidthType = WIDTH_TYPE\n\nexport default SearchBar\n","import SearchBar from './components/search-bar'\n\nexport { SearchBar }\n\nexport default {\n SearchBar,\n}\n"],"mappings":";;;;;;;;;;;;;;;AAiBA,MAAM,oBAAoB;AAY1B,MAAMA,aAGD,EACH,cAAc,IACd,QAAQC,oBAAM,QACd,gBAAgBC,sCAAe,QAC/B,WAAW,aACX,UAAU,aACV,aAAa,aACb,YAAY,MACZ,YAAYC,6BAAW,KACvB,YAAY,SACR;CACJ,MAAM,CAAC,UAAU,mCAAwB,GAAG;CAC5C,MAAM,CAAC,OAAO,gCAAqB,MAAM;CACzC,MAAM,EACJ,SACA,cACA,gBACA,aACA,OACA,YACA,qBACEC,iCAAiB,MAAM;CAC3B,MAAM,gBAAgB,SAAS,KAAK;CACpC,MAAM,eAAe;AACnB,WAAS,MAAM;AACf,cAAY;;CAEd,MAAM,YAAY,MAAkC;AAClD,IAAE,gBAAgB;AAClB,WAAS,SAAS;;CAEpB,MAAM,YAAY,MAAqC;EACrD,MAAM,QAAQ,EAAE,cAAc;AAC9B,cAAY,MAAM;;CAEpB,MAAM,WAAW,MAAkC;AACjD,IAAE,gBAAgB;AAClB,cAAY,GAAG;;AAGjB,QACE,4CAAC;EACC,6BACE,qBACA,cAAcD,6BAAW,UAAU,WAAW,SAC9C,UACD;EACD;EACU;EACD;EACA;aAET,4CAAC;GACC,6BACE,2FACA,SACA,cAAcA,6BAAW,UAAU,WAAW,SAC9C,0BACS,cAAc,aAAa,eAAe,GAC/C,qBACL;cAED,2CAAC;IACC,MAAK;IACQ;IACb,OAAO;IACG;IACF;IAEG;IACX,6BACE,+CACA,qGACA,cAAcA,6BAAW,UAAU,WAAW,SAC9C,OACA,kBACA,WACD;KACD,EACF,2CAACE;IACQ;IACP,eAAeC,qBAAO,cAAc;IACpC,eAAe,SAAS,SAAS;KACjC;IACE,EACN,2CAACD;GACQ;GACP,eAAeE,oBAAM,cAAc;GACnC,SAAS;GACT,6BAAgB,mBAAmB,sBAAsB;IACzD;GACG;;AAGX,UAAU,QAAQN;AAClB,UAAU,YAAYE;AAEtB,yBAAe;;;;AC7Hf,oBAAe,EACb,+BACD"}
|