|
|
1 週間 前 | |
|---|---|---|
| .agents | 2 週間 前 | |
| .github | 3 週間 前 | |
| .vscode | 2 週間 前 | |
| .yarn | 5 ヶ月 前 | |
| bin | 1 週間 前 | |
| eslint-local-rules | 2 週間 前 | |
| example | 1 週間 前 | |
| src | 1 週間 前 | |
| .editorconfig | 2 週間 前 | |
| .gitattributes | 2 週間 前 | |
| .gitignore | 1 ヶ月 前 | |
| .npmignore | 1 ヶ月 前 | |
| .nvmrc | 5 ヶ月 前 | |
| .watchmanconfig | 5 ヶ月 前 | |
| .yarnrc.yml | 1 ヶ月 前 | |
| CODE_OF_CONDUCT.md | 5 ヶ月 前 | |
| CONTRIBUTING.md | 5 ヶ月 前 | |
| LICENSE | 5 ヶ月 前 | |
| README.md | 1 週間 前 | |
| TODO.md | 3 週間 前 | |
| babel.config.js | 2 週間 前 | |
| eslint.config.mjs | 1 週間 前 | |
| metro-config.js | 1 週間 前 | |
| package.json | 1 週間 前 | |
| react-native.config.js | 2 ヶ月 前 | |
| tsconfig.build.json | 5 ヶ月 前 | |
| tsconfig.json | 1 週間 前 | |
| turbo.json | 1 ヶ月 前 | |
| version.mjs | 1 ヶ月 前 | |
| webpack-config.js | 1 週間 前 | |
| yarn.lock | 1 週間 前 |
The NCore, NİBGAT® UI - Kit. The NİBGAT®'s UI / Component Library.
NCore UI Kit provides built-in configuration tools to maintain standard coding guidelines and ensure seamless integration across NİBGAT projects.
If you want to use the exact same ESLint rules, TypeScript configs, and VSCode settings used in NCore UI Kit, run the type-kit command in your project root:
npx ncore-type-kit
This command safely merges .vscode/, eslint.config.mjs, eslint-local-rules/, and tsconfig.json (preserves your existing include/exclude options) to your project.
To automatically inject NCore UI Kit plugins into your existing webpack.config.js and metro.config.js, you can run:
npx ncore-setup
If you only want to configure one specific platform, use:
npx ncore-setup-web # Only updates webpack.config.js
npx ncore-setup-mobile # Only updates metro.config.js
When building a web project with React Native Web, you have two options:
Option A: Default NCore Webpack Config (Zero-config) Use this if you are starting a new web project and want a ready-to-use configuration.
// webpack.config.js
const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const ESLintPlugin = require("eslint-webpack-plugin");
const CopyPlugin = require("copy-webpack-plugin");
const webpack = require("webpack");
const { createDefaultWebpackConfig } = require("ncore-ui-kit/webpack-config");
module.exports = createDefaultWebpackConfig({
appDirectory: path.resolve(__dirname, "./"),
HtmlWebpackPlugin,
ESLintPlugin,
CopyPlugin,
webpack
});
Option B: Wrap your existing Webpack config If you already have a complex webpack config, you can wrap it to inject necessary polyfills and aliases.
// webpack.config.js
const { withNCoreUIKitWebpack } = require("ncore-ui-kit/webpack-config");
const webpack = require("webpack");
let config = {
// ... your existing config
};
module.exports = withNCoreUIKitWebpack(config, webpack);
If you did not use npx ncore-setup and are using this library in a React Native or Expo mobile project, you must manually update your metro.config.js to include the required Node.js core module polyfills (crypto, process, stream).
For Expo Projects:
// metro.config.js
const { getDefaultConfig } = require("expo/metro-config");
const { withNCoreUIKit } = require("ncore-ui-kit/metro-config");
const config = getDefaultConfig(__dirname);
module.exports = withNCoreUIKit(config);
For Bare React Native Projects (CLI):
// metro.config.js
const { getDefaultConfig } = require("@react-native/metro-config");
const { withNCoreUIKit } = require("ncore-ui-kit/metro-config");
const config = getDefaultConfig(__dirname);
module.exports = withNCoreUIKit(config);
useEffect(() => {
NCoreUIKitMenu.load({
siteLogoProps: {
imageUrl: "https://www.nibgat.com/assets/images/logo.png",
onPress: () => {
navigation.navigate("Home");
},
imageProps: {
resizeMode: "stretch"
},
imageSpace: "spacingLg",
isWorkWithAction: true,
subTitle: "Core Tech",
title: "NİBGAT®"
},
renderFooter: () => {
return <View
style={{
padding: spaces.spacingMd,
flexDirection: "row",
alignItems: "center"
}}
>
<View
style={{
marginRight: spaces.spacingSm,
justifyContent: "center",
flexDirection: "row",
alignItems: "center"
}}
>
<Text
variant="labelLargeSize"
>
Palet:
</Text>
<PaletteSwitcher/>
</View>
<View
style={{
justifyContent: "center",
flexDirection: "row",
alignItems: "center"
}}
>
<Text
variant="labelLargeSize"
>
Tema:
</Text>
<ThemeSwitcher/>
</View>
</View>;
},
isAutoClosed: true,
buttons: [
{
redirectMain: "Home",
isCollapsible: true,
title: "Ana Sayfa",
icon: ({
color
}) => <HomeIcon
color={colors.content.icon[color]}
/>,
subButtons: [
{
title: "Text",
redirectMain: "TextPage"
}
]
},
{
redirectMain: "Text",
isCollapsible: true,
title: "Deneme",
icon: ({
color
}) => <HomeIcon
color={colors.content.icon[color]}
/>,
subButtons: [
{
title: "Noliii",
redirectMain: "Home"
}
]
},
{
title: "Text",
redirectMain: "TextPage"
}
],
navigation: navigation as unknown as NCoreUIKit.Navigation,
id: "test"
});