open-index/open-npm huggingface dataset:
npm package: @noughts/svelte-uikit
Description: A framework for prototyping mobile apps in Svelte. The goal is to reproduce the general navigation of a mobile application.
Latest version: 0.8.23

# Svelte UIKit
A framework for prototyping mobile apps in Svelte.
The goal is to reproduce the general navigation of a mobile application.

The system design is equivalent to Apple's UIKit API.

# Motivation
[TBD]

# Setup

In Safari on the iPhone, Pull To Refresh is triggered when flicking down at the top of the screen, and the flick event does not work as expected.

This can be avoided by specifying `overflow:hidden;` in the `body` style.

```html
<!DOCTYPE html>
<html lang="en">
<head>...</head>
<body style="overflow: hidden;">%sveltekit.body%</body>
</html>
```

# Basics

The code to implement [standard tab bar navigation](https://developer.apple.com/documentation/uikit/uitabbarcontroller) in iOS is as follows


```svelte
<!-- src/routes/+page.svelte -->

<script lang="ts">
    import { UISceneController, UITabBarController, UIView, UIViewController, App } from "@noughts/svelte-uikit";
    // imports some Svelte Components here. e.g.: import WorldClockView from "./WorldClockView.svelte";
</script>

<App
    viewController={new UISceneController(
        new UITabBarController([
            new UIViewController(new UIView(WorldClockView), { tabBarItem: { title: "World Clock", icon: "language" } }),
            new UIViewController(new UIView(AlermView), { tabBarItem: { title: "Alarm", icon: "alarm" } }),
            new UIViewController(new UIView(BedtimeView), { tabBarItem: { title: "Bedtime", icon: "bed" } }),
            new UIViewController(new UIView(StopwatchView), { tabBarItem: { title: "Stopwatch", icon: "timer" } }),
            new UIViewController(new UIView(TimerView), { tabBarItem: { title: "Timer", icon: "pace" } }),
        ])
    )}
/>

<style>
    :global(*) {
        padding: 0;
        margin: 0;
        box-sizing: border-box;
        --ui-tint-color:orange !important;
    }
</style>
```

# Add a SubView to NavigationView.

For example, if you want to place a floating button on a View represented by UINavigationController, you can do it as follows.

```svelte
<!-- +page.svelte -->
<App
    viewController={new UITabBarController([
        new UINavigationController(
            new UIViewController(new UIView(LandmarkList), {
                hidesNavigationBarWhenPushed: true,
            }),
            {tabBarItem: { title: "wo/NavBar", icon: { name: "home" } }},
            new UIView(Fab)
        )
    ])}
/>
```


```svelte
<!-- Fab.svelte -->
<script lang="ts">
    import { UIView } from "$lib/UIView.js";
    import { UIViewController } from "$lib/UIViewController.js";
    import DemoScreen from "./DemoScreen.svelte";
    export let viewController: UIViewController;
    function onFabClick() {
        viewController.present(new UIViewController(new UIView(DemoScreen), {}));
    }
</script>

<button class="fab" on:click={onFabClick}>FAB</button>

<style>
    .fab {
        position: absolute;
        width: 88px;
        height: 88px;
        left: 22px;
        bottom: 22px;
        z-index: 100;
    }
</style>
```
npm package: @noukha-technologies/scheme-engine
Description: Scheme engine for Naga to calculate the reward for a given scheme
Author: coder_18
Latest version: 1.0.1

# @coder_18/scheme-engine

A powerful reward calculation engine for discount schemes. This package provides a flexible and extensible solution for calculating rewards, discounts, and free products based on complex business rules and conditions.

## Features

- 🎯 **Flexible Scheme Evaluation** - Support for multiple condition types (invoice, line item, combo, assorted, flexible product)
- 🔄 **Callback-based Architecture** - No direct database dependencies, works with any data source
- 📊 **Comprehensive Results** - Detailed breakdown of applied schemes, discounts, and rewards
- 🚀 **Performance Monitoring** - Built-in performance metrics and monitoring callbacks
- 📦 **Zero Runtime Dependencies** - Lightweight and fast
- 💪 **TypeScript Support** - Full TypeScript definitions included

## Installation

```bash
npm install @coder_18/scheme-engine
```

## Quick Start

```typescript
import { calculateReward } from '@coder_18/scheme-engine';
import type { IProductItem, IScheme } from '@coder_18/scheme-engine';

const products: IProductItem[] = [
  {
    productId: 'PROD001',
    quantity: 5,
    unitPrice: 100,
    brandId: 'BRAND001',
    categoryId: 'CAT001'
  }
];

const result = await calculateReward({
  products,
  warehouseId: 'WH001',
  channelId: 'CH001',
  businessTypeId: 'BT001',
  
  // Required: Fetch candidate schemes
  fetchCandidateSchemes: async (params) => {
    // Your implementation to fetch schemes from database
    // Build query based on params and return IScheme[]
    return [];
  },
  
  // Required: Fetch all available schemes
  fetchAllAvailableSchemes: async (params) => {
    // Your implementation to fetch all schemes
    return [];
  }
});

console.log('Total Discount:', result.totalDiscount);
console.log('Applied Schemes:', result.appliedSchemes);
```

## Requirements

- Node.js >= 16.0.0
- TypeScript (recommended) or JavaScript (ES2020+)

## Documentation

For detailed documentation, please refer to:

- **[API Documentation](./API_DOCUMENTATION.md)** - Complete API reference
- **[How It Works](./HOW_IT_WORKS.md)** - Internal architecture and flow
- **[Architecture](./ARCHITECTURE.md)** - Design patterns and structure
- **[Testing](./TESTING.md)** - Testing guide and examples

## Examples

See the [examples](./examples/) directory for:

- [Basic Usage](./examples/basic-usage.ts) - Minimal setup example
- [Offline Mode](./examples/offline-mode.ts) - Using product data provider
- [Performance Monitoring](./examples/with-performance-monitoring.ts) - Performance metrics
- [Product Provider](./examples/with-product-provider.ts) - Advanced product data handling

## License

MIT

## Repository

[GitHub Repository](https://github.com/naga-tech/scheme-engine)

## Support

For issues and questions, please use the [GitHub Issues](https://github.com/naga-tech/scheme-engine/issues) page.