├── .env.development ├── .eslintignore ├── .eslintrc.json ├── .gitignore ├── .npmrc ├── .prettierignore ├── Dockerfile ├── README.md ├── SvgIcons ├── CustomApple.svg ├── CustomFacebook.svg ├── CustomGithub.svg ├── CustomGoogle.svg ├── CustomNpm.svg ├── CustomSaudiArabia.svg ├── CustomSpain.svg ├── CustomTurkey.svg └── CustomUsa.svg ├── global.d.ts ├── i18nConfig.ts ├── next.config.js ├── package.json ├── postcss.config.js ├── prettier.config.js ├── public ├── data.csv ├── example-sound-short.mp3 ├── example-sound.mp3 ├── features.json ├── next.svg └── vercel.svg ├── src ├── apiCalls │ └── ai-demos │ │ ├── generateAudioApiCall.ts │ │ ├── generateImageApiCall.ts │ │ ├── generateImageVariationApiCall.ts │ │ ├── postLangChainQuestionsApiCall.ts │ │ ├── postQuestionsApiCall.ts │ │ ├── postRAGQuestionsApiCall.ts │ │ ├── postSmartHrApiCall.ts │ │ ├── postSpeechToTextApiCall.ts │ │ ├── replaceObjectApiCall.ts │ │ └── sketchToImageApiCall.ts ├── app │ ├── [locale] │ │ ├── (home) │ │ │ ├── _client.tsx │ │ │ ├── _partial │ │ │ │ ├── Balance1.partial.tsx │ │ │ │ ├── Balance2.partial.tsx │ │ │ │ ├── Balance3.partial.tsx │ │ │ │ ├── Balance4.partial.tsx │ │ │ │ ├── Chart.partial.tsx │ │ │ │ ├── Comment.partial.tsx │ │ │ │ ├── Days.partial.tsx │ │ │ │ ├── PeriodButtons.partial.tsx │ │ │ │ ├── Table.partial.tsx │ │ │ │ └── Timeline.partial.tsx │ │ │ └── page.tsx │ │ ├── _app.tsx │ │ ├── _providers.tsx │ │ ├── ai │ │ │ ├── _common │ │ │ │ ├── AIChatContainer.common.tsx │ │ │ │ ├── AIChatInputContainer.common.tsx │ │ │ │ ├── AIChatItemContainer.common.tsx │ │ │ │ └── jds │ │ │ │ │ └── JdPreview.common.tsx │ │ │ ├── _partial │ │ │ │ └── AiSubheader.partial.tsx │ │ │ ├── chat │ │ │ │ ├── chat-bot │ │ │ │ │ ├── client.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── code │ │ │ │ │ ├── client.tsx │ │ │ │ │ ├── code1.md │ │ │ │ │ ├── code2.md │ │ │ │ │ └── page.tsx │ │ │ │ ├── lang-chain-chat │ │ │ │ │ ├── client.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── photo │ │ │ │ │ ├── client.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── rag-chat-bot │ │ │ │ │ ├── client.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── replace-object │ │ │ │ │ ├── client.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── segment-inpaint │ │ │ │ │ ├── client.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── sketch-to-image │ │ │ │ │ ├── client.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── smart-hr │ │ │ │ │ ├── client.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── speech-recognition │ │ │ │ │ ├── client.tsx │ │ │ │ │ └── page.tsx │ │ │ │ ├── text-to-speech │ │ │ │ │ ├── client.tsx │ │ │ │ │ └── page.tsx │ │ │ │ └── video │ │ │ │ │ ├── client.tsx │ │ │ │ │ └── page.tsx │ │ │ └── dashboard │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ ├── chat │ │ │ └── [slug] │ │ │ │ ├── _client.tsx │ │ │ │ ├── _common │ │ │ │ ├── ChatContainer.common.tsx │ │ │ │ ├── ChatInputContainer.common.tsx │ │ │ │ └── ChatItemContainer.common.tsx │ │ │ │ └── page.tsx │ │ ├── crm │ │ │ ├── customer │ │ │ │ ├── [slug] │ │ │ │ │ ├── client.tsx │ │ │ │ │ └── page.tsx │ │ │ │ └── list │ │ │ │ │ ├── client.tsx │ │ │ │ │ └── page.tsx │ │ │ ├── dashboard │ │ │ │ ├── _partial │ │ │ │ │ ├── Calendar.partial.tsx │ │ │ │ │ ├── Chart.partial.tsx │ │ │ │ │ ├── Map.partial.tsx │ │ │ │ │ ├── Mini1.partial.tsx │ │ │ │ │ ├── Mini2.partial.tsx │ │ │ │ │ ├── Mini3.partial.tsx │ │ │ │ │ ├── Mini4.partial.tsx │ │ │ │ │ ├── Mini5.partial.tsx │ │ │ │ │ ├── Mini6.partial.tsx │ │ │ │ │ ├── Reports.partial.tsx │ │ │ │ │ └── UserList.partial.tsx │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ └── role │ │ │ │ ├── [slug] │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ │ └── list │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ ├── form │ │ │ ├── checkbox-group │ │ │ │ ├── _md │ │ │ │ │ ├── CheckboxGroupExample1.md │ │ │ │ │ ├── CheckboxGroupExample2.md │ │ │ │ │ └── CheckboxGroupInterface.md │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ ├── checkbox │ │ │ │ ├── _md │ │ │ │ │ ├── CheckboxExample1.md │ │ │ │ │ ├── CheckboxExample2.md │ │ │ │ │ ├── CheckboxExample3.md │ │ │ │ │ └── CheckboxInterface.md │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ ├── field-wrap │ │ │ │ ├── _md │ │ │ │ │ ├── FieldWrapExample1.md │ │ │ │ │ ├── FieldWrapExample2.md │ │ │ │ │ └── FieldWrapInterface.md │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ ├── input │ │ │ │ ├── _md │ │ │ │ │ └── InputInterface.md │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ ├── label │ │ │ │ ├── _md │ │ │ │ │ ├── LabelExample1.md │ │ │ │ │ ├── LabelExample2.md │ │ │ │ │ └── LabelInterface.md │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ ├── radio │ │ │ │ ├── _md │ │ │ │ │ ├── RadioExample1.md │ │ │ │ │ ├── RadioExample2.md │ │ │ │ │ └── RadioInterface.md │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ ├── rich-text │ │ │ │ ├── _md │ │ │ │ │ ├── RichTextExample1.md │ │ │ │ │ └── RichTextInterface.md │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ ├── select-react │ │ │ │ ├── _md │ │ │ │ │ ├── ReactSelectInterface.md │ │ │ │ │ ├── SelectReactExample1.md │ │ │ │ │ └── SelectReactExample2.md │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ ├── select │ │ │ │ ├── _md │ │ │ │ │ ├── SelectExample1.md │ │ │ │ │ ├── SelectExample2.md │ │ │ │ │ └── SelectInterface.md │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ ├── textarea │ │ │ │ ├── _md │ │ │ │ │ └── TextareaInterface.md │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ └── validation │ │ │ │ ├── _md │ │ │ │ ├── ValidationExample1.md │ │ │ │ ├── ValidationExample2.md │ │ │ │ └── ValidationInterface.md │ │ │ │ ├── _partial │ │ │ │ ├── ValidationExample1.partial.tsx │ │ │ │ └── ValidationExample2.partial.tsx │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ ├── icons │ │ │ ├── _md │ │ │ │ └── IconInterface.md │ │ │ ├── client.tsx │ │ │ ├── duotone-icons │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ ├── heroicons │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ └── page.tsx │ │ ├── integrated │ │ │ ├── apex-charts │ │ │ │ ├── _md │ │ │ │ │ ├── ApexChartsExample1.md │ │ │ │ │ ├── ApexChartsExample2.md │ │ │ │ │ ├── ApexChartsExample3.md │ │ │ │ │ └── ApexChartsExample4.md │ │ │ │ ├── _partial │ │ │ │ │ ├── ApexChartsExample1.partial.tsx │ │ │ │ │ ├── ApexChartsExample2.partial.tsx │ │ │ │ │ ├── ApexChartsExample3.partial.tsx │ │ │ │ │ └── ApexChartsExample4.partial.tsx │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ ├── full-calendar │ │ │ │ ├── _md │ │ │ │ │ └── FullCalendarPageExample1.md │ │ │ │ ├── _partial │ │ │ │ │ └── FullCalendarExample1.partial.tsx │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ ├── react-date-range │ │ │ │ ├── _md │ │ │ │ │ ├── ReactDateRangeExample1.md │ │ │ │ │ └── ReactDateRangeExample2.md │ │ │ │ ├── _partial │ │ │ │ │ ├── ReactDateRangeExample1.partial.tsx │ │ │ │ │ └── ReactDateRangeExample2.partial.tsx │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ ├── react-simple-maps │ │ │ │ ├── _md │ │ │ │ │ ├── ReactSimpleMapsExample1.md │ │ │ │ │ ├── ReactSimpleMapsExample2.md │ │ │ │ │ ├── ReactSimpleMapsExample3.md │ │ │ │ │ └── ReactSimpleMapsExample4.md │ │ │ │ ├── _partial │ │ │ │ │ ├── ReactSimpleMapsExample1.partial.tsx │ │ │ │ │ ├── ReactSimpleMapsExample2.partial.tsx │ │ │ │ │ ├── ReactSimpleMapsExample3.partial.tsx │ │ │ │ │ └── ReactSimpleMapsExample4.partial.tsx │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ ├── rich-text │ │ │ │ └── page.tsx │ │ │ ├── select-react │ │ │ │ └── page.tsx │ │ │ └── wave-surfer │ │ │ │ ├── _md │ │ │ │ └── WaveSurferExample1.md │ │ │ │ ├── _partial │ │ │ │ └── WaveSurferExample1.partial.tsx │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ ├── login │ │ │ └── page.tsx │ │ ├── project │ │ │ ├── _helper │ │ │ │ └── helper.ts │ │ │ ├── _partial │ │ │ │ ├── Board.partial.tsx │ │ │ │ ├── ColumnCard.partial.tsx │ │ │ │ ├── ColumnCardWrapper.partial.tsx │ │ │ │ ├── Columns.partial.tsx │ │ │ │ ├── NewProjectButton.partial.tsx │ │ │ │ └── TaskEdit.partial.tsx │ │ │ ├── _types │ │ │ │ └── columns.type.ts │ │ │ ├── board │ │ │ │ └── [slug] │ │ │ │ │ ├── client.tsx │ │ │ │ │ └── page.tsx │ │ │ └── dashboard │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ ├── sales │ │ │ ├── category │ │ │ │ ├── [slug] │ │ │ │ │ ├── client.tsx │ │ │ │ │ └── page.tsx │ │ │ │ └── list │ │ │ │ │ ├── client.tsx │ │ │ │ │ └── page.tsx │ │ │ └── product │ │ │ │ ├── [slug] │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ │ │ └── list │ │ │ │ ├── client.tsx │ │ │ │ └── page.tsx │ │ └── ui │ │ │ ├── alert │ │ │ ├── _md │ │ │ │ ├── AlertExample1.md │ │ │ │ ├── AlertExample2.md │ │ │ │ └── AlertInterface.md │ │ │ ├── client.tsx │ │ │ └── page.tsx │ │ │ ├── badge │ │ │ ├── _md │ │ │ │ ├── BadgeExample1.md │ │ │ │ └── BadgeInterface.md │ │ │ ├── client.tsx │ │ │ └── page.tsx │ │ │ ├── button-group │ │ │ ├── _md │ │ │ │ ├── ButtonGroupExample1.md │ │ │ │ ├── ButtonGroupExample2.md │ │ │ │ └── ButtonGroupInterface.md │ │ │ ├── client.tsx │ │ │ └── page.tsx │ │ │ ├── button │ │ │ ├── _md │ │ │ │ ├── ButtonExample1.md │ │ │ │ ├── ButtonExample2.md │ │ │ │ └── ButtonInterface.md │ │ │ ├── client.tsx │ │ │ └── page.tsx │ │ │ ├── card │ │ │ ├── _md │ │ │ │ ├── CardExample1.md │ │ │ │ ├── CardExample2.md │ │ │ │ └── CardInterface.md │ │ │ ├── client.tsx │ │ │ └── page.tsx │ │ │ ├── collapse │ │ │ ├── _md │ │ │ │ ├── CollapseExample1.md │ │ │ │ ├── CollapseExample2.md │ │ │ │ └── CollapseInterface.md │ │ │ ├── _partial │ │ │ │ ├── CollapseExample1.partial.tsx │ │ │ │ └── CollapseExample2.partial.tsx │ │ │ ├── client.tsx │ │ │ └── page.tsx │ │ │ ├── dropdown │ │ │ ├── _md │ │ │ │ ├── DropdownExample1.md │ │ │ │ ├── DropdownExample2.md │ │ │ │ ├── DropdownExample3.md │ │ │ │ └── DropdownInterface.md │ │ │ ├── client.tsx │ │ │ └── page.tsx │ │ │ ├── modal │ │ │ ├── _md │ │ │ │ ├── ModalExample1.md │ │ │ │ └── ModalInterface.md │ │ │ ├── client.tsx │ │ │ └── page.tsx │ │ │ ├── offcanvas │ │ │ ├── _md │ │ │ │ ├── OffcanvasExample1.md │ │ │ │ ├── OffcanvasExample2.md │ │ │ │ └── OffcanvasInterface.md │ │ │ ├── client.tsx │ │ │ └── page.tsx │ │ │ ├── progress │ │ │ ├── _md │ │ │ │ ├── ProgressExample1.md │ │ │ │ ├── ProgressExample2.md │ │ │ │ └── ProgressInterface.md │ │ │ ├── client.tsx │ │ │ └── page.tsx │ │ │ ├── table │ │ │ ├── _md │ │ │ │ ├── TableExample1.md │ │ │ │ ├── TableExample2.md │ │ │ │ ├── TableExample3.md │ │ │ │ └── TableInterface.md │ │ │ ├── _partial │ │ │ │ ├── Table.part.tsx │ │ │ │ ├── Table2.part.tsx │ │ │ │ └── Table3.part.tsx │ │ │ ├── client.tsx │ │ │ └── page.tsx │ │ │ └── tooltip │ │ │ ├── _md │ │ │ ├── TooltipExample1.md │ │ │ ├── TooltipExample2.md │ │ │ └── TooltipInterface.md │ │ │ ├── client.tsx │ │ │ └── page.tsx │ ├── api │ │ ├── auth │ │ │ ├── [...nextauth].ts │ │ │ └── [...nextauth] │ │ │ │ └── route.ts │ │ └── layout.tsx │ ├── favicon.ico │ └── styles │ │ ├── index.css │ │ └── vendors.css ├── assets │ ├── Cover.png │ ├── alex-motoc-0POwK6iAiRQ-unsplash-thumb.jpg │ ├── alex-motoc-0POwK6iAiRQ-unsplash.jpg │ ├── anomaly-oRskqiH7FNc-unsplash-thumb.jpg │ ├── anomaly-oRskqiH7FNc-unsplash.jpg │ ├── avatar │ │ ├── user1-thumb.png │ │ ├── user1.png │ │ ├── user2-thumb.png │ │ ├── user2.png │ │ ├── user3-thumb.png │ │ ├── user3.png │ │ ├── user4-thumb.png │ │ ├── user4.png │ │ ├── user5-thumb.png │ │ ├── user5.png │ │ ├── user6-thumb.png │ │ ├── user6.png │ │ ├── user7-thumb.png │ │ ├── user7.png │ │ ├── user8-thumb.png │ │ ├── user8.png │ │ ├── user9-thumb.png │ │ └── user9.png │ ├── c-d-x-PDX_a_82obo-unsplash-thumb.jpg │ ├── c-d-x-PDX_a_82obo-unsplash.jpg │ ├── eniko-kis-KsLPTsYaqIQ-unsplash-thumb.jpg │ ├── eniko-kis-KsLPTsYaqIQ-unsplash.jpg │ ├── erica-steeves-G_lwAp0TF38-unsplash-thumb.jpg │ ├── erica-steeves-G_lwAp0TF38-unsplash.jpg │ ├── florian-klauer-mk7D-4UCfmg-unsplash-thumb.jpg │ ├── florian-klauer-mk7D-4UCfmg-unsplash.jpg │ ├── humans │ │ ├── delivery_man_1.png │ │ └── delivery_man_5_with_dog.png │ ├── images.ts │ ├── irene-kredenets-dwKiHoqqxk8-unsplash-thumb.jpg │ ├── irene-kredenets-dwKiHoqqxk8-unsplash.jpg │ ├── isabella-fischer-6ast1xZ9YJY-unsplash-thumb.jpg │ ├── isabella-fischer-6ast1xZ9YJY-unsplash.jpg │ ├── joan-tran-reEySFadyJQ-unsplash-thumb.jpg │ ├── joan-tran-reEySFadyJQ-unsplash.jpg │ ├── kiran-ck-6rXpQzfCYlw-unsplash-thumb.jpg │ ├── kiran-ck-6rXpQzfCYlw-unsplash.jpg │ ├── kiran-ck-7KMhZqylgss-unsplash-thumb.jpg │ ├── kiran-ck-7KMhZqylgss-unsplash.jpg │ ├── kiran-ck-LSNJ-pltdu8-unsplash-thumb.jpg │ ├── kiran-ck-LSNJ-pltdu8-unsplash.jpg │ ├── kiran-ck-Lg4weBBGbLU-unsplash-thumb.jpg │ ├── kiran-ck-Lg4weBBGbLU-unsplash.jpg │ ├── kiran-ck-RZmiDOpv1lM-unsplash-thumb.jpg │ ├── kiran-ck-RZmiDOpv1lM-unsplash.jpg │ ├── kiran-ck-cDrIiiptFqE-unsplash-thumb.jpg │ ├── kiran-ck-cDrIiiptFqE-unsplash.jpg │ ├── kiran-ck-lSl94SZHRgA-unsplash-thumb.jpg │ ├── kiran-ck-lSl94SZHRgA-unsplash.jpg │ ├── kiran-ck-x_BppzRCBLs-unsplash-thumb.jpg │ ├── kiran-ck-x_BppzRCBLs-unsplash.jpg │ ├── logo.svg │ ├── mae-mu-GnWKTJlMYsQ-unsplash-thumb.jpg │ ├── mae-mu-GnWKTJlMYsQ-unsplash.jpg │ ├── marius-masalar-2rm8p0rKXiw-unsplash-thumb.jpg │ ├── marius-masalar-2rm8p0rKXiw-unsplash.jpg │ ├── mike-meyers-v8XaVfyo41Q-unsplash-thumb.jpg │ ├── mike-meyers-v8XaVfyo41Q-unsplash.jpg │ ├── milad-fakurian-58Z17lnVS4U-unsplash-thumb.jpg │ ├── milad-fakurian-58Z17lnVS4U-unsplash.jpg │ ├── milena-trifonova-pHqt1DsHCx0-unsplash-thumb.jpg │ ├── milena-trifonova-pHqt1DsHCx0-unsplash.jpg │ ├── mohammad-metri-E-0ON3VGrBc-unsplash-thumb.jpg │ ├── mohammad-metri-E-0ON3VGrBc-unsplash.jpg │ ├── nayam-27twCoUEAPM-unsplash.jpg │ ├── norbert-levajsics-dUx0gwLbhzs-unsplash-thumb.jpg │ ├── norbert-levajsics-dUx0gwLbhzs-unsplash.jpg │ ├── rachit-tank-2cFZ_FB08UM-unsplash-thumb.jpg │ ├── rachit-tank-2cFZ_FB08UM-unsplash.jpg │ ├── required │ │ ├── check.svg │ │ ├── chevron-down.svg │ │ ├── dark-switch-off.svg │ │ ├── dark:chevron-down.svg │ │ ├── switch-off.svg │ │ └── switch-on.svg │ ├── rianne-zuur-aeGLb-6DPp8-unsplash-thumb.jpg │ ├── rianne-zuur-aeGLb-6DPp8-unsplash.jpg │ ├── sincerely-media-0KwFuwdW7pU-unsplash-thumb.jpg │ ├── sincerely-media-0KwFuwdW7pU-unsplash.jpg │ ├── thought-catalog-o0Qqw21-0NI-unsplash-thumb.jpg │ └── thought-catalog-o0Qqw21-0NI-unsplash.jpg ├── components │ ├── Avatar.tsx │ ├── Balance.tsx │ ├── Calendar.tsx │ ├── Chart.tsx │ ├── Crisp.tsx │ ├── LoaderDots.common.tsx │ ├── MdViewer.tsx │ ├── Mounted.tsx │ ├── NextAuthProvider.tsx │ ├── RichText.tsx │ ├── Timeline.tsx │ ├── TranslationsProvider.tsx │ ├── WaveSurferPlayer.tsx │ ├── form │ │ ├── Checkbox.tsx │ │ ├── FieldWrap.tsx │ │ ├── Input.tsx │ │ ├── Label.tsx │ │ ├── Radio.tsx │ │ ├── Select.tsx │ │ ├── SelectReact.tsx │ │ ├── Textarea.tsx │ │ └── Validation.tsx │ ├── helper │ │ └── richtext.helper.tsx │ ├── icon │ │ ├── Icon.tsx │ │ ├── duotone │ │ │ ├── ActiveCall.tsx │ │ │ ├── AddMusic.tsx │ │ │ ├── AddUser.tsx │ │ │ ├── AddressBook1.tsx │ │ │ ├── AddressBook2.tsx │ │ │ ├── AddressCard.tsx │ │ │ ├── Adjust.tsx │ │ │ ├── AirBalloon.tsx │ │ │ ├── AirConditioning.tsx │ │ │ ├── AirDryer.tsx │ │ │ ├── Airplay.tsx │ │ │ ├── AirplayVideo.tsx │ │ │ ├── Airpods.tsx │ │ │ ├── AlarmClock.tsx │ │ │ ├── AlignAuto.tsx │ │ │ ├── AlignCenter.tsx │ │ │ ├── AlignJustify.tsx │ │ │ ├── AlignLeft.tsx │ │ │ ├── AlignRight.tsx │ │ │ ├── AnchorCenter.tsx │ │ │ ├── AnchorCenterDown.tsx │ │ │ ├── AnchorCenterUp.tsx │ │ │ ├── AnchorLeft.tsx │ │ │ ├── AnchorLeftDown.tsx │ │ │ ├── AnchorLeftUp.tsx │ │ │ ├── AnchorRight.tsx │ │ │ ├── AnchorRightDown.tsx │ │ │ ├── AnchorRightUp.tsx │ │ │ ├── Android.tsx │ │ │ ├── AngleDoubleDown.tsx │ │ │ ├── AngleDoubleLeft.tsx │ │ │ ├── AngleDoubleRight.tsx │ │ │ ├── AngleDoubleUp.tsx │ │ │ ├── AngleDown.tsx │ │ │ ├── AngleGrinder.tsx │ │ │ ├── AngleLeft.tsx │ │ │ ├── AngleRight.tsx │ │ │ ├── AngleUp.tsx │ │ │ ├── AppleWatch.tsx │ │ │ ├── Archive.tsx │ │ │ ├── Armchair.tsx │ │ │ ├── ArrowDown.tsx │ │ │ ├── ArrowFromBottom.tsx │ │ │ ├── ArrowFromLeft.tsx │ │ │ ├── ArrowFromRight.tsx │ │ │ ├── ArrowFromTop.tsx │ │ │ ├── ArrowLeft.tsx │ │ │ ├── ArrowRight.tsx │ │ │ ├── ArrowToBottom.tsx │ │ │ ├── ArrowToLeft.tsx │ │ │ ├── ArrowToRight.tsx │ │ │ ├── ArrowToUp.tsx │ │ │ ├── ArrowUp.tsx │ │ │ ├── Arrows.tsx │ │ │ ├── ArrowsH.tsx │ │ │ ├── ArrowsV.tsx │ │ │ ├── Article.tsx │ │ │ ├── Atm.tsx │ │ │ ├── Attachment1.tsx │ │ │ ├── Attachment2.tsx │ │ │ ├── Axe.tsx │ │ │ ├── Back.tsx │ │ │ ├── Backspace.tsx │ │ │ ├── Backward.tsx │ │ │ ├── Bag1.tsx │ │ │ ├── Bag2.tsx │ │ │ ├── BagChair.tsx │ │ │ ├── BakingGlove.tsx │ │ │ ├── Barcode.tsx │ │ │ ├── BarcodeRead.tsx │ │ │ ├── BarcodeScan.tsx │ │ │ ├── Bath.tsx │ │ │ ├── BatteryCharging.tsx │ │ │ ├── BatteryEmpty.tsx │ │ │ ├── BatteryFull.tsx │ │ │ ├── BatteryHalf.tsx │ │ │ ├── Bed.tsx │ │ │ ├── Beer.tsx │ │ │ ├── BezierCurve.tsx │ │ │ ├── Binocular.tsx │ │ │ ├── Bitcoin.tsx │ │ │ ├── Blender.tsx │ │ │ ├── Bluetooth.tsx │ │ │ ├── Bold.tsx │ │ │ ├── Book.tsx │ │ │ ├── BookOpen.tsx │ │ │ ├── Bookmark.tsx │ │ │ ├── Border.tsx │ │ │ ├── Bottle1.tsx │ │ │ ├── Bottle2.tsx │ │ │ ├── Bowl.tsx │ │ │ ├── Box.tsx │ │ │ ├── Box1.tsx │ │ │ ├── Box2.tsx │ │ │ ├── Box3.tsx │ │ │ ├── Brassiere.tsx │ │ │ ├── Bread.tsx │ │ │ ├── Briefcase.tsx │ │ │ ├── Broom.tsx │ │ │ ├── Brush.tsx │ │ │ ├── Brush1.tsx │ │ │ ├── Bucket.tsx │ │ │ ├── Bucket1.tsx │ │ │ ├── Building.tsx │ │ │ ├── Bulb1.tsx │ │ │ ├── Bulb2.tsx │ │ │ ├── BulletList.tsx │ │ │ ├── Burger.tsx │ │ │ ├── Cake.tsx │ │ │ ├── Calculator.tsx │ │ │ ├── Call.tsx │ │ │ ├── Call1.tsx │ │ │ ├── Camera.tsx │ │ │ ├── Cap.tsx │ │ │ ├── Cap1.tsx │ │ │ ├── Cap2.tsx │ │ │ ├── Cap3.tsx │ │ │ ├── CardboardVr.tsx │ │ │ ├── Carrot.tsx │ │ │ ├── Cart1.tsx │ │ │ ├── Cart2.tsx │ │ │ ├── Cart3.tsx │ │ │ ├── Cassette.tsx │ │ │ ├── Cd.tsx │ │ │ ├── Celsius.tsx │ │ │ ├── Chair1.tsx │ │ │ ├── Chair2.tsx │ │ │ ├── ChartBar1.tsx │ │ │ ├── ChartBar2.tsx │ │ │ ├── ChartBar3.tsx │ │ │ ├── ChartLine1.tsx │ │ │ ├── ChartLine2.tsx │ │ │ ├── ChartPie.tsx │ │ │ ├── Chat1.tsx │ │ │ ├── Chat2.tsx │ │ │ ├── Chat4.tsx │ │ │ ├── Chat5.tsx │ │ │ ├── Chat6.tsx │ │ │ ├── ChatCheck.tsx │ │ │ ├── ChatError.tsx │ │ │ ├── ChatLocked.tsx │ │ │ ├── ChatSmile.tsx │ │ │ ├── Check.tsx │ │ │ ├── Cheese.tsx │ │ │ ├── Chef.tsx │ │ │ ├── Chicken.tsx │ │ │ ├── Circle.tsx │ │ │ ├── Clip.tsx │ │ │ ├── Clipboard.tsx │ │ │ ├── ClipboardCheck.tsx │ │ │ ├── ClipboardList.tsx │ │ │ ├── Clock.tsx │ │ │ ├── Close.tsx │ │ │ ├── Cloud1.tsx │ │ │ ├── Cloud2.tsx │ │ │ ├── CloudDownload.tsx │ │ │ ├── CloudFog.tsx │ │ │ ├── CloudSun.tsx │ │ │ ├── CloudUpload.tsx │ │ │ ├── CloudWind.tsx │ │ │ ├── Cloudy.tsx │ │ │ ├── CloudyNight.tsx │ │ │ ├── Cmd.tsx │ │ │ ├── Code.tsx │ │ │ ├── Code1.tsx │ │ │ ├── Coffee1.tsx │ │ │ ├── Coffee2.tsx │ │ │ ├── Color.tsx │ │ │ ├── ColorProfile.tsx │ │ │ ├── Commit.tsx │ │ │ ├── Commode1.tsx │ │ │ ├── Commode2.tsx │ │ │ ├── Compass.tsx │ │ │ ├── Compass1.tsx │ │ │ ├── Compilation.tsx │ │ │ ├── CompiledFile.tsx │ │ │ ├── Compiling.tsx │ │ │ ├── Component.tsx │ │ │ ├── Contact1.tsx │ │ │ ├── Control.tsx │ │ │ ├── Cookie.tsx │ │ │ ├── CookingBook.tsx │ │ │ ├── CookingPot.tsx │ │ │ ├── Couch.tsx │ │ │ ├── Cpu1.tsx │ │ │ ├── Cpu2.tsx │ │ │ ├── CreditCard.tsx │ │ │ ├── Crop.tsx │ │ │ ├── Crown.tsx │ │ │ ├── Cursor.tsx │ │ │ ├── Curtains.tsx │ │ │ ├── CuttingBoard.tsx │ │ │ ├── DayRain.tsx │ │ │ ├── Deer.tsx │ │ │ ├── DeleteUser.tsx │ │ │ ├── DeletedFile.tsx │ │ │ ├── DeletedFolder.tsx │ │ │ ├── Diagnostics.tsx │ │ │ ├── DialNumbers.tsx │ │ │ ├── Difference.tsx │ │ │ ├── Dinner.tsx │ │ │ ├── Dinner1.tsx │ │ │ ├── Direction1.tsx │ │ │ ├── Direction2.tsx │ │ │ ├── Dish.tsx │ │ │ ├── Dishes.tsx │ │ │ ├── Dislike.tsx │ │ │ ├── Display1.tsx │ │ │ ├── Display2.tsx │ │ │ ├── Display3.tsx │ │ │ ├── Dollar.tsx │ │ │ ├── DoneCircle.tsx │ │ │ ├── DoorOpen.tsx │ │ │ ├── DoubleCheck.tsx │ │ │ ├── Down2.tsx │ │ │ ├── DownLeft.tsx │ │ │ ├── DownRight.tsx │ │ │ ├── Download.tsx │ │ │ ├── DownloadedFile.tsx │ │ │ ├── DownloadsFolder.tsx │ │ │ ├── Dress.tsx │ │ │ ├── Duplicate.tsx │ │ │ ├── Dvd.tsx │ │ │ ├── Earth.tsx │ │ │ ├── Edit.tsx │ │ │ ├── Edit1.tsx │ │ │ ├── EditText.tsx │ │ │ ├── Eject.tsx │ │ │ ├── Equalizer.tsx │ │ │ ├── Eraser.tsx │ │ │ ├── ErrorCircle.tsx │ │ │ ├── Euro.tsx │ │ │ ├── Exchange.tsx │ │ │ ├── ExpandArrows.tsx │ │ │ ├── Export.tsx │ │ │ ├── Fahrenheit.tsx │ │ │ ├── Fan.tsx │ │ │ ├── File.tsx │ │ │ ├── FileCloud.tsx │ │ │ ├── FileDone.tsx │ │ │ ├── FileMinus.tsx │ │ │ ├── FilePlus.tsx │ │ │ ├── Filter.tsx │ │ │ ├── Fire.tsx │ │ │ ├── Fireplace.tsx │ │ │ ├── Fish.tsx │ │ │ ├── Flag.tsx │ │ │ ├── Flashlight.tsx │ │ │ ├── Flatten.tsx │ │ │ ├── FlipHorizontal.tsx │ │ │ ├── FlipVertical.tsx │ │ │ ├── Flower1.tsx │ │ │ ├── Flower2.tsx │ │ │ ├── Flower3.tsx │ │ │ ├── Fog.tsx │ │ │ ├── Folder.tsx │ │ │ ├── Folder1.tsx │ │ │ ├── FolderCheck.tsx │ │ │ ├── FolderCloud.tsx │ │ │ ├── FolderError.tsx │ │ │ ├── FolderHeart.tsx │ │ │ ├── FolderMinus.tsx │ │ │ ├── FolderPlus.tsx │ │ │ ├── FolderSolid.tsx │ │ │ ├── FolderStar.tsx │ │ │ ├── FolderThunder.tsx │ │ │ ├── Font.tsx │ │ │ ├── Fork.tsx │ │ │ ├── ForkSpoon.tsx │ │ │ ├── ForkSpoonKnife.tsx │ │ │ ├── Forward.tsx │ │ │ ├── Forward1.tsx │ │ │ ├── FrenchBread.tsx │ │ │ ├── Fridge.tsx │ │ │ ├── FryingPan.tsx │ │ │ ├── Gameboy.tsx │ │ │ ├── Gamepad1.tsx │ │ │ ├── Gamepad2.tsx │ │ │ ├── GasStove.tsx │ │ │ ├── Generator.tsx │ │ │ ├── Gift.tsx │ │ │ ├── Git1.tsx │ │ │ ├── Git2.tsx │ │ │ ├── Git3.tsx │ │ │ ├── Git4.tsx │ │ │ ├── Github.tsx │ │ │ ├── GlassMartini.tsx │ │ │ ├── Globe.tsx │ │ │ ├── Grater.tsx │ │ │ ├── Group.tsx │ │ │ ├── GroupChat.tsx │ │ │ ├── GroupFolders.tsx │ │ │ ├── H1.tsx │ │ │ ├── H2.tsx │ │ │ ├── HalfHeart.tsx │ │ │ ├── HalfStar.tsx │ │ │ ├── Hanger.tsx │ │ │ ├── HardDrive.tsx │ │ │ ├── Hat.tsx │ │ │ ├── Headphones.tsx │ │ │ ├── Heart.tsx │ │ │ ├── Hidden.tsx │ │ │ ├── HighVoltage.tsx │ │ │ ├── Home.tsx │ │ │ ├── HomeHeart.tsx │ │ │ ├── Homepod.tsx │ │ │ ├── Horizontal.tsx │ │ │ ├── Hummer.tsx │ │ │ ├── Hummer2.tsx │ │ │ ├── IceCream1.tsx │ │ │ ├── IceCream2.tsx │ │ │ ├── Imac.tsx │ │ │ ├── Image.tsx │ │ │ ├── Import.tsx │ │ │ ├── IncomingBox.tsx │ │ │ ├── IncomingCall.tsx │ │ │ ├── IncomingMail.tsx │ │ │ ├── InfoCircle.tsx │ │ │ ├── InterSelect.tsx │ │ │ ├── IphoneBack.tsx │ │ │ ├── IphoneX.tsx │ │ │ ├── IphoneXBack.tsx │ │ │ ├── Iron.tsx │ │ │ ├── Italic.tsx │ │ │ ├── Join1.tsx │ │ │ ├── Join2.tsx │ │ │ ├── Join3.tsx │ │ │ ├── Kettle.tsx │ │ │ ├── Key.tsx │ │ │ ├── Keyboard.tsx │ │ │ ├── KitchenScale.tsx │ │ │ ├── Knife1.tsx │ │ │ ├── Knife2.tsx │ │ │ ├── KnifeFork1.tsx │ │ │ ├── KnifeFork2.tsx │ │ │ ├── Ladder.tsx │ │ │ ├── Ladle.tsx │ │ │ ├── Lamp1.tsx │ │ │ ├── Lamp2.tsx │ │ │ ├── Laptop.tsx │ │ │ ├── LaptopMacbook.tsx │ │ │ ├── Layers.tsx │ │ │ ├── Layout3D.tsx │ │ │ ├── Layout4Blocks.tsx │ │ │ ├── LayoutArrange.tsx │ │ │ ├── LayoutGrid.tsx │ │ │ ├── LayoutHorizontal.tsx │ │ │ ├── LayoutLeftPanel1.tsx │ │ │ ├── LayoutLeftPanel2.tsx │ │ │ ├── LayoutRightPanel1.tsx │ │ │ ├── LayoutRightPanel2.tsx │ │ │ ├── LayoutTopPanel1.tsx │ │ │ ├── LayoutTopPanel2.tsx │ │ │ ├── LayoutTopPanel3.tsx │ │ │ ├── LayoutTopPanel4.tsx │ │ │ ├── LayoutTopPanel5.tsx │ │ │ ├── LayoutTopPanel6.tsx │ │ │ ├── LayoutVertical.tsx │ │ │ ├── Left2.tsx │ │ │ ├── Left3.tsx │ │ │ ├── LeftCircle.tsx │ │ │ ├── Library.tsx │ │ │ ├── Like.tsx │ │ │ ├── Line.tsx │ │ │ ├── Loader.tsx │ │ │ ├── Loading.tsx │ │ │ ├── LocationArrow.tsx │ │ │ ├── Lock.tsx │ │ │ ├── LockCircle.tsx │ │ │ ├── LockOverturning.tsx │ │ │ ├── LockedFolder.tsx │ │ │ ├── Lte1.tsx │ │ │ ├── Lte2.tsx │ │ │ ├── Magic.tsx │ │ │ ├── Mail.tsx │ │ │ ├── MailAt.tsx │ │ │ ├── MailAttachment.tsx │ │ │ ├── MailError.tsx │ │ │ ├── MailHeart.tsx │ │ │ ├── MailLocked.tsx │ │ │ ├── MailNotification.tsx │ │ │ ├── MailOpened.tsx │ │ │ ├── MailUnlocked.tsx │ │ │ ├── Mailbox.tsx │ │ │ ├── Mailbox2.tsx │ │ │ ├── Marker1.tsx │ │ │ ├── Marker2.tsx │ │ │ ├── Mask.tsx │ │ │ ├── Mc.tsx │ │ │ ├── Media.tsx │ │ │ ├── MediaFolder.tsx │ │ │ ├── MediaLibrary1.tsx │ │ │ ├── MediaLibrary2.tsx │ │ │ ├── MediaLibrary3.tsx │ │ │ ├── Menu.tsx │ │ │ ├── Mic.tsx │ │ │ ├── Midi.tsx │ │ │ ├── Minus.tsx │ │ │ ├── Minus1.tsx │ │ │ ├── Mirror.tsx │ │ │ ├── MisoSoup.tsx │ │ │ ├── MissedCall.tsx │ │ │ ├── Mixer.tsx │ │ │ ├── Money.tsx │ │ │ ├── Moon.tsx │ │ │ ├── Mouse.tsx │ │ │ ├── MovieLane1.tsx │ │ │ ├── MovieLane2.tsx │ │ │ ├── Music.tsx │ │ │ ├── Music1.tsx │ │ │ ├── MusicCloud.tsx │ │ │ ├── MusicNote.tsx │ │ │ ├── Mute.tsx │ │ │ ├── Next.tsx │ │ │ ├── NightFog.tsx │ │ │ ├── NightRain.tsx │ │ │ ├── Notification2.tsx │ │ │ ├── Notifications1.tsx │ │ │ ├── Option.tsx │ │ │ ├── Orange.tsx │ │ │ ├── Other1.tsx │ │ │ ├── Other2.tsx │ │ │ ├── OutgoingBox.tsx │ │ │ ├── OutgoingCall.tsx │ │ │ ├── OutgoingMail.tsx │ │ │ ├── Outlet.tsx │ │ │ ├── Panties.tsx │ │ │ ├── Pantone.tsx │ │ │ ├── Paragraph.tsx │ │ │ ├── Patch.tsx │ │ │ ├── Pause.tsx │ │ │ ├── PenRuler.tsx │ │ │ ├── PenToolVector.tsx │ │ │ ├── Pencil.tsx │ │ │ ├── Phone.tsx │ │ │ ├── Picker.tsx │ │ │ ├── Picture.tsx │ │ │ ├── Pictures1.tsx │ │ │ ├── Pictures2.tsx │ │ │ ├── Pixels.tsx │ │ │ ├── Pizza.tsx │ │ │ ├── Play.tsx │ │ │ ├── Playlist1.tsx │ │ │ ├── Playlist2.tsx │ │ │ ├── Plus.tsx │ │ │ ├── Plus1.tsx │ │ │ ├── Polygon.tsx │ │ │ ├── Position.tsx │ │ │ ├── Position1.tsx │ │ │ ├── Pound.tsx │ │ │ ├── Price1.tsx │ │ │ ├── Price2.tsx │ │ │ ├── Printer.tsx │ │ │ ├── ProtectedFile.tsx │ │ │ ├── Puzzle.tsx │ │ │ ├── QuestionCircle.tsx │ │ │ ├── Quote1.tsx │ │ │ ├── Quote2.tsx │ │ │ ├── Radio.tsx │ │ │ ├── Rain1.tsx │ │ │ ├── Rain2.tsx │ │ │ ├── Rain5.tsx │ │ │ ├── Rainbow.tsx │ │ │ ├── RangeHood.tsx │ │ │ ├── ReadedMail.tsx │ │ │ ├── Rec.tsx │ │ │ ├── Rectangle.tsx │ │ │ ├── Redo.tsx │ │ │ ├── Repeat.tsx │ │ │ ├── RepeatOne.tsx │ │ │ ├── Reply.tsx │ │ │ ├── ReplyAll.tsx │ │ │ ├── Right.tsx │ │ │ ├── Right2.tsx │ │ │ ├── Right3.tsx │ │ │ ├── RightCircle.tsx │ │ │ ├── RoadCone.tsx │ │ │ ├── Roller.tsx │ │ │ ├── RollingPin.tsx │ │ │ ├── Rouble.tsx │ │ │ ├── Roulette.tsx │ │ │ ├── Route.tsx │ │ │ ├── Router1.tsx │ │ │ ├── Router2.tsx │ │ │ ├── Rss.tsx │ │ │ ├── Ruler.tsx │ │ │ ├── Sad.tsx │ │ │ ├── Safe.tsx │ │ │ ├── SafeChat.tsx │ │ │ ├── Sale1.tsx │ │ │ ├── Sale2.tsx │ │ │ ├── Saturation.tsx │ │ │ ├── Saucepan.tsx │ │ │ ├── Save.tsx │ │ │ ├── Scale.tsx │ │ │ ├── Scissors.tsx │ │ │ ├── Screwdriver.tsx │ │ │ ├── SdCard.tsx │ │ │ ├── Search.tsx │ │ │ ├── Select.tsx │ │ │ ├── SelectedFile.tsx │ │ │ ├── Send.tsx │ │ │ ├── Sending.tsx │ │ │ ├── SendingMail.tsx │ │ │ ├── Server.tsx │ │ │ ├── Settings.tsx │ │ │ ├── Settings1.tsx │ │ │ ├── Settings2.tsx │ │ │ ├── Settings3.tsx │ │ │ ├── Settings4.tsx │ │ │ ├── Share.tsx │ │ │ ├── Share1.tsx │ │ │ ├── ShieldCheck.tsx │ │ │ ├── ShieldDisabled.tsx │ │ │ ├── ShieldProtected.tsx │ │ │ ├── ShieldThunder.tsx │ │ │ ├── ShieldUser.tsx │ │ │ ├── Shift.tsx │ │ │ ├── Shirt.tsx │ │ │ ├── Shoes.tsx │ │ │ ├── Shorts.tsx │ │ │ ├── Shovel.tsx │ │ │ ├── Shovel1.tsx │ │ │ ├── Shuffle.tsx │ │ │ ├── Shutdown.tsx │ │ │ ├── Sieve.tsx │ │ │ ├── SignIn.tsx │ │ │ ├── SignOut.tsx │ │ │ ├── Size.tsx │ │ │ ├── Sketch.tsx │ │ │ ├── Smile.tsx │ │ │ ├── Sneakers.tsx │ │ │ ├── SnoozedMail.tsx │ │ │ ├── Snow.tsx │ │ │ ├── Snow1.tsx │ │ │ ├── Snow2.tsx │ │ │ ├── Snow3.tsx │ │ │ ├── SocketEu.tsx │ │ │ ├── SocketUs.tsx │ │ │ ├── Socks.tsx │ │ │ ├── Sort1.tsx │ │ │ ├── Sort2.tsx │ │ │ ├── Sort3.tsx │ │ │ ├── Spam.tsx │ │ │ ├── Spatula.tsx │ │ │ ├── Speaker.tsx │ │ │ ├── Spoon.tsx │ │ │ ├── Spy.tsx │ │ │ ├── Stairs.tsx │ │ │ ├── Stamp.tsx │ │ │ ├── Star.tsx │ │ │ ├── Stop.tsx │ │ │ ├── Storm.tsx │ │ │ ├── Strikethrough.tsx │ │ │ ├── Subtract.tsx │ │ │ ├── Sun.tsx │ │ │ ├── SunFog.tsx │ │ │ ├── SunGlasses.tsx │ │ │ ├── Sunset1.tsx │ │ │ ├── Sunset2.tsx │ │ │ ├── Sushi.tsx │ │ │ ├── SwissKnife.tsx │ │ │ ├── TShirt.tsx │ │ │ ├── Tablet.tsx │ │ │ ├── Target.tsx │ │ │ ├── TemperatureEmpty.tsx │ │ │ ├── TemperatureFull.tsx │ │ │ ├── TemperatureHalf.tsx │ │ │ ├── Terminal.tsx │ │ │ ├── Text.tsx │ │ │ ├── TextHeight.tsx │ │ │ ├── TextWidth.tsx │ │ │ ├── Thumbtack.tsx │ │ │ ├── Thunder.tsx │ │ │ ├── Thunder1.tsx │ │ │ ├── ThunderCircle.tsx │ │ │ ├── ThunderMove.tsx │ │ │ ├── ThunderNight.tsx │ │ │ ├── Ticket.tsx │ │ │ ├── Tie.tsx │ │ │ ├── TimeSchedule.tsx │ │ │ ├── Timer.tsx │ │ │ ├── Toilet.tsx │ │ │ ├── Tools.tsx │ │ │ ├── Towel.tsx │ │ │ ├── Trash.tsx │ │ │ ├── Trash1.tsx │ │ │ ├── Triangle.tsx │ │ │ ├── Tv1.tsx │ │ │ ├── Tv2.tsx │ │ │ ├── TwoBottles.tsx │ │ │ ├── Umbrella.tsx │ │ │ ├── Underline.tsx │ │ │ ├── Undo.tsx │ │ │ ├── Union.tsx │ │ │ ├── Unlock.tsx │ │ │ ├── Up2.tsx │ │ │ ├── UpBoard.tsx │ │ │ ├── UpDown.tsx │ │ │ ├── UpLeft.tsx │ │ │ ├── UpRight.tsx │ │ │ ├── Update.tsx │ │ │ ├── Upload.tsx │ │ │ ├── UploadFolder.tsx │ │ │ ├── UploadedFile.tsx │ │ │ ├── UrgentMail.tsx │ │ │ ├── Usb.tsx │ │ │ ├── UsbStorage.tsx │ │ │ ├── User.tsx │ │ │ ├── UserFolder.tsx │ │ │ ├── Vertical.tsx │ │ │ ├── VideoCamera.tsx │ │ │ ├── Vinyl.tsx │ │ │ ├── Visible.tsx │ │ │ ├── VolumeDown.tsx │ │ │ ├── VolumeFull.tsx │ │ │ ├── VolumeHalf.tsx │ │ │ ├── VolumeUp.tsx │ │ │ ├── Waiting.tsx │ │ │ ├── Wallet.tsx │ │ │ ├── Wallet2.tsx │ │ │ ├── Wallet3.tsx │ │ │ ├── Warning1Circle.tsx │ │ │ ├── Warning2.tsx │ │ │ ├── Washer.tsx │ │ │ ├── Watch1.tsx │ │ │ ├── Watch2.tsx │ │ │ ├── WaterMixer.tsx │ │ │ ├── Weight1.tsx │ │ │ ├── Weight2.tsx │ │ │ ├── WiFi.tsx │ │ │ ├── Wind.tsx │ │ │ ├── Wine.tsx │ │ │ ├── Wood1.tsx │ │ │ ├── Wood2.tsx │ │ │ ├── WoodHorse.tsx │ │ │ ├── Write.tsx │ │ │ ├── Youtube.tsx │ │ │ ├── ZoomMinus.tsx │ │ │ ├── ZoomPlus.tsx │ │ │ └── index.ts │ │ ├── heroicons │ │ │ ├── AcademicCap.tsx │ │ │ ├── AdjustmentsHorizontal.tsx │ │ │ ├── AdjustmentsVertical.tsx │ │ │ ├── ArchiveBox.tsx │ │ │ ├── ArchiveBoxArrowDown.tsx │ │ │ ├── ArchiveBoxXMark.tsx │ │ │ ├── ArrowDown.tsx │ │ │ ├── ArrowDownCircle.tsx │ │ │ ├── ArrowDownLeft.tsx │ │ │ ├── ArrowDownOnSquare.tsx │ │ │ ├── ArrowDownOnSquareStack.tsx │ │ │ ├── ArrowDownRight.tsx │ │ │ ├── ArrowDownTray.tsx │ │ │ ├── ArrowLeft.tsx │ │ │ ├── ArrowLeftCircle.tsx │ │ │ ├── ArrowLeftOnRectangle.tsx │ │ │ ├── ArrowLongDown.tsx │ │ │ ├── ArrowLongLeft.tsx │ │ │ ├── ArrowLongRight.tsx │ │ │ ├── ArrowLongUp.tsx │ │ │ ├── ArrowPath.tsx │ │ │ ├── ArrowPathRoundedSquare.tsx │ │ │ ├── ArrowRight.tsx │ │ │ ├── ArrowRightCircle.tsx │ │ │ ├── ArrowRightOnRectangle.tsx │ │ │ ├── ArrowSmallDown.tsx │ │ │ ├── ArrowSmallLeft.tsx │ │ │ ├── ArrowSmallRight.tsx │ │ │ ├── ArrowSmallUp.tsx │ │ │ ├── ArrowTopRightOnSquare.tsx │ │ │ ├── ArrowTrendingDown.tsx │ │ │ ├── ArrowTrendingUp.tsx │ │ │ ├── ArrowUp.tsx │ │ │ ├── ArrowUpCircle.tsx │ │ │ ├── ArrowUpLeft.tsx │ │ │ ├── ArrowUpOnSquare.tsx │ │ │ ├── ArrowUpOnSquareStack.tsx │ │ │ ├── ArrowUpRight.tsx │ │ │ ├── ArrowUpTray.tsx │ │ │ ├── ArrowUturnDown.tsx │ │ │ ├── ArrowUturnLeft.tsx │ │ │ ├── ArrowUturnRight.tsx │ │ │ ├── ArrowUturnUp.tsx │ │ │ ├── ArrowsPointingIn.tsx │ │ │ ├── ArrowsPointingOut.tsx │ │ │ ├── ArrowsRightLeft.tsx │ │ │ ├── ArrowsUpDown.tsx │ │ │ ├── AtSymbol.tsx │ │ │ ├── Backspace.tsx │ │ │ ├── Backward.tsx │ │ │ ├── Banknotes.tsx │ │ │ ├── Bars2.tsx │ │ │ ├── Bars3.tsx │ │ │ ├── Bars3BottomLeft.tsx │ │ │ ├── Bars3BottomRight.tsx │ │ │ ├── Bars3CenterLeft.tsx │ │ │ ├── Bars4.tsx │ │ │ ├── BarsArrowDown.tsx │ │ │ ├── BarsArrowUp.tsx │ │ │ ├── Battery0.tsx │ │ │ ├── Battery100.tsx │ │ │ ├── Battery50.tsx │ │ │ ├── Beaker.tsx │ │ │ ├── Bell.tsx │ │ │ ├── BellAlert.tsx │ │ │ ├── BellSlash.tsx │ │ │ ├── BellSnooze.tsx │ │ │ ├── Bolt.tsx │ │ │ ├── BoltSlash.tsx │ │ │ ├── BookOpen.tsx │ │ │ ├── Bookmark.tsx │ │ │ ├── BookmarkSlash.tsx │ │ │ ├── BookmarkSquare.tsx │ │ │ ├── Briefcase.tsx │ │ │ ├── BugAnt.tsx │ │ │ ├── BuildingLibrary.tsx │ │ │ ├── BuildingOffice.tsx │ │ │ ├── BuildingOffice2.tsx │ │ │ ├── BuildingStorefront.tsx │ │ │ ├── Cake.tsx │ │ │ ├── Calculator.tsx │ │ │ ├── Calendar.tsx │ │ │ ├── CalendarDays.tsx │ │ │ ├── Camera.tsx │ │ │ ├── ChartBar.tsx │ │ │ ├── ChartBarSquare.tsx │ │ │ ├── ChartPie.tsx │ │ │ ├── ChatBubbleBottomCenter.tsx │ │ │ ├── ChatBubbleBottomCenterText.tsx │ │ │ ├── ChatBubbleLeft.tsx │ │ │ ├── ChatBubbleLeftEllipsis.tsx │ │ │ ├── ChatBubbleLeftRight.tsx │ │ │ ├── ChatBubbleOvalLeft.tsx │ │ │ ├── ChatBubbleOvalLeftEllipsis.tsx │ │ │ ├── Check.tsx │ │ │ ├── CheckBadge.tsx │ │ │ ├── CheckCircle.tsx │ │ │ ├── ChevronDoubleDown.tsx │ │ │ ├── ChevronDoubleLeft.tsx │ │ │ ├── ChevronDoubleRight.tsx │ │ │ ├── ChevronDoubleUp.tsx │ │ │ ├── ChevronDown.tsx │ │ │ ├── ChevronLeft.tsx │ │ │ ├── ChevronRight.tsx │ │ │ ├── ChevronUp.tsx │ │ │ ├── ChevronUpDown.tsx │ │ │ ├── CircleStack.tsx │ │ │ ├── Clipboard.tsx │ │ │ ├── ClipboardDocument.tsx │ │ │ ├── ClipboardDocumentCheck.tsx │ │ │ ├── ClipboardDocumentList.tsx │ │ │ ├── Clock.tsx │ │ │ ├── Cloud.tsx │ │ │ ├── CloudArrowDown.tsx │ │ │ ├── CloudArrowUp.tsx │ │ │ ├── CodeBracket.tsx │ │ │ ├── CodeBracketSquare.tsx │ │ │ ├── Cog.tsx │ │ │ ├── Cog6Tooth.tsx │ │ │ ├── Cog8Tooth.tsx │ │ │ ├── CommandLine.tsx │ │ │ ├── ComputerDesktop.tsx │ │ │ ├── CpuChip.tsx │ │ │ ├── CreditCard.tsx │ │ │ ├── Cube.tsx │ │ │ ├── CubeTransparent.tsx │ │ │ ├── CurrencyBangladeshi.tsx │ │ │ ├── CurrencyDollar.tsx │ │ │ ├── CurrencyEuro.tsx │ │ │ ├── CurrencyPound.tsx │ │ │ ├── CurrencyRupee.tsx │ │ │ ├── CurrencyYen.tsx │ │ │ ├── CursorArrowRays.tsx │ │ │ ├── CursorArrowRipple.tsx │ │ │ ├── DevicePhoneMobile.tsx │ │ │ ├── DeviceTablet.tsx │ │ │ ├── Document.tsx │ │ │ ├── DocumentArrowDown.tsx │ │ │ ├── DocumentArrowUp.tsx │ │ │ ├── DocumentChartBar.tsx │ │ │ ├── DocumentCheck.tsx │ │ │ ├── DocumentDuplicate.tsx │ │ │ ├── DocumentMagnifyingGlass.tsx │ │ │ ├── DocumentMinus.tsx │ │ │ ├── DocumentPlus.tsx │ │ │ ├── DocumentText.tsx │ │ │ ├── EllipsisHorizontal.tsx │ │ │ ├── EllipsisHorizontalCircle.tsx │ │ │ ├── EllipsisVertical.tsx │ │ │ ├── Envelope.tsx │ │ │ ├── EnvelopeOpen.tsx │ │ │ ├── ExclamationCircle.tsx │ │ │ ├── ExclamationTriangle.tsx │ │ │ ├── Eye.tsx │ │ │ ├── EyeDropper.tsx │ │ │ ├── EyeSlash.tsx │ │ │ ├── FaceFrown.tsx │ │ │ ├── FaceSmile.tsx │ │ │ ├── Film.tsx │ │ │ ├── FingerPrint.tsx │ │ │ ├── Fire.tsx │ │ │ ├── Flag.tsx │ │ │ ├── Folder.tsx │ │ │ ├── FolderArrowDown.tsx │ │ │ ├── FolderMinus.tsx │ │ │ ├── FolderOpen.tsx │ │ │ ├── FolderPlus.tsx │ │ │ ├── Forward.tsx │ │ │ ├── Funnel.tsx │ │ │ ├── Gif.tsx │ │ │ ├── Gift.tsx │ │ │ ├── GiftTop.tsx │ │ │ ├── GlobeAlt.tsx │ │ │ ├── GlobeAmericas.tsx │ │ │ ├── GlobeAsiaAustralia.tsx │ │ │ ├── GlobeEuropeAfrica.tsx │ │ │ ├── HandRaised.tsx │ │ │ ├── HandThumbDown.tsx │ │ │ ├── HandThumbUp.tsx │ │ │ ├── Hashtag.tsx │ │ │ ├── Heart.tsx │ │ │ ├── Home.tsx │ │ │ ├── HomeModern.tsx │ │ │ ├── Identification.tsx │ │ │ ├── Inbox.tsx │ │ │ ├── InboxArrowDown.tsx │ │ │ ├── InboxStack.tsx │ │ │ ├── InformationCircle.tsx │ │ │ ├── Key.tsx │ │ │ ├── Language.tsx │ │ │ ├── Lifebuoy.tsx │ │ │ ├── LightBulb.tsx │ │ │ ├── Link.tsx │ │ │ ├── ListBullet.tsx │ │ │ ├── LockClosed.tsx │ │ │ ├── LockOpen.tsx │ │ │ ├── MagnifyingGlass.tsx │ │ │ ├── MagnifyingGlassCircle.tsx │ │ │ ├── MagnifyingGlassMinus.tsx │ │ │ ├── MagnifyingGlassPlus.tsx │ │ │ ├── Map.tsx │ │ │ ├── MapPin.tsx │ │ │ ├── Megaphone.tsx │ │ │ ├── Microphone.tsx │ │ │ ├── Minus.tsx │ │ │ ├── MinusCircle.tsx │ │ │ ├── MinusSmall.tsx │ │ │ ├── Moon.tsx │ │ │ ├── MusicalNote.tsx │ │ │ ├── Newspaper.tsx │ │ │ ├── NoSymbol.tsx │ │ │ ├── PaintBrush.tsx │ │ │ ├── PaperAirplane.tsx │ │ │ ├── PaperClip.tsx │ │ │ ├── Pause.tsx │ │ │ ├── PauseCircle.tsx │ │ │ ├── Pencil.tsx │ │ │ ├── PencilSquare.tsx │ │ │ ├── Phone.tsx │ │ │ ├── PhoneArrowDownLeft.tsx │ │ │ ├── PhoneArrowUpRight.tsx │ │ │ ├── PhoneXMark.tsx │ │ │ ├── Photo.tsx │ │ │ ├── Play.tsx │ │ │ ├── PlayCircle.tsx │ │ │ ├── PlayPause.tsx │ │ │ ├── Plus.tsx │ │ │ ├── PlusCircle.tsx │ │ │ ├── PlusSmall.tsx │ │ │ ├── Power.tsx │ │ │ ├── PresentationChartBar.tsx │ │ │ ├── PresentationChartLine.tsx │ │ │ ├── Printer.tsx │ │ │ ├── PuzzlePiece.tsx │ │ │ ├── QrCode.tsx │ │ │ ├── QuestionMarkCircle.tsx │ │ │ ├── QueueList.tsx │ │ │ ├── Radio.tsx │ │ │ ├── ReceiptPercent.tsx │ │ │ ├── ReceiptRefund.tsx │ │ │ ├── RectangleGroup.tsx │ │ │ ├── RectangleStack.tsx │ │ │ ├── RocketLaunch.tsx │ │ │ ├── Rss.tsx │ │ │ ├── Scale.tsx │ │ │ ├── Scissors.tsx │ │ │ ├── Server.tsx │ │ │ ├── ServerStack.tsx │ │ │ ├── Share.tsx │ │ │ ├── ShieldCheck.tsx │ │ │ ├── ShieldExclamation.tsx │ │ │ ├── ShoppingBag.tsx │ │ │ ├── ShoppingCart.tsx │ │ │ ├── Signal.tsx │ │ │ ├── SignalSlash.tsx │ │ │ ├── Sparkles.tsx │ │ │ ├── SpeakerWave.tsx │ │ │ ├── SpeakerXMark.tsx │ │ │ ├── Square2Stack.tsx │ │ │ ├── Square3Stack3D.tsx │ │ │ ├── Squares2X2.tsx │ │ │ ├── SquaresPlus.tsx │ │ │ ├── Star.tsx │ │ │ ├── Stop.tsx │ │ │ ├── StopCircle.tsx │ │ │ ├── Sun.tsx │ │ │ ├── Swatch.tsx │ │ │ ├── TableCells.tsx │ │ │ ├── Tag.tsx │ │ │ ├── Ticket.tsx │ │ │ ├── Trash.tsx │ │ │ ├── Trophy.tsx │ │ │ ├── Truck.tsx │ │ │ ├── Tv.tsx │ │ │ ├── User.tsx │ │ │ ├── UserCircle.tsx │ │ │ ├── UserGroup.tsx │ │ │ ├── UserMinus.tsx │ │ │ ├── UserPlus.tsx │ │ │ ├── Users.tsx │ │ │ ├── Variable.tsx │ │ │ ├── VideoCamera.tsx │ │ │ ├── VideoCameraSlash.tsx │ │ │ ├── ViewColumns.tsx │ │ │ ├── ViewfinderCircle.tsx │ │ │ ├── Wallet.tsx │ │ │ ├── Wifi.tsx │ │ │ ├── Window.tsx │ │ │ ├── Wrench.tsx │ │ │ ├── WrenchScrewdriver.tsx │ │ │ ├── XCircle.tsx │ │ │ ├── XMark.tsx │ │ │ └── index.ts │ │ └── svg-icons │ │ │ ├── CustomApple.tsx │ │ │ ├── CustomFacebook.tsx │ │ │ ├── CustomGithub.tsx │ │ │ ├── CustomGoogle.tsx │ │ │ ├── CustomNpm.tsx │ │ │ ├── CustomSaudiArabia.tsx │ │ │ ├── CustomSpain.tsx │ │ │ ├── CustomTurkey.tsx │ │ │ ├── CustomUsa.tsx │ │ │ └── index.ts │ ├── layouts │ │ ├── Aside │ │ │ └── Aside.tsx │ │ ├── Breadcrumb │ │ │ └── Breadcrumb.tsx │ │ ├── Container │ │ │ └── Container.tsx │ │ ├── Footer │ │ │ └── Footer.tsx │ │ ├── Header │ │ │ └── Header.tsx │ │ ├── Navigation │ │ │ └── Nav.tsx │ │ ├── PageWrapper │ │ │ └── PageWrapper.tsx │ │ ├── Portal │ │ │ └── Portal.tsx │ │ ├── Subheader │ │ │ └── Subheader.tsx │ │ ├── User │ │ │ └── User.tsx │ │ └── Wrapper │ │ │ └── Wrapper.tsx │ ├── router │ │ ├── AsideRouter.tsx │ │ ├── FooterRouter.tsx │ │ └── HeaderRouter.tsx │ ├── ui │ │ ├── Alert.tsx │ │ ├── Badge.tsx │ │ ├── Button.tsx │ │ ├── ButtonGroup.tsx │ │ ├── Card.tsx │ │ ├── CloseButton.tsx │ │ ├── Dropdown.tsx │ │ ├── Modal.tsx │ │ ├── OffCanvas.tsx │ │ ├── Progress.tsx │ │ ├── Table.tsx │ │ └── Tooltip.tsx │ └── utils │ │ ├── Collapse.tsx │ │ └── Visible.tsx ├── config │ ├── pages.config.ts │ └── theme.config.ts ├── constant.ts ├── constants │ ├── common │ │ └── saveBtn.constant.ts │ ├── darkMode.constant.ts │ ├── lang.constant.ts │ ├── periods.constant.ts │ ├── permissions.constant.ts │ └── stock.constant.ts ├── context │ ├── authContext.tsx │ └── themeContext.tsx ├── hooks │ ├── useAsideStatus.ts │ ├── useColorIntensity.ts │ ├── useDarkMode.ts │ ├── useDeviceScreen.ts │ ├── useDir.ts │ ├── useDomRect.ts │ ├── useElementSize.ts │ ├── useEventListener.ts │ ├── useFontSize.ts │ ├── useIntersectionObserver.ts │ ├── useIsomorphicLayoutEffect.ts │ ├── useLocalStorage.ts │ ├── useMounted.ts │ ├── useOnClickOutside.ts │ ├── useRoundedSize.ts │ └── useSaveBtn.ts ├── i18n.ts ├── interface │ ├── chart.interface.ts │ └── validation.interface.ts ├── locales │ ├── ar │ │ └── translation.json │ ├── en │ │ └── translation.json │ ├── es │ │ └── translation.json │ └── tr │ │ └── translation.json ├── middleware.ts ├── mocks │ ├── db │ │ ├── categories.db.ts │ │ ├── modules.db.ts │ │ ├── products.db.ts │ │ ├── projects.db.ts │ │ ├── roles.db.ts │ │ ├── tags.db.ts │ │ ├── tasks.db.ts │ │ └── users.db.ts │ └── hooks │ │ └── useFakeUserAPI.ts ├── routes │ ├── asideRoutes.tsx │ ├── footerRoutes.tsx │ └── headerRoutes.tsx ├── templates │ ├── PageFallback.template.tsx │ ├── common │ │ └── TableParts.template.tsx │ ├── for-demo │ │ ├── Doc.tsx │ │ └── ExampleView.tsx │ └── layouts │ │ ├── Asides │ │ ├── DefaultAside.template.tsx │ │ └── _parts │ │ │ ├── DarkModeSwitcher.part.tsx │ │ │ └── LogoAndAsideToggle.part.tsx │ │ ├── Footers │ │ └── DefaultFooter.template.tsx │ │ ├── Headers │ │ ├── ComponentAndTemplateHeader.template.tsx │ │ ├── DefaultHeader.template.tsx │ │ ├── HomePageHeader.template.tsx │ │ ├── SalesDashboardHeader.template.tsx │ │ ├── _common │ │ │ └── DefaultHeaderRight.common.tsx │ │ └── _partial │ │ │ ├── LanguageSelector.partial.tsx │ │ │ ├── Messages.partial.tsx │ │ │ ├── Notification.partial.tsx │ │ │ ├── Search.partial.tsx │ │ │ └── Settings.partial.tsx │ │ ├── Logo │ │ └── Logo.template.tsx │ │ └── User │ │ └── User.template.tsx ├── types │ ├── ai-demos │ │ ├── chat-types.d.ts │ │ ├── chatAudio-types.d.ts │ │ ├── chatImage-types.d.ts │ │ ├── chatSmartHr-types.d.ts │ │ └── jd-types.d.ts │ ├── borderWidth.type.ts │ ├── colorIntensities.type.ts │ ├── colors.type.ts │ ├── common │ │ └── saveBtn.type.ts │ ├── darkMode.type.ts │ ├── duotoneIcons.type.ts │ ├── fontSizes.type.ts │ ├── heroIcons.type.ts │ ├── icons.type.ts │ ├── input.type.ts │ ├── lang.type.ts │ ├── pages.type.ts │ ├── rounded.type.ts │ ├── route.type.ts │ └── screens.type.ts └── utils │ ├── bgColor.util.ts │ ├── getFirstLetter.ts │ ├── getOS.util.ts │ ├── priceFormat.util.ts │ ├── purePathname.util.ts │ └── textColor.util.ts ├── tailwind.config.ts ├── tsconfig.eslint.json └── tsconfig.json /.env.development: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/.env.development -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .next/ 3 | 4 | global.d.ts 5 | 6 | src/components/icon/ 7 | src/assets 8 | 9 | postcss.config.js 10 | prettier.config.js 11 | src/reportWebVitals.ts 12 | tailwind.config.ts 13 | package.json 14 | 15 | **/*.md 16 | 17 | tsconfig.json 18 | tsconfig.eslint.json 19 | 20 | next.config.js 21 | i18nConfig.ts -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | legacy-peer-deps=true -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | build/ 3 | 4 | src/components/icon/duotone 5 | src/components/icon/svg-icons 6 | SvgIcons -------------------------------------------------------------------------------- /SvgIcons/CustomNpm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /global.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.md'; 2 | -------------------------------------------------------------------------------- /i18nConfig.ts: -------------------------------------------------------------------------------- 1 | import { Config } from 'next-i18n-router/dist/types'; 2 | 3 | const i18nConfig: Config = { 4 | locales: ['en', 'es', 'ar', 'tr'], 5 | defaultLocale: 'en', 6 | localeDetector: false, 7 | }; 8 | 9 | export default i18nConfig; 10 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | 'postcss-import': {}, 4 | 'tailwindcss/nesting': {}, 5 | tailwindcss: {}, 6 | autoprefixer: {}, 7 | ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {}), 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /prettier.config.js: -------------------------------------------------------------------------------- 1 | const config = { 2 | plugins: ['prettier-plugin-tailwindcss'], 3 | printWidth: 100, 4 | tabWidth: 4, 5 | useTabs: true, 6 | semi: true, 7 | singleQuote: true, 8 | jsxSingleQuote: true, 9 | trailingComma: 'all', 10 | bracketSameLine: true, 11 | arrowParens: 'always', 12 | endOfLine: 'lf', 13 | }; 14 | 15 | module.exports = config; 16 | -------------------------------------------------------------------------------- /public/example-sound-short.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/public/example-sound-short.mp3 -------------------------------------------------------------------------------- /public/example-sound.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/public/example-sound.mp3 -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/apiCalls/ai-demos/generateAudioApiCall.ts: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | import { AI_DEMOS_URI, HOST } from '@/constant'; 3 | 4 | export function generateAudioApiCall(data: { 5 | dataToPost: { 6 | question: string; 7 | }; 8 | }) { 9 | const { dataToPost } = data; 10 | return axios({ 11 | method: 'post', 12 | url: `${HOST}${AI_DEMOS_URI}/audio`, 13 | data: dataToPost, 14 | }); 15 | } 16 | -------------------------------------------------------------------------------- /src/apiCalls/ai-demos/generateImageApiCall.ts: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | import { AI_DEMOS_URI, HOST } from '@/constant'; 3 | 4 | export function generateImageApiCall(data: { 5 | dataToPost: { 6 | prompt: string; 7 | }; 8 | }) { 9 | const { dataToPost } = data; 10 | return axios({ 11 | method: 'post', 12 | url: `${HOST}${AI_DEMOS_URI}/generate-image`, 13 | data: dataToPost, 14 | }); 15 | } 16 | -------------------------------------------------------------------------------- /src/apiCalls/ai-demos/generateImageVariationApiCall.ts: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | import { AI_DEMOS_URI, HOST } from '@/constant'; 3 | 4 | export function generateImageVariationApiCall(data: { 5 | dataToPost: { 6 | base64: string; 7 | }; 8 | }) { 9 | const { dataToPost } = data; 10 | return axios({ 11 | method: 'post', 12 | url: `${HOST}${AI_DEMOS_URI}/generate-image-variation`, 13 | data: dataToPost, 14 | }); 15 | } 16 | -------------------------------------------------------------------------------- /src/apiCalls/ai-demos/postLangChainQuestionsApiCall.ts: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | import { AI_DEMOS_URI, HOST } from '@/constant'; 3 | 4 | export function postLangChainQuestionsApiCall(data: { 5 | dataToPost: { 6 | messages: IChat[]; 7 | }; 8 | }) { 9 | const { dataToPost } = data; 10 | return axios({ 11 | method: 'post', 12 | url: `https://localhost:5001/chat`, 13 | data: dataToPost, 14 | }); 15 | } 16 | -------------------------------------------------------------------------------- /src/apiCalls/ai-demos/postQuestionsApiCall.ts: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | import { AI_DEMOS_URI, HOST } from '@/constant'; 3 | 4 | export function postQuestionsApiCall(data: { 5 | dataToPost: { 6 | messages: IChat[]; 7 | }; 8 | }) { 9 | const { dataToPost } = data; 10 | return axios({ 11 | method: 'post', 12 | url: `http://127.0.0.1:5000/chat`, 13 | data: dataToPost, 14 | }); 15 | } 16 | -------------------------------------------------------------------------------- /src/apiCalls/ai-demos/postRAGQuestionsApiCall.ts: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | import { HOST } from '@/constant'; 3 | 4 | export function postRAGQuestionsApiCall(data: { dataToPost: [];}) { 5 | const { dataToPost } = data; 6 | return axios({ 7 | method: 'post', 8 | url: `http://localhost:5002/api/search`, 9 | data: dataToPost, 10 | }); 11 | } 12 | -------------------------------------------------------------------------------- /src/apiCalls/ai-demos/postSmartHrApiCall.ts: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | import { AI_DEMOS_URI, HOST } from '@/constant'; 3 | 4 | export function postSmartHrApiCall(data: { 5 | dataToPost: { 6 | title: string; 7 | lang: string; 8 | }; 9 | }) { 10 | const { dataToPost } = data; 11 | return axios({ 12 | method: 'post', 13 | url: `${HOST}${AI_DEMOS_URI}/generate-jd`, 14 | data: dataToPost, 15 | }); 16 | } 17 | -------------------------------------------------------------------------------- /src/apiCalls/ai-demos/postSpeechToTextApiCall.ts: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | import { AI_DEMOS_URI, HOST } from '@/constant'; 3 | 4 | export function postSpeechToTextApiCall(data: { 5 | dataToPost: { 6 | buffer: Buffer; 7 | }; 8 | }) { 9 | const { dataToPost } = data; 10 | return axios({ 11 | method: 'post', 12 | url: `${HOST}${AI_DEMOS_URI}/speech-to-text`, 13 | data: dataToPost, 14 | }); 15 | } 16 | -------------------------------------------------------------------------------- /src/apiCalls/ai-demos/replaceObjectApiCall.ts: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | import { AI_DEMOS_URI, HOST } from '@/constant'; 3 | 4 | export function replaceObjectApiCall(data) { 5 | const { dataToPost } = data; 6 | return axios({ 7 | method: 'post', 8 | url: 'http://127.0.0.1:5000/replace-object', 9 | data: dataToPost, 10 | }); 11 | } -------------------------------------------------------------------------------- /src/apiCalls/ai-demos/sketchToImageApiCall.ts: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | import { AI_DEMOS_URI, HOST } from '@/constant'; 3 | 4 | export function sketchToImageApiCall(data) { 5 | const { dataToPost } = data; 6 | return axios({ 7 | method: 'post', 8 | url: 'http://127.0.0.1:5000/sketch-to-image', 9 | data: dataToPost, 10 | }); 11 | } -------------------------------------------------------------------------------- /src/app/[locale]/_app.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import React, { ReactNode } from 'react'; 4 | import useFontSize from '@/hooks/useFontSize'; 5 | import dayjs from 'dayjs'; 6 | import localizedFormat from 'dayjs/plugin/localizedFormat'; 7 | import getOS from '@/utils/getOS.util'; 8 | 9 | const AppWrapper = ({ children }: { children: ReactNode }) => { 10 | const { fontSize } = useFontSize(); 11 | dayjs.extend(localizedFormat); 12 | 13 | getOS(); 14 | 15 | return ( 16 | <> 17 | 18 | {children} 19 | 20 | ); 21 | }; 22 | 23 | export default AppWrapper; 24 | -------------------------------------------------------------------------------- /src/app/[locale]/_providers.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import React, { ReactNode } from 'react'; 4 | import { ThemeContextProvider } from '@/context/themeContext'; 5 | import NextAuthProvider from '@/components/NextAuthProvider'; 6 | 7 | const Providers = ({ children }: { children: ReactNode }) => { 8 | return ( 9 | 10 | {children} 11 | 12 | ); 13 | }; 14 | 15 | export default Providers; 16 | -------------------------------------------------------------------------------- /src/app/[locale]/ai/_common/AIChatContainer.common.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC, ReactNode } from 'react'; 2 | 3 | interface IAIChatContainerCommonProps { 4 | children: ReactNode; 5 | } 6 | const AIChatContainerCommon: FC = (props) => { 7 | const { children } = props; 8 | return ( 9 |
10 |
{children}
11 |
12 | ); 13 | }; 14 | 15 | export default AIChatContainerCommon; 16 | -------------------------------------------------------------------------------- /src/app/[locale]/ai/chat/chat-bot/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ChatBotClient from '@/app/[locale]/ai/chat/chat-bot/client'; 3 | 4 | const ChatPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ChatPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ai/chat/code/code1.md: -------------------------------------------------------------------------------- 1 | ```tsx 2 | import React from 'react'; 3 | 4 | // Type to define properties for the component 5 | interface Props { 6 | name: string; 7 | age: number; 8 | } 9 | 10 | // Functional Component 11 | const SimpleComponent: React.FC = ({ name, age }) => { 12 | return ( 13 |
14 |

Hello, my name is {name}!

15 |

My age: {age}

16 |
17 | ); 18 | }; 19 | 20 | export default SimpleComponent; 21 | ``` 22 | -------------------------------------------------------------------------------- /src/app/[locale]/ai/chat/code/code2.md: -------------------------------------------------------------------------------- 1 | ```tsx 2 | import React from 'react'; 3 | import SimpleComponent from './SimpleComponent'; 4 | 5 | const App: React.FC = () => { 6 | return ( 7 |
8 |

React TypeScript Example

9 | 10 |
11 | ); 12 | }; 13 | 14 | export default App; 15 | ``` 16 | -------------------------------------------------------------------------------- /src/app/[locale]/ai/chat/code/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ChatCodeClient from '@/app/[locale]/ai/chat/code/client'; 3 | 4 | const ChatPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ChatPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ai/chat/lang-chain-chat/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ChatBotClient from '@/app/[locale]/ai/chat/lang-chain-chat/client'; 3 | 4 | const ChatPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ChatPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ai/chat/photo/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ChatPhotoClient from '@/app/[locale]/ai/chat/photo/client'; 3 | 4 | const ChatPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ChatPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ai/chat/rag-chat-bot/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ChatBotClient from '@/app/[locale]/ai/chat/rag-chat-bot/client'; 3 | 4 | const ChatPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ChatPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ai/chat/replace-object/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ChatPhotoClient from '@/app/[locale]/ai/chat/replace-object/client'; 3 | 4 | const ChatPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ChatPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ai/chat/segment-inpaint/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ChatPhotoClient from '@/app/[locale]/ai/chat/segment-inpaint/client'; 3 | 4 | const ChatPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ChatPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ai/chat/sketch-to-image/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ChatPhotoClient from '@/app/[locale]/ai/chat/sketch-to-image/client'; 3 | 4 | const ChatPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ChatPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ai/chat/smart-hr/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import SmartHrClient from './client'; 3 | 4 | const SmartHrPage = () => { 5 | return ; 6 | }; 7 | 8 | export default SmartHrPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ai/chat/speech-recognition/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import SpeechRecognitionClient from './client'; 3 | 4 | const SpeechRecognitionPage = () => { 5 | return ; 6 | }; 7 | 8 | export default SpeechRecognitionPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ai/chat/text-to-speech/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ChatAudioClient from '@/app/[locale]/ai/chat/text-to-speech/client'; 3 | 4 | const ChatPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ChatPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ai/chat/video/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ChatVideoClient from '@/app/[locale]/ai/chat/video/client'; 3 | 4 | const ChatPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ChatPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ai/dashboard/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import AiDashboardClient from '@/app/[locale]/ai/dashboard/client'; 3 | 4 | const AiDashboard = () => { 5 | return ; 6 | }; 7 | 8 | export default AiDashboard; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/chat/[slug]/_common/ChatContainer.common.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC, ReactNode } from 'react'; 2 | 3 | interface IChatContainerCommonProps { 4 | children: ReactNode; 5 | } 6 | const ChatContainerCommon: FC = (props) => { 7 | const { children } = props; 8 | return ( 9 |
10 |
{children}
11 |
12 | ); 13 | }; 14 | 15 | export default ChatContainerCommon; 16 | -------------------------------------------------------------------------------- /src/app/[locale]/chat/[slug]/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ChatClient from '@/app/[locale]/chat/[slug]/_client'; 3 | 4 | const ChatPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ChatPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/crm/customer/[slug]/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import CustomerClient from '@/app/[locale]/crm/customer/[slug]/client'; 3 | import TranslationsProvider from '@/components/TranslationsProvider'; 4 | 5 | const i18nNamespaces = ['translation']; 6 | 7 | const CustomerPage = ({ params: { locale } }: { params: { locale: string } }) => { 8 | return ( 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default CustomerPage; 16 | -------------------------------------------------------------------------------- /src/app/[locale]/crm/customer/list/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import CustomerListClient from '@/app/[locale]/crm/customer/list/client'; 3 | 4 | const CustomerList = () => { 5 | return ; 6 | }; 7 | 8 | export default CustomerList; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/crm/dashboard/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import CustomerDashboardClient from '@/app/[locale]/crm/dashboard/client'; 3 | import TranslationsProvider from '@/components/TranslationsProvider'; 4 | 5 | const i18nNamespaces = ['translation']; 6 | 7 | const CustomerDashboardPage = ({ params: { locale } }: { params: { locale: string } }) => { 8 | return ( 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default CustomerDashboardPage; 16 | -------------------------------------------------------------------------------- /src/app/[locale]/crm/role/[slug]/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import RoleClient from '@/app/[locale]/crm/role/[slug]/client'; 3 | 4 | const RolePage = () => { 5 | return ; 6 | }; 7 | 8 | export default RolePage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/crm/role/list/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import RoleListClient from '@/app/[locale]/crm/role/list/client'; 3 | 4 | const RoleListPage = () => { 5 | return ; 6 | }; 7 | 8 | export default RoleListPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/form/checkbox-group/_md/CheckboxGroupInterface.md: -------------------------------------------------------------------------------- 1 | ```tsx 2 | interface ICheckboxGroupProps extends HTMLAttributes { 3 | children: ReactElement | ReactElement[]; 4 | invalidFeedback?: string; // For FormiK Validation 5 | isInline?: boolean; 6 | isTouched?: boolean; // For FormiK Validation 7 | isValid?: boolean; // For FormiK Validation 8 | isValidMessage?: boolean; // For FormiK Validation 9 | validFeedback?: string; // For FormiK Validation 10 | } 11 | ``` 12 | -------------------------------------------------------------------------------- /src/app/[locale]/form/checkbox-group/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import CheckboxGroupClient from '@/app/[locale]/form/checkbox-group/client'; 3 | 4 | const CheckboxGroupPage = () => { 5 | return ; 6 | }; 7 | 8 | export default CheckboxGroupPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/form/checkbox/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import CheckboxClient from '@/app/[locale]/form/checkbox/client'; 3 | 4 | const CheckboxPage = () => { 5 | return ; 6 | }; 7 | 8 | export default CheckboxPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/form/field-wrap/_md/FieldWrapInterface.md: -------------------------------------------------------------------------------- 1 | ```tsx 2 | interface IFieldWrapProps extends HTMLAttributes, Partial { 3 | children: ReactElement; 4 | className?: string; 5 | firstSuffix?: ReactNode; 6 | lastSuffix?: ReactNode; 7 | } 8 | ``` 9 | -------------------------------------------------------------------------------- /src/app/[locale]/form/field-wrap/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import FieldWrapClient from '@/app/[locale]/form/field-wrap/client'; 3 | 4 | const FieldWrapPage = () => { 5 | return ; 6 | }; 7 | 8 | export default FieldWrapPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/form/input/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import InputClient from '@/app/[locale]/form/input/client'; 3 | 4 | const InputPage = () => { 5 | return ; 6 | }; 7 | 8 | export default InputPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/form/label/_md/LabelInterface.md: -------------------------------------------------------------------------------- 1 | ```tsx 2 | interface ILabelProps extends HTMLAttributes { 3 | children: ReactNode; 4 | description?: string; 5 | className?: string; 6 | htmlFor: string; 7 | } 8 | ``` 9 | -------------------------------------------------------------------------------- /src/app/[locale]/form/label/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import LabelClient from '@/app/[locale]/form/label/client'; 3 | 4 | const LabelPage = () => { 5 | return ; 6 | }; 7 | 8 | export default LabelPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/form/radio/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import RadioClient from '@/app/[locale]/form/radio/client'; 3 | 4 | const RadioPage = () => { 5 | return ; 6 | }; 7 | 8 | export default RadioPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/form/rich-text/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import RichTextClient from '@/app/[locale]/form/rich-text/client'; 3 | 4 | const RichTextPage = () => { 5 | return ; 6 | }; 7 | 8 | export default RichTextPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/form/select-react/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import SelectReactClient from '@/app/[locale]/form/select-react/client'; 3 | 4 | const SelectReactPage = () => { 5 | return ; 6 | }; 7 | 8 | export default SelectReactPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/form/select/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import SelectClient from '@/app/[locale]/form/select/client'; 3 | 4 | const SelectPage = () => { 5 | return ; 6 | }; 7 | 8 | export default SelectPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/form/textarea/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import TextareaClient from '@/app/[locale]/form/textarea/client'; 3 | 4 | const TextareaPage = () => { 5 | return ; 6 | }; 7 | 8 | export default TextareaPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/form/validation/_md/ValidationInterface.md: -------------------------------------------------------------------------------- 1 | ```tsx 2 | export interface IValidationBaseProps { 3 | isValidMessage?: boolean; 4 | isValid: boolean; 5 | isTouched: boolean | undefined; 6 | invalidFeedback: string | undefined; 7 | validFeedback?: string; 8 | } 9 | 10 | interface IValidationProps extends IValidationBaseProps { 11 | children: ReactElement; 12 | } 13 | ``` 14 | -------------------------------------------------------------------------------- /src/app/[locale]/form/validation/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ValidationClient from '@/app/[locale]/form/validation/client'; 3 | 4 | const ValidationPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ValidationPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/icons/_md/IconInterface.md: -------------------------------------------------------------------------------- 1 | ```tsx 2 | export interface IIconProps extends HTMLAttributes { 3 | icon: TIcons; 4 | className?: string; 5 | color?: TColors; // 'zinc' | 'red' | 'amber' | 'lime' | 'emerald' | 'sky' | 'blue' | 'violet'; 6 | colorIntensity?: TColorIntensity; // '50' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' | '950'; 7 | size?: TFontSizes; // 'text-xs' | 'text-sm' | 'text-base' | 'text-lg' | 'text-xl' | 'text-2xl' | 'text-3xl' | 'text-4xl' | 'text-5xl' | 'text-6xl' | 'text-7xl' | 'text-8xl' | 'text-9xl'; 8 | } 9 | ``` 10 | -------------------------------------------------------------------------------- /src/app/[locale]/icons/duotone-icons/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import DuotoneIconsClient from '@/app/[locale]/icons/duotone-icons/client'; 3 | 4 | const DuotoneIconsPage = () => { 5 | return ; 6 | }; 7 | 8 | export default DuotoneIconsPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/icons/heroicons/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import HeroIconsClient from '@/app/[locale]/icons/heroicons/client'; 3 | 4 | const HeroIconsPage = () => { 5 | return ; 6 | }; 7 | 8 | export default HeroIconsPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/icons/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import IconClient from '@/app/[locale]/icons/client'; 3 | 4 | const IconPage = () => { 5 | return ; 6 | }; 7 | 8 | export default IconPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/integrated/apex-charts/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ApexChartsClient from '@/app/[locale]/integrated/apex-charts/client'; 3 | 4 | const ApexChartsPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ApexChartsPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/integrated/full-calendar/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import FullCalendarClient from '@/app/[locale]/integrated/full-calendar/client'; 3 | 4 | const FullCalendarPage = () => { 5 | return ; 6 | }; 7 | 8 | export default FullCalendarPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/integrated/react-date-range/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDateRangeClient from '@/app/[locale]/integrated/react-date-range/client'; 3 | 4 | const ReactDateRangePage = () => { 5 | return ; 6 | }; 7 | 8 | export default ReactDateRangePage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/integrated/react-simple-maps/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactSimpleMapsClient from '@/app/[locale]/integrated/react-simple-maps/client'; 3 | 4 | const ReactSimpleMapsPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ReactSimpleMapsPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/integrated/rich-text/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import RichTextClient from '@/app/[locale]/form/rich-text/client'; 3 | 4 | const RichTextPage = () => { 5 | return ; 6 | }; 7 | 8 | export default RichTextPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/integrated/select-react/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import SelectReactClient from '@/app/[locale]/form/select-react/client'; 3 | 4 | const SelectReactPage = () => { 5 | return ; 6 | }; 7 | 8 | export default SelectReactPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/integrated/wave-surfer/_md/WaveSurferExample1.md: -------------------------------------------------------------------------------- 1 | ```tsx 2 | import React from 'react'; 3 | import WaveSurferPlayer from './components/WaveSurferPlayer'; 4 | 5 | const MyComponent = () => { 6 | return ; 7 | }; 8 | 9 | export default MyComponent; 10 | ``` 11 | -------------------------------------------------------------------------------- /src/app/[locale]/integrated/wave-surfer/_partial/WaveSurferExample1.partial.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import WaveSurferPlayer from '@/components/WaveSurferPlayer'; 3 | 4 | const WaveSurferExample1Partial = () => { 5 | return ; 6 | }; 7 | 8 | export default WaveSurferExample1Partial; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/integrated/wave-surfer/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import WaveSurferClient from '@/app/[locale]/integrated/wave-surfer/client'; 3 | 4 | const WaveSurferPage = () => { 5 | return ; 6 | }; 7 | 8 | export default WaveSurferPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/project/_types/columns.type.ts: -------------------------------------------------------------------------------- 1 | import { TIcons } from '@/types/icons.type'; 2 | 3 | export type TColumnData = { id: string; title: string; icon: TIcons }; 4 | type TColumnsData = { 5 | [key: string]: TColumnData; 6 | }; 7 | 8 | export default TColumnsData; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/project/board/[slug]/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ProjectBoardClient from '@/app/[locale]/project/board/[slug]/client'; 3 | import TranslationsProvider from '@/components/TranslationsProvider'; 4 | 5 | const i18nNamespaces = ['translation']; 6 | 7 | const ProjectBoardPage = ({ params: { locale } }: { params: { locale: string } }) => { 8 | return ( 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default ProjectBoardPage; 16 | -------------------------------------------------------------------------------- /src/app/[locale]/project/dashboard/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ProjectDashboardClient from '@/app/[locale]/project/dashboard/client'; 3 | import TranslationsProvider from '@/components/TranslationsProvider'; 4 | 5 | const i18nNamespaces = ['translation']; 6 | const ProjectDashboardPage = ({ params: { locale } }: { params: { locale: string } }) => { 7 | return ( 8 | 9 | 10 | 11 | ); 12 | }; 13 | 14 | export default ProjectDashboardPage; 15 | -------------------------------------------------------------------------------- /src/app/[locale]/sales/category/[slug]/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import CategoryClient from '@/app/[locale]/sales/category/[slug]/client'; 3 | 4 | const CategoryPage = () => { 5 | return ; 6 | }; 7 | 8 | export default CategoryPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/sales/category/list/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import CategoryListClient from '@/app/[locale]/sales/category/list/client'; 3 | 4 | const CategoryListPage = () => { 5 | return ; 6 | }; 7 | 8 | export default CategoryListPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/sales/product/[slug]/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ProductPageClient from '@/app/[locale]/sales/product/[slug]/client'; 3 | 4 | const ProductPage = ({ params }: { params: { slug: string } }) => { 5 | return ; 6 | }; 7 | 8 | export default ProductPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/sales/product/list/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Metadata } from 'next'; 3 | import ProductListClient from './client'; 4 | 5 | export const metadata: Metadata = { 6 | title: 'Fyr | Product List', 7 | }; 8 | 9 | const ProductListPage = () => { 10 | return ; 11 | }; 12 | 13 | export default ProductListPage; 14 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/alert/_md/AlertExample1.md: -------------------------------------------------------------------------------- 1 | ```tsx 2 | import React from 'react'; 3 | import Alert from './Alert'; 4 | 5 | const MyComponent = () => { 6 | return ( 7 | 13 | You can use props and tailwind's class names as needed for your design. 14 | 15 | ); 16 | }; 17 | 18 | export default MyComponent; 19 | ``` 20 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/alert/_md/AlertExample2.md: -------------------------------------------------------------------------------- 1 | ```tsx 2 | import React from 'react'; 3 | import Alert from './Alert'; 4 | 5 | const MyComponent = () => { 6 | return ( 7 | 8 | You can use props and tailwind's class names as needed for your design. 9 | 10 | ); 11 | }; 12 | 13 | export default MyComponent; 14 | ``` 15 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/alert/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import AlertClient from '@/app/[locale]/ui/alert/client'; 3 | 4 | const AlertPage = () => { 5 | return ; 6 | }; 7 | 8 | export default AlertPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/badge/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import BadgeClient from '@/app/[locale]/ui/badge/client'; 3 | 4 | const BadgePage = () => { 5 | return ; 6 | }; 7 | 8 | export default BadgePage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/button-group/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ButtonGroupClient from '@/app/[locale]/ui/button-group/client'; 3 | 4 | const ButtonGroupPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ButtonGroupPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/button/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ButtonClient from '@/app/[locale]/ui/button/client'; 3 | 4 | const ButtonPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ButtonPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/card/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import CardClient from '@/app/[locale]/ui/card/client'; 3 | 4 | const CardPage = () => { 5 | return ; 6 | }; 7 | 8 | export default CardPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/collapse/_md/CollapseInterface.md: -------------------------------------------------------------------------------- 1 | ```tsx 2 | interface ICollapseProps extends MotionProps { 3 | children: ReactNode; 4 | className?: string; 5 | isOpen?: boolean; 6 | } 7 | ``` 8 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/collapse/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import CollapseClient from '@/app/[locale]/ui/collapse/client'; 3 | 4 | const CollapsePage = () => { 5 | return ; 6 | }; 7 | 8 | export default CollapsePage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/dropdown/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import DropdownClient from '@/app/[locale]/ui/dropdown/client'; 3 | 4 | const DropdownPage = () => { 5 | return ; 6 | }; 7 | 8 | export default DropdownPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/modal/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ModalClient from '@/app/[locale]/ui/modal/client'; 3 | 4 | const ModalPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ModalPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/offcanvas/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import OffcanvasClient from '@/app/[locale]/ui/offcanvas/client'; 3 | 4 | const OffcanvasPage = () => { 5 | return ; 6 | }; 7 | 8 | export default OffcanvasPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/progress/_md/ProgressExample1.md: -------------------------------------------------------------------------------- 1 | ```tsx 2 | import React from 'react'; 3 | import Progress from './Progress'; 4 | 5 | const MyComponent = () => { 6 | return ( 7 |
8 | 9 |
75
10 |
11 | ); 12 | }; 13 | 14 | export default MyComponent; 15 | ``` 16 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/progress/_md/ProgressExample2.md: -------------------------------------------------------------------------------- 1 | ```tsx 2 | import React from 'react'; 3 | import Progress from './Progress'; 4 | 5 | const MyComponent = () => { 6 | return ( 7 |
8 | 9 |
{(16 / 40) * 100}%
10 |
11 | ); 12 | }; 13 | 14 | export default MyComponent; 15 | ``` 16 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/progress/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ProgressClient from '@/app/[locale]/ui/progress/client'; 3 | 4 | const ProgressPage = () => { 5 | return ; 6 | }; 7 | 8 | export default ProgressPage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/table/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import TableClient from '@/app/[locale]/ui/table/client'; 3 | 4 | const TablePage = () => { 5 | return ; 6 | }; 7 | 8 | export default TablePage; 9 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/tooltip/_md/TooltipExample1.md: -------------------------------------------------------------------------------- 1 | ```tsx 2 | import React from 'react'; 3 | import Tooltip from './Tooltip'; 4 | 5 | const MyComponent = () => { 6 | return ( 7 |
8 | Lorem ipsum. 9 | 10 |
11 | ); 12 | }; 13 | 14 | export default MyComponent; 15 | ``` 16 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/tooltip/_md/TooltipInterface.md: -------------------------------------------------------------------------------- 1 | ```tsx 2 | interface ITooltipProps extends HTMLAttributes { 3 | children?: ReactNode; 4 | className?: string; 5 | text: string; 6 | placement?: PopperJS.Placement; 7 | borderWidth?: TBorderWidth; 8 | rounded?: TRounded; 9 | } 10 | ``` 11 | -------------------------------------------------------------------------------- /src/app/[locale]/ui/tooltip/page.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import TooltipClient from '@/app/[locale]/ui/tooltip/client'; 3 | 4 | const TooltipPage = () => { 5 | return ; 6 | }; 7 | 8 | export default TooltipPage; 9 | -------------------------------------------------------------------------------- /src/app/api/auth/[...nextauth]/route.ts: -------------------------------------------------------------------------------- 1 | import NextAuth from 'next-auth'; 2 | import { authOptions } from '@/app/api/auth/[...nextauth]'; 3 | 4 | // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment 5 | const handler = NextAuth(authOptions); 6 | 7 | export { handler as GET, handler as POST }; 8 | -------------------------------------------------------------------------------- /src/app/api/layout.tsx: -------------------------------------------------------------------------------- 1 | export const metadata = { 2 | title: 'Next.js', 3 | description: 'Generated by Next.js', 4 | } 5 | 6 | export default function RootLayout({ 7 | children, 8 | }: { 9 | children: React.ReactNode 10 | }) { 11 | return ( 12 | 13 | {children} 14 | 15 | ) 16 | } 17 | -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/app/favicon.ico -------------------------------------------------------------------------------- /src/assets/Cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/Cover.png -------------------------------------------------------------------------------- /src/assets/alex-motoc-0POwK6iAiRQ-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/alex-motoc-0POwK6iAiRQ-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/alex-motoc-0POwK6iAiRQ-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/alex-motoc-0POwK6iAiRQ-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/anomaly-oRskqiH7FNc-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/anomaly-oRskqiH7FNc-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/anomaly-oRskqiH7FNc-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/anomaly-oRskqiH7FNc-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/avatar/user1-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user1-thumb.png -------------------------------------------------------------------------------- /src/assets/avatar/user1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user1.png -------------------------------------------------------------------------------- /src/assets/avatar/user2-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user2-thumb.png -------------------------------------------------------------------------------- /src/assets/avatar/user2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user2.png -------------------------------------------------------------------------------- /src/assets/avatar/user3-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user3-thumb.png -------------------------------------------------------------------------------- /src/assets/avatar/user3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user3.png -------------------------------------------------------------------------------- /src/assets/avatar/user4-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user4-thumb.png -------------------------------------------------------------------------------- /src/assets/avatar/user4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user4.png -------------------------------------------------------------------------------- /src/assets/avatar/user5-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user5-thumb.png -------------------------------------------------------------------------------- /src/assets/avatar/user5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user5.png -------------------------------------------------------------------------------- /src/assets/avatar/user6-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user6-thumb.png -------------------------------------------------------------------------------- /src/assets/avatar/user6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user6.png -------------------------------------------------------------------------------- /src/assets/avatar/user7-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user7-thumb.png -------------------------------------------------------------------------------- /src/assets/avatar/user7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user7.png -------------------------------------------------------------------------------- /src/assets/avatar/user8-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user8-thumb.png -------------------------------------------------------------------------------- /src/assets/avatar/user8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user8.png -------------------------------------------------------------------------------- /src/assets/avatar/user9-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user9-thumb.png -------------------------------------------------------------------------------- /src/assets/avatar/user9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/avatar/user9.png -------------------------------------------------------------------------------- /src/assets/c-d-x-PDX_a_82obo-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/c-d-x-PDX_a_82obo-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/c-d-x-PDX_a_82obo-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/c-d-x-PDX_a_82obo-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/eniko-kis-KsLPTsYaqIQ-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/eniko-kis-KsLPTsYaqIQ-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/eniko-kis-KsLPTsYaqIQ-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/eniko-kis-KsLPTsYaqIQ-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/erica-steeves-G_lwAp0TF38-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/erica-steeves-G_lwAp0TF38-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/erica-steeves-G_lwAp0TF38-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/erica-steeves-G_lwAp0TF38-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/florian-klauer-mk7D-4UCfmg-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/florian-klauer-mk7D-4UCfmg-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/florian-klauer-mk7D-4UCfmg-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/florian-klauer-mk7D-4UCfmg-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/humans/delivery_man_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/humans/delivery_man_1.png -------------------------------------------------------------------------------- /src/assets/humans/delivery_man_5_with_dog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/humans/delivery_man_5_with_dog.png -------------------------------------------------------------------------------- /src/assets/irene-kredenets-dwKiHoqqxk8-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/irene-kredenets-dwKiHoqqxk8-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/irene-kredenets-dwKiHoqqxk8-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/irene-kredenets-dwKiHoqqxk8-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/isabella-fischer-6ast1xZ9YJY-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/isabella-fischer-6ast1xZ9YJY-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/isabella-fischer-6ast1xZ9YJY-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/isabella-fischer-6ast1xZ9YJY-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/joan-tran-reEySFadyJQ-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/joan-tran-reEySFadyJQ-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/joan-tran-reEySFadyJQ-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/joan-tran-reEySFadyJQ-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/kiran-ck-6rXpQzfCYlw-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/kiran-ck-6rXpQzfCYlw-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/kiran-ck-6rXpQzfCYlw-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/kiran-ck-6rXpQzfCYlw-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/kiran-ck-7KMhZqylgss-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/kiran-ck-7KMhZqylgss-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/kiran-ck-7KMhZqylgss-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/kiran-ck-7KMhZqylgss-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/kiran-ck-LSNJ-pltdu8-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/kiran-ck-LSNJ-pltdu8-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/kiran-ck-LSNJ-pltdu8-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/kiran-ck-LSNJ-pltdu8-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/kiran-ck-Lg4weBBGbLU-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/kiran-ck-Lg4weBBGbLU-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/kiran-ck-Lg4weBBGbLU-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/kiran-ck-Lg4weBBGbLU-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/kiran-ck-RZmiDOpv1lM-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/kiran-ck-RZmiDOpv1lM-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/kiran-ck-RZmiDOpv1lM-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/kiran-ck-RZmiDOpv1lM-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/kiran-ck-cDrIiiptFqE-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/kiran-ck-cDrIiiptFqE-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/kiran-ck-cDrIiiptFqE-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/kiran-ck-cDrIiiptFqE-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/kiran-ck-lSl94SZHRgA-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/kiran-ck-lSl94SZHRgA-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/kiran-ck-lSl94SZHRgA-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/kiran-ck-lSl94SZHRgA-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/kiran-ck-x_BppzRCBLs-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/kiran-ck-x_BppzRCBLs-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/kiran-ck-x_BppzRCBLs-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/kiran-ck-x_BppzRCBLs-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/mae-mu-GnWKTJlMYsQ-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/mae-mu-GnWKTJlMYsQ-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/mae-mu-GnWKTJlMYsQ-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/mae-mu-GnWKTJlMYsQ-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/marius-masalar-2rm8p0rKXiw-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/marius-masalar-2rm8p0rKXiw-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/marius-masalar-2rm8p0rKXiw-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/marius-masalar-2rm8p0rKXiw-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/mike-meyers-v8XaVfyo41Q-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/mike-meyers-v8XaVfyo41Q-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/mike-meyers-v8XaVfyo41Q-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/mike-meyers-v8XaVfyo41Q-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/milad-fakurian-58Z17lnVS4U-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/milad-fakurian-58Z17lnVS4U-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/milad-fakurian-58Z17lnVS4U-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/milad-fakurian-58Z17lnVS4U-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/milena-trifonova-pHqt1DsHCx0-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/milena-trifonova-pHqt1DsHCx0-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/milena-trifonova-pHqt1DsHCx0-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/milena-trifonova-pHqt1DsHCx0-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/mohammad-metri-E-0ON3VGrBc-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/mohammad-metri-E-0ON3VGrBc-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/mohammad-metri-E-0ON3VGrBc-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/mohammad-metri-E-0ON3VGrBc-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/nayam-27twCoUEAPM-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/nayam-27twCoUEAPM-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/norbert-levajsics-dUx0gwLbhzs-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/norbert-levajsics-dUx0gwLbhzs-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/norbert-levajsics-dUx0gwLbhzs-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/norbert-levajsics-dUx0gwLbhzs-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/rachit-tank-2cFZ_FB08UM-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/rachit-tank-2cFZ_FB08UM-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/rachit-tank-2cFZ_FB08UM-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/rachit-tank-2cFZ_FB08UM-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/required/check.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/required/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/required/dark-switch-off.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/required/dark:chevron-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/required/switch-off.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/required/switch-on.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/rianne-zuur-aeGLb-6DPp8-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/rianne-zuur-aeGLb-6DPp8-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/rianne-zuur-aeGLb-6DPp8-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/rianne-zuur-aeGLb-6DPp8-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/sincerely-media-0KwFuwdW7pU-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/sincerely-media-0KwFuwdW7pU-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/sincerely-media-0KwFuwdW7pU-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/sincerely-media-0KwFuwdW7pU-unsplash.jpg -------------------------------------------------------------------------------- /src/assets/thought-catalog-o0Qqw21-0NI-unsplash-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/thought-catalog-o0Qqw21-0NI-unsplash-thumb.jpg -------------------------------------------------------------------------------- /src/assets/thought-catalog-o0Qqw21-0NI-unsplash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bangoc123/protonx-ai-app-UI/356b1569be80605ba89085375514d13095104b63/src/assets/thought-catalog-o0Qqw21-0NI-unsplash.jpg -------------------------------------------------------------------------------- /src/components/Crisp.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import { useEffect } from 'react'; 4 | import { Crisp } from 'crisp-sdk-web'; 5 | 6 | const CrispChat = () => { 7 | useEffect(() => { 8 | Crisp.configure('8259c130-f884-4738-86d2-cdc354205e80'); 9 | }); 10 | 11 | return null; 12 | }; 13 | 14 | export default CrispChat; 15 | -------------------------------------------------------------------------------- /src/components/Mounted.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import React, { FC, ReactNode } from 'react'; 4 | import useMounted from '../hooks/useMounted'; 5 | 6 | interface IMountedProps { 7 | children: ReactNode; 8 | fallback?: ReactNode; 9 | } 10 | const Mounted: FC = ({ children, fallback }) => { 11 | const { mounted } = useMounted(); 12 | 13 | // eslint-disable-next-line react/jsx-no-useless-fragment 14 | if (mounted) return <>{children}; 15 | return fallback || null; 16 | }; 17 | 18 | export default Mounted; 19 | -------------------------------------------------------------------------------- /src/components/NextAuthProvider.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import React, { FC, ReactNode } from 'react'; 4 | import { SessionProvider } from 'next-auth/react'; 5 | 6 | interface AuthProviderProps { 7 | children: ReactNode; 8 | } 9 | const NextAuthProvider: FC = ({ children }) => { 10 | return {children}; 11 | }; 12 | 13 | export default NextAuthProvider; 14 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Adjust.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgAdjust = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgAdjust; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/AnchorCenter.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgAnchorCenter = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default SvgAnchorCenter; 16 | -------------------------------------------------------------------------------- /src/components/icon/duotone/AnchorLeft.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgAnchorLeft = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | ); 17 | }; 18 | 19 | export default SvgAnchorLeft; 20 | -------------------------------------------------------------------------------- /src/components/icon/duotone/AnchorRight.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgAnchorRight = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | ); 17 | }; 18 | 19 | export default SvgAnchorRight; 20 | -------------------------------------------------------------------------------- /src/components/icon/duotone/AngleDown.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgAngleDown = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgAngleDown; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/AngleLeft.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgAngleLeft = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgAngleLeft; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/AngleRight.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgAngleRight = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgAngleRight; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/AngleUp.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgAngleUp = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgAngleUp; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Archive.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArchive = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgArchive; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Atm.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgAtm = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgAtm; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Barcode.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBarcode = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgBarcode; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/BatteryFull.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBatteryFull = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 14 | 15 | 16 | ); 17 | }; 18 | 19 | export default SvgBatteryFull; 20 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Bookmark.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBookmark = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgBookmark; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Border.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBorder = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgBorder; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Box.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBox = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgBox; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Box1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBox1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgBox1; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Brassiere.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBrassiere = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgBrassiere; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Cap1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCap1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgCap1; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Cap2.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCap2 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | ); 12 | }; 13 | 14 | export default SvgCap2; 15 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Cap3.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCap3 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgCap3; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Cd.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCd = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgCd; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Chat2.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgChat2 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgChat2; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Check.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCheck = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgCheck; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Circle.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCircle = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | ); 12 | }; 13 | 14 | export default SvgCircle; 15 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Close.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgClose = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | ); 12 | }; 13 | 14 | export default SvgClose; 15 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Cloud1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCloud1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgCloud1; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Cloud2.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCloud2 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgCloud2; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Color.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgColor = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgColor; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Compass1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCompass1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgCompass1; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Control.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgControl = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgControl; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/CreditCard.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCreditCard = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | ); 14 | }; 15 | 16 | export default SvgCreditCard; 17 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Cursor.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCursor = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgCursor; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Dinner.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgDinner = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 13 | 14 | 15 | 16 | ); 17 | }; 18 | 19 | export default SvgDinner; 20 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Direction1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgDirection1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgDirection1; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Direction2.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgDirection2 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgDirection2; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Dish.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgDish = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgDish; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Dvd.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgDvd = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgDvd; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Edit.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgEdit = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgEdit; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Filter.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgFilter = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgFilter; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Fire.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgFire = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgFire; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Flatten.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgFlatten = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 14 | 15 | 16 | ); 17 | }; 18 | 19 | export default SvgFlatten; 20 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Folder.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgFolder = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgFolder; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Folder1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgFolder1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgFolder1; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/FolderSolid.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgFolderSolid = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgFolderSolid; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Fridge.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgFridge = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgFridge; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Gameboy.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgGameboy = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 13 | 14 | 15 | 16 | ); 17 | }; 18 | 19 | export default SvgGameboy; 20 | -------------------------------------------------------------------------------- /src/components/icon/duotone/H1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgH1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgH1; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Heart.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgHeart = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgHeart; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/HighVoltage.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgHighVoltage = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgHighVoltage; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/IceCream2.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgIceCream2 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgIceCream2; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Image.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgImage = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgImage; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/InfoCircle.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgInfoCircle = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | ); 14 | }; 15 | 16 | export default SvgInfoCircle; 17 | -------------------------------------------------------------------------------- /src/components/icon/duotone/IphoneBack.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgIphoneBack = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgIphoneBack; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/IphoneXBack.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgIphoneXBack = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgIphoneXBack; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Italic.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgItalic = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | ); 12 | }; 13 | 14 | export default SvgItalic; 15 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Join1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgJoin1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default SvgJoin1; 16 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Join2.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgJoin2 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default SvgJoin2; 16 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Lamp2.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgLamp2 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 13 | 14 | 15 | 16 | ); 17 | }; 18 | 19 | export default SvgLamp2; 20 | -------------------------------------------------------------------------------- /src/components/icon/duotone/LayoutLeftPanel1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgLayoutLeftPanel1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default SvgLayoutLeftPanel1; 16 | -------------------------------------------------------------------------------- /src/components/icon/duotone/LayoutRightPanel1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgLayoutRightPanel1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default SvgLayoutRightPanel1; 16 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Loading.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgLoading = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgLoading; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/LocationArrow.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgLocationArrow = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgLocationArrow; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Lock.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgLock = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | ); 17 | }; 18 | 19 | export default SvgLock; 20 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Mail.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgMail = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgMail; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Marker1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgMarker1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgMarker1; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Marker2.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgMarker2 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgMarker2; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Mc.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgMc = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 13 | 14 | 15 | 16 | ); 17 | }; 18 | 19 | export default SvgMc; 20 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Minus.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgMinus = (props: SVGProps) => { 4 | return ( 5 | 6 | 15 | 16 | ); 17 | }; 18 | 19 | export default SvgMinus; 20 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Minus1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgMinus1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default SvgMinus1; 16 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Moon.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgMoon = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | ); 12 | }; 13 | 14 | export default SvgMoon; 15 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Notifications1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgNotifications1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | ); 12 | }; 13 | 14 | export default SvgNotifications1; 15 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Other1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgOther1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | ); 14 | }; 15 | 16 | export default SvgOther1; 17 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Other2.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgOther2 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | ); 14 | }; 15 | 16 | export default SvgOther2; 17 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Panties.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgPanties = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgPanties; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Paragraph.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgParagraph = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgParagraph; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Pause.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgPause = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgPause; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Pencil.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgPencil = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgPencil; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Play.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgPlay = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgPlay; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Plus.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgPlus = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 17 | 18 | 19 | ); 20 | }; 21 | 22 | export default SvgPlus; 23 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Plus1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgPlus1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgPlus1; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Polygon.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgPolygon = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgPolygon; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Puzzle.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgPuzzle = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgPuzzle; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Quote1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgQuote1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default SvgQuote1; 16 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Quote2.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgQuote2 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default SvgQuote2; 16 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Rec.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgRec = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgRec; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Rectangle.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgRectangle = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | ); 12 | }; 13 | 14 | export default SvgRectangle; 15 | -------------------------------------------------------------------------------- /src/components/icon/duotone/SdCard.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgSdCard = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgSdCard; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Send.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgSend = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgSend; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Settings2.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgSettings2 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgSettings2; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Settings3.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgSettings3 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default SvgSettings3; 16 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Shift.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgShift = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgShift; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Sketch.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgSketch = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default SvgSketch; 16 | -------------------------------------------------------------------------------- /src/components/icon/duotone/SocketEu.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgSocketEu = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgSocketEu; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Stairs.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgStairs = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgStairs; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Tablet.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgTablet = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgTablet; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/TemperatureFull.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgTemperatureFull = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgTemperatureFull; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/TemperatureHalf.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgTemperatureHalf = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgTemperatureHalf; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Text.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgText = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgText; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Thunder.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgThunder = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgThunder; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Towel.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgTowel = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgTowel; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Triangle.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgTriangle = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgTriangle; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Unlock.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgUnlock = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | ); 17 | }; 18 | 19 | export default SvgUnlock; 20 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Update.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgUpdate = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | ); 15 | }; 16 | 17 | export default SvgUpdate; 18 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Usb.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgUsb = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 14 | 15 | 16 | ); 17 | }; 18 | 19 | export default SvgUsb; 20 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Vinyl.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgVinyl = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | export default SvgVinyl; 19 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Visible.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgVisible = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 13 | 14 | 15 | 16 | ); 17 | }; 18 | 19 | export default SvgVisible; 20 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Wood1.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgWood1 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 13 | 14 | 15 | 16 | ); 17 | }; 18 | 19 | export default SvgWood1; 20 | -------------------------------------------------------------------------------- /src/components/icon/duotone/Wood2.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgWood2 = (props: SVGProps) => { 4 | return ( 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ); 13 | }; 14 | 15 | export default SvgWood2; 16 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowDown.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowDown = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowDown; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowDownCircle.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowDownCircle = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowDownCircle; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowDownLeft.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowDownLeft = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowDownLeft; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowDownRight.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowDownRight = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowDownRight; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowDownTray.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowDownTray = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowDownTray; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowLeft.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowLeft = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowLeft; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowLeftCircle.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowLeftCircle = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowLeftCircle; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowLongDown.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowLongDown = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowLongDown; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowLongLeft.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowLongLeft = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowLongLeft; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowLongRight.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowLongRight = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowLongRight; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowLongUp.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowLongUp = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowLongUp; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowRight.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowRight = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowRight; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowRightCircle.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowRightCircle = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowRightCircle; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowSmallDown.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowSmallDown = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowSmallDown; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowSmallLeft.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowSmallLeft = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowSmallLeft; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowSmallRight.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowSmallRight = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowSmallRight; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowSmallUp.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowSmallUp = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowSmallUp; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowTrendingDown.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowTrendingDown = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowTrendingDown; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowTrendingUp.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowTrendingUp = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowTrendingUp; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowUp.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowUp = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowUp; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowUpCircle.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowUpCircle = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowUpCircle; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowUpLeft.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowUpLeft = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowUpLeft; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowUpRight.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowUpRight = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowUpRight; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowUpTray.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowUpTray = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowUpTray; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowUturnDown.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowUturnDown = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowUturnDown; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowUturnLeft.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowUturnLeft = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowUturnLeft; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowUturnRight.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowUturnRight = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowUturnRight; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowUturnUp.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowUturnUp = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowUturnUp; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowsRightLeft.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowsRightLeft = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowsRightLeft; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ArrowsUpDown.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgArrowsUpDown = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgArrowsUpDown; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/AtSymbol.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgAtSymbol = (props: SVGProps) => ( 4 | 10 | 16 | 17 | ); 18 | export default SvgAtSymbol; 19 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Bars2.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBars2 = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgBars2; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Bars3.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBars3 = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgBars3; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Bars3BottomLeft.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBars3BottomLeft = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgBars3BottomLeft; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Bars3BottomRight.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBars3BottomRight = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgBars3BottomRight; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Bars3CenterLeft.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBars3CenterLeft = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgBars3CenterLeft; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Bars4.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBars4 = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgBars4; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/BarsArrowDown.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBarsArrowDown = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgBarsArrowDown; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/BarsArrowUp.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBarsArrowUp = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgBarsArrowUp; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Bolt.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBolt = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgBolt; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Bookmark.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgBookmark = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgBookmark; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Check.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCheck = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgCheck; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/CheckCircle.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCheckCircle = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgCheckCircle; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ChevronDoubleDown.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgChevronDoubleDown = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgChevronDoubleDown; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ChevronDoubleLeft.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgChevronDoubleLeft = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgChevronDoubleLeft; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ChevronDoubleRight.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgChevronDoubleRight = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgChevronDoubleRight; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ChevronDoubleUp.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgChevronDoubleUp = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgChevronDoubleUp; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ChevronDown.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgChevronDown = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgChevronDown; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ChevronLeft.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgChevronLeft = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgChevronLeft; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ChevronRight.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgChevronRight = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgChevronRight; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ChevronUp.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgChevronUp = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgChevronUp; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ChevronUpDown.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgChevronUpDown = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgChevronUpDown; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Clock.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgClock = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgClock; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Cloud.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCloud = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgCloud; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/CodeBracket.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCodeBracket = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgCodeBracket; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Cube.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCube = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgCube; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/CurrencyEuro.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCurrencyEuro = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgCurrencyEuro; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/CurrencyRupee.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCurrencyRupee = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgCurrencyRupee; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/CurrencyYen.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgCurrencyYen = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgCurrencyYen; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/ExclamationCircle.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgExclamationCircle = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgExclamationCircle; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Hashtag.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgHashtag = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgHashtag; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/MagnifyingGlass.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgMagnifyingGlass = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgMagnifyingGlass; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/MagnifyingGlassMinus.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgMagnifyingGlassMinus = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgMagnifyingGlassMinus; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/MagnifyingGlassPlus.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgMagnifyingGlassPlus = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgMagnifyingGlassPlus; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Minus.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgMinus = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgMinus; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/MinusCircle.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgMinusCircle = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgMinusCircle; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/MinusSmall.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgMinusSmall = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgMinusSmall; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/NoSymbol.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgNoSymbol = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgNoSymbol; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/PaperAirplane.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgPaperAirplane = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgPaperAirplane; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Pause.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgPause = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgPause; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/PauseCircle.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgPauseCircle = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgPauseCircle; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Play.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgPlay = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgPlay; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Plus.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgPlus = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgPlus; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/PlusCircle.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgPlusCircle = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgPlusCircle; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/PlusSmall.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgPlusSmall = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgPlusSmall; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Power.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgPower = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgPower; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/QueueList.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgQueueList = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgQueueList; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Rss.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgRss = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgRss; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/Stop.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgStop = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgStop; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/XCircle.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgXCircle = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgXCircle; 20 | -------------------------------------------------------------------------------- /src/components/icon/heroicons/XMark.tsx: -------------------------------------------------------------------------------- 1 | import React, { SVGProps } from 'react'; 2 | 3 | const SvgXMark = (props: SVGProps) => ( 4 | 10 | 17 | 18 | ); 19 | export default SvgXMark; 20 | -------------------------------------------------------------------------------- /src/components/icon/svg-icons/CustomNpm.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import type { SVGProps } from "react"; 3 | const SvgCustomNpm = (props: SVGProps) => ; 4 | export default SvgCustomNpm; -------------------------------------------------------------------------------- /src/components/icon/svg-icons/index.ts: -------------------------------------------------------------------------------- 1 | export { default as CustomApple } from './CustomApple' 2 | export { default as CustomFacebook } from './CustomFacebook' 3 | export { default as CustomGithub } from './CustomGithub' 4 | export { default as CustomGoogle } from './CustomGoogle' 5 | export { default as CustomNpm } from './CustomNpm' 6 | export { default as CustomSaudiArabia } from './CustomSaudiArabia' 7 | export { default as CustomSpain } from './CustomSpain' 8 | export { default as CustomTurkey } from './CustomTurkey' 9 | export { default as CustomUsa } from './CustomUsa' -------------------------------------------------------------------------------- /src/components/layouts/Breadcrumb/Breadcrumb.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC, HTMLAttributes } from 'react'; 2 | 3 | interface IBreadcrumbProps extends HTMLAttributes { 4 | path?: string; 5 | currentPage?: string; 6 | } 7 | const Breadcrumb: FC = (props) => { 8 | const { path, currentPage, ...rest } = props; 9 | return ( 10 |
11 | {path &&
{path}
} 12 | {currentPage &&
{currentPage}
} 13 |
14 | ); 15 | }; 16 | 17 | export default Breadcrumb; 18 | -------------------------------------------------------------------------------- /src/components/layouts/Portal/Portal.tsx: -------------------------------------------------------------------------------- 1 | import { FC, ReactNode } from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | 4 | interface IPortalProps { 5 | children: ReactNode; 6 | id?: string; 7 | } 8 | const Portal: FC = ({ id = 'portal-root', children }) => { 9 | const mount = typeof window !== 'undefined' && document.getElementById(id); 10 | if (mount) return ReactDOM.createPortal(children, mount); 11 | return null; 12 | }; 13 | 14 | export default Portal; 15 | -------------------------------------------------------------------------------- /src/components/utils/Visible.tsx: -------------------------------------------------------------------------------- 1 | import React, { FC, ReactNode } from 'react'; 2 | 3 | interface IVisibleProps { 4 | children: ReactNode; 5 | is: boolean; 6 | } 7 | const Visible: FC = (props) => { 8 | const { children, is } = props; 9 | // eslint-disable-next-line react/jsx-no-useless-fragment 10 | if (is) return <>{children}; 11 | return null; 12 | }; 13 | 14 | export default Visible; 15 | -------------------------------------------------------------------------------- /src/constants/common/saveBtn.constant.ts: -------------------------------------------------------------------------------- 1 | import { TSaveBtnStatus } from '@/types/common/saveBtn.type'; 2 | 3 | const SAVE_BTN_STATUS: TSaveBtnStatus = { 4 | PUBLISH: 'Publish', 5 | SAVE: 'Save', 6 | SAVING: 'Saving', 7 | SAVED: 'Saved', 8 | }; 9 | 10 | export default SAVE_BTN_STATUS; 11 | -------------------------------------------------------------------------------- /src/constants/darkMode.constant.ts: -------------------------------------------------------------------------------- 1 | import { TDarkModes } from '@/types/darkMode.type'; 2 | 3 | const DARK_MODE: TDarkModes = { 4 | DARK: 'dark', 5 | LIGHT: 'light', 6 | SYSTEM: 'system', 7 | }; 8 | 9 | export default DARK_MODE; 10 | -------------------------------------------------------------------------------- /src/constants/periods.constant.ts: -------------------------------------------------------------------------------- 1 | type TPeriodKEY = 'DAY' | 'WEEK' | 'MONTH'; 2 | type TPeriodText = 'Day' | 'Week' | 'Month'; 3 | 4 | export type TPeriod = { 5 | text: TPeriodText; 6 | }; 7 | export type TPeriods = { 8 | [key in TPeriodKEY]: TPeriod; 9 | }; 10 | 11 | const PERIOD: TPeriods = { 12 | DAY: { text: 'Day' }, 13 | WEEK: { text: 'Week' }, 14 | MONTH: { text: 'Month' }, 15 | }; 16 | 17 | export default PERIOD; 18 | -------------------------------------------------------------------------------- /src/hooks/useAsideStatus.ts: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import { useContext } from 'react'; 4 | import { ThemeContext } from '@/context/themeContext'; 5 | 6 | export default function useAsideStatus() { 7 | const { asideStatus, setAsideStatus } = useContext(ThemeContext); 8 | 9 | return { asideStatus, setAsideStatus }; 10 | } 11 | -------------------------------------------------------------------------------- /src/hooks/useDarkMode.ts: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import { useContext } from 'react'; 4 | import { ThemeContext } from '@/context/themeContext'; 5 | 6 | export default function useDarkMode() { 7 | const { darkModeStatus, setDarkModeStatus, isDarkTheme } = useContext(ThemeContext); 8 | 9 | return { isDarkTheme, darkModeStatus, setDarkModeStatus }; 10 | } 11 | -------------------------------------------------------------------------------- /src/hooks/useDir.ts: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import { useContext } from 'react'; 4 | import { ThemeContext } from '@/context/themeContext'; 5 | 6 | const useDir = () => { 7 | const { dir } = useContext(ThemeContext); 8 | const isLTR = dir === 'ltr'; 9 | const isRTL = !isLTR; 10 | 11 | return { dir, isLTR, isRTL }; 12 | }; 13 | export default useDir; 14 | -------------------------------------------------------------------------------- /src/hooks/useFontSize.ts: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import { useContext } from 'react'; 4 | import { ThemeContext } from '@/context/themeContext'; 5 | 6 | export default function useFontSize() { 7 | const { fontSize, setFontSize } = useContext(ThemeContext); 8 | 9 | return { fontSize, setFontSize }; 10 | } 11 | -------------------------------------------------------------------------------- /src/hooks/useIsomorphicLayoutEffect.ts: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import { useEffect, useLayoutEffect } from 'react'; 4 | 5 | const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect; 6 | 7 | export default useIsomorphicLayoutEffect; 8 | -------------------------------------------------------------------------------- /src/hooks/useMounted.ts: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import { useEffect, useState } from 'react'; 4 | 5 | const useMounted = () => { 6 | const [mounted, setMounted] = useState(false); 7 | 8 | useEffect(() => { 9 | setMounted(true); 10 | 11 | return () => setMounted(false); 12 | }, []); 13 | 14 | return { mounted }; 15 | }; 16 | 17 | export default useMounted; 18 | -------------------------------------------------------------------------------- /src/interface/chart.interface.ts: -------------------------------------------------------------------------------- 1 | import { ApexOptions } from 'apexcharts'; 2 | 3 | export interface IChartOptions { 4 | series: ApexOptions['series']; 5 | options: ApexOptions; 6 | } 7 | -------------------------------------------------------------------------------- /src/interface/validation.interface.ts: -------------------------------------------------------------------------------- 1 | export interface IValidationProps { 2 | invalidFeedback?: string; 3 | isTouched?: boolean; 4 | isValid?: boolean; 5 | isValidMessage?: boolean; 6 | validFeedback?: string; 7 | } 8 | 9 | export const validationDefaultProps = { 10 | invalidFeedback: undefined, 11 | isTouched: false, 12 | isValid: false, 13 | isValidMessage: true, 14 | validFeedback: undefined, 15 | }; 16 | -------------------------------------------------------------------------------- /src/middleware.ts: -------------------------------------------------------------------------------- 1 | import { i18nRouter } from 'next-i18n-router'; 2 | import { NextRequest } from 'next/server'; 3 | import i18nConfig from '../i18nConfig'; 4 | 5 | export function middleware(request: NextRequest) { 6 | return i18nRouter(request, i18nConfig); 7 | } 8 | 9 | // only applies this middleware to files in the app directory 10 | export const config = { 11 | matcher: '/((?!api|static|.*\\..*|_next).*)', 12 | }; 13 | -------------------------------------------------------------------------------- /src/mocks/db/modules.db.ts: -------------------------------------------------------------------------------- 1 | export type TModule = { 2 | id: string; 3 | name: string; 4 | }; 5 | 6 | export const modulesDbList = { 7 | customer: { id: 'customer', name: 'Customer' }, 8 | product: { id: 'product', name: 'Product' }, 9 | category: { id: 'category', name: 'Category' }, 10 | }; 11 | 12 | const modulesDb: TModule[] = Object.values(modulesDbList); 13 | 14 | export default modulesDb; 15 | -------------------------------------------------------------------------------- /src/mocks/db/tags.db.ts: -------------------------------------------------------------------------------- 1 | type TTagKEY = 'new' | 'sale' | 'taxFree' | 'freeShipping' | string; 2 | export type TTag = { 3 | id: string; 4 | name: string; 5 | }; 6 | 7 | export const tagsDbList: { [key in TTagKEY]: TTag } = { 8 | new: { id: 'new', name: 'New' }, 9 | sale: { id: 'sale', name: 'Sale' }, 10 | taxFree: { id: 'taxFree', name: 'Tax Free' }, 11 | freeShipping: { id: 'freeShipping', name: 'Free Shipping' }, 12 | }; 13 | 14 | const tagsDb: TTag[] = Object.values(tagsDbList); 15 | export default tagsDb; 16 | -------------------------------------------------------------------------------- /src/routes/asideRoutes.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { authPages } from '@/config/pages.config'; 3 | import { TRoute } from '@/types/route.type'; 4 | import DefaultAsideTemplate from '../templates/layouts/Asides/DefaultAside.template'; 5 | 6 | const asideRoutes: TRoute[] = [ 7 | { path: authPages.loginPage.to, element: null }, 8 | { path: '/*', element: }, 9 | ]; 10 | 11 | export default asideRoutes; 12 | -------------------------------------------------------------------------------- /src/routes/footerRoutes.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { authPages } from '@/config/pages.config'; 3 | import { TRoute } from '@/types/route.type'; 4 | import DefaultFooterTemplate from '../templates/layouts/Footers/DefaultFooter.template'; 5 | 6 | const footerRoutes: TRoute[] = [ 7 | { path: authPages.loginPage.to, element: null }, 8 | { path: '/*', element: }, 9 | ]; 10 | 11 | export default footerRoutes; 12 | -------------------------------------------------------------------------------- /src/templates/layouts/Footers/DefaultFooter.template.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import dayjs from 'dayjs'; 3 | import Footer, { FooterLeft, FooterRight } from '../../../components/layouts/Footer/Footer'; 4 | 5 | const DefaultFooterTemplate = () => { 6 | return ( 7 |
8 | 9 |
10 | 11 | 12 | ProtonX 13 | 14 |
15 | ); 16 | }; 17 | 18 | export default DefaultFooterTemplate; 19 | -------------------------------------------------------------------------------- /src/types/ai-demos/chat-types.d.ts: -------------------------------------------------------------------------------- 1 | interface IChat { 2 | content: string; 3 | role: string; 4 | } 5 | 6 | interface ChatPart { 7 | text: String 8 | } 9 | 10 | interface GoogleChat { 11 | role: string; 12 | parts: Array; 13 | } 14 | -------------------------------------------------------------------------------- /src/types/ai-demos/chatAudio-types.d.ts: -------------------------------------------------------------------------------- 1 | interface IChatAudio { 2 | content?: string; 3 | role: string; 4 | url?: string; 5 | } 6 | -------------------------------------------------------------------------------- /src/types/ai-demos/chatImage-types.d.ts: -------------------------------------------------------------------------------- 1 | interface IChatImage { 2 | content: string; 3 | role: string; 4 | base64?: string; 5 | } 6 | -------------------------------------------------------------------------------- /src/types/ai-demos/chatSmartHr-types.d.ts: -------------------------------------------------------------------------------- 1 | interface IChatSmartHr { 2 | content?: string; 3 | role: string; 4 | generated_sequences?: IJd[]; 5 | } 6 | -------------------------------------------------------------------------------- /src/types/ai-demos/jd-types.d.ts: -------------------------------------------------------------------------------- 1 | interface IJd { 2 | content: string; 3 | state: string; 4 | type: string; 5 | _id: string; 6 | } 7 | -------------------------------------------------------------------------------- /src/types/borderWidth.type.ts: -------------------------------------------------------------------------------- 1 | export type TBorderWidth = 'border' | 'border-2' | 'border-4' | 'border-8' | 'border-0'; 2 | 3 | export const arrBorderWidth: TBorderWidth[] = [ 4 | 'border', 5 | 'border-2', 6 | 'border-4', 7 | 'border-8', 8 | 'border-0', 9 | ]; 10 | -------------------------------------------------------------------------------- /src/types/colorIntensities.type.ts: -------------------------------------------------------------------------------- 1 | export type TColorIntensity = 2 | | '50' 3 | | '100' 4 | | '200' 5 | | '300' 6 | | '400' 7 | | '500' 8 | | '600' 9 | | '700' 10 | | '800' 11 | | '900' 12 | | '950'; 13 | 14 | export const arrColorIntensity: TColorIntensity[] = [ 15 | '50', 16 | '100', 17 | '200', 18 | '300', 19 | '400', 20 | '500', 21 | '600', 22 | '700', 23 | '800', 24 | '900', 25 | '950', 26 | ]; 27 | -------------------------------------------------------------------------------- /src/types/common/saveBtn.type.ts: -------------------------------------------------------------------------------- 1 | export type TSaveBtnStatusValue = 'Publish' | 'Save' | 'Saving' | 'Saved'; 2 | export type TSaveBtnStatus = { 3 | [key in 'PUBLISH' | 'SAVE' | 'SAVING' | 'SAVED']: TSaveBtnStatusValue; 4 | }; 5 | -------------------------------------------------------------------------------- /src/types/darkMode.type.ts: -------------------------------------------------------------------------------- 1 | export type TDarkModeKEY = 'DARK' | 'LIGHT' | 'SYSTEM'; 2 | export type TDarkMode = 'dark' | 'light' | 'system'; 3 | 4 | export type TDarkModes = { 5 | [key in TDarkModeKEY]: TDarkMode; 6 | }; 7 | -------------------------------------------------------------------------------- /src/types/fontSizes.type.ts: -------------------------------------------------------------------------------- 1 | export type TFontSizes = 2 | | 'text-xs' 3 | | 'text-sm' 4 | | 'text-base' 5 | | 'text-lg' 6 | | 'text-xl' 7 | | 'text-2xl' 8 | | 'text-3xl' 9 | | 'text-4xl' 10 | | 'text-5xl' 11 | | 'text-6xl' 12 | | 'text-7xl' 13 | | 'text-8xl' 14 | | 'text-9xl'; 15 | 16 | export const arrFontSizes: TFontSizes[] = [ 17 | 'text-xs', 18 | 'text-sm', 19 | 'text-base', 20 | 'text-lg', 21 | 'text-xl', 22 | 'text-2xl', 23 | 'text-3xl', 24 | 'text-4xl', 25 | 'text-5xl', 26 | 'text-6xl', 27 | 'text-7xl', 28 | 'text-8xl', 29 | 'text-9xl', 30 | ]; 31 | -------------------------------------------------------------------------------- /src/types/icons.type.ts: -------------------------------------------------------------------------------- 1 | import { TDuotoneIcons } from './duotoneIcons.type'; 2 | import { THeroIcons } from './heroIcons.type'; 3 | 4 | export type TIcons = TDuotoneIcons | THeroIcons | string; 5 | -------------------------------------------------------------------------------- /src/types/input.type.ts: -------------------------------------------------------------------------------- 1 | export type TInputTypes = 2 | | 'color' 3 | | 'date' 4 | | 'datetime-local' 5 | | 'email' 6 | | 'file' 7 | | 'hidden' 8 | | 'month' 9 | | 'number' 10 | | 'password' 11 | | 'range' 12 | | 'search' 13 | | 'tel' 14 | | 'text' 15 | | 'time' 16 | | 'url' 17 | | 'week'; 18 | -------------------------------------------------------------------------------- /src/types/lang.type.ts: -------------------------------------------------------------------------------- 1 | export type TLang = 'en' | 'es' | 'ar' | 'tr'; 2 | -------------------------------------------------------------------------------- /src/types/pages.type.ts: -------------------------------------------------------------------------------- 1 | import { TIcons } from './icons.type'; 2 | 3 | export type TPage = { 4 | id: string; 5 | to: string; 6 | /** 7 | * text: can also be used as an i18n key 8 | */ 9 | text: string; 10 | icon: TIcons; 11 | }; 12 | 13 | export type TPages = { 14 | [key: string]: TPage; 15 | }; 16 | -------------------------------------------------------------------------------- /src/types/rounded.type.ts: -------------------------------------------------------------------------------- 1 | export type TRounded = 2 | | 'rounded-none' 3 | | 'rounded-sm' 4 | | 'rounded' 5 | | 'rounded-md' 6 | | 'rounded-lg' 7 | | 'rounded-xl' 8 | | 'rounded-2xl' 9 | | 'rounded-3xl' 10 | | 'rounded-full'; 11 | 12 | export const arrRounded: TRounded[] = [ 13 | 'rounded-none', 14 | 'rounded-sm', 15 | 'rounded', 16 | 'rounded-md', 17 | 'rounded-lg', 18 | 'rounded-xl', 19 | 'rounded-2xl', 20 | 'rounded-3xl', 21 | 'rounded-full', 22 | ]; 23 | -------------------------------------------------------------------------------- /src/types/route.type.ts: -------------------------------------------------------------------------------- 1 | import { ReactNode } from 'react'; 2 | 3 | export type TRoute = { path: string; element: null } | { path: string; element: ReactNode }; 4 | -------------------------------------------------------------------------------- /src/types/screens.type.ts: -------------------------------------------------------------------------------- 1 | export type TScreens = 'sm' | 'md' | 'lg' | 'xl' | '2xl'; 2 | 3 | export const arrScreens: TScreens[] = ['sm', 'lg', 'xl', '2xl']; 4 | -------------------------------------------------------------------------------- /src/utils/getFirstLetter.ts: -------------------------------------------------------------------------------- 1 | const getFirstLetter = (text: string, letterCount = 2): string => 2 | text 3 | .split(/\s/) 4 | .slice(0, letterCount) 5 | .map((word) => word[0]) 6 | .join('') 7 | .toUpperCase(); 8 | 9 | export default getFirstLetter; 10 | -------------------------------------------------------------------------------- /src/utils/priceFormat.util.ts: -------------------------------------------------------------------------------- 1 | const priceFormat = (price: number): string => { 2 | return price.toLocaleString('en-US', { 3 | style: 'currency', 4 | currency: 'USD', 5 | }); 6 | }; 7 | 8 | export default priceFormat; 9 | -------------------------------------------------------------------------------- /src/utils/purePathname.util.ts: -------------------------------------------------------------------------------- 1 | import i18nConfig from '../../i18nConfig'; 2 | 3 | const purePathnameUtil = (pathname: string): string => { 4 | const changePattern = (lng: string): string => `/${lng}/`; 5 | 6 | const otherThanDefaultLanguage = 7 | i18nConfig.locales.map(changePattern).includes(pathname.substring(0, 4)) || 8 | !!i18nConfig.locales.find((key) => pathname === `/${key}`); 9 | 10 | return otherThanDefaultLanguage ? pathname.substring(3, pathname.length) || '/' : pathname; 11 | }; 12 | export default purePathnameUtil; 13 | -------------------------------------------------------------------------------- /tsconfig.eslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "include": ["src/**/*.ts*", "src/**/*.js*", "src/declaration.d.ts"], 4 | "exclude": ["node_modules", "dist", "coverage"] 5 | } 6 | --------------------------------------------------------------------------------