diff --git a/.gitignore b/.gitignore index 438657a..4e7e7cc 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,5 @@ dist-ssr *.njsproj *.sln *.sw? + +docs/.vitepress/cache \ No newline at end of file diff --git a/README.md b/README.md index d7eb277..15ed9d7 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,55 @@ -# mxik-js +## Getting Started -To install dependencies: +### Installation -```bash -bun install +You can install the package using the following command: + +::: code-group + +```sh [npm] +npm i mxik +``` + +```sh [pnpm] +pnpm i mxik +``` + +```sh [bun] +bun add mxik +``` +::: + +### Importing the Package +After installing the package, you can import it into your project. Below is an example of how to import the package: + +#### ES6 +```ts +import { MxikClient } from 'mxik' +``` + +### CommonJS +```ts +const MxikClient = require('mxik') ``` -To run: +### Usage +Here are some examples of how to use the package: + +```ts +import { MxikClient } from 'mxik' -```bash -bun run index.ts +const mxik = new MxikClient() + +// find by any keyword +await mxik.search('Футболка') + +// or get mxik code detais +await mxik.code('06111001018000000') ``` -This project was created using `bun init` in bun v1.1.20. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime. +## Contributing +If you would like to contribute to the project, please read the contributing guidelines. + +## License +This project is licensed under the MIT License. See the LICENSE file for more details. + diff --git a/bun.lockb b/bun.lockb index 0690e48..554948a 100644 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts new file mode 100644 index 0000000..e9e8c7b --- /dev/null +++ b/docs/.vitepress/config.ts @@ -0,0 +1,27 @@ +import { defineConfig } from 'vitepress' + +// https://vitepress.dev/reference/site-config +export default defineConfig({ + title: 'mxik', + description: 'API Client for tasnif.soliq.uz', + themeConfig: { + // https://vitepress.dev/reference/default-theme-config + nav: [ + { text: 'API Reference', link: '/api' }, + ], + + sidebar: [ + { + text: 'Examples', + items: [ + { text: 'Markdown Examples', link: '/markdown-examples' }, + { text: 'Runtime API Examples', link: '/api-examples' }, + ], + }, + ], + + socialLinks: [ + { icon: 'github', link: 'https://github.com/azabroflovski/mxik-js' }, + ], + }, +}) diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts new file mode 100644 index 0000000..def4cfc --- /dev/null +++ b/docs/.vitepress/theme/index.ts @@ -0,0 +1,17 @@ +// https://vitepress.dev/guide/custom-theme +import { h } from 'vue' +import type { Theme } from 'vitepress' +import DefaultTheme from 'vitepress/theme' +import './style.css' + +export default { + extends: DefaultTheme, + Layout: () => { + return h(DefaultTheme.Layout, null, { + // https://vitepress.dev/guide/extending-default-theme#layout-slots + }) + }, + enhanceApp({ app, router, siteData }) { + // ... + } +} satisfies Theme diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css new file mode 100644 index 0000000..d63aee8 --- /dev/null +++ b/docs/.vitepress/theme/style.css @@ -0,0 +1,139 @@ +/** + * Customize default theme styling by overriding CSS variables: + * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css + */ + +/** + * Colors + * + * Each colors have exact same color scale system with 3 levels of solid + * colors with different brightness, and 1 soft color. + * + * - `XXX-1`: The most solid color used mainly for colored text. It must + * satisfy the contrast ratio against when used on top of `XXX-soft`. + * + * - `XXX-2`: The color used mainly for hover state of the button. + * + * - `XXX-3`: The color for solid background, such as bg color of the button. + * It must satisfy the contrast ratio with pure white (#ffffff) text on + * top of it. + * + * - `XXX-soft`: The color used for subtle background such as custom container + * or badges. It must satisfy the contrast ratio when putting `XXX-1` colors + * on top of it. + * + * The soft color must be semi transparent alpha channel. This is crucial + * because it allows adding multiple "soft" colors on top of each other + * to create a accent, such as when having inline code block inside + * custom containers. + * + * - `default`: The color used purely for subtle indication without any + * special meanings attched to it such as bg color for menu hover state. + * + * - `brand`: Used for primary brand colors, such as link text, button with + * brand theme, etc. + * + * - `tip`: Used to indicate useful information. The default theme uses the + * brand color for this by default. + * + * - `warning`: Used to indicate warning to the users. Used in custom + * container, badges, etc. + * + * - `danger`: Used to show error, or dangerous message to the users. Used + * in custom container, badges, etc. + * -------------------------------------------------------------------------- */ + + :root { + --vp-c-default-1: var(--vp-c-gray-1); + --vp-c-default-2: var(--vp-c-gray-2); + --vp-c-default-3: var(--vp-c-gray-3); + --vp-c-default-soft: var(--vp-c-gray-soft); + + --vp-c-brand-1: var(--vp-c-indigo-1); + --vp-c-brand-2: var(--vp-c-indigo-2); + --vp-c-brand-3: var(--vp-c-indigo-3); + --vp-c-brand-soft: var(--vp-c-indigo-soft); + + --vp-c-tip-1: var(--vp-c-brand-1); + --vp-c-tip-2: var(--vp-c-brand-2); + --vp-c-tip-3: var(--vp-c-brand-3); + --vp-c-tip-soft: var(--vp-c-brand-soft); + + --vp-c-warning-1: var(--vp-c-yellow-1); + --vp-c-warning-2: var(--vp-c-yellow-2); + --vp-c-warning-3: var(--vp-c-yellow-3); + --vp-c-warning-soft: var(--vp-c-yellow-soft); + + --vp-c-danger-1: var(--vp-c-red-1); + --vp-c-danger-2: var(--vp-c-red-2); + --vp-c-danger-3: var(--vp-c-red-3); + --vp-c-danger-soft: var(--vp-c-red-soft); +} + +/** + * Component: Button + * -------------------------------------------------------------------------- */ + +:root { + --vp-button-brand-border: transparent; + --vp-button-brand-text: var(--vp-c-white); + --vp-button-brand-bg: var(--vp-c-brand-3); + --vp-button-brand-hover-border: transparent; + --vp-button-brand-hover-text: var(--vp-c-white); + --vp-button-brand-hover-bg: var(--vp-c-brand-2); + --vp-button-brand-active-border: transparent; + --vp-button-brand-active-text: var(--vp-c-white); + --vp-button-brand-active-bg: var(--vp-c-brand-1); +} + +/** + * Component: Home + * -------------------------------------------------------------------------- */ + +:root { + --vp-home-hero-name-color: transparent; + --vp-home-hero-name-background: -webkit-linear-gradient( + 120deg, + #bd34fe 30%, + #41d1ff + ); + + --vp-home-hero-image-background-image: linear-gradient( + -45deg, + #bd34fe 50%, + #47caff 50% + ); + --vp-home-hero-image-filter: blur(44px); +} + +@media (min-width: 640px) { + :root { + --vp-home-hero-image-filter: blur(56px); + } +} + +@media (min-width: 960px) { + :root { + --vp-home-hero-image-filter: blur(68px); + } +} + +/** + * Component: Custom Block + * -------------------------------------------------------------------------- */ + +:root { + --vp-custom-block-tip-border: transparent; + --vp-custom-block-tip-text: var(--vp-c-text-1); + --vp-custom-block-tip-bg: var(--vp-c-brand-soft); + --vp-custom-block-tip-code-bg: var(--vp-c-brand-soft); +} + +/** + * Component: Algolia + * -------------------------------------------------------------------------- */ + +.DocSearch { + --docsearch-primary-color: var(--vp-c-brand-1) !important; +} + diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..b63a077 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,81 @@ +--- +# https://vitepress.dev/reference/default-theme-home-page +layout: home + +hero: + name: "mxik" + text: "package for api calls tasnif.soliq.uz ️" + tagline: Zero dependency and fully typed, try now + actions: + - theme: brand + text: Getting Started + link: ?#getting-started + + +features: + - title: Zero dependency + icon: 🪶 + details: Minimalist and Lightweight at 1kb + - title: SSR Friendly + icon: 💪 + details: Designed for Browser, Node, Bun, and Deno compatibility. + - title: Fully Typed APIs + icon: 🔑 + details: Flexible programmatic APIs with full TypeScript typing. +--- + +## Getting Started + +### Installation + +You can install the package using the following command: + +::: code-group + +```sh [npm] +npm i mxik +``` + +```sh [pnpm] +pnpm i mxik +``` + +```sh [bun] +bun add mxik +``` +::: + +### Importing the Package +After installing the package, you can import it into your project. Below is an example of how to import the package: + +#### ES6 +```ts +import { MxikClient } from 'mxik' +``` + +### CommonJS +```ts +const MxikClient = require('mxik') +``` + +### Usage +Here are some examples of how to use the package: + +```ts +import { MxikClient } from 'mxik' + +const mxik = new MxikClient() + +// find by any keyword +await mxik.search('Футболка') + +// or get mxik code detais +await mxik.code('06111001018000000') +``` + +## Contributing +If you would like to contribute to the project, please read the contributing guidelines. + +## License +This project is licensed under the MIT License. See the LICENSE file for more details. + diff --git a/favicon.svg b/favicon.svg deleted file mode 100644 index de4aedd..0000000 --- a/favicon.svg +++ /dev/null @@ -1,15 +0,0 @@ - diff --git a/index.html b/index.html deleted file mode 100644 index 867581c..0000000 --- a/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - -
- - - -