@freegridjs/core 0.8.1 → 1.0.1
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/LICENSE +3 -1
- package/README.md +14 -11
- package/dist/cdn/freegrid.css +49 -0
- package/dist/cdn/freegrid.esm.js +17 -8
- package/dist/cdn/freegrid.min.js +17 -8
- package/dist/index.d.ts +56 -39
- package/dist/index.js +2117 -396
- package/dist/locales/de.d.ts +1 -1
- package/dist/locales/de.js +8 -0
- package/dist/locales/en.d.ts +1 -1
- package/dist/locales/en.js +8 -0
- package/dist/locales/es.d.ts +1 -1
- package/dist/locales/es.js +8 -0
- package/dist/locales/fr.d.ts +1 -1
- package/dist/locales/fr.js +8 -0
- package/dist/locales/id.d.ts +5 -0
- package/dist/locales/id.js +113 -0
- package/dist/locales/it.d.ts +5 -0
- package/dist/locales/it.js +113 -0
- package/dist/locales/ja.d.ts +1 -1
- package/dist/locales/ja.js +8 -0
- package/dist/locales/ko.d.ts +1 -1
- package/dist/locales/ko.js +8 -0
- package/dist/locales/pt-BR.d.ts +5 -0
- package/dist/locales/pt-BR.js +113 -0
- package/dist/locales/ru.d.ts +5 -0
- package/dist/locales/ru.js +113 -0
- package/dist/locales/th.d.ts +5 -0
- package/dist/locales/th.js +113 -0
- package/dist/locales/vi.d.ts +5 -0
- package/dist/locales/vi.js +113 -0
- package/dist/locales/zh-CN.d.ts +1 -1
- package/dist/locales/zh-CN.js +8 -0
- package/dist/locales/zh-TW.d.ts +5 -0
- package/dist/locales/zh-TW.js +113 -0
- package/dist/styles.css +49 -0
- package/dist/{types-e45suTSB.d.ts → types-bFz-Q6ac.d.ts} +226 -7
- package/package.json +1 -1
package/LICENSE
CHANGED
|
@@ -25,7 +25,8 @@ This license covers the FreeGrid software, including the packages @freegridjs/co
|
|
|
25
25
|
erp.example.com) needs its own Company License. Applications without a domain (desktop
|
|
26
26
|
apps, intranets reached by address) count as one domain per installation site.
|
|
27
27
|
- The fee is KRW 200,000 per domain per year. The license is valid for one year from the
|
|
28
|
-
date it is issued and may be renewed.
|
|
28
|
+
date it is issued and may be renewed. A perpetual Company License costs KRW 400,000 per
|
|
29
|
+
domain, paid once, and does not expire.
|
|
29
30
|
- A license key is provided with each Company License. Setting the key removes the
|
|
30
31
|
console notice described in section 5.
|
|
31
32
|
|
|
@@ -61,6 +62,7 @@ FreeGrid 라이선스 (요약, 한국어)
|
|
|
61
62
|
회사 라이선스가 필요합니다. 30일 동안은 평가 목적으로 라이선스 없이 써 볼 수 있습니다.
|
|
62
63
|
- 도메인 1개(www 포함) 기준 연 200,000원이며, 발급일로부터 1년간 유효하고
|
|
63
64
|
갱신할 수 있습니다. 서브도메인(예: erp.example.com)은 별도로 요금이 책정됩니다.
|
|
65
|
+
- 영구 라이선스는 도메인 1개 기준 400,000원을 한 번 결제하며 만료되지 않습니다.
|
|
64
66
|
- 라이선스마다 키를 발급하며, 키를 설정하면 콘솔 안내가 사라집니다.
|
|
65
67
|
- 모든 사용자: 저작권과 이 라이선스 문구를 유지해야 하며, 소프트웨어 자체를 판매하거나
|
|
66
68
|
별도 그리드 라이브러리로 재배포할 수 없고, 라이선스 확인을 제거하거나 키를 다른
|
package/README.md
CHANGED
|
@@ -4,15 +4,18 @@ A fast data grid for the web, free for personal use. Docs and live demos: **http
|
|
|
4
4
|
|
|
5
5
|
- 100,000+ rows with row and column virtualization
|
|
6
6
|
- Pinned columns, multi-level headers, resize and drag to reorder
|
|
7
|
-
- Multi-sort, text / number / date / set filters, quick search
|
|
8
|
-
- Column chooser and side bar, autosize, save and restore
|
|
7
|
+
- Multi-sort, text / number / date / set filters, a filter row, two conditions per column and an advanced filter across columns, quick search
|
|
8
|
+
- Column chooser and side bar, autosize, collapsible column groups, row numbers, tooltips, density; save and restore whole views (getState / setState)
|
|
9
9
|
- Summary rows (top or bottom, pinned or scrolling)
|
|
10
10
|
- Row selection, keyboard navigation, light / dark and Korean-style themes, font settings
|
|
11
|
-
-
|
|
12
|
-
- Editing, validation, undo; Excel copy/paste, cell ranges, fill handle, merged cells
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
11
|
+
- 14 languages: English, 한국어, 简体中文, 繁體中文, 日本語, Tiếng Việt, ไทย, Bahasa Indonesia, Español, Português, Français, Deutsch, Italiano, Русский
|
|
12
|
+
- Editing (cell or whole row), validation, unique values, formulas, undo; Excel copy/cut/paste, several cell ranges, fill handle, merged cells
|
|
13
|
+
- Live updates by id with flashing cells (applyTransaction)
|
|
14
|
+
- Row grouping with group checkboxes, tree data with lazy children, master/detail, row drag between grids; pagination, server-side rows and server-side grouping
|
|
15
|
+
- Excel (.xlsx, several sheets, cell styles) and CSV export and import, printing; pivot tables, SVG charts and sparklines
|
|
16
|
+
- Server helpers for Spring Boot and eGovFrame (restDatasource, loadData, saveChanges) with Java examples
|
|
17
|
+
- Accessibility (ARIA grid), Shadow DOM, right-to-left, card view for phones
|
|
18
|
+
- Zero dependencies. React: [`@freegridjs/react`](https://www.npmjs.com/package/@freegridjs/react) · Vue: [`@freegridjs/vue`](https://www.npmjs.com/package/@freegridjs/vue) · Svelte: [`@freegridjs/svelte`](https://www.npmjs.com/package/@freegridjs/svelte) · Angular: [`@freegridjs/angular`](https://www.npmjs.com/package/@freegridjs/angular)
|
|
16
19
|
|
|
17
20
|
```bash
|
|
18
21
|
npm i @freegridjs/core
|
|
@@ -39,17 +42,17 @@ The container needs a height. Languages: `import ko from '@freegridjs/core/local
|
|
|
39
42
|
### CDN
|
|
40
43
|
|
|
41
44
|
```html
|
|
42
|
-
<link rel="stylesheet" href="https://unpkg.com/@freegridjs/core@
|
|
43
|
-
<script src="https://unpkg.com/@freegridjs/core@
|
|
45
|
+
<link rel="stylesheet" href="https://unpkg.com/@freegridjs/core@1/dist/cdn/freegrid.css">
|
|
46
|
+
<script src="https://unpkg.com/@freegridjs/core@1/dist/cdn/freegrid.min.js"></script>
|
|
44
47
|
<script>FreeGrid.createGrid(el, { columns, data, locale: 'ko' });</script>
|
|
45
48
|
```
|
|
46
49
|
|
|
47
50
|
## License
|
|
48
51
|
|
|
49
|
-
Free for personal use. Company use needs a domain license: KRW 200,000 per domain per year
|
|
52
|
+
Free for personal use. Company use needs a domain license: KRW 200,000 per domain per year, or KRW 400,000 once (perpetual)
|
|
50
53
|
(each subdomain is licensed separately). See https://freegrid.app/pricing/ and the LICENSE file.
|
|
51
54
|
|
|
52
|
-
개인은 무료, 회사는 도메인당 연 20만 원이며, 서브도메인은 별도로 요금이 책정됩니다. 자세한 내용은 https://freegrid.app/pricing/
|
|
55
|
+
개인은 무료, 회사는 도메인당 연 20만 원 또는 영구 40만 원이며, 서브도메인은 별도로 요금이 책정됩니다. 자세한 내용은 https://freegrid.app/pricing/
|
|
53
56
|
|
|
54
57
|
```js
|
|
55
58
|
import { setLicenseKey } from '@freegridjs/core';
|
package/dist/cdn/freegrid.css
CHANGED
|
@@ -419,3 +419,52 @@ textarea.fg-editor-control { padding-top: 8px; resize: none; }
|
|
|
419
419
|
.fg-card-line { display: grid; grid-template-columns: minmax(80px, 38%) 1fr; gap: 10px; align-items: center; height: var(--fg-card-line, 27px); }
|
|
420
420
|
.fg-card-label { color: var(--fg-muted); font-size: .92em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
421
421
|
.fg-card-value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
422
|
+
|
|
423
|
+
/* row numbers */
|
|
424
|
+
.fg-cell-rownum, .fg-header-rownum { justify-content: center; color: var(--fg-muted); font-variant-numeric: tabular-nums; cursor: default; }
|
|
425
|
+
.fg-cell-rownum { background: var(--fg-header-bg); }
|
|
426
|
+
|
|
427
|
+
/* filter row */
|
|
428
|
+
.fg-filter-row { position: relative; border-top: 1px solid var(--fg-border); will-change: transform; }
|
|
429
|
+
.fg-filter-cell { position: absolute; top: 0; box-sizing: border-box; display: flex; align-items: center; padding: 3px 4px; border-right: 1px solid var(--fg-border); }
|
|
430
|
+
.fg-filter-input { width: 100%; height: 100%; min-width: 0; box-sizing: border-box; border: 1px solid var(--fg-border); border-radius: 4px; padding: 0 6px; background: var(--fg-bg); color: var(--fg-fg); font: inherit; font-size: .92em; }
|
|
431
|
+
.fg-filter-input:focus { outline: 2px solid var(--fg-focus); outline-offset: -1px; }
|
|
432
|
+
.fg-filter-input::placeholder { color: var(--fg-muted); opacity: .7; }
|
|
433
|
+
.fg-filter-active .fg-filter-input { border-color: var(--fg-accent); }
|
|
434
|
+
.fg-filter-bad.fg-filter-input { border-color: #dc2626; }
|
|
435
|
+
.fg-rtl .fg-filter-cell { transform: scaleX(-1); direction: rtl; }
|
|
436
|
+
|
|
437
|
+
/* tooltips */
|
|
438
|
+
.fg-tooltip { position: fixed; z-index: 1000; max-width: 360px; padding: 6px 9px; border-radius: 6px; background: #1f2430; color: #fff; font-size: 12px; line-height: 1.45; white-space: pre-wrap; word-break: break-word; pointer-events: none; box-shadow: 0 4px 14px rgba(0, 0, 0, .18); }
|
|
439
|
+
.fg-tooltip.fg-theme-dark { background: #e6e9f0; color: #11141b; }
|
|
440
|
+
|
|
441
|
+
/* cells changed by applyTransaction */
|
|
442
|
+
.fg-cell-flash { animation: fg-flash 1s ease-out; }
|
|
443
|
+
@keyframes fg-flash { from { background: color-mix(in srgb, var(--fg-accent) 35%, transparent); } to { background: transparent; } }
|
|
444
|
+
@media (prefers-reduced-motion: reduce) { .fg-cell-flash { animation: none; outline: 1px solid var(--fg-accent); outline-offset: -1px; } }
|
|
445
|
+
|
|
446
|
+
/* editType 'row': the row being edited */
|
|
447
|
+
.fg-row-editing { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--fg-accent) 45%, transparent); background: color-mix(in srgb, var(--fg-accent) 5%, var(--fg-bg)); }
|
|
448
|
+
|
|
449
|
+
/* collapsible column groups */
|
|
450
|
+
.fg-colgroup-toggle { margin-left: 6px; width: 18px; height: 18px; padding: 0; border: 1px solid var(--fg-border); border-radius: 4px; background: var(--fg-bg); color: var(--fg-muted); font: 600 12px/1 var(--fg-font); cursor: pointer; flex: none; }
|
|
451
|
+
.fg-colgroup-toggle:hover { color: var(--fg-fg); border-color: var(--fg-muted); }
|
|
452
|
+
|
|
453
|
+
/* two conditions in a column filter */
|
|
454
|
+
.fg-filter-cond { display: flex; flex-direction: column; gap: 6px; }
|
|
455
|
+
.fg-filter-join { display: flex; gap: 14px; padding: 2px 2px 0; font-size: .92em; color: var(--fg-muted); }
|
|
456
|
+
.fg-filter-join label { display: flex; align-items: center; gap: 4px; cursor: pointer; }
|
|
457
|
+
|
|
458
|
+
/* autoHeight: grow with the rows */
|
|
459
|
+
.fg-root.fg-auto-height { height: auto; }
|
|
460
|
+
.fg-auto-height .fg-main, .fg-auto-height .fg-grid { flex: none; }
|
|
461
|
+
.fg-auto-height .fg-body { flex: none; min-height: 0; }
|
|
462
|
+
.fg-auto-height .fg-body-pane-center { overflow-y: hidden; }
|
|
463
|
+
|
|
464
|
+
.fg-sparkline { display: block; overflow: visible; }
|
|
465
|
+
|
|
466
|
+
.fg-overlay.fg-overlay-custom { pointer-events: auto; }
|
|
467
|
+
|
|
468
|
+
/* density */
|
|
469
|
+
.fg-density-compact { --fg-cell-px: 7px; }
|
|
470
|
+
.fg-density-comfortable { --fg-cell-px: 14px; }
|