persian-data-grid 0.7.1 → 0.7.3

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/README.md CHANGED
@@ -22,6 +22,7 @@ A **Data Grid** for enterprise forms: voucher lines, money columns, Jalali date
22
22
  - [Install](#install)
23
23
  - [Quick start](#quick-start)
24
24
  - [API overview](#api-overview)
25
+ - [Keyboard shortcuts](#keyboard-shortcuts)
25
26
  - [Demo](#demo)
26
27
  - [فارسی](#فارسی)
27
28
  - [Changelog](#changelog)
@@ -144,6 +145,56 @@ See [docs/public-api.md](./docs/public-api.md), [docs/getting-started.md](./docs
144
145
  Product docs site (English source + فارسی, live demos, TypeDoc API): `yarn docs:dev` — build with `yarn docs:build` (also in CI).
145
146
  ---
146
147
 
148
+ ## Keyboard shortcuts
149
+
150
+ Active while focus is inside the grid (`UITableKeyboardHandler`). Full reference, including clipboard, range selection and undo: [`docs/keyboard.md`](https://github.com/hamidrezafallahi/ERP-Table/blob/master/docs/keyboard.md). Persian list: [فارسی](#فارسی).
151
+
152
+ ### Cell navigation and editing
153
+
154
+ | Shortcut | Action |
155
+ |---|---|
156
+ | `Enter` / `NumpadEnter` | No active cell → activate the first cell of the active row; otherwise → next cell |
157
+ | `Shift+Enter` | Previous cell |
158
+ | `Tab` | Next cell (needs an active row and cell) |
159
+ | `Shift+Tab` | Previous cell (needs an active row and cell) |
160
+ | `ArrowLeft` | Next cell (RTL: document order) |
161
+ | `ArrowRight` | Previous cell (RTL: document order) |
162
+ | `ArrowUp` | Move the active cell up in the same column |
163
+ | `ArrowDown` | Move the active cell down in the same column |
164
+
165
+ ### Row selection and reordering
166
+
167
+ | Shortcut | Action |
168
+ |---|---|
169
+ | `Ctrl+Space` | Toggle selection of the active row |
170
+ | `Shift+End` | Toggle selection of the active row |
171
+ | `Ctrl+Shift+End` | Select from the active row to the last row |
172
+ | `Ctrl+ArrowUp` / `Ctrl+ArrowDown` | Move the active row up / down |
173
+ | `Alt+ArrowUp` / `Alt+ArrowDown` | Move the selected rows up / down (needs a selection) |
174
+
175
+ ### Row and table operations
176
+
177
+ | Shortcut | Action |
178
+ |---|---|
179
+ | `Alt+N` | Add an empty row and activate it |
180
+ | `Alt+D` | Duplicate the active row |
181
+ | `Alt+Delete` | Delete the active row |
182
+ | `Alt+ArrowLeft` | Collapse all expanded rows |
183
+ | `Alt+C` / `Alt+X` / `Alt+V` | Table copy / cut / paste mode |
184
+ | `Alt+B` | Paste-as-insert mode |
185
+ | `Escape` | Clear the current table action |
186
+
187
+ ### Pagination
188
+
189
+ | Shortcut | Action |
190
+ |---|---|
191
+ | `PageUp` | Previous page (no-op on the first page) |
192
+ | `PageDown` | Next page (no-op on the last page) |
193
+
194
+ `Ctrl` and `Alt` are the browser modifier keys; `Meta` (⌘) is not treated as `Ctrl`.
195
+
196
+ ---
197
+
147
198
  ## Demo
148
199
 
149
200
  | Page | URL |
@@ -196,6 +247,64 @@ import 'persian-data-grid/styles.css';
196
247
  />
197
248
  ```
198
249
 
250
+ ### میانبرهای صفحه‌کلید
251
+
252
+ وقتی focus داخل گرید است این میانبرها فعال‌اند (پیاده‌سازی در `UITableKeyboardHandler`).
253
+
254
+ #### جابه‌جایی و ویرایش سلول
255
+
256
+ | میانبر | عملکرد |
257
+ |---|---|
258
+ | `Enter` یا `NumpadEnter` | اگر سلول فعالی وجود نداشته باشد، نخستین سلول سطر فعال را فعال می‌کند؛ در غیر این صورت به سلول بعدی می‌رود. |
259
+ | `Shift+Enter` | به سلول قبلی می‌رود. |
260
+ | `Tab` | با وجود سطر و سلول فعال، به سلول بعدی می‌رود. |
261
+ | `Shift+Tab` | با وجود سطر و سلول فعال، به سلول قبلی می‌رود. |
262
+ | `ArrowLeft` | با وجود سطر و سلول فعال، به سلول بعدی می‌رود. |
263
+ | `ArrowRight` | با وجود سطر و سلول فعال، به سلول قبلی می‌رود. |
264
+ | `ArrowUp` | با وجود سطر و سلول فعال، سلول فعال را در همان ستون به بالا می‌برد. |
265
+ | `ArrowDown` | با وجود سطر و سلول فعال، سلول فعال را در همان ستون به پایین می‌برد. |
266
+
267
+ > جهت حرکت بین سلول‌ها همان `next` و `prev` موتور جدول است؛ در نتیجه الزاماً با جهت بصری فلش چپ و راست یکی نیست.
268
+
269
+ #### انتخاب و جابه‌جایی سطر
270
+
271
+ | میانبر | عملکرد |
272
+ |---|---|
273
+ | `Ctrl+Space` | انتخاب سطر فعال را تغییر می‌دهد (انتخاب یا لغو انتخاب). |
274
+ | `Shift+End` | انتخاب سطر فعال را تغییر می‌دهد (انتخاب یا لغو انتخاب). |
275
+ | `Ctrl+Shift+End` | از سطر فعال تا آخر، سطرها را انتخاب می‌کند. |
276
+ | `Ctrl+ArrowUp` | سطر فعال را به بالا جابه‌جا می‌کند. |
277
+ | `Ctrl+ArrowDown` | سطر فعال را به پایین جابه‌جا می‌کند. |
278
+ | `Alt+ArrowUp` | سطرهای انتخاب‌شده را به بالا جابه‌جا می‌کند؛ باید سطری انتخاب شده باشد. |
279
+ | `Alt+ArrowDown` | سطرهای انتخاب‌شده را به پایین جابه‌جا می‌کند؛ باید سطری انتخاب شده باشد. |
280
+
281
+ #### عملیات سطر و جدول
282
+
283
+ | میانبر | عملکرد |
284
+ |---|---|
285
+ | `Alt+N` | یک سطر خالی اضافه و آن را فعال می‌کند. |
286
+ | `Alt+D` | سطر فعال را کپی می‌کند؛ وجود سطر فعال لازم است. |
287
+ | `Alt+Delete` | سطر فعال را حذف می‌کند؛ وجود سطر فعال لازم است. |
288
+ | `Alt+ArrowLeft` | همهٔ سطرهای بازشده را می‌بندد. |
289
+ | `Alt+C` | حالت کپی جدول را فعال می‌کند. |
290
+ | `Alt+X` | حالت برش جدول را فعال می‌کند. |
291
+ | `Alt+V` | حالت چسباندن جدول را فعال می‌کند. |
292
+ | `Alt+B` | حالت چسباندن به‌صورت درج را فعال می‌کند. |
293
+ | `Escape` | کنش جاری جدول را پاک می‌کند. |
294
+
295
+ #### صفحه‌بندی
296
+
297
+ | میانبر | عملکرد |
298
+ |---|---|
299
+ | `PageUp` | به صفحهٔ قبلی می‌رود؛ اگر صفحهٔ قبلی وجود نداشته باشد کاری نمی‌کند. |
300
+ | `PageDown` | به صفحهٔ بعدی می‌رود؛ اگر صفحهٔ بعدی وجود نداشته باشد کاری نمی‌کند. |
301
+
302
+ #### نکته‌ها
303
+
304
+ - `Ctrl` و `Alt` بر اساس کلیدهای اصلاح‌کنندهٔ مرورگر تعریف شده‌اند؛ `Meta` جایگزین `Ctrl` نیست.
305
+ - میانبرهای وابسته به سطر فقط وقتی اجرا می‌شوند که سطر فعال پیدا شود. اگر focus داخل کنترل انتخاب باشد، هندلر برای یافتن سطر فعال از وضعیت موتور و سپس سطر انتخاب‌شده کمک می‌گیرد.
306
+ - میانبرهای `Tab` و فلش‌ها فقط وقتی به حرکت سلول منجر می‌شوند که سطر و ستون فعال موجود باشند.
307
+
199
308
  ### دمو زنده
200
309
 
201
310
  [https://hamidrezafallahi.github.io/ERP-Table/](https://hamidrezafallahi.github.io/ERP-Table/)
package/dist/index.cjs CHANGED
@@ -701,7 +701,7 @@ function CutIcon({ config, className }) {
701
701
  children: /* @__PURE__ */ jsxRuntime.jsx(
702
702
  "path",
703
703
  {
704
- d: "M5.75 17.531h-0.125c-1.313 0-2.719 0.625-3.781 1.656-1.094 1-1.844 2.344-1.844 3.688 0 1.531 1.094 2.469 2.594 2.469 1.281 0 2.719-0.656 3.813-1.656 1.063-1.031 1.813-2.344 1.813-3.688 0-0.156 0-0.375-0.031-0.531l1-0.875 9.813 5.031c0.156 0.063 0.313 0.125 0.469 0.125 0.219 0 0.625-0.125 1.063-0.188 0.406-0.094 0.844-0.188 1.094-0.219 0.438-0.063 0.781-0.469 0.781-0.906 0-0.313-0.156-0.594-0.438-0.781l-8.156-5.656 8.156-5.656c0.281-0.188 0.438-0.469 0.438-0.781 0-0.438-0.344-0.875-0.781-0.938-0.125 0-0.281-0.031-0.469-0.094-0.375-0.094-0.875-0.156-1.25-0.219s-0.656-0.063-0.906 0.063c-0.063 0.031-0.25 0.125-0.594 0.281-0.313 0.156-0.719 0.375-1.188 0.625s-1 0.5-1.563 0.813c-0.563 0.281-1.219 0.594-1.781 0.906-1.188 0.594-2.344 1.188-3.219 1.625-0.438 0.219-0.813 0.438-1.094 0.563-0.25 0.125-0.375 0.219-0.375 0.219l-1-0.906c0.031-0.156 0.031-0.344 0.031-0.5 0-1.344-0.75-2.688-1.813-3.688-1.094-1-2.531-1.656-3.813-1.656-1.5 0-2.594 0.938-2.594 2.469 0 1.313 0.75 2.656 1.875 3.688 1.125 1.063 2.563 1.75 3.875 1.656 0.125 0.188 0.406 0.438 0.688 0.688s0.531 0.531 0.719 0.719v0.25c-0.188 0.188-0.406 0.406-0.719 0.688-0.281 0.25-0.531 0.531-0.688 0.719zM2.313 9.125v-0.094c0.094-0.031 0.188-0.031 0.281-0.031 0.75 0 1.563 0.469 2.094 0.906 0.25 0.219 0.563 0.594 0.781 0.969 0.25 0.375 0.469 0.813 0.469 1.156v0.063c-0.156 0.031-0.25 0.031-0.313 0.031-0.75 0-1.5-0.469-2.063-0.938-0.219-0.219-0.563-0.531-0.813-0.906s-0.438-0.813-0.438-1.156zM6.844 17.75l1.281-1.25-0.063-1.5 11.406-5.813 2 0.375-11.875 8.188-0.531-0.281-1.25 1.125c-0.219-0.344-0.563-0.625-0.969-0.844zM7.25 14.625l-0.406-0.438c0.406-0.156 0.75-0.438 0.969-0.781l0.5 0.438c-0.469 0.219-0.875 0.344-1.063 0.781zM8.688 16c0 0.5 0.406 0.906 0.906 0.906 0.531 0 0.938-0.406 0.938-0.906 0-0.531-0.406-0.938-0.906-0.938-0.563 0-0.938 0.406-0.938 0.938zM10.563 18.219l2.406-1.656 8.5 5.875-2 0.375zM2.344 22.875c0-0.688 0.469-1.469 1.156-2.031s1.5-1 2.125-1c0.094 0 0.188 0.031 0.25 0.031v0.063c0.031 0 0.031 0.031 0.031 0.063 0 0.688-0.469 1.438-1.156 2s-1.469 1-2.156 1h-0.125c-0.031-0.031-0.063-0.031-0.125-0.031v-0.094z",
704
+ d: "M5.75 17.531h-.125c-1.313 0-2.719.625-3.781 1.656-1.094 1-1.844 2.344-1.844 3.688 0 1.531 1.094 2.469 2.594 2.469 1.281 0 2.719-.656 3.813-1.656 1.063-1.031 1.813-2.344 1.813-3.688 0-.156 0-.375-.031-.531l1-.875 9.813 5.031c.156.063.313.125.469.125.219 0 .625-.125 1.063-.188.406-.094.844-.188 1.094-.219.438-.063.781-.469.781-.906 0-.313-.156-.594-.438-.781l-8.156-5.656 8.156-5.656c.281-.188.438-.469.438-.781 0-.438-.344-.875-.781-.938-.125 0-.281-.031-.469-.094-.375-.094-.875-.156-1.25-.219s-.656-.063-.906.063c-.063.031-.25.125-.594.281-.313.156-.719.375-1.188.625s-1 .5-1.563.813c-.563.281-1.219.594-1.781.906-1.188.594-2.344 1.188-3.219 1.625-.438.219-.813.438-1.094.563-.25.125-.375.219-.375.219l-1-.906c.031-.156.031-.344.031-.5 0-1.344-.75-2.688-1.813-3.688-1.094-1-2.531-1.656-3.813-1.656-1.5 0-2.594.938-2.594 2.469 0 1.313.75 2.656 1.875 3.688 1.125 1.063 2.563 1.75 3.875 1.656.125.188.406.438.688.688s.531.531.719.719v.25c-.188.188-.406.406-.719.688-.281.25-.531.531-.688.719zM2.313 9.125v-.094c.094-.031.188-.031.281-.031.75 0 1.563.469 2.094.906.25.219.563.594.781.969.25.375.469.813.469 1.156v.063c-.156.031-.25.031-.313.031-.75 0-1.5-.469-2.063-.938-.219-.219-.563-.531-.813-.906s-.438-.813-.438-1.156zM6.844 17.75l1.281-1.25-.063-1.5 11.406-5.813 2 .375-11.875 8.188-.531-.281-1.25 1.125c-.219-.344-.563-.625-.969-.844zM7.25 14.625l-.406-.438c.406-.156.75-.438.969-.781l.5.438c-.469.219-.875.344-1.063.781zM8.688 16c0 .5.406.906.906.906.531 0 .938-.406.938-.906 0-.531-.406-.938-.906-.938-.563 0-.938.406-.938.938zM10.563 18.219l2.406-1.656 8.5 5.875-2 .375zM2.344 22.875c0-.688.469-1.469 1.156-2.031s1.5-1 2.125-1c.094 0 .188.031.25.031v.063c.031 0 .031.031.031.063 0 .688-.469 1.438-1.156 2s-1.469 1-2.156 1h-.125c-.031-.031-.063-.031-.125-.031v-.094z",
705
705
  className: !config?.fill ? "fill-gray-gray8" : void 0,
706
706
  fill: config?.fill
707
707
  }
@@ -931,21 +931,29 @@ function PdfIcon({ config, className }) {
931
931
  function Excel({ config, className }) {
932
932
  const width = config?.width ?? 18;
933
933
  const height = config?.height ?? 18;
934
+ const fill = config?.fill ?? "#585858";
934
935
  return /* @__PURE__ */ jsxRuntime.jsxs(
935
936
  "svg",
936
937
  {
937
938
  className,
938
939
  width,
939
940
  height,
940
- viewBox: "0 0 24 24",
941
+ viewBox: "0 0 32 32",
941
942
  fill: "none",
942
943
  "aria-hidden": true,
943
944
  children: [
944
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3", y: "2.5", width: "18", height: "19", rx: "2", fill: config?.fill ?? "#217346" }),
945
945
  /* @__PURE__ */ jsxRuntime.jsx(
946
946
  "path",
947
947
  {
948
- d: "M8 7.4h2.15l1.85 4.55L13.85 7.4H16L13.1 14.6h-2.2L8 7.4Z",
948
+ d: "M28.8 4.4H18.7V2L2 4.6v22.5l16.7 2.9v-3.6h10.1a1.2 1.2 0 0 0 1.2-1.1V5.5a1.2 1.2 0 0 0-1.2-1.1zm.1 21.1H18.6v-1.9h2.5v-2.2h-2.5v-1.3h2.5v-2.2h-2.5v-1.3h2.5v-2.2h-2.5v-1.3h2.5v-2.2h-2.5v-1.3h2.5v-2.2h-2.5v-2h10.3zM22.5 7.4h4.3v2.2h-4.3zm0 3.5h4.3v2.2h-4.3zm0 3.5h4.3v2.2h-4.3zm0 3.5h4.3v2.2h-4.3zm0 3.5h4.3v2.2h-4.3z",
949
+ fill,
950
+ fillRule: "evenodd"
951
+ }
952
+ ),
953
+ /* @__PURE__ */ jsxRuntime.jsx(
954
+ "path",
955
+ {
956
+ d: "M6.3 10.7l2.2-.1 1.3 3.7 1.6-3.9 2.2-.1-2.6 5.2 2.6 5.3-2.3-.2-1.5-4-1.5 3.9-2.1-.2 2.4-4.6z",
949
957
  fill: "#fff"
950
958
  }
951
959
  )
@@ -1146,7 +1154,7 @@ function NoData({ config, className }) {
1146
1154
  /* @__PURE__ */ jsxRuntime.jsx(
1147
1155
  "path",
1148
1156
  {
1149
- d: "M103.121 123.752L91.7249 112.357M89.3776 20.631C88.7208 20.625 87.982 20.625 87.1387 20.625H56.3763C48.6756 20.625 44.8224 20.625 41.8811 22.1237C39.2939 23.4419 37.1919 25.5439 35.8737 28.1311C34.375 31.0724 34.375 34.9256 34.375 42.6263V122.376C34.375 130.077 34.375 133.925 35.8737 136.867C37.1919 139.454 39.2939 141.56 41.8811 142.878C44.8195 144.375 48.6681 144.375 56.3539 144.375L108.646 144.375C116.332 144.375 120.175 144.375 123.113 142.878C125.701 141.56 127.81 139.454 129.128 136.867C130.625 133.928 130.625 130.085 130.625 122.4V64.1141C130.625 63.2708 130.624 62.5318 130.618 61.875M89.3776 20.631C91.3401 20.6489 92.5768 20.7217 93.7625 21.0064C95.1655 21.3432 96.5102 21.8987 97.7405 22.6526C99.1276 23.5026 100.319 24.6937 102.695 27.0703L124.183 48.558C126.561 50.9361 127.743 52.1219 128.594 53.5095C129.348 54.7397 129.905 56.0811 130.242 57.4841C130.527 58.6698 130.6 59.9125 130.618 61.875M89.3776 20.631L89.375 39.8764C89.375 47.5772 89.375 51.426 90.8737 54.3673C92.1919 56.9546 94.2939 59.0595 96.8811 60.3778C99.8195 61.875 103.668 61.875 111.354 61.875H130.618M79.0625 116.875C69.5701 116.875 61.875 109.18 61.875 99.6875C61.875 90.1951 69.5701 82.5 79.0625 82.5C88.5549 82.5 96.25 90.1951 96.25 99.6875C96.25 109.18 88.5549 116.875 79.0625 116.875Z",
1157
+ d: "M103.121 123.752L91.725 112.357M89.378 20.631C88.721 20.625 87.982 20.625 87.139 20.625H56.376C48.676 20.625 44.822 20.625 41.881 22.124C39.294 23.442 37.192 25.544 35.874 28.131C34.375 31.072 34.375 34.926 34.375 42.626V122.376C34.375 130.077 34.375 133.925 35.874 136.867C37.192 139.454 39.294 141.56 41.881 142.878C44.819 144.375 48.668 144.375 56.354 144.375L108.646 144.375C116.332 144.375 120.175 144.375 123.113 142.878C125.701 141.56 127.81 139.454 129.128 136.867C130.625 133.928 130.625 130.085 130.625 122.4V64.114C130.625 63.271 130.624 62.532 130.618 61.875M89.378 20.631C91.34 20.649 92.577 20.722 93.763 21.006C95.165 21.343 96.51 21.899 97.74 22.653C99.128 23.503 100.319 24.694 102.695 27.07L124.183 48.558C126.561 50.936 127.743 52.122 128.594 53.51C129.348 54.74 129.905 56.081 130.242 57.484C130.527 58.67 130.6 59.913 130.618 61.875M89.378 20.631L89.375 39.876C89.375 47.577 89.375 51.426 90.874 54.367C92.192 56.955 94.294 59.059 96.881 60.378C99.82 61.875 103.668 61.875 111.354 61.875H130.618M79.063 116.875C69.57 116.875 61.875 109.18 61.875 99.688C61.875 90.195 69.57 82.5 79.063 82.5C88.555 82.5 96.25 90.195 96.25 99.688C96.25 109.18 88.555 116.875 79.063 116.875Z",
1150
1158
  className: !config?.stroke ? "stroke-gray-gray6" : void 0,
1151
1159
  stroke: config?.stroke,
1152
1160
  strokeWidth: "6",