@posx/core 5.5.388 → 5.5.390

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CLAUDE.md CHANGED
@@ -1,24 +1,24 @@
1
- # Claude AI Development Guidelines
2
-
3
- ## Rules you have to follow strictly
4
-
5
- - You are top-notch programmer who always write simplest code to achieve the ideal result
6
- - you are one liner engineers and we believe "The Great Tao is Simple", so try to keep changes small and focused
7
- - keep the changes as minimal as possible
8
- - if or else has one line of code, then { } are not needed and it should be wrote into same line
9
- - DO NOT write uncessary comment do not make newlines within a function and try to make the code compact
10
- - All crucial code should have proper explanation in English
11
- - Keep the simplifications as small and focused within the function or scope.
12
- - Do not overhaul the whole file or codebase which is irrelevant to the current task.
13
-
14
- ## Best Practices for AI-Assisted Development
15
-
16
- 1. **在开始编码前先充分讨论和规划架构,确保理解用户的真实需求和使用场景,避免过度设计。**
17
-
18
- 2. **不要急于提交代码,应该等待用户明确指示后再进行 commit 和 push 操作。**
19
-
20
- 3. **优先选择简洁的实现方式(如函数导出而非类),并删除冗余的中间层方法以保持代码清晰。**
21
-
22
- ---
23
-
1
+ # Claude AI Development Guidelines
2
+
3
+ ## Rules you have to follow strictly
4
+
5
+ - You are top-notch programmer who always write simplest code to achieve the ideal result
6
+ - you are one liner engineers and we believe "The Great Tao is Simple", so try to keep changes small and focused
7
+ - keep the changes as minimal as possible
8
+ - if or else has one line of code, then { } are not needed and it should be wrote into same line
9
+ - DO NOT write uncessary comment do not make newlines within a function and try to make the code compact
10
+ - All crucial code should have proper explanation in English
11
+ - Keep the simplifications as small and focused within the function or scope.
12
+ - Do not overhaul the whole file or codebase which is irrelevant to the current task.
13
+
14
+ ## Best Practices for AI-Assisted Development
15
+
16
+ 1. **在开始编码前先充分讨论和规划架构,确保理解用户的真实需求和使用场景,避免过度设计。**
17
+
18
+ 2. **不要急于提交代码,应该等待用户明确指示后再进行 commit 和 push 操作。**
19
+
20
+ 3. **优先选择简洁的实现方式(如函数导出而非类),并删除冗余的中间层方法以保持代码清晰。**
21
+
22
+ ---
23
+
24
24
  *This file contains guidelines learned from AI-human collaboration to improve development efficiency and code quality.*
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2019 Francisco Hodge
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2019 Francisco Hodge
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,85 +1,85 @@
1
- # 第一阶段
2
- - 1. 创建,更新,删除都是通过 -> Http API
3
- - 2. 读取是通过本地数据库 -> 本地, (例外:订单从云端读取)
4
-
5
- # 第二阶段 (单机版)
6
- 1. 创建,更新,删除,读取都通过本地数据库,然后进行数据和云端同步(Web Worker)
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
- <div align="center">
19
- <img align="center" width="230" src="https://i.imgur.com/iHgtvmg.png" />
20
- <h2>Typescript Library Boilerplate Basic</h2>
21
- <blockquote>Minimal Library Starter Kit for your Typescript projects</blockquote>
22
-
23
- <a href="https://www.npmjs.com/package/@hodgef/ts-library-boilerplate-basic"><img src="https://badgen.net/npm/v/@hodgef/ts-library-boilerplate-basic?color=blue" alt="npm version"></a> <a href="https://github.com/hodgef/ts-library-boilerplate"><img src="https://img.shields.io/github/last-commit/hodgef/ts-library-boilerplate" alt="latest commit"></a> <a href="https://github.com/hodgef/ts-library-boilerplate-basic/actions"><img alt="Build Status" src="https://github.com/hodgef/ts-library-boilerplate-basic/workflows/Build/badge.svg?color=green" /></a> <a href="https://github.com/hodgef/ts-library-boilerplate-basic/actions"> <img alt="Publish Status" src="https://github.com/hodgef/ts-library-boilerplate-basic/workflows/Publish/badge.svg?color=green" /></a>
24
-
25
- <strong>For a plain Javascript alternative, check out [js-library-boilerplate-basic](https://github.com/hodgef/js-library-boilerplate-basic).</strong>
26
-
27
- </div>
28
-
29
- ## ⭐️ Features
30
-
31
- - Webpack 5
32
- - Babel 7
33
- - Hot reloading (`npm start`)
34
- - Automatic Types file generation (index.d.ts)
35
- - UMD exports, so your library works everywhere.
36
- - Jest unit testing
37
- - Customizable file headers for your build [(Example 1)](https://github.com/hodgef/ts-library-boilerplate-basic/blob/master/build/index.js) [(Example2)](https://github.com/hodgef/ts-library-boilerplate-basic/blob/master/build/css/index.css)
38
- - Daily [dependabot](https://dependabot.com) dependency updates
39
-
40
- ## 📦 Getting Started
41
-
42
- ```
43
- git clone https://github.com/hodgef/ts-library-boilerplate-basic.git myLibrary
44
- npm install
45
- ```
46
-
47
- ## 💎 Customization
48
-
49
- > Before shipping, make sure to:
50
-
51
- 1. Edit `LICENSE` file
52
- 2. Edit `package.json` information (These will be used to generate the headers for your built files)
53
- 3. Edit `library: "MyLibrary"` with your library's export name in `./webpack.config.js`
54
-
55
- ## 🚀 Deployment
56
-
57
- 1. `npm publish`
58
- 2. Your users can include your library as usual
59
-
60
- ### npm
61
-
62
- ```
63
- import MyLibrary from 'my-library';
64
- const libraryInstance = new MyLibrary();
65
- ...
66
- ```
67
-
68
- ### self-host/cdn
69
-
70
- ```
71
- <script src="build/index.js"></script>
72
-
73
- const MyLibrary = window.MyLibrary.default;
74
- const libraryInstance = new MyLibrary();
75
- ...
76
- ```
77
-
78
- ## ✅ Libraries built with this boilerplate
79
-
80
- > Made a library using this starter kit? Share it here by [submitting a pull request](https://github.com/hodgef/ts-library-boilerplate-basic/pulls)!
81
-
82
- - [simple-keyboard](https://github.com/hodgef/simple-keyboard) - Javascript Virtual Keyboard
83
- - [react-simple-keyboard](https://github.com/hodgef/react-simple-keyboard) - React Virtual Keyboard
84
- - [simple-keyboard-layouts](https://github.com/hodgef/simple-keyboard-layouts) - Keyboard layouts for simple-keyboard
85
- - [atlas-monaco](https://github.com/datdao/atlas-monaco) - AtlasHCL for monaco editor
1
+ # 第一阶段
2
+ - 1. 创建,更新,删除都是通过 -> Http API
3
+ - 2. 读取是通过本地数据库 -> 本地, (例外:订单从云端读取)
4
+
5
+ # 第二阶段 (单机版)
6
+ 1. 创建,更新,删除,读取都通过本地数据库,然后进行数据和云端同步(Web Worker)
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+ <div align="center">
19
+ <img align="center" width="230" src="https://i.imgur.com/iHgtvmg.png" />
20
+ <h2>Typescript Library Boilerplate Basic</h2>
21
+ <blockquote>Minimal Library Starter Kit for your Typescript projects</blockquote>
22
+
23
+ <a href="https://www.npmjs.com/package/@hodgef/ts-library-boilerplate-basic"><img src="https://badgen.net/npm/v/@hodgef/ts-library-boilerplate-basic?color=blue" alt="npm version"></a> <a href="https://github.com/hodgef/ts-library-boilerplate"><img src="https://img.shields.io/github/last-commit/hodgef/ts-library-boilerplate" alt="latest commit"></a> <a href="https://github.com/hodgef/ts-library-boilerplate-basic/actions"><img alt="Build Status" src="https://github.com/hodgef/ts-library-boilerplate-basic/workflows/Build/badge.svg?color=green" /></a> <a href="https://github.com/hodgef/ts-library-boilerplate-basic/actions"> <img alt="Publish Status" src="https://github.com/hodgef/ts-library-boilerplate-basic/workflows/Publish/badge.svg?color=green" /></a>
24
+
25
+ <strong>For a plain Javascript alternative, check out [js-library-boilerplate-basic](https://github.com/hodgef/js-library-boilerplate-basic).</strong>
26
+
27
+ </div>
28
+
29
+ ## ⭐️ Features
30
+
31
+ - Webpack 5
32
+ - Babel 7
33
+ - Hot reloading (`npm start`)
34
+ - Automatic Types file generation (index.d.ts)
35
+ - UMD exports, so your library works everywhere.
36
+ - Jest unit testing
37
+ - Customizable file headers for your build [(Example 1)](https://github.com/hodgef/ts-library-boilerplate-basic/blob/master/build/index.js) [(Example2)](https://github.com/hodgef/ts-library-boilerplate-basic/blob/master/build/css/index.css)
38
+ - Daily [dependabot](https://dependabot.com) dependency updates
39
+
40
+ ## 📦 Getting Started
41
+
42
+ ```
43
+ git clone https://github.com/hodgef/ts-library-boilerplate-basic.git myLibrary
44
+ npm install
45
+ ```
46
+
47
+ ## 💎 Customization
48
+
49
+ > Before shipping, make sure to:
50
+
51
+ 1. Edit `LICENSE` file
52
+ 2. Edit `package.json` information (These will be used to generate the headers for your built files)
53
+ 3. Edit `library: "MyLibrary"` with your library's export name in `./webpack.config.js`
54
+
55
+ ## 🚀 Deployment
56
+
57
+ 1. `npm publish`
58
+ 2. Your users can include your library as usual
59
+
60
+ ### npm
61
+
62
+ ```
63
+ import MyLibrary from 'my-library';
64
+ const libraryInstance = new MyLibrary();
65
+ ...
66
+ ```
67
+
68
+ ### self-host/cdn
69
+
70
+ ```
71
+ <script src="build/index.js"></script>
72
+
73
+ const MyLibrary = window.MyLibrary.default;
74
+ const libraryInstance = new MyLibrary();
75
+ ...
76
+ ```
77
+
78
+ ## ✅ Libraries built with this boilerplate
79
+
80
+ > Made a library using this starter kit? Share it here by [submitting a pull request](https://github.com/hodgef/ts-library-boilerplate-basic/pulls)!
81
+
82
+ - [simple-keyboard](https://github.com/hodgef/simple-keyboard) - Javascript Virtual Keyboard
83
+ - [react-simple-keyboard](https://github.com/hodgef/react-simple-keyboard) - React Virtual Keyboard
84
+ - [simple-keyboard-layouts](https://github.com/hodgef/simple-keyboard-layouts) - Keyboard layouts for simple-keyboard
85
+ - [atlas-monaco](https://github.com/datdao/atlas-monaco) - AtlasHCL for monaco editor
package/build/index.d.ts CHANGED
@@ -3193,13 +3193,11 @@ interface ILoyaltyProgram {
3193
3193
  inclusive_service_charge: boolean;
3194
3194
  /** Whether tax is inclusive */
3195
3195
  inclusive_tax: boolean;
3196
- }
3197
- interface ICrmConfig {
3198
3196
  /** Default country code for phone numbers */
3199
3197
  default_country_code: string;
3200
3198
  }
3199
+ interface ICrmConfig {}
3201
3200
  declare class CrmConfig implements ICrmConfig {
3202
- default_country_code: string;
3203
3201
  constructor();
3204
3202
  }
3205
3203
  declare class LoyaltyProgram implements ILoyaltyProgram {
@@ -3208,6 +3206,7 @@ declare class LoyaltyProgram implements ILoyaltyProgram {
3208
3206
  rewarded_point_rate: number;
3209
3207
  inclusive_service_charge: boolean;
3210
3208
  inclusive_tax: boolean;
3209
+ default_country_code: string;
3211
3210
  constructor();
3212
3211
  }
3213
3212
  interface ICustomerDisplaySystemConfig {
@@ -3610,6 +3609,8 @@ interface IOrderConfig {
3610
3609
  end_shift_with_open_tables: boolean;
3611
3610
  /** Date time format for humanized dates */
3612
3611
  datetime_format: string;
3612
+ /** Ref ID prefix, default '01', 2-3 digits */
3613
+ ref_prefix: string;
3613
3614
  }
3614
3615
  declare class OrderConfig implements IOrderConfig {
3615
3616
  separation_line: boolean;
@@ -3622,6 +3623,7 @@ declare class OrderConfig implements IOrderConfig {
3622
3623
  hide_categories_when_ordering: boolean;
3623
3624
  end_shift_with_open_tables: boolean;
3624
3625
  datetime_format: string;
3626
+ ref_prefix: string;
3625
3627
  constructor();
3626
3628
  }
3627
3629
  interface IOrderDisplaySystemConfig {
@@ -5777,77 +5779,37 @@ declare function normalizedDate(date: Date): string;
5777
5779
  * Interface for CSV export rows
5778
5780
  *
5779
5781
  * CSV Structure:
5780
- * Type,Name,SKU,Price,Stock,Is Internal,Min Order,Max Order,Image URL,Thumbnail URL,Sequence
5781
- * category,Beverages,,,,,,https://example.com/beverages.jpg,https://example.com/beverages-thumb.jpg,0
5782
- * product,Americano,AME001,4.00,100,false,,,https://example.com/americano.jpg,https://example.com/americano-thumb.jpg,0
5783
- * product,Espresso,ESP001,3.50,50,false,,,https://example.com/espresso.jpg,https://example.com/espresso-thumb.jpg,1
5784
- * modifier_category,Extras,,,,,,1,5,,0
5785
- * modifier,Extra Sugar,SUGAR001,0.50,1000,false,,,,,0
5786
- * modifier,Extra Milk,MILK001,1.00,1000,false,,,,,1
5787
- * category,Food,,,,,,https://example.com/food.jpg,https://example.com/food-thumb.jpg,1
5788
- * product,Burger,BUR001,12.00,25,false,,,https://example.com/burger.jpg,https://example.com/burger-thumb.jpg,0
5782
+ * Type,Name,SKU,Price,Stock,Is Internal,Min Order,Max Order,Image URL,Thumbnail URL,Sequence,Item UID
5783
+ * category,Beverages,,,,,,https://example.com/beverages.jpg,https://example.com/beverages-thumb.jpg,0,
5784
+ * product,Americano,AME001,4.00,100,false,,,https://example.com/americano.jpg,https://example.com/americano-thumb.jpg,0,
5785
+ * combo,Lunch Set,SET001,25.00,,false,,,https://example.com/set.jpg,https://example.com/set-thumb.jpg,1,
5786
+ * combo_group,Choose Main,,,,,1,1,,,0,
5787
+ * combo_item,Burger,,12.00,,,,,,,0,itm_xxx123
5788
+ * combo_item,Pasta,,10.00,,,,,,,1,itm_yyy456
5789
+ * combo_group,Choose Drink,,,,,1,1,,,1,
5790
+ * combo_item,Cola,,3.00,,,,,,,0,itm_zzz789
5789
5791
  */
5790
5792
  interface IExportRow {
5791
- /**
5792
- * Type of the row: category, product, modifier_category, or modifier
5793
- */
5794
- type: 'category' | 'product' | 'modifier_category' | 'modifier';
5795
- /**
5796
- * Name of the category, product, or modifier
5797
- */
5793
+ /** Type of the row */
5794
+ type: 'category' | 'product' | 'modifier_category' | 'modifier' | 'combo' | 'combo_group' | 'combo_item';
5798
5795
  name: string;
5799
- /**
5800
- * SKU (Stock Keeping Unit) - only for products and modifiers
5801
- */
5802
5796
  sku?: string;
5803
- /**
5804
- * Price - only for products and modifiers
5805
- */
5806
5797
  price?: number;
5807
- /**
5808
- * Stock level - only for products and modifiers
5809
- */
5810
5798
  stock?: number;
5811
- /**
5812
- * Is internal flag - only for products and modifiers
5813
- */
5814
5799
  is_internal?: boolean;
5815
- /**
5816
- * Minimum order quantity - only for modifier_categories
5817
- */
5818
5800
  min_order?: number;
5819
- /**
5820
- * Maximum order quantity - only for modifier_categories
5821
- */
5822
5801
  max_order?: number;
5823
- /**
5824
- * Image URL - for categories and products
5825
- */
5826
5802
  image_url?: string;
5827
- /**
5828
- * Image thumbnail URL - for categories and products
5829
- */
5830
5803
  image_thumbnail_url?: string;
5831
- /**
5832
- * Sequence number for sorting
5833
- */
5834
5804
  sequence?: number;
5805
+ /** Item UID reference for combo_item rows */
5806
+ item_uid?: string;
5835
5807
  }
5836
5808
  //#endregion
5837
5809
  //#region src/utils/csv.utils.d.ts
5838
- /**
5839
- * Create CSV export blob from categories and products
5840
- * @param categories Array of categories
5841
- * @param products Array of products (products contain modifiers and modifier_categories)
5842
- * @param filename Optional filename (default: 'export.csv')
5843
- * @returns Blob object for download
5844
- */
5810
+ /** Create CSV export blob from categories and products */
5845
5811
  declare function createCSVExport(categories: ICategory[], products: IItem[], filename?: string): Blob;
5846
- /**
5847
- * Import categories and products from CSV file
5848
- * @param file CSV file to import
5849
- * @returns Promise with categories and products arrays (products include modifiers and modifier_categories)
5850
- */
5812
+ /** Import categories and products from CSV file */
5851
5813
  declare function importFromCSV(file: File): Promise<{
5852
5814
  categories: ICategory[];
5853
5815
  products: IItem[];