@svgrid/grid 3.0.0 → 3.0.2
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/CHANGELOG.md +116 -88
- package/README.md +199 -199
- package/dist/FlexRender.svelte +96 -96
- package/dist/GridFooter.svelte +190 -181
- package/dist/GridFooter.svelte.d.ts +8 -0
- package/dist/GridMenus.svelte +18 -10
- package/dist/GridMenus.svelte.d.ts +2 -1
- package/dist/SvAutoComplete.svelte +169 -169
- package/dist/SvAvatar.svelte +75 -75
- package/dist/SvCalendar.svelte +503 -503
- package/dist/SvCarousel.svelte +141 -141
- package/dist/SvCheckBox.svelte +102 -102
- package/dist/SvCircularProgress.svelte +109 -109
- package/dist/SvColorInput.svelte +181 -181
- package/dist/SvComboBox.svelte +279 -279
- package/dist/SvContextMenu.svelte +116 -116
- package/dist/SvCountryInput.svelte +163 -163
- package/dist/SvDrawer.svelte +254 -254
- package/dist/SvDropDownList.svelte +378 -378
- package/dist/SvDurationInput.svelte +126 -126
- package/dist/SvField.svelte +293 -293
- package/dist/SvForm.svelte +437 -437
- package/dist/SvGrid.controller.svelte.d.ts +17 -0
- package/dist/SvGrid.controller.svelte.js +128 -14
- package/dist/SvGrid.css +79 -10
- package/dist/SvGrid.svelte +191 -186
- package/dist/SvGrid.types.d.ts +42 -1
- package/dist/SvGridCellEditor.svelte +748 -744
- package/dist/SvGridChart.svelte +2246 -1716
- package/dist/SvGridChart.svelte.d.ts +63 -1
- package/dist/SvGridChartPanel.svelte +633 -485
- package/dist/SvGridChartView.svelte +79 -70
- package/dist/SvGridChartView.svelte.d.ts +7 -0
- package/dist/SvGridDropdown.svelte +728 -728
- package/dist/SvGridSelect.svelte +270 -270
- package/dist/SvGroupCell.svelte +141 -116
- package/dist/SvGroupCell.svelte.d.ts +8 -0
- package/dist/SvListBox.svelte +334 -334
- package/dist/SvMaskedInput.svelte +122 -122
- package/dist/SvMenu.svelte +124 -124
- package/dist/SvMenuList.svelte +146 -146
- package/dist/SvMultiSelect.svelte +293 -293
- package/dist/SvNumberInput.svelte +172 -172
- package/dist/SvOtpInput.svelte +158 -158
- package/dist/SvPasswordInput.svelte +151 -151
- package/dist/SvPhoneInput.svelte +133 -133
- package/dist/SvPopover.svelte +197 -197
- package/dist/SvProgress.svelte +116 -116
- package/dist/SvRadioGroup.svelte +107 -107
- package/dist/SvRating.svelte +112 -112
- package/dist/SvResult.svelte +73 -73
- package/dist/SvRichText.svelte +211 -211
- package/dist/SvRowGroupPanel.svelte +186 -170
- package/dist/SvRowGroupPanel.svelte.d.ts +8 -0
- package/dist/SvScrollArea.svelte +61 -61
- package/dist/SvSlider.svelte +203 -203
- package/dist/SvSwitchButton.svelte +108 -108
- package/dist/SvTagsInput.svelte +115 -115
- package/dist/SvTextInput.svelte +147 -147
- package/dist/SvTimePicker.svelte +245 -245
- package/dist/SvToaster.svelte +159 -159
- package/dist/SvToggleButton.svelte +85 -85
- package/dist/SvTooltip.svelte +161 -161
- package/dist/SvTour.svelte +208 -208
- package/dist/SvTree.svelte +444 -444
- package/dist/SvTreeSelect.svelte +239 -239
- package/dist/ai.d.ts +11 -2
- package/dist/ai.js +51 -7
- package/dist/cdn/GridMenus-DyFA-QxA.js +602 -0
- package/dist/cdn/GridMenus-M2XP9t0_.js +603 -0
- package/dist/cdn/{SvDateRangeInput-DflbiP7N.js → SvDateRangeInput-CaOuMs8O.js} +1 -1
- package/dist/cdn/{SvDateRangeInput-Bh0A0JkF.js → SvDateRangeInput-DMLKmGEc.js} +1 -1
- package/dist/cdn/{SvDateTimePicker-Bivn8dAP.js → SvDateTimePicker-CCbDZNZB.js} +1 -1
- package/dist/cdn/{SvDateTimePicker-BWwpfB_o.js → SvDateTimePicker-sonaH0oh.js} +1 -1
- package/dist/cdn/{SvGridCellEditor-Ba7rY3eu.js → SvGridCellEditor-BWnTi2N7.js} +2 -2
- package/dist/cdn/{SvGridCellEditor-AXL8cHGO.js → SvGridCellEditor-CjEJMJKc.js} +2 -2
- package/dist/cdn/SvGridChart-DAb9RbRs.js +1480 -0
- package/dist/cdn/SvGridChart-Yl-IXZFO.js +1481 -0
- package/dist/cdn/SvGridChartPanel-DayQpDsR.js +834 -0
- package/dist/cdn/SvGridChartPanel-aqf8n-vJ.js +810 -0
- package/dist/cdn/{SvGridChartView-eSPuJE6g.js → SvGridChartView-CxfakxR0.js} +5 -3
- package/dist/cdn/{SvGridChartView-SmPW10dI.js → SvGridChartView-Dm_YEx9L.js} +5 -3
- package/dist/cdn/{SvGridDropdown-B1ZcLpgs.js → SvGridDropdown-D0VdjeR8.js} +1 -1
- package/dist/cdn/{SvGridDropdown-CtdbHcIS.js → SvGridDropdown-D13MtJ2j.js} +1 -1
- package/dist/cdn/cell-formatting-C2Hf5gqd.js +86 -0
- package/dist/cdn/chart-CKJRCPOk.js +1652 -0
- package/dist/cdn/{date-format-DZT7T1wf.js → date-format-BNii4zeD.js} +2 -2
- package/dist/cdn/{date-format-CcP1tafP.js → date-format-BnnHlqGw.js} +2 -2
- package/dist/cdn/{export-format-Cv1Dll6k.js → export-format-CUDLy2yn.js} +84 -168
- package/dist/cdn/{src-B_YS5AOc.js → src-BJ2opd0j.js} +3642 -3450
- package/dist/cdn/{src-DYXXpuSk.js → src-DNbz94Ct.js} +8649 -8457
- package/dist/cdn/svgrid.js +16 -15
- package/dist/cdn/svgrid.svelte-external.js +16 -15
- package/dist/cell-formatting.d.ts +7 -0
- package/dist/cell-formatting.js +7 -1
- package/dist/chart-export.d.ts +23 -2
- package/dist/chart-export.js +88 -14
- package/dist/chart.d.ts +410 -18
- package/dist/chart.js +824 -24
- package/dist/editing.js +22 -13
- package/dist/grid-icons.d.ts +49 -0
- package/dist/grid-icons.js +86 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -2
- package/package.json +1 -1
- package/src/FlexRender.svelte +96 -96
- package/src/GridFooter.svelte +190 -181
- package/src/GridMenus.svelte +18 -10
- package/src/SvAutoComplete.svelte +169 -169
- package/src/SvAvatar.svelte +75 -75
- package/src/SvCalendar.svelte +503 -503
- package/src/SvCalendar.test.ts +226 -226
- package/src/SvCarousel.svelte +141 -141
- package/src/SvCheckBox.svelte +102 -102
- package/src/SvCircularProgress.svelte +109 -109
- package/src/SvColorInput.svelte +181 -181
- package/src/SvComboBox.svelte +279 -279
- package/src/SvContextMenu.svelte +116 -116
- package/src/SvCountryInput.svelte +163 -163
- package/src/SvDrawer.svelte +254 -254
- package/src/SvDropDownList.svelte +378 -378
- package/src/SvDurationInput.svelte +126 -126
- package/src/SvField.svelte +293 -293
- package/src/SvForm.svelte +437 -437
- package/src/SvForm.test.ts +411 -411
- package/src/SvGrid.controller.svelte.ts +146 -13
- package/src/SvGrid.css +79 -10
- package/src/SvGrid.svelte +191 -186
- package/src/SvGrid.types.ts +2133 -2092
- package/src/SvGridCellEditor.svelte +748 -744
- package/src/SvGridChart.svelte +2246 -1716
- package/src/SvGridChart.test.ts +243 -1
- package/src/SvGridChartPanel.svelte +633 -485
- package/src/SvGridChartView.svelte +79 -70
- package/src/SvGridDropdown.svelte +728 -728
- package/src/SvGridSelect.svelte +270 -270
- package/src/SvGroupCell.svelte +141 -116
- package/src/SvListBox.svelte +334 -334
- package/src/SvMaskedInput.svelte +122 -122
- package/src/SvMenu.svelte +124 -124
- package/src/SvMenu.test.ts +97 -97
- package/src/SvMenuList.svelte +146 -146
- package/src/SvMultiSelect.svelte +293 -293
- package/src/SvNumberInput.svelte +172 -172
- package/src/SvOtpInput.svelte +158 -158
- package/src/SvPasswordInput.svelte +151 -151
- package/src/SvPhoneInput.svelte +133 -133
- package/src/SvPopover.svelte +197 -197
- package/src/SvProgress.svelte +116 -116
- package/src/SvRadioGroup.svelte +107 -107
- package/src/SvRating.svelte +112 -112
- package/src/SvResult.svelte +73 -73
- package/src/SvRichText.svelte +211 -211
- package/src/SvRowGroupPanel.svelte +186 -170
- package/src/SvScrollArea.svelte +61 -61
- package/src/SvSlider.svelte +203 -203
- package/src/SvSwitchButton.svelte +108 -108
- package/src/SvTagsInput.svelte +115 -115
- package/src/SvTextInput.svelte +147 -147
- package/src/SvTimePicker.svelte +245 -245
- package/src/SvToaster.svelte +159 -159
- package/src/SvToaster.test.ts +95 -95
- package/src/SvToggleButton.svelte +85 -85
- package/src/SvTooltip.svelte +161 -161
- package/src/SvTour.svelte +208 -208
- package/src/SvTree.svelte +444 -444
- package/src/SvTreeSelect.svelte +239 -239
- package/src/a11y/dismissable.test.ts +119 -119
- package/src/a11y/dismissable.ts +114 -114
- package/src/a11y.contract.test.ts +49 -49
- package/src/a11y.test.ts +59 -59
- package/src/a11y.ts +61 -61
- package/src/ai.test.ts +561 -502
- package/src/ai.ts +1472 -1419
- package/src/build-api.coverage.test.ts +633 -633
- package/src/build-api.ts +846 -846
- package/src/builtin-editors.grid.test.ts +83 -83
- package/src/cell-formatting.ts +177 -171
- package/src/cell-render.test.ts +513 -513
- package/src/cell-render.ts +496 -496
- package/src/cell-values.ts +148 -148
- package/src/chart-export.test.ts +112 -0
- package/src/chart-export.ts +270 -202
- package/src/chart-view.svelte.ts +36 -36
- package/src/chart.test.ts +830 -1
- package/src/chart.ts +3342 -2321
- package/src/collaboration.test.ts +104 -104
- package/src/collaboration.ts +167 -167
- package/src/column-groups.ts +78 -78
- package/src/core.performance.test.ts +30 -30
- package/src/core.ts +1865 -1865
- package/src/createAutocomplete.svelte.ts +132 -132
- package/src/createCombobox.svelte.ts +191 -191
- package/src/createCountryInput.svelte.ts +157 -157
- package/src/createDropdownList.svelte.ts +168 -168
- package/src/createForm.svelte.ts +386 -386
- package/src/createGrid.svelte.ts +42 -42
- package/src/createGrid.test.ts +10 -10
- package/src/createGridState.svelte.ts +17 -17
- package/src/createListbox.svelte.ts +250 -250
- package/src/createMenu.svelte.ts +224 -224
- package/src/createPopoverSelect.svelte.ts +213 -213
- package/src/createSlider.svelte.ts +191 -191
- package/src/createTooltip.svelte.ts +144 -144
- package/src/createTree.svelte.ts +322 -322
- package/src/datetime/date-core.ts +206 -206
- package/src/datetime/date-restrict.ts +61 -61
- package/src/datetime/timezone.ts +135 -135
- package/src/dock-manager-model.ts +596 -596
- package/src/dock-model.ts +374 -374
- package/src/editing.test.ts +974 -974
- package/src/editing.ts +618 -609
- package/src/editor-contract.ts +171 -171
- package/src/editor-registry.grid.test.ts +144 -144
- package/src/editor-registry.ts +122 -122
- package/src/export-data-api.test.ts +126 -126
- package/src/export-format.test.ts +107 -107
- package/src/export-format.ts +601 -601
- package/src/filter-operators.ts +160 -160
- package/src/filtering/excel-filters.ts +325 -325
- package/src/flex-render.ts +3 -3
- package/src/form-field.ts +127 -127
- package/src/grid-icons.test.ts +46 -0
- package/src/grid-icons.ts +184 -0
- package/src/group-display.test.ts +167 -167
- package/src/group-display.ts +200 -200
- package/src/headless.ts +87 -87
- package/src/icon-overrides.grid.test.ts +188 -0
- package/src/icon-seam.test.ts +100 -0
- package/src/index.ts +19 -0
- package/src/js-scroller.svelte.ts +173 -173
- package/src/keyboard-handlers.ts +270 -270
- package/src/keyboard.test.ts +59 -59
- package/src/keyboard.ts +97 -97
- package/src/list-nav.test.ts +49 -49
- package/src/list-nav.ts +29 -29
- package/src/list-option.test.ts +56 -56
- package/src/list-option.ts +179 -179
- package/src/menus.ts +597 -597
- package/src/merge-objects.ts +48 -48
- package/src/overlays.test.ts +90 -90
- package/src/positioning.ts +268 -268
- package/src/render-component.ts +28 -28
- package/src/row-drag.test.ts +401 -401
- package/src/row-drag.ts +419 -419
- package/src/row-resize.test.ts +524 -524
- package/src/row-resize.ts +228 -228
- package/src/scheduler-ical.ts +181 -181
- package/src/scheduler-model.test.ts +562 -562
- package/src/scheduler-model.ts +873 -873
- package/src/selection.test.ts +885 -885
- package/src/server-data-source.test.ts +383 -383
- package/src/server-data-source.ts +469 -469
- package/src/sparkline.test.ts +68 -68
- package/src/sparkline.ts +169 -169
- package/src/spreadsheet.test.ts +488 -488
- package/src/spreadsheet.ts +312 -312
- package/src/static-functions.ts +11 -11
- package/src/subscribe.ts +38 -38
- package/src/summaries.ts +113 -113
- package/src/svgrid-wrapper.types.ts +563 -563
- package/src/svgrid.async-editor-options.test.ts +273 -273
- package/src/svgrid.auto-row-height.test.ts +204 -204
- package/src/svgrid.behavior.test.ts +910 -910
- package/src/svgrid.charting.test.ts +654 -534
- package/src/svgrid.comments-autocomplete.test.ts +127 -127
- package/src/svgrid.context-menu.test.ts +147 -147
- package/src/svgrid.features.test.ts +157 -157
- package/src/svgrid.filter-depth.test.ts +163 -163
- package/src/svgrid.filter-menu-listbox.svelte.test.ts +382 -377
- package/src/svgrid.filter-menu-scroll.test.ts +112 -112
- package/src/svgrid.grand-total.test.ts +188 -188
- package/src/svgrid.group-display-mode.test.ts +171 -171
- package/src/svgrid.group-footers.test.ts +121 -121
- package/src/svgrid.group-pagination.test.ts +153 -153
- package/src/svgrid.new-features.wrapper.test.ts +251 -251
- package/src/svgrid.tree-data.test.ts +186 -186
- package/src/svgrid.wrapper.test.ts +63 -63
- package/src/svgriddropdown.async-panel.svelte.test.ts +195 -195
- package/src/test-setup.ts +62 -62
- package/src/themes/index.ts +288 -288
- package/src/toast-store.svelte.ts +250 -250
- package/src/toast-store.test.ts +147 -147
- package/src/tree-row-model.test.ts +168 -168
- package/src/ui-buttons.test.ts +144 -144
- package/src/ui-inputs.test.ts +118 -118
- package/src/ui-localization.test.ts +113 -113
- package/src/ui-range.test.ts +70 -70
- package/src/ui-selection.test.ts +155 -155
- package/src/ui-tier1.test.ts +142 -142
- package/src/virtual.test.ts +88 -88
- package/src/virtualization/column-virtualizer.test.ts +27 -27
- package/src/virtualization/column-virtualizer.ts +30 -30
- package/src/virtualization/svelte-virtualizer.svelte.ts +26 -26
- package/src/virtualization/types.ts +30 -30
- package/src/virtualization/virtualizer.test.ts +47 -47
- package/src/virtualization/virtualizer.ts +322 -322
- package/dist/cdn/GridMenus-DMihUtma.js +0 -600
- package/dist/cdn/GridMenus-nmNDj1a3.js +0 -601
- package/dist/cdn/SvGridChart-Bs2GIR2Q.js +0 -1202
- package/dist/cdn/SvGridChart-CwhFz7GV.js +0 -1203
- package/dist/cdn/SvGridChartPanel-1WXuStzM.js +0 -561
- package/dist/cdn/SvGridChartPanel-e5_nqNP9.js +0 -585
- package/dist/cdn/chart-i4XcXyHJ.js +0 -1214
|
@@ -246,7 +246,7 @@ function Se(e, t) {
|
|
|
246
246
|
//#region src/SvField.svelte
|
|
247
247
|
var Ce = o("<span class=\"sv-field__req svelte-1uhr4tm\" aria-hidden=\"true\">*</span>"), we = o("<label class=\"sv-field__label svelte-1uhr4tm\"> <!></label>"), Te = o("<span class=\"sv-field__spinner svelte-1uhr4tm\" role=\"status\" aria-label=\"Loading\"></span>"), Ee = o("<span class=\"sv-field__labelrow svelte-1uhr4tm\"><!> <!></span>"), De = o("<span class=\"sv-field__req svelte-1uhr4tm\" aria-hidden=\"true\">*</span>"), Oe = o("<label class=\"sv-field__float-label svelte-1uhr4tm\"> <!></label>"), ke = o("<span class=\"sv-field__adorn sv-field__adorn--lead svelte-1uhr4tm\"><!></span>"), Ae = o("<span class=\"sv-field__affix sv-field__affix--pre svelte-1uhr4tm\"> </span>"), je = o("<span class=\"sv-field__affix sv-field__affix--suf svelte-1uhr4tm\"> </span>"), Me = o("<span class=\"sv-field__adorn sv-field__adorn--trail svelte-1uhr4tm\"><!></span>"), Ne = o("<span class=\"sv-field__action-txt svelte-1uhr4tm\"> </span>"), Pe = o("<button class=\"sv-field__action svelte-1uhr4tm\" type=\"button\" tabindex=\"-1\"><!></button>"), Fe = o("<button class=\"sv-field__clear svelte-1uhr4tm\" type=\"button\" tabindex=\"-1\">×</button>"), Ie = o("<div><!> <!> <!> <span class=\"sv-field__slot svelte-1uhr4tm\"><!></span> <!> <!> <!> <!></div>"), Le = o("<span class=\"sv-field__error svelte-1uhr4tm\" role=\"alert\"> </span>"), Re = o("<span class=\"sv-field__hint svelte-1uhr4tm\"> </span>"), ze = o("<div><!> <!> <!></div>"), Be = {
|
|
248
248
|
hash: "svelte-1uhr4tm",
|
|
249
|
-
code: ".sv-field.svelte-1uhr4tm {display:inline-flex;flex-direction:column;gap:3px;text-align:start;}.sv-field--block.svelte-1uhr4tm {display:flex;width:100%;}.sv-field__labelrow.svelte-1uhr4tm {display:inline-flex;align-items:center;gap:6px;}.sv-field__label.svelte-1uhr4tm {font-size:12.5px;font-weight:550;color:var(--sg-fg, #0f172a);line-height:1.3;}.sv-field__spinner.svelte-1uhr4tm {width:12px;height:12px;flex:none;border-radius:50%;border:2px solid color-mix(in srgb, var(--sg-accent, #2563eb) 30%, transparent);border-top-color:var(--sg-accent, #2563eb);\
|
|
249
|
+
code: ".sv-field.svelte-1uhr4tm {display:inline-flex;flex-direction:column;gap:3px;text-align:start;}.sv-field--block.svelte-1uhr4tm {display:flex;width:100%;}.sv-field__labelrow.svelte-1uhr4tm {display:inline-flex;align-items:center;gap:6px;}.sv-field__label.svelte-1uhr4tm {font-size:12.5px;font-weight:550;color:var(--sg-fg, #0f172a);line-height:1.3;}.sv-field__spinner.svelte-1uhr4tm {width:12px;height:12px;flex:none;border-radius:50%;border:2px solid color-mix(in srgb, var(--sg-accent, #2563eb) 30%, transparent);border-top-color:var(--sg-accent, #2563eb);\n animation: svelte-1uhr4tm-sv-field-spin 0.6s linear infinite;}\n @keyframes svelte-1uhr4tm-sv-field-spin { to { transform: rotate(360deg); } }\n @media (prefers-reduced-motion: reduce) {.sv-field__spinner.svelte-1uhr4tm { animation: none;} }.sv-field__req.svelte-1uhr4tm {color:var(--sg-danger, #dc2626);margin-inline-start:2px;}.sv-field__hint.svelte-1uhr4tm {font-size:11.5px;color:var(--sg-muted, #64748b);line-height:1.35;}.sv-field__error.svelte-1uhr4tm {font-size:11.5px;font-weight:500;color:var(--sg-danger, #dc2626);line-height:1.35;}\n\n /* ---- Framed mode: the shared control box (opt-in via `frame`) ---- */.sv-field__control.svelte-1uhr4tm {--_accent: var(--sg-accent, #2563eb);display:flex;align-items:center;width:220px;background:var(--sg-input-bg, #fff);color:var(--sg-fg, #0f172a);border:1px solid var(--sg-input-border, var(--sg-border, #cbd5e1));border-radius:var(--sg-radius, 8px);}.sv-field--block.svelte-1uhr4tm .sv-field__control:where(.svelte-1uhr4tm) {width:100%;}.sv-field__control.svelte-1uhr4tm:focus-within {border-color:var(--_accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--_accent) 22%, transparent);}.sv-field__control.is-invalid.svelte-1uhr4tm {border-color:var(--sg-danger, #dc2626);}.sv-field__control.is-invalid.svelte-1uhr4tm:focus-within {box-shadow:0 0 0 2px color-mix(in srgb, var(--sg-danger, #dc2626) 22%, transparent);}.sv-field__control.is-disabled.svelte-1uhr4tm {opacity:0.6;}.sv-field__control.is-readonly.svelte-1uhr4tm {background:var(--sg-muted-bg, color-mix(in srgb, var(--sg-fg, #0f172a) 4%, var(--sg-input-bg, #fff)));}\n\n /* ---- Floating label ---- */.sv-field--floating.svelte-1uhr4tm .sv-field__control:where(.svelte-1uhr4tm) {position:relative;}.sv-field__float-label.svelte-1uhr4tm {position:absolute;inset-inline-start:11px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--sg-muted, #64748b);pointer-events:none;background:var(--sg-input-bg, #fff);padding:0 4px;max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1;transition:top 0.14s ease, font-size 0.14s ease, color 0.14s ease;}.sv-field__control.svelte-1uhr4tm:focus-within .sv-field__float-label:where(.svelte-1uhr4tm),\n .sv-field__control.is-filled.svelte-1uhr4tm .sv-field__float-label:where(.svelte-1uhr4tm) {top:0;font-size:10.5px;color:var(--_accent, var(--sg-accent, #2563eb));}.sv-field__control.is-invalid.svelte-1uhr4tm .sv-field__float-label:where(.svelte-1uhr4tm) {color:var(--sg-danger, #dc2626);}\n @media (prefers-reduced-motion: reduce) {.sv-field__float-label.svelte-1uhr4tm {transition:none;} }.sv-field__slot.svelte-1uhr4tm {display:flex;flex:1;min-width:0;}\n /* Bare form controls passed as children inherit borderless chrome so editors\n no longer re-implement the box. Scoped to the framed control only. */.sv-field__slot.svelte-1uhr4tm input,\n .sv-field__slot.svelte-1uhr4tm textarea,\n .sv-field__slot.svelte-1uhr4tm select {flex:1;min-width:0;width:100%;border:0;background:none;outline:none;color:inherit;font:inherit;padding:0 10px;}.sv-field__adorn.svelte-1uhr4tm {display:inline-flex;align-items:center;color:var(--sg-muted, #64748b);}.sv-field__adorn--lead.svelte-1uhr4tm {padding-inline-start:10px;}.sv-field__adorn--trail.svelte-1uhr4tm {padding-inline-end:10px;}.sv-field__affix.svelte-1uhr4tm {display:inline-flex;align-items:center;color:var(--sg-muted, #64748b);white-space:nowrap;}.sv-field__affix--pre.svelte-1uhr4tm {padding-inline-start:10px;}.sv-field__affix--suf.svelte-1uhr4tm {padding-inline-end:10px;}\n /* When an affix/adornment sits next to the control, drop the control's own\n edge padding so text hugs the affix. */.sv-field__adorn--lead.svelte-1uhr4tm + .sv-field__slot:where(.svelte-1uhr4tm) input,\n .sv-field__affix--pre.svelte-1uhr4tm + .sv-field__slot:where(.svelte-1uhr4tm) input {padding-inline-start:6px;}.sv-field__clear.svelte-1uhr4tm {display:grid;place-items:center;width:28px;align-self:stretch;background:none;border:0;color:var(--sg-muted, #64748b);cursor:pointer;font-size:17px;line-height:1;}.sv-field__clear.svelte-1uhr4tm:hover {color:var(--sg-fg, #0f172a);}.sv-field__action.svelte-1uhr4tm {display:inline-grid;place-items:center;align-self:center;flex:none;min-width:24px;height:24px;margin-inline-end:3px;padding:0 5px;background:none;border:0;border-radius:5px;color:var(--sg-muted, #64748b);cursor:pointer;font:inherit;font-size:12px;}.sv-field__action.svelte-1uhr4tm:hover:not([disabled]) {background:var(--sg-row-hover-bg, #f1f5f9);color:var(--sg-accent, #2563eb);}.sv-field__action[disabled].svelte-1uhr4tm {opacity:0.5;cursor:default;}.sv-field__action-txt.svelte-1uhr4tm {font-weight:600;white-space:nowrap;}\n .sv-field__control.sv-field--sm.svelte-1uhr4tm {height:28px;font-size:12px;}\n .sv-field__control.sv-field--md.svelte-1uhr4tm {height:34px;font-size:13px;}\n .sv-field__control.sv-field--lg.svelte-1uhr4tm {height:40px;font-size:15px;}"
|
|
250
250
|
};
|
|
251
251
|
function Ve(e, o) {
|
|
252
252
|
re(o, !0), A(e, Be);
|
|
@@ -794,7 +794,7 @@ function nt(e) {
|
|
|
794
794
|
//#region src/SvCalendar.svelte
|
|
795
795
|
var rt = o("<button> </button>"), it = o("<div class=\"sv-cal__presets svelte-md3oew\" role=\"group\"></div>"), at = o("<div class=\"sv-cal__panel-title svelte-md3oew\"> </div>"), ot = o("<span class=\"sv-cal__wk-head svelte-md3oew\" aria-hidden=\"true\">#</span>"), st = o("<span class=\"sv-cal__weekday svelte-md3oew\" role=\"columnheader\"> </span>"), ct = o("<div class=\"sv-cal__weekdays svelte-md3oew\" role=\"row\"><!> <!></div>"), lt = o("<span class=\"sv-cal__wk svelte-md3oew\" aria-hidden=\"true\"> </span>"), ut = o("<span class=\"sv-cal__day sv-cal__day--empty svelte-md3oew\" role=\"gridcell\" aria-hidden=\"true\"></span>"), dt = o("<span class=\"sv-cal__daybody svelte-md3oew\"><!></span>"), ft = o("<button><span class=\"sv-cal__daynum svelte-md3oew\"> </span><!></button>"), pt = o("<div class=\"sv-cal__week svelte-md3oew\" role=\"row\"><!> <!></div>"), mt = o("<div class=\"sv-cal__panel\"><!> <!> <!></div>"), ht = o("<div></div>"), gt = o("<button> </button>"), _t = o("<div></div>"), vt = o("<button> </button>"), yt = o("<div></div>"), bt = o("<button type=\"button\" class=\"sv-cal__foot-btn svelte-md3oew\"> </button>"), xt = o("<div class=\"sv-cal__footer svelte-md3oew\"><button type=\"button\" class=\"sv-cal__foot-btn svelte-md3oew\"> </button> <!></div>"), St = o("<input type=\"hidden\"/>"), Ct = o("<div role=\"group\"><!> <div class=\"sv-cal__main svelte-md3oew\"><div class=\"sv-cal__header svelte-md3oew\"><button><svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-md3oew\"><path d=\"M15 18l-6-6 6-6\"></path></svg></button> <button> </button> <button><svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-md3oew\"><path d=\"M9 18l6-6-6-6\"></path></svg></button></div> <div class=\"sv-cal__view svelte-md3oew\"><!></div> <!></div> <!></div>"), wt = {
|
|
796
796
|
hash: "svelte-md3oew",
|
|
797
|
-
code: ".sv-cal.svelte-md3oew {--_accent: var(--sg-accent, #2563eb);--_bg: var(--sg-bg, #fff);--_fg: var(--sg-fg, #0f172a);--_muted: var(--sg-muted, #64748b);--_border: var(--sg-border, #e2e8f0);--_hover: var(--sg-row-hover-bg, rgba(37, 99, 235, 0.08));--_radius: var(--sg-radius, 8px);display:inline-flex;gap:10px;padding:10px;width:max-content;background:var(--_bg);color:var(--_fg);border:1px solid var(--_border);border-radius:calc(var(--_radius) + 4px);font-size:13px;user-select:none;}.sv-cal--disabled.svelte-md3oew {opacity:0.55;pointer-events:none;}.sv-cal--invalid.svelte-md3oew {border-color:var(--sg-danger, #dc2626);}.sv-cal__main.svelte-md3oew {display:flex;flex-direction:column;gap:6px;min-width:0;}\
|
|
797
|
+
code: ".sv-cal.svelte-md3oew {--_accent: var(--sg-accent, #2563eb);--_bg: var(--sg-bg, #fff);--_fg: var(--sg-fg, #0f172a);--_muted: var(--sg-muted, #64748b);--_border: var(--sg-border, #e2e8f0);--_hover: var(--sg-row-hover-bg, rgba(37, 99, 235, 0.08));--_radius: var(--sg-radius, 8px);display:inline-flex;gap:10px;padding:10px;width:max-content;background:var(--_bg);color:var(--_fg);border:1px solid var(--_border);border-radius:calc(var(--_radius) + 4px);font-size:13px;user-select:none;}.sv-cal--disabled.svelte-md3oew {opacity:0.55;pointer-events:none;}.sv-cal--invalid.svelte-md3oew {border-color:var(--sg-danger, #dc2626);}.sv-cal__main.svelte-md3oew {display:flex;flex-direction:column;gap:6px;min-width:0;}\n /* Clip so animated content slides in from the edge (not past the border). Day\n focus outlines use outline-offset:-2px, so they stay inside and aren't clipped. */.sv-cal__view.svelte-md3oew {display:block;overflow:hidden;}\n /* Quick-shortcut rail (Today / Last 7 days / ...) shown when `presets` is set. */.sv-cal__presets.svelte-md3oew {display:flex;flex-direction:column;gap:2px;padding-inline-end:10px;border-inline-end:1px solid var(--_border);min-width:118px;align-self:stretch;}.sv-cal__preset.svelte-md3oew {text-align:start;padding:6px 10px;font:inherit;font-size:12px;font-weight:550;background:none;border:0;border-radius:var(--_radius);color:inherit;cursor:pointer;white-space:nowrap;}\n /* Under RTL the prev/next chevron glyphs must point the other way. */.sv-cal[dir='rtl'].svelte-md3oew .sv-cal__nav:where(.svelte-md3oew) svg:where(.svelte-md3oew) {transform:scaleX(-1);}.sv-cal__preset.svelte-md3oew:hover:not(:disabled) {background:var(--_hover);color:var(--_accent);}.sv-cal__preset.svelte-md3oew:disabled {opacity:0.5;cursor:default;}.sv-cal__header.svelte-md3oew {display:flex;align-items:center;gap:4px;}.sv-cal__title.svelte-md3oew {flex:1;text-align:center;font-weight:650;font-size:13.5px;background:none;border:0;color:inherit;cursor:pointer;padding:6px 8px;border-radius:var(--_radius);}.sv-cal__title.svelte-md3oew:hover:not(:disabled) {background:var(--_hover);}.sv-cal__title.svelte-md3oew:disabled {cursor:default;}.sv-cal__nav.svelte-md3oew {display:grid;place-items:center;width:30px;height:30px;background:none;border:0;color:var(--_muted);cursor:pointer;border-radius:var(--_radius);}.sv-cal__nav.svelte-md3oew:hover:not(:disabled) {background:var(--_hover);color:var(--_fg);}.sv-cal__nav.svelte-md3oew:disabled {opacity:0.4;cursor:default;}.sv-cal__panels.svelte-md3oew {display:flex;gap:14px;}.sv-cal__panel-title.svelte-md3oew {text-align:center;font-weight:600;font-size:12.5px;margin-bottom:4px;color:var(--_muted);}.sv-cal__weekdays.svelte-md3oew, .sv-cal__week.svelte-md3oew {display:grid;grid-template-columns:repeat(7, 34px);}.sv-cal__weekdays.svelte-md3oew:has(.sv-cal__wk-head:where(.svelte-md3oew)), .sv-cal__week.svelte-md3oew:has(.sv-cal__wk:where(.svelte-md3oew)) {grid-template-columns:26px repeat(7, 34px);}.sv-cal__weekday.svelte-md3oew, .sv-cal__wk-head.svelte-md3oew {display:grid;place-items:center;height:28px;font-size:11px;font-weight:600;color:var(--_muted);text-transform:uppercase;letter-spacing:0.02em;}.sv-cal__wk.svelte-md3oew {display:grid;place-items:center;height:34px;font-size:10.5px;color:var(--_muted);opacity:0.7;}.sv-cal__day.svelte-md3oew {display:grid;place-items:center;width:34px;height:34px;box-sizing:border-box;background:none;border:0;color:inherit;cursor:pointer;border-radius:var(--_radius);font-size:12.5px;position:relative;}.sv-cal__day--empty.svelte-md3oew {visibility:hidden;}\n /* Hover only NON-selected days with the neutral hover fill; hovering a selected\n day keeps the accent (a bare :hover would swap in the neutral bg while the\n text stays --sg-on-accent -> invisible on themes like shadcn). */.sv-cal__day.svelte-md3oew:hover:not(:disabled):not(.is-selected) {background:var(--_hover);}.sv-cal__day.is-selected.svelte-md3oew:hover:not(:disabled) {background:color-mix(in srgb, var(--_accent) 86%, var(--_fg));}.sv-cal__day.is-outside.svelte-md3oew {color:var(--_muted);opacity:0.55;}.sv-cal__day.is-today.svelte-md3oew {font-weight:750;box-shadow:inset 0 0 0 1px var(--_accent);}.sv-cal__day.is-important.svelte-md3oew::after {content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--sg-danger, #dc2626);}\n /* Repeat-pattern indicator: a small ring in the top-inline-end corner\n (distinct from the is-important bottom dot). */.sv-cal__day.is-recurring.svelte-md3oew::before {content:'';position:absolute;top:4px;inset-inline-end:4px;width:5px;height:5px;border-radius:50%;pointer-events:none;border:1.5px solid color-mix(in srgb, var(--_accent) 75%, transparent);}.sv-cal.svelte-md3oew:not(.sv-cal--rich) .sv-cal__day.is-selected.is-recurring:where(.svelte-md3oew)::before {border-color:var(--sg-on-accent, #fff);}\n\n /* --- Rich month grid: enabled by a `day` snippet. Cells fill the column width\n and become taller / top-aligned so the snippet content (events, badges) has\n room - turning the picker into an event-calendar surface. --- */.sv-cal--rich.svelte-md3oew .sv-cal__weekdays:where(.svelte-md3oew), .sv-cal--rich.svelte-md3oew .sv-cal__week:where(.svelte-md3oew) {grid-template-columns:repeat(7, minmax(0, 1fr));}.sv-cal--rich.svelte-md3oew .sv-cal__weekdays:where(.svelte-md3oew):has(.sv-cal__wk-head:where(.svelte-md3oew)), .sv-cal--rich.svelte-md3oew .sv-cal__week:where(.svelte-md3oew):has(.sv-cal__wk:where(.svelte-md3oew)) {grid-template-columns:26px repeat(7, minmax(0, 1fr));}.sv-cal--rich.svelte-md3oew .sv-cal__weekday:where(.svelte-md3oew) {justify-items:start;padding-inline-start:6px;}.sv-cal--rich.svelte-md3oew .sv-cal__day:where(.svelte-md3oew) {width:auto;height:auto;min-height:90px;display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:4px 5px 6px;text-align:start;border-radius:8px;}.sv-cal--rich.svelte-md3oew .sv-cal__day.is-today:where(.svelte-md3oew) {box-shadow:none;}.sv-cal--rich.svelte-md3oew .sv-cal__day.is-selected:where(.svelte-md3oew) {background:color-mix(in srgb, var(--_accent) 9%, transparent);color:inherit;}.sv-cal--rich.svelte-md3oew .sv-cal__daynum:where(.svelte-md3oew) {align-self:flex-start;flex:none;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:12.5px;font-weight:600;}.sv-cal--rich.svelte-md3oew .sv-cal__day.is-today:where(.svelte-md3oew) .sv-cal__daynum:where(.svelte-md3oew) {background:var(--_accent);color:var(--sg-on-accent, #fff);}.sv-cal--rich.svelte-md3oew .sv-cal__daybody:where(.svelte-md3oew) {flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden;}.sv-cal--rich.svelte-md3oew .sv-cal__day.is-important:where(.svelte-md3oew)::after {display:none;}.sv-cal__day.is-preview.svelte-md3oew {background:color-mix(in srgb, var(--_accent) 16%, transparent);border-radius:0;}.sv-cal__day.is-selected.svelte-md3oew {background:var(--_accent);color:var(--sg-on-accent, #fff);font-weight:650;}\n /* Discrete selection (single / many / ...): inset each selected pill so adjacent\n picked days keep a visible gap. Range / week modes stay a connected band. */.sv-cal.svelte-md3oew:not(.sv-cal--band) .sv-cal__day.is-selected:where(.svelte-md3oew) {background-clip:content-box;padding:2px;}.sv-cal__day.is-selected.is-important.svelte-md3oew::after {background:var(--sg-on-accent, #fff);}.sv-cal__day.svelte-md3oew:disabled {color:var(--_muted);opacity:0.35;cursor:default;text-decoration:line-through;}.sv-cal__day.is-focused.svelte-md3oew:focus-visible,\n .sv-cal__day.svelte-md3oew:focus-visible,\n .sv-cal__cell.svelte-md3oew:focus-visible {outline:2px solid var(--sg-focus-ring, var(--_accent));outline-offset:-2px;}.sv-cal__grid-mode.svelte-md3oew {display:grid;grid-template-columns:repeat(3, 1fr);gap:4px;min-width:252px;}.sv-cal__cell.svelte-md3oew {height:44px;display:grid;place-items:center;background:none;border:0;color:inherit;cursor:pointer;border-radius:var(--_radius);font-size:12.5px;}.sv-cal__cell.svelte-md3oew:hover:not(:disabled):not(.is-selected) {background:var(--_hover);}.sv-cal__cell.is-selected.svelte-md3oew:hover:not(:disabled) {background:color-mix(in srgb, var(--_accent) 86%, var(--_fg));}.sv-cal__cell.is-outside.svelte-md3oew {color:var(--_muted);opacity:0.5;}.sv-cal__cell.is-today.svelte-md3oew {box-shadow:inset 0 0 0 1px var(--_accent);font-weight:700;}.sv-cal__cell.is-selected.svelte-md3oew {background:var(--_accent);color:var(--sg-on-accent, #fff);font-weight:650;}.sv-cal__footer.svelte-md3oew {display:flex;justify-content:center;gap:8px;border-top:1px solid var(--_border);padding-top:8px;margin-top:2px;}.sv-cal__foot-btn.svelte-md3oew {padding:5px 12px;font:inherit;font-size:12px;font-weight:600;background:none;border:1px solid var(--_border);border-radius:var(--_radius);color:var(--_accent);cursor:pointer;}.sv-cal__foot-btn.svelte-md3oew:hover:not(:disabled) {background:var(--_hover);}"
|
|
798
798
|
};
|
|
799
799
|
function Tt(o, c) {
|
|
800
800
|
re(c, !0), A(o, wt);
|
|
@@ -248,7 +248,7 @@ function B(e, t) {
|
|
|
248
248
|
//#region src/SvField.svelte
|
|
249
249
|
var V = e.from_html("<span class=\"sv-field__req svelte-1uhr4tm\" aria-hidden=\"true\">*</span>"), te = e.from_html("<label class=\"sv-field__label svelte-1uhr4tm\"> <!></label>"), ne = e.from_html("<span class=\"sv-field__spinner svelte-1uhr4tm\" role=\"status\" aria-label=\"Loading\"></span>"), re = e.from_html("<span class=\"sv-field__labelrow svelte-1uhr4tm\"><!> <!></span>"), ie = e.from_html("<span class=\"sv-field__req svelte-1uhr4tm\" aria-hidden=\"true\">*</span>"), H = e.from_html("<label class=\"sv-field__float-label svelte-1uhr4tm\"> <!></label>"), U = e.from_html("<span class=\"sv-field__adorn sv-field__adorn--lead svelte-1uhr4tm\"><!></span>"), W = e.from_html("<span class=\"sv-field__affix sv-field__affix--pre svelte-1uhr4tm\"> </span>"), ae = e.from_html("<span class=\"sv-field__affix sv-field__affix--suf svelte-1uhr4tm\"> </span>"), oe = e.from_html("<span class=\"sv-field__adorn sv-field__adorn--trail svelte-1uhr4tm\"><!></span>"), G = e.from_html("<span class=\"sv-field__action-txt svelte-1uhr4tm\"> </span>"), K = e.from_html("<button class=\"sv-field__action svelte-1uhr4tm\" type=\"button\" tabindex=\"-1\"><!></button>"), se = e.from_html("<button class=\"sv-field__clear svelte-1uhr4tm\" type=\"button\" tabindex=\"-1\">×</button>"), ce = e.from_html("<div><!> <!> <!> <span class=\"sv-field__slot svelte-1uhr4tm\"><!></span> <!> <!> <!> <!></div>"), le = e.from_html("<span class=\"sv-field__error svelte-1uhr4tm\" role=\"alert\"> </span>"), ue = e.from_html("<span class=\"sv-field__hint svelte-1uhr4tm\"> </span>"), q = e.from_html("<div><!> <!> <!></div>"), de = {
|
|
250
250
|
hash: "svelte-1uhr4tm",
|
|
251
|
-
code: ".sv-field.svelte-1uhr4tm {display:inline-flex;flex-direction:column;gap:3px;text-align:start;}.sv-field--block.svelte-1uhr4tm {display:flex;width:100%;}.sv-field__labelrow.svelte-1uhr4tm {display:inline-flex;align-items:center;gap:6px;}.sv-field__label.svelte-1uhr4tm {font-size:12.5px;font-weight:550;color:var(--sg-fg, #0f172a);line-height:1.3;}.sv-field__spinner.svelte-1uhr4tm {width:12px;height:12px;flex:none;border-radius:50%;border:2px solid color-mix(in srgb, var(--sg-accent, #2563eb) 30%, transparent);border-top-color:var(--sg-accent, #2563eb);\
|
|
251
|
+
code: ".sv-field.svelte-1uhr4tm {display:inline-flex;flex-direction:column;gap:3px;text-align:start;}.sv-field--block.svelte-1uhr4tm {display:flex;width:100%;}.sv-field__labelrow.svelte-1uhr4tm {display:inline-flex;align-items:center;gap:6px;}.sv-field__label.svelte-1uhr4tm {font-size:12.5px;font-weight:550;color:var(--sg-fg, #0f172a);line-height:1.3;}.sv-field__spinner.svelte-1uhr4tm {width:12px;height:12px;flex:none;border-radius:50%;border:2px solid color-mix(in srgb, var(--sg-accent, #2563eb) 30%, transparent);border-top-color:var(--sg-accent, #2563eb);\n animation: svelte-1uhr4tm-sv-field-spin 0.6s linear infinite;}\n @keyframes svelte-1uhr4tm-sv-field-spin { to { transform: rotate(360deg); } }\n @media (prefers-reduced-motion: reduce) {.sv-field__spinner.svelte-1uhr4tm { animation: none;} }.sv-field__req.svelte-1uhr4tm {color:var(--sg-danger, #dc2626);margin-inline-start:2px;}.sv-field__hint.svelte-1uhr4tm {font-size:11.5px;color:var(--sg-muted, #64748b);line-height:1.35;}.sv-field__error.svelte-1uhr4tm {font-size:11.5px;font-weight:500;color:var(--sg-danger, #dc2626);line-height:1.35;}\n\n /* ---- Framed mode: the shared control box (opt-in via `frame`) ---- */.sv-field__control.svelte-1uhr4tm {--_accent: var(--sg-accent, #2563eb);display:flex;align-items:center;width:220px;background:var(--sg-input-bg, #fff);color:var(--sg-fg, #0f172a);border:1px solid var(--sg-input-border, var(--sg-border, #cbd5e1));border-radius:var(--sg-radius, 8px);}.sv-field--block.svelte-1uhr4tm .sv-field__control:where(.svelte-1uhr4tm) {width:100%;}.sv-field__control.svelte-1uhr4tm:focus-within {border-color:var(--_accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--_accent) 22%, transparent);}.sv-field__control.is-invalid.svelte-1uhr4tm {border-color:var(--sg-danger, #dc2626);}.sv-field__control.is-invalid.svelte-1uhr4tm:focus-within {box-shadow:0 0 0 2px color-mix(in srgb, var(--sg-danger, #dc2626) 22%, transparent);}.sv-field__control.is-disabled.svelte-1uhr4tm {opacity:0.6;}.sv-field__control.is-readonly.svelte-1uhr4tm {background:var(--sg-muted-bg, color-mix(in srgb, var(--sg-fg, #0f172a) 4%, var(--sg-input-bg, #fff)));}\n\n /* ---- Floating label ---- */.sv-field--floating.svelte-1uhr4tm .sv-field__control:where(.svelte-1uhr4tm) {position:relative;}.sv-field__float-label.svelte-1uhr4tm {position:absolute;inset-inline-start:11px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--sg-muted, #64748b);pointer-events:none;background:var(--sg-input-bg, #fff);padding:0 4px;max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1;transition:top 0.14s ease, font-size 0.14s ease, color 0.14s ease;}.sv-field__control.svelte-1uhr4tm:focus-within .sv-field__float-label:where(.svelte-1uhr4tm),\n .sv-field__control.is-filled.svelte-1uhr4tm .sv-field__float-label:where(.svelte-1uhr4tm) {top:0;font-size:10.5px;color:var(--_accent, var(--sg-accent, #2563eb));}.sv-field__control.is-invalid.svelte-1uhr4tm .sv-field__float-label:where(.svelte-1uhr4tm) {color:var(--sg-danger, #dc2626);}\n @media (prefers-reduced-motion: reduce) {.sv-field__float-label.svelte-1uhr4tm {transition:none;} }.sv-field__slot.svelte-1uhr4tm {display:flex;flex:1;min-width:0;}\n /* Bare form controls passed as children inherit borderless chrome so editors\n no longer re-implement the box. Scoped to the framed control only. */.sv-field__slot.svelte-1uhr4tm input,\n .sv-field__slot.svelte-1uhr4tm textarea,\n .sv-field__slot.svelte-1uhr4tm select {flex:1;min-width:0;width:100%;border:0;background:none;outline:none;color:inherit;font:inherit;padding:0 10px;}.sv-field__adorn.svelte-1uhr4tm {display:inline-flex;align-items:center;color:var(--sg-muted, #64748b);}.sv-field__adorn--lead.svelte-1uhr4tm {padding-inline-start:10px;}.sv-field__adorn--trail.svelte-1uhr4tm {padding-inline-end:10px;}.sv-field__affix.svelte-1uhr4tm {display:inline-flex;align-items:center;color:var(--sg-muted, #64748b);white-space:nowrap;}.sv-field__affix--pre.svelte-1uhr4tm {padding-inline-start:10px;}.sv-field__affix--suf.svelte-1uhr4tm {padding-inline-end:10px;}\n /* When an affix/adornment sits next to the control, drop the control's own\n edge padding so text hugs the affix. */.sv-field__adorn--lead.svelte-1uhr4tm + .sv-field__slot:where(.svelte-1uhr4tm) input,\n .sv-field__affix--pre.svelte-1uhr4tm + .sv-field__slot:where(.svelte-1uhr4tm) input {padding-inline-start:6px;}.sv-field__clear.svelte-1uhr4tm {display:grid;place-items:center;width:28px;align-self:stretch;background:none;border:0;color:var(--sg-muted, #64748b);cursor:pointer;font-size:17px;line-height:1;}.sv-field__clear.svelte-1uhr4tm:hover {color:var(--sg-fg, #0f172a);}.sv-field__action.svelte-1uhr4tm {display:inline-grid;place-items:center;align-self:center;flex:none;min-width:24px;height:24px;margin-inline-end:3px;padding:0 5px;background:none;border:0;border-radius:5px;color:var(--sg-muted, #64748b);cursor:pointer;font:inherit;font-size:12px;}.sv-field__action.svelte-1uhr4tm:hover:not([disabled]) {background:var(--sg-row-hover-bg, #f1f5f9);color:var(--sg-accent, #2563eb);}.sv-field__action[disabled].svelte-1uhr4tm {opacity:0.5;cursor:default;}.sv-field__action-txt.svelte-1uhr4tm {font-weight:600;white-space:nowrap;}\n .sv-field__control.sv-field--sm.svelte-1uhr4tm {height:28px;font-size:12px;}\n .sv-field__control.sv-field--md.svelte-1uhr4tm {height:34px;font-size:13px;}\n .sv-field__control.sv-field--lg.svelte-1uhr4tm {height:40px;font-size:15px;}"
|
|
252
252
|
};
|
|
253
253
|
function J(t, i) {
|
|
254
254
|
e.push(i, !0), e.append_styles(t, de);
|
|
@@ -796,7 +796,7 @@ function Ce(t) {
|
|
|
796
796
|
//#region src/SvCalendar.svelte
|
|
797
797
|
var we = e.from_html("<button> </button>"), Te = e.from_html("<div class=\"sv-cal__presets svelte-md3oew\" role=\"group\"></div>"), Ee = e.from_html("<div class=\"sv-cal__panel-title svelte-md3oew\"> </div>"), De = e.from_html("<span class=\"sv-cal__wk-head svelte-md3oew\" aria-hidden=\"true\">#</span>"), Oe = e.from_html("<span class=\"sv-cal__weekday svelte-md3oew\" role=\"columnheader\"> </span>"), ke = e.from_html("<div class=\"sv-cal__weekdays svelte-md3oew\" role=\"row\"><!> <!></div>"), Ae = e.from_html("<span class=\"sv-cal__wk svelte-md3oew\" aria-hidden=\"true\"> </span>"), je = e.from_html("<span class=\"sv-cal__day sv-cal__day--empty svelte-md3oew\" role=\"gridcell\" aria-hidden=\"true\"></span>"), Me = e.from_html("<span class=\"sv-cal__daybody svelte-md3oew\"><!></span>"), Ne = e.from_html("<button><span class=\"sv-cal__daynum svelte-md3oew\"> </span><!></button>"), Pe = e.from_html("<div class=\"sv-cal__week svelte-md3oew\" role=\"row\"><!> <!></div>"), Fe = e.from_html("<div class=\"sv-cal__panel\"><!> <!> <!></div>"), Ie = e.from_html("<div></div>"), Le = e.from_html("<button> </button>"), Re = e.from_html("<div></div>"), ze = e.from_html("<button> </button>"), Be = e.from_html("<div></div>"), Ve = e.from_html("<button type=\"button\" class=\"sv-cal__foot-btn svelte-md3oew\"> </button>"), He = e.from_html("<div class=\"sv-cal__footer svelte-md3oew\"><button type=\"button\" class=\"sv-cal__foot-btn svelte-md3oew\"> </button> <!></div>"), Ue = e.from_html("<input type=\"hidden\"/>"), We = e.from_html("<div role=\"group\"><!> <div class=\"sv-cal__main svelte-md3oew\"><div class=\"sv-cal__header svelte-md3oew\"><button><svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-md3oew\"><path d=\"M15 18l-6-6 6-6\"></path></svg></button> <button> </button> <button><svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-md3oew\"><path d=\"M9 18l6-6-6-6\"></path></svg></button></div> <div class=\"sv-cal__view svelte-md3oew\"><!></div> <!></div> <!></div>"), Ge = {
|
|
798
798
|
hash: "svelte-md3oew",
|
|
799
|
-
code: ".sv-cal.svelte-md3oew {--_accent: var(--sg-accent, #2563eb);--_bg: var(--sg-bg, #fff);--_fg: var(--sg-fg, #0f172a);--_muted: var(--sg-muted, #64748b);--_border: var(--sg-border, #e2e8f0);--_hover: var(--sg-row-hover-bg, rgba(37, 99, 235, 0.08));--_radius: var(--sg-radius, 8px);display:inline-flex;gap:10px;padding:10px;width:max-content;background:var(--_bg);color:var(--_fg);border:1px solid var(--_border);border-radius:calc(var(--_radius) + 4px);font-size:13px;user-select:none;}.sv-cal--disabled.svelte-md3oew {opacity:0.55;pointer-events:none;}.sv-cal--invalid.svelte-md3oew {border-color:var(--sg-danger, #dc2626);}.sv-cal__main.svelte-md3oew {display:flex;flex-direction:column;gap:6px;min-width:0;}\
|
|
799
|
+
code: ".sv-cal.svelte-md3oew {--_accent: var(--sg-accent, #2563eb);--_bg: var(--sg-bg, #fff);--_fg: var(--sg-fg, #0f172a);--_muted: var(--sg-muted, #64748b);--_border: var(--sg-border, #e2e8f0);--_hover: var(--sg-row-hover-bg, rgba(37, 99, 235, 0.08));--_radius: var(--sg-radius, 8px);display:inline-flex;gap:10px;padding:10px;width:max-content;background:var(--_bg);color:var(--_fg);border:1px solid var(--_border);border-radius:calc(var(--_radius) + 4px);font-size:13px;user-select:none;}.sv-cal--disabled.svelte-md3oew {opacity:0.55;pointer-events:none;}.sv-cal--invalid.svelte-md3oew {border-color:var(--sg-danger, #dc2626);}.sv-cal__main.svelte-md3oew {display:flex;flex-direction:column;gap:6px;min-width:0;}\n /* Clip so animated content slides in from the edge (not past the border). Day\n focus outlines use outline-offset:-2px, so they stay inside and aren't clipped. */.sv-cal__view.svelte-md3oew {display:block;overflow:hidden;}\n /* Quick-shortcut rail (Today / Last 7 days / ...) shown when `presets` is set. */.sv-cal__presets.svelte-md3oew {display:flex;flex-direction:column;gap:2px;padding-inline-end:10px;border-inline-end:1px solid var(--_border);min-width:118px;align-self:stretch;}.sv-cal__preset.svelte-md3oew {text-align:start;padding:6px 10px;font:inherit;font-size:12px;font-weight:550;background:none;border:0;border-radius:var(--_radius);color:inherit;cursor:pointer;white-space:nowrap;}\n /* Under RTL the prev/next chevron glyphs must point the other way. */.sv-cal[dir='rtl'].svelte-md3oew .sv-cal__nav:where(.svelte-md3oew) svg:where(.svelte-md3oew) {transform:scaleX(-1);}.sv-cal__preset.svelte-md3oew:hover:not(:disabled) {background:var(--_hover);color:var(--_accent);}.sv-cal__preset.svelte-md3oew:disabled {opacity:0.5;cursor:default;}.sv-cal__header.svelte-md3oew {display:flex;align-items:center;gap:4px;}.sv-cal__title.svelte-md3oew {flex:1;text-align:center;font-weight:650;font-size:13.5px;background:none;border:0;color:inherit;cursor:pointer;padding:6px 8px;border-radius:var(--_radius);}.sv-cal__title.svelte-md3oew:hover:not(:disabled) {background:var(--_hover);}.sv-cal__title.svelte-md3oew:disabled {cursor:default;}.sv-cal__nav.svelte-md3oew {display:grid;place-items:center;width:30px;height:30px;background:none;border:0;color:var(--_muted);cursor:pointer;border-radius:var(--_radius);}.sv-cal__nav.svelte-md3oew:hover:not(:disabled) {background:var(--_hover);color:var(--_fg);}.sv-cal__nav.svelte-md3oew:disabled {opacity:0.4;cursor:default;}.sv-cal__panels.svelte-md3oew {display:flex;gap:14px;}.sv-cal__panel-title.svelte-md3oew {text-align:center;font-weight:600;font-size:12.5px;margin-bottom:4px;color:var(--_muted);}.sv-cal__weekdays.svelte-md3oew, .sv-cal__week.svelte-md3oew {display:grid;grid-template-columns:repeat(7, 34px);}.sv-cal__weekdays.svelte-md3oew:has(.sv-cal__wk-head:where(.svelte-md3oew)), .sv-cal__week.svelte-md3oew:has(.sv-cal__wk:where(.svelte-md3oew)) {grid-template-columns:26px repeat(7, 34px);}.sv-cal__weekday.svelte-md3oew, .sv-cal__wk-head.svelte-md3oew {display:grid;place-items:center;height:28px;font-size:11px;font-weight:600;color:var(--_muted);text-transform:uppercase;letter-spacing:0.02em;}.sv-cal__wk.svelte-md3oew {display:grid;place-items:center;height:34px;font-size:10.5px;color:var(--_muted);opacity:0.7;}.sv-cal__day.svelte-md3oew {display:grid;place-items:center;width:34px;height:34px;box-sizing:border-box;background:none;border:0;color:inherit;cursor:pointer;border-radius:var(--_radius);font-size:12.5px;position:relative;}.sv-cal__day--empty.svelte-md3oew {visibility:hidden;}\n /* Hover only NON-selected days with the neutral hover fill; hovering a selected\n day keeps the accent (a bare :hover would swap in the neutral bg while the\n text stays --sg-on-accent -> invisible on themes like shadcn). */.sv-cal__day.svelte-md3oew:hover:not(:disabled):not(.is-selected) {background:var(--_hover);}.sv-cal__day.is-selected.svelte-md3oew:hover:not(:disabled) {background:color-mix(in srgb, var(--_accent) 86%, var(--_fg));}.sv-cal__day.is-outside.svelte-md3oew {color:var(--_muted);opacity:0.55;}.sv-cal__day.is-today.svelte-md3oew {font-weight:750;box-shadow:inset 0 0 0 1px var(--_accent);}.sv-cal__day.is-important.svelte-md3oew::after {content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--sg-danger, #dc2626);}\n /* Repeat-pattern indicator: a small ring in the top-inline-end corner\n (distinct from the is-important bottom dot). */.sv-cal__day.is-recurring.svelte-md3oew::before {content:'';position:absolute;top:4px;inset-inline-end:4px;width:5px;height:5px;border-radius:50%;pointer-events:none;border:1.5px solid color-mix(in srgb, var(--_accent) 75%, transparent);}.sv-cal.svelte-md3oew:not(.sv-cal--rich) .sv-cal__day.is-selected.is-recurring:where(.svelte-md3oew)::before {border-color:var(--sg-on-accent, #fff);}\n\n /* --- Rich month grid: enabled by a `day` snippet. Cells fill the column width\n and become taller / top-aligned so the snippet content (events, badges) has\n room - turning the picker into an event-calendar surface. --- */.sv-cal--rich.svelte-md3oew .sv-cal__weekdays:where(.svelte-md3oew), .sv-cal--rich.svelte-md3oew .sv-cal__week:where(.svelte-md3oew) {grid-template-columns:repeat(7, minmax(0, 1fr));}.sv-cal--rich.svelte-md3oew .sv-cal__weekdays:where(.svelte-md3oew):has(.sv-cal__wk-head:where(.svelte-md3oew)), .sv-cal--rich.svelte-md3oew .sv-cal__week:where(.svelte-md3oew):has(.sv-cal__wk:where(.svelte-md3oew)) {grid-template-columns:26px repeat(7, minmax(0, 1fr));}.sv-cal--rich.svelte-md3oew .sv-cal__weekday:where(.svelte-md3oew) {justify-items:start;padding-inline-start:6px;}.sv-cal--rich.svelte-md3oew .sv-cal__day:where(.svelte-md3oew) {width:auto;height:auto;min-height:90px;display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:4px 5px 6px;text-align:start;border-radius:8px;}.sv-cal--rich.svelte-md3oew .sv-cal__day.is-today:where(.svelte-md3oew) {box-shadow:none;}.sv-cal--rich.svelte-md3oew .sv-cal__day.is-selected:where(.svelte-md3oew) {background:color-mix(in srgb, var(--_accent) 9%, transparent);color:inherit;}.sv-cal--rich.svelte-md3oew .sv-cal__daynum:where(.svelte-md3oew) {align-self:flex-start;flex:none;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:12.5px;font-weight:600;}.sv-cal--rich.svelte-md3oew .sv-cal__day.is-today:where(.svelte-md3oew) .sv-cal__daynum:where(.svelte-md3oew) {background:var(--_accent);color:var(--sg-on-accent, #fff);}.sv-cal--rich.svelte-md3oew .sv-cal__daybody:where(.svelte-md3oew) {flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden;}.sv-cal--rich.svelte-md3oew .sv-cal__day.is-important:where(.svelte-md3oew)::after {display:none;}.sv-cal__day.is-preview.svelte-md3oew {background:color-mix(in srgb, var(--_accent) 16%, transparent);border-radius:0;}.sv-cal__day.is-selected.svelte-md3oew {background:var(--_accent);color:var(--sg-on-accent, #fff);font-weight:650;}\n /* Discrete selection (single / many / ...): inset each selected pill so adjacent\n picked days keep a visible gap. Range / week modes stay a connected band. */.sv-cal.svelte-md3oew:not(.sv-cal--band) .sv-cal__day.is-selected:where(.svelte-md3oew) {background-clip:content-box;padding:2px;}.sv-cal__day.is-selected.is-important.svelte-md3oew::after {background:var(--sg-on-accent, #fff);}.sv-cal__day.svelte-md3oew:disabled {color:var(--_muted);opacity:0.35;cursor:default;text-decoration:line-through;}.sv-cal__day.is-focused.svelte-md3oew:focus-visible,\n .sv-cal__day.svelte-md3oew:focus-visible,\n .sv-cal__cell.svelte-md3oew:focus-visible {outline:2px solid var(--sg-focus-ring, var(--_accent));outline-offset:-2px;}.sv-cal__grid-mode.svelte-md3oew {display:grid;grid-template-columns:repeat(3, 1fr);gap:4px;min-width:252px;}.sv-cal__cell.svelte-md3oew {height:44px;display:grid;place-items:center;background:none;border:0;color:inherit;cursor:pointer;border-radius:var(--_radius);font-size:12.5px;}.sv-cal__cell.svelte-md3oew:hover:not(:disabled):not(.is-selected) {background:var(--_hover);}.sv-cal__cell.is-selected.svelte-md3oew:hover:not(:disabled) {background:color-mix(in srgb, var(--_accent) 86%, var(--_fg));}.sv-cal__cell.is-outside.svelte-md3oew {color:var(--_muted);opacity:0.5;}.sv-cal__cell.is-today.svelte-md3oew {box-shadow:inset 0 0 0 1px var(--_accent);font-weight:700;}.sv-cal__cell.is-selected.svelte-md3oew {background:var(--_accent);color:var(--sg-on-accent, #fff);font-weight:650;}.sv-cal__footer.svelte-md3oew {display:flex;justify-content:center;gap:8px;border-top:1px solid var(--_border);padding-top:8px;margin-top:2px;}.sv-cal__foot-btn.svelte-md3oew {padding:5px 12px;font:inherit;font-size:12px;font-weight:600;background:none;border:1px solid var(--_border);border-radius:var(--_radius);color:var(--_accent);cursor:pointer;}.sv-cal__foot-btn.svelte-md3oew:hover:not(:disabled) {background:var(--_hover);}"
|
|
800
800
|
};
|
|
801
801
|
function Ke(n, r) {
|
|
802
802
|
e.push(r, !0), e.append_styles(n, Ge);
|
|
@@ -1,106 +1,22 @@
|
|
|
1
1
|
import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
|
|
2
|
-
|
|
3
|
-
function t(e, t) {
|
|
4
|
-
if (e) switch (e.trim()) {
|
|
5
|
-
case "d": return t === "datetime" ? {
|
|
6
|
-
year: "numeric",
|
|
7
|
-
month: "numeric",
|
|
8
|
-
day: "numeric",
|
|
9
|
-
hour: "numeric",
|
|
10
|
-
minute: "numeric"
|
|
11
|
-
} : {
|
|
12
|
-
year: "numeric",
|
|
13
|
-
month: "numeric",
|
|
14
|
-
day: "numeric"
|
|
15
|
-
};
|
|
16
|
-
case "D": return t === "datetime" ? {
|
|
17
|
-
weekday: "long",
|
|
18
|
-
year: "numeric",
|
|
19
|
-
month: "long",
|
|
20
|
-
day: "numeric",
|
|
21
|
-
hour: "numeric",
|
|
22
|
-
minute: "numeric"
|
|
23
|
-
} : {
|
|
24
|
-
weekday: "long",
|
|
25
|
-
year: "numeric",
|
|
26
|
-
month: "long",
|
|
27
|
-
day: "numeric"
|
|
28
|
-
};
|
|
29
|
-
case "y-m-d": return t === "datetime" ? {
|
|
30
|
-
year: "numeric",
|
|
31
|
-
month: "2-digit",
|
|
32
|
-
day: "2-digit",
|
|
33
|
-
hour: "2-digit",
|
|
34
|
-
minute: "2-digit",
|
|
35
|
-
hour12: !1
|
|
36
|
-
} : {
|
|
37
|
-
year: "numeric",
|
|
38
|
-
month: "2-digit",
|
|
39
|
-
day: "2-digit"
|
|
40
|
-
};
|
|
41
|
-
case "medium": return {
|
|
42
|
-
dateStyle: "medium",
|
|
43
|
-
timeStyle: t === "datetime" ? "short" : void 0
|
|
44
|
-
};
|
|
45
|
-
case "short": return {
|
|
46
|
-
dateStyle: "short",
|
|
47
|
-
timeStyle: t === "datetime" ? "short" : void 0
|
|
48
|
-
};
|
|
49
|
-
case "long": return {
|
|
50
|
-
dateStyle: "long",
|
|
51
|
-
timeStyle: t === "datetime" ? "short" : void 0
|
|
52
|
-
};
|
|
53
|
-
default: return;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
var n = /* @__PURE__ */ new Map();
|
|
57
|
-
function r(e, t) {
|
|
58
|
-
let r = (Array.isArray(e) ? e.join(",") : e ?? "") + "|" + (t.style ?? "") + "|" + (t.currency ?? "") + "|" + (t.minimumFractionDigits ?? "") + "|" + (t.maximumFractionDigits ?? "") + "|" + (t.useGrouping ?? "") + "|" + (t.currencyDisplay ?? "") + "|" + (t.notation ?? ""), i = n.get(r);
|
|
59
|
-
return i || (i = new Intl.NumberFormat(e, t), n.set(r, i)), i;
|
|
60
|
-
}
|
|
61
|
-
var i = /* @__PURE__ */ new Map();
|
|
62
|
-
function a(e, t) {
|
|
63
|
-
let n = (Array.isArray(e) ? e.join(",") : e ?? "") + "|" + (t.dateStyle ?? "") + "|" + (t.timeStyle ?? "") + "|" + (t.year ?? "") + "|" + (t.month ?? "") + "|" + (t.day ?? "") + "|" + (t.hour ?? "") + "|" + (t.minute ?? "") + "|" + (t.second ?? "") + "|" + (t.weekday ?? "") + "|" + (t.hour12 ?? ""), r = i.get(n);
|
|
64
|
-
return r || (r = new Intl.DateTimeFormat(e, t), i.set(n, r)), r;
|
|
65
|
-
}
|
|
66
|
-
function o(e, t) {
|
|
67
|
-
let n = typeof e == "number" ? e : Number(e);
|
|
68
|
-
if (!Number.isFinite(n)) return String(e ?? "");
|
|
69
|
-
let i = t.locales;
|
|
70
|
-
if (t.type === "currency") return r(i, {
|
|
71
|
-
style: "currency",
|
|
72
|
-
currency: t.currency ?? "USD",
|
|
73
|
-
...t.options
|
|
74
|
-
}).format(n);
|
|
75
|
-
if (t.type === "percent") {
|
|
76
|
-
let e = t.valueIsPercentPoints === !0 ? n / 100 : n;
|
|
77
|
-
return r(i, {
|
|
78
|
-
style: "percent",
|
|
79
|
-
minimumFractionDigits: 0,
|
|
80
|
-
maximumFractionDigits: 2,
|
|
81
|
-
...t.options
|
|
82
|
-
}).format(e);
|
|
83
|
-
}
|
|
84
|
-
return r(i, t.options ?? {}).format(n);
|
|
85
|
-
}
|
|
86
|
-
//#endregion
|
|
2
|
+
import { i as t, n, t as r } from "./cell-formatting-C2Hf5gqd.js";
|
|
87
3
|
//#region src/export-format.ts
|
|
88
|
-
var
|
|
89
|
-
coerceExportDate: () =>
|
|
90
|
-
copyTextToClipboard: () =>
|
|
91
|
-
downloadBlobFile: () =>
|
|
92
|
-
downloadTextFile: () =>
|
|
93
|
-
formatValueForExport: () =>
|
|
94
|
-
projectGridRows: () =>
|
|
95
|
-
serializeDelimited: () =>
|
|
96
|
-
serializeHtml: () =>
|
|
97
|
-
serializeJson: () =>
|
|
98
|
-
serializeMarkdown: () =>
|
|
99
|
-
serializeXml: () =>
|
|
100
|
-
toExcelNumFmt: () =>
|
|
101
|
-
valueForExcel: () =>
|
|
4
|
+
var i = /* @__PURE__ */ e({
|
|
5
|
+
coerceExportDate: () => a,
|
|
6
|
+
copyTextToClipboard: () => O,
|
|
7
|
+
downloadBlobFile: () => E,
|
|
8
|
+
downloadTextFile: () => D,
|
|
9
|
+
formatValueForExport: () => o,
|
|
10
|
+
projectGridRows: () => c,
|
|
11
|
+
serializeDelimited: () => h,
|
|
12
|
+
serializeHtml: () => v,
|
|
13
|
+
serializeJson: () => y,
|
|
14
|
+
serializeMarkdown: () => x,
|
|
15
|
+
serializeXml: () => T,
|
|
16
|
+
toExcelNumFmt: () => s,
|
|
17
|
+
valueForExcel: () => u
|
|
102
18
|
});
|
|
103
|
-
function
|
|
19
|
+
function a(e) {
|
|
104
20
|
if (e instanceof Date) return Number.isNaN(e.getTime()) ? null : e;
|
|
105
21
|
if (typeof e == "number" && Number.isFinite(e)) {
|
|
106
22
|
let t = new Date(e);
|
|
@@ -112,23 +28,23 @@ function c(e) {
|
|
|
112
28
|
}
|
|
113
29
|
return null;
|
|
114
30
|
}
|
|
115
|
-
function
|
|
31
|
+
function o(e, i) {
|
|
116
32
|
if (e == null) return "";
|
|
117
|
-
if (!
|
|
118
|
-
if (
|
|
119
|
-
type:
|
|
120
|
-
locales:
|
|
121
|
-
currency:
|
|
122
|
-
valueIsPercentPoints:
|
|
123
|
-
options:
|
|
33
|
+
if (!i) return String(e);
|
|
34
|
+
if (i.type === "number" || i.type === "currency" || i.type === "percent") return r(e, {
|
|
35
|
+
type: i.type,
|
|
36
|
+
locales: i.locales,
|
|
37
|
+
currency: i.type === "currency" ? i.currency ?? "USD" : void 0,
|
|
38
|
+
valueIsPercentPoints: i.type === "percent" ? i.valueIsPercentPoints : void 0,
|
|
39
|
+
options: i.options
|
|
124
40
|
});
|
|
125
|
-
if (
|
|
126
|
-
let r =
|
|
41
|
+
if (i.type === "date" || i.type === "datetime") {
|
|
42
|
+
let r = a(e);
|
|
127
43
|
if (r) {
|
|
128
|
-
let e = t(
|
|
44
|
+
let e = t(i.pattern, i.type), a = e || i.options ? {
|
|
129
45
|
...e,
|
|
130
|
-
...
|
|
131
|
-
} :
|
|
46
|
+
...i.options
|
|
47
|
+
} : i.type === "date" ? {
|
|
132
48
|
year: "numeric",
|
|
133
49
|
month: "2-digit",
|
|
134
50
|
day: "2-digit"
|
|
@@ -139,12 +55,12 @@ function l(e, n) {
|
|
|
139
55
|
hour: "2-digit",
|
|
140
56
|
minute: "2-digit"
|
|
141
57
|
};
|
|
142
|
-
return
|
|
58
|
+
return n(i.locales, a).format(r);
|
|
143
59
|
}
|
|
144
60
|
}
|
|
145
61
|
return String(e);
|
|
146
62
|
}
|
|
147
|
-
function
|
|
63
|
+
function s(e) {
|
|
148
64
|
if (!e) return;
|
|
149
65
|
let t = () => {
|
|
150
66
|
let t = e.options;
|
|
@@ -152,34 +68,34 @@ function u(e) {
|
|
|
152
68
|
}, n = (e) => e > 0 ? "." + "0".repeat(e) : "";
|
|
153
69
|
switch (e.type) {
|
|
154
70
|
case "number": return `#,##0${n(t())}`;
|
|
155
|
-
case "currency": return `"${
|
|
71
|
+
case "currency": return `"${l(e.currency ?? "USD")}"#,##0${n(t())}`;
|
|
156
72
|
case "percent": return `0${n(t())}%`;
|
|
157
73
|
case "date": return "yyyy-mm-dd";
|
|
158
74
|
case "datetime": return "yyyy-mm-dd hh:mm";
|
|
159
75
|
default: return;
|
|
160
76
|
}
|
|
161
77
|
}
|
|
162
|
-
function
|
|
78
|
+
function c(e, t, n = {}) {
|
|
163
79
|
let r = n.columns && n.columns.length ? n.columns.map((e) => t.find((t) => t.field === e)).filter((e) => !!e) : t.filter((e) => e.field), i = r.map((e) => e.field), a = {};
|
|
164
80
|
for (let e of r) e.align && (a[e.field] = e.align);
|
|
165
|
-
let
|
|
166
|
-
for (let e of r)
|
|
167
|
-
let
|
|
81
|
+
let s = {};
|
|
82
|
+
for (let e of r) s[e.field] = e.header;
|
|
83
|
+
let c = [s];
|
|
168
84
|
for (let t of e) {
|
|
169
85
|
let e = {};
|
|
170
86
|
for (let i of r) {
|
|
171
87
|
let r = t[i.field];
|
|
172
|
-
e[i.field] = n.rawValues ? r :
|
|
88
|
+
e[i.field] = n.rawValues ? r : o(r, i.format);
|
|
173
89
|
}
|
|
174
|
-
|
|
90
|
+
c.push(e);
|
|
175
91
|
}
|
|
176
92
|
return {
|
|
177
|
-
records:
|
|
93
|
+
records: c,
|
|
178
94
|
fields: i,
|
|
179
95
|
align: a
|
|
180
96
|
};
|
|
181
97
|
}
|
|
182
|
-
function
|
|
98
|
+
function l(e) {
|
|
183
99
|
return {
|
|
184
100
|
USD: "$",
|
|
185
101
|
EUR: "€",
|
|
@@ -192,7 +108,7 @@ function f(e) {
|
|
|
192
108
|
BRL: "R$"
|
|
193
109
|
}[e.toUpperCase()] ?? e.toUpperCase();
|
|
194
110
|
}
|
|
195
|
-
function
|
|
111
|
+
function u(e, t) {
|
|
196
112
|
if (e == null || !t) return { ok: !1 };
|
|
197
113
|
if (t.type === "number" || t.type === "currency") {
|
|
198
114
|
let t = typeof e == "number" ? e : Number(e);
|
|
@@ -209,7 +125,7 @@ function p(e, t) {
|
|
|
209
125
|
} : { ok: !1 };
|
|
210
126
|
}
|
|
211
127
|
if (t.type === "date" || t.type === "datetime") {
|
|
212
|
-
let t =
|
|
128
|
+
let t = a(e);
|
|
213
129
|
return t ? {
|
|
214
130
|
ok: !0,
|
|
215
131
|
value: t
|
|
@@ -217,26 +133,26 @@ function p(e, t) {
|
|
|
217
133
|
}
|
|
218
134
|
return { ok: !1 };
|
|
219
135
|
}
|
|
220
|
-
var
|
|
221
|
-
function
|
|
136
|
+
var d = "";
|
|
137
|
+
function f(e) {
|
|
222
138
|
if (e?.aborted) throw new DOMException("Export aborted", "AbortError");
|
|
223
139
|
}
|
|
224
|
-
var
|
|
225
|
-
function
|
|
140
|
+
var p = () => new Promise((e) => setTimeout(e, 0));
|
|
141
|
+
function m(e, t) {
|
|
226
142
|
let n = e == null ? "" : e instanceof Date ? e.toISOString() : String(e);
|
|
227
143
|
return n === "" ? n : n.includes(t) || n.includes("\"") || n.includes("\n") || n.includes("\r") ? `"${n.replace(/"/g, "\"\"")}"` : n;
|
|
228
144
|
}
|
|
229
|
-
async function
|
|
145
|
+
async function h(e, t, n = {}) {
|
|
230
146
|
let r = n.csv?.delimiter ?? ",", i = n.csv?.eol ?? "\r\n", a = n.csv?.bom ?? !0, o = Math.max(1, n.chunkRows ?? 5e3), s = e.length, c = [];
|
|
231
147
|
for (let i = 0; i < e.length; i++) {
|
|
232
|
-
|
|
148
|
+
f(n.signal);
|
|
233
149
|
let a = e[i];
|
|
234
|
-
c.push(t.map((e) =>
|
|
150
|
+
c.push(t.map((e) => m(a[e], r)).join(r)), i > 0 && i % o === 0 && (n.onProgress?.({
|
|
235
151
|
phase: "serialize",
|
|
236
152
|
ratio: i / s,
|
|
237
153
|
row: i,
|
|
238
154
|
total: s
|
|
239
|
-
}), await
|
|
155
|
+
}), await p());
|
|
240
156
|
}
|
|
241
157
|
n.onProgress?.({
|
|
242
158
|
phase: "serialize",
|
|
@@ -245,48 +161,48 @@ async function v(e, t, n = {}) {
|
|
|
245
161
|
total: s
|
|
246
162
|
});
|
|
247
163
|
let l = c.join(i);
|
|
248
|
-
return (a ?
|
|
164
|
+
return (a ? d : "") + l;
|
|
249
165
|
}
|
|
250
|
-
var
|
|
166
|
+
var g = {
|
|
251
167
|
"&": "&",
|
|
252
168
|
"<": "<",
|
|
253
169
|
">": ">",
|
|
254
170
|
"\"": """,
|
|
255
171
|
"'": "'"
|
|
256
172
|
};
|
|
257
|
-
function
|
|
258
|
-
return (e == null ? "" : e instanceof Date ? e.toISOString() : String(e)).replace(/[&<>"']/g, (e) =>
|
|
173
|
+
function _(e) {
|
|
174
|
+
return (e == null ? "" : e instanceof Date ? e.toISOString() : String(e)).replace(/[&<>"']/g, (e) => g[e]);
|
|
259
175
|
}
|
|
260
|
-
async function
|
|
261
|
-
let r = Math.max(1, n.chunkRows ?? 5e3), i = e.length, a = n.align ?? {}, o = n.cellStyle, s = n.cellLink, c = n.title ?? "Grid export", l = e[0], u = l ? t.map((e) => `<th>${
|
|
176
|
+
async function v(e, t, n = {}) {
|
|
177
|
+
let r = Math.max(1, n.chunkRows ?? 5e3), i = e.length, a = n.align ?? {}, o = n.cellStyle, s = n.cellLink, c = n.title ?? "Grid export", l = e[0], u = l ? t.map((e) => `<th>${_(l[e])}</th>`).join("") : "", d = [];
|
|
262
178
|
for (let c = 1; c < e.length; c++) {
|
|
263
|
-
|
|
179
|
+
f(n.signal);
|
|
264
180
|
let l = e[c], u = t.map((e, t) => {
|
|
265
181
|
let n = a[e], r = [];
|
|
266
182
|
n && n !== "left" && r.push(`text-align:${n}`);
|
|
267
183
|
let i = o?.(c - 1, t);
|
|
268
184
|
i?.fill && r.push(`background:${i.fill}`), i?.color && r.push(`color:${i.color}`), i?.bold && r.push("font-weight:700");
|
|
269
|
-
let u = r.length ? ` style="${r.join(";")}"` : "", d = i?.icon ? `${i.icon} ${
|
|
270
|
-
return f && (d = `<a href="${
|
|
185
|
+
let u = r.length ? ` style="${r.join(";")}"` : "", d = i?.icon ? `${i.icon} ${_(l[e])}` : _(l[e]), f = s?.(c - 1, t);
|
|
186
|
+
return f && (d = `<a href="${_(f)}">${d}</a>`), `<td${u}>${d}</td>`;
|
|
271
187
|
}).join("");
|
|
272
188
|
d.push(`<tr>${u}</tr>`), c > 0 && c % r === 0 && (n.onProgress?.({
|
|
273
189
|
phase: "serialize",
|
|
274
190
|
ratio: c / i,
|
|
275
191
|
row: c,
|
|
276
192
|
total: i
|
|
277
|
-
}), await
|
|
193
|
+
}), await p());
|
|
278
194
|
}
|
|
279
195
|
return n.onProgress?.({
|
|
280
196
|
phase: "serialize",
|
|
281
197
|
ratio: 1,
|
|
282
198
|
row: i,
|
|
283
199
|
total: i
|
|
284
|
-
}), `<!doctype html><html><head><meta charset="utf-8"><title>${
|
|
200
|
+
}), `<!doctype html><html><head><meta charset="utf-8"><title>${_(c)}</title><style>table{border-collapse:collapse;font-family:system-ui,sans-serif;font-size:13px}th,td{border:1px solid #d0d7de;padding:6px 10px}th{background:#f6f8fa;text-align:left}</style></head><body><table><thead><tr>${u}</tr></thead><tbody>${d.join("")}</tbody></table></body></html>`;
|
|
285
201
|
}
|
|
286
|
-
async function
|
|
202
|
+
async function y(e, t, n = {}) {
|
|
287
203
|
let r = Math.max(1, n.chunkRows ?? 5e3), i = e.length - 1, a = [];
|
|
288
204
|
for (let o = 1; o < e.length; o++) {
|
|
289
|
-
|
|
205
|
+
f(n.signal);
|
|
290
206
|
let s = e[o], c = {};
|
|
291
207
|
for (let e of t) c[e] = s[e];
|
|
292
208
|
a.push(c), o > 0 && o % r === 0 && (n.onProgress?.({
|
|
@@ -294,7 +210,7 @@ async function S(e, t, n = {}) {
|
|
|
294
210
|
ratio: o / i,
|
|
295
211
|
row: o,
|
|
296
212
|
total: i
|
|
297
|
-
}), await
|
|
213
|
+
}), await p());
|
|
298
214
|
}
|
|
299
215
|
return n.onProgress?.({
|
|
300
216
|
phase: "serialize",
|
|
@@ -303,23 +219,23 @@ async function S(e, t, n = {}) {
|
|
|
303
219
|
total: i
|
|
304
220
|
}), JSON.stringify(a, null, 2);
|
|
305
221
|
}
|
|
306
|
-
function
|
|
222
|
+
function b(e) {
|
|
307
223
|
return (e == null ? "" : e instanceof Date ? e.toISOString() : String(e)).replace(/\\/g, "\\\\").replace(/\|/g, "\\|").replace(/\r?\n/g, "<br>");
|
|
308
224
|
}
|
|
309
|
-
async function
|
|
310
|
-
let r = Math.max(1, n.chunkRows ?? 5e3), i = e.length, a = n.align ?? {}, o = e[0], s = `| ${t.map((e) =>
|
|
225
|
+
async function x(e, t, n = {}) {
|
|
226
|
+
let r = Math.max(1, n.chunkRows ?? 5e3), i = e.length, a = n.align ?? {}, o = e[0], s = `| ${t.map((e) => b(o?.[e])).join(" | ")} |`, c = `| ${t.map((e) => {
|
|
311
227
|
let t = a[e];
|
|
312
228
|
return t === "right" ? "---:" : t === "center" ? ":--:" : "---";
|
|
313
229
|
}).join(" | ")} |`, l = [];
|
|
314
230
|
for (let a = 1; a < e.length; a++) {
|
|
315
|
-
|
|
231
|
+
f(n.signal);
|
|
316
232
|
let o = e[a];
|
|
317
|
-
l.push(`| ${t.map((e) =>
|
|
233
|
+
l.push(`| ${t.map((e) => b(o[e])).join(" | ")} |`), a > 0 && a % r === 0 && (n.onProgress?.({
|
|
318
234
|
phase: "serialize",
|
|
319
235
|
ratio: a / i,
|
|
320
236
|
row: a,
|
|
321
237
|
total: i
|
|
322
|
-
}), await
|
|
238
|
+
}), await p());
|
|
323
239
|
}
|
|
324
240
|
return n.onProgress?.({
|
|
325
241
|
phase: "serialize",
|
|
@@ -332,31 +248,31 @@ async function w(e, t, n = {}) {
|
|
|
332
248
|
...l
|
|
333
249
|
].join("\n") + "\n";
|
|
334
250
|
}
|
|
335
|
-
var
|
|
251
|
+
var S = {
|
|
336
252
|
"&": "&",
|
|
337
253
|
"<": "<",
|
|
338
254
|
">": ">",
|
|
339
255
|
"\"": """,
|
|
340
256
|
"'": "'"
|
|
341
257
|
};
|
|
342
|
-
function
|
|
343
|
-
return (e == null ? "" : e instanceof Date ? e.toISOString() : String(e)).replace(/[\x00-\x08\x0B\x0C\x0E-\x1F]/g, "").replace(/[&<>"']/g, (e) =>
|
|
258
|
+
function C(e) {
|
|
259
|
+
return (e == null ? "" : e instanceof Date ? e.toISOString() : String(e)).replace(/[\x00-\x08\x0B\x0C\x0E-\x1F]/g, "").replace(/[&<>"']/g, (e) => S[e]);
|
|
344
260
|
}
|
|
345
|
-
function
|
|
261
|
+
function w(e) {
|
|
346
262
|
let t = e.replace(/[^A-Za-z0-9_.-]/g, "_");
|
|
347
263
|
return /^[A-Za-z_]/.test(t) ? t : `_${t}`;
|
|
348
264
|
}
|
|
349
|
-
async function
|
|
350
|
-
let r = Math.max(1, n.chunkRows ?? 5e3), i = e.length - 1, a = n.rootTag ?? "rows", o = n.rowTag ?? "row", s = t.map(
|
|
265
|
+
async function T(e, t, n = {}) {
|
|
266
|
+
let r = Math.max(1, n.chunkRows ?? 5e3), i = e.length - 1, a = n.rootTag ?? "rows", o = n.rowTag ?? "row", s = t.map(w), c = ["<?xml version=\"1.0\" encoding=\"UTF-8\"?>", `<${a}>`];
|
|
351
267
|
for (let a = 1; a < e.length; a++) {
|
|
352
|
-
|
|
353
|
-
let l = e[a], u = t.map((e, t) => `<${s[t]}>${
|
|
268
|
+
f(n.signal);
|
|
269
|
+
let l = e[a], u = t.map((e, t) => `<${s[t]}>${C(l[e])}</${s[t]}>`).join("");
|
|
354
270
|
c.push(` <${o}>${u}</${o}>`), a > 0 && a % r === 0 && (n.onProgress?.({
|
|
355
271
|
phase: "serialize",
|
|
356
272
|
ratio: a / i,
|
|
357
273
|
row: a,
|
|
358
274
|
total: i
|
|
359
|
-
}), await
|
|
275
|
+
}), await p());
|
|
360
276
|
}
|
|
361
277
|
return c.push(`</${a}>`), n.onProgress?.({
|
|
362
278
|
phase: "serialize",
|
|
@@ -365,18 +281,18 @@ async function O(e, t, n = {}) {
|
|
|
365
281
|
total: i
|
|
366
282
|
}), c.join("\n");
|
|
367
283
|
}
|
|
368
|
-
function
|
|
284
|
+
function E(e, t) {
|
|
369
285
|
if (typeof document > "u" || typeof URL > "u") throw Error("@svgrid/grid: export requires a browser environment");
|
|
370
286
|
let n = URL.createObjectURL(e), r = document.createElement("a");
|
|
371
287
|
r.href = n, r.download = t, document.body.appendChild(r), r.click(), r.remove(), setTimeout(() => URL.revokeObjectURL(n), 0);
|
|
372
288
|
}
|
|
373
|
-
function
|
|
289
|
+
function D(e, t, n) {
|
|
374
290
|
if (typeof document > "u" || typeof URL > "u") throw Error("@svgrid/grid: text export requires a browser environment");
|
|
375
|
-
|
|
291
|
+
E(new Blob([e], { type: n }), t);
|
|
376
292
|
}
|
|
377
|
-
async function
|
|
293
|
+
async function O(e) {
|
|
378
294
|
if (typeof navigator > "u" || !navigator.clipboard) throw Error("@svgrid/grid: clipboard API is unavailable in this context");
|
|
379
295
|
await navigator.clipboard.writeText(e);
|
|
380
296
|
}
|
|
381
297
|
//#endregion
|
|
382
|
-
export {
|
|
298
|
+
export { i as a, h as c, x as d, T as f, D as i, v as l, u as m, O as n, o, s as p, E as r, c as s, a as t, y as u };
|