snice 3.4.1 → 3.5.0
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/bin/templates/social/src/styles/global.css +56 -47
- package/dist/components/avatar/snice-avatar.d.ts +2 -2
- package/dist/components/avatar/snice-avatar.js +20 -21
- package/dist/components/avatar/snice-avatar.js.map +1 -1
- package/dist/components/calendar/snice-calendar.d.ts +8 -2
- package/dist/components/calendar/snice-calendar.js +160 -82
- package/dist/components/calendar/snice-calendar.js.map +1 -1
- package/dist/components/chart/snice-chart.js +50 -18
- package/dist/components/chart/snice-chart.js.map +1 -1
- package/dist/components/checkbox/snice-checkbox.d.ts +4 -1
- package/dist/components/checkbox/snice-checkbox.js +46 -17
- package/dist/components/checkbox/snice-checkbox.js.map +1 -1
- package/dist/components/code-block/highlighter.d.ts +5 -0
- package/dist/components/code-block/highlighter.js +137 -0
- package/dist/components/code-block/highlighter.js.map +1 -0
- package/dist/components/code-block/highlighters/highlight.d.ts +64 -0
- package/dist/components/code-block/highlighters/highlight.js +108 -0
- package/dist/components/code-block/highlighters/highlight.js.map +1 -0
- package/dist/components/code-block/highlighters/prism.d.ts +41 -0
- package/dist/components/code-block/highlighters/prism.js +73 -0
- package/dist/components/code-block/highlighters/prism.js.map +1 -0
- package/dist/components/code-block/snice-code-block.d.ts +19 -1
- package/dist/components/code-block/snice-code-block.js +128 -29
- package/dist/components/code-block/snice-code-block.js.map +1 -1
- package/dist/components/code-block/snice-code-block.types.d.ts +15 -1
- package/dist/components/color-picker/snice-color-picker.d.ts +1 -0
- package/dist/components/color-picker/snice-color-picker.js +17 -6
- package/dist/components/color-picker/snice-color-picker.js.map +1 -1
- package/dist/components/date-picker/snice-date-picker.d.ts +1 -0
- package/dist/components/date-picker/snice-date-picker.js +16 -5
- package/dist/components/date-picker/snice-date-picker.js.map +1 -1
- package/dist/components/doc/snice-doc.d.ts +27 -73
- package/dist/components/doc/snice-doc.js +385 -534
- package/dist/components/doc/snice-doc.js.map +1 -1
- package/dist/components/draw/snice-draw.d.ts +4 -0
- package/dist/components/draw/snice-draw.js +134 -14
- package/dist/components/draw/snice-draw.js.map +1 -1
- package/dist/components/draw/snice-draw.types.d.ts +5 -0
- package/dist/components/file-upload/snice-file-upload.js +1 -1
- package/dist/components/input/snice-input.d.ts +2 -0
- package/dist/components/input/snice-input.js +34 -9
- package/dist/components/input/snice-input.js.map +1 -1
- package/dist/components/kanban/snice-kanban.d.ts +13 -1
- package/dist/components/kanban/snice-kanban.js +191 -36
- package/dist/components/kanban/snice-kanban.js.map +1 -1
- package/dist/components/kanban/snice-kanban.types.d.ts +11 -1
- package/dist/components/kpi/snice-kpi.js +5 -1
- package/dist/components/kpi/snice-kpi.js.map +1 -1
- package/dist/components/layout/snice-layout-sidebar.js +1 -1
- package/dist/components/layout/snice-layout-sidebar.js.map +1 -1
- package/dist/components/layout/snice-layout.js +1 -1
- package/dist/components/layout/snice-layout.js.map +1 -1
- package/dist/components/location/snice-location.js +1 -1
- package/dist/components/location/snice-location.js.map +1 -1
- package/dist/components/radio/snice-radio.d.ts +1 -0
- package/dist/components/radio/snice-radio.js +17 -6
- package/dist/components/radio/snice-radio.js.map +1 -1
- package/dist/components/select/snice-select.d.ts +2 -0
- package/dist/components/select/snice-select.js +48 -19
- package/dist/components/select/snice-select.js.map +1 -1
- package/dist/components/slider/snice-slider.d.ts +2 -0
- package/dist/components/slider/snice-slider.js +34 -14
- package/dist/components/slider/snice-slider.js.map +1 -1
- package/dist/components/snice-cell-HZ2iIBIC.js +4 -0
- package/dist/components/snice-cell-HZ2iIBIC.js.map +1 -0
- package/dist/components/split-pane/snice-split-pane.js +1 -1
- package/dist/components/split-pane/snice-split-pane.js.map +1 -1
- package/dist/components/switch/snice-switch.d.ts +1 -0
- package/dist/components/switch/snice-switch.js +16 -6
- package/dist/components/switch/snice-switch.js.map +1 -1
- package/dist/components/table/snice-cell-actions.js +1 -1
- package/dist/components/table/snice-cell-actions.js.map +1 -1
- package/dist/components/table/snice-cell-boolean.js +1 -1
- package/dist/components/table/snice-cell-color.js +1 -1
- package/dist/components/table/snice-cell-color.js.map +1 -1
- package/dist/components/table/snice-cell-currency.js +1 -1
- package/dist/components/table/snice-cell-date.js +1 -1
- package/dist/components/table/snice-cell-duration.js +1 -1
- package/dist/components/table/snice-cell-email.js +1 -1
- package/dist/components/table/snice-cell-email.js.map +1 -1
- package/dist/components/table/snice-cell-filesize.js +1 -1
- package/dist/components/table/snice-cell-image.js +1 -1
- package/dist/components/table/snice-cell-image.js.map +1 -1
- package/dist/components/table/snice-cell-json.js +1 -1
- package/dist/components/table/snice-cell-json.js.map +1 -1
- package/dist/components/table/snice-cell-link.js +1 -1
- package/dist/components/table/snice-cell-link.js.map +1 -1
- package/dist/components/table/snice-cell-location.js +1 -1
- package/dist/components/table/snice-cell-location.js.map +1 -1
- package/dist/components/table/snice-cell-number.js +1 -1
- package/dist/components/table/snice-cell-percentage.js +1 -1
- package/dist/components/table/snice-cell-percentage.js.map +1 -1
- package/dist/components/table/snice-cell-phone.js +1 -1
- package/dist/components/table/snice-cell-phone.js.map +1 -1
- package/dist/components/table/snice-cell-progress.js +3 -3
- package/dist/components/table/snice-cell-progress.js.map +1 -1
- package/dist/components/table/snice-cell-rating.js +2 -2
- package/dist/components/table/snice-cell-rating.js.map +1 -1
- package/dist/components/table/snice-cell-sparkline.js +2 -2
- package/dist/components/table/snice-cell-sparkline.js.map +1 -1
- package/dist/components/table/snice-cell-status.js +1 -1
- package/dist/components/table/snice-cell-status.js.map +1 -1
- package/dist/components/table/snice-cell-tag.js +1 -1
- package/dist/components/table/snice-cell-tag.js.map +1 -1
- package/dist/components/table/snice-cell-text.js +1 -1
- package/dist/components/table/snice-cell.js +15 -10
- package/dist/components/table/snice-cell.js.map +1 -1
- package/dist/components/table/snice-header.js +1 -1
- package/dist/components/table/snice-header.js.map +1 -1
- package/dist/components/table/snice-row.js +2 -2
- package/dist/components/table/snice-row.js.map +1 -1
- package/dist/components/table/snice-table.d.ts +1 -0
- package/dist/components/table/snice-table.js +24 -4
- package/dist/components/table/snice-table.js.map +1 -1
- package/dist/components/terminal/snice-terminal.d.ts +40 -0
- package/dist/components/terminal/snice-terminal.js +371 -0
- package/dist/components/terminal/snice-terminal.js.map +1 -0
- package/dist/components/terminal/snice-terminal.types.d.ts +20 -24
- package/dist/components/textarea/snice-textarea.d.ts +2 -0
- package/dist/components/textarea/snice-textarea.js +25 -6
- package/dist/components/textarea/snice-textarea.js.map +1 -1
- package/dist/components/theme/theme.css +16 -0
- package/dist/components/tree/snice-tree-item.d.ts +18 -4
- package/dist/components/tree/snice-tree-item.js +271 -88
- package/dist/components/tree/snice-tree-item.js.map +1 -1
- package/dist/components/tree/snice-tree-item.types.d.ts +3 -0
- package/dist/components/tree/snice-tree.d.ts +18 -2
- package/dist/components/tree/snice-tree.js +422 -56
- package/dist/components/tree/snice-tree.js.map +1 -1
- package/dist/components/tree/snice-tree.types.d.ts +1 -0
- package/dist/components/virtual-scroller/snice-virtual-scroller.js +4 -2
- package/dist/components/virtual-scroller/snice-virtual-scroller.js.map +1 -1
- package/dist/index.cjs +42 -23
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +42 -23
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +42 -23
- package/dist/index.iife.js.map +1 -1
- package/dist/render-tracker.d.ts +1 -0
- package/dist/symbols.cjs +13 -14
- package/dist/symbols.cjs.map +1 -1
- package/dist/symbols.esm.js +13 -14
- package/dist/symbols.esm.js.map +1 -1
- package/dist/template.d.ts +1 -0
- package/dist/transitions.cjs +1 -1
- package/dist/transitions.esm.js +1 -1
- package/docs/ai/api.md +37 -4
- package/docs/ai/components/doc.md +41 -106
- package/docs/ai/components/kanban.md +31 -9
- package/docs/ai/components/kpi.md +15 -0
- package/docs/components/doc.md +96 -212
- package/docs/components/kanban.md +119 -4
- package/docs/components/kpi.md +27 -0
- package/package.json +1 -1
- package/dist/components/actions/snice-actions.d.ts +0 -28
- package/dist/components/actions/snice-actions.js +0 -220
- package/dist/components/actions/snice-actions.js.map +0 -1
- package/dist/components/actions/snice-actions.types.d.ts +0 -27
- package/dist/components/doc/snice-doc.types.d.ts +0 -118
- package/dist/components/gantt/snice-gantt.d.ts +0 -29
- package/dist/components/gantt/snice-gantt.js +0 -268
- package/dist/components/gantt/snice-gantt.js.map +0 -1
- package/dist/components/gantt/snice-gantt.types.d.ts +0 -23
- package/dist/components/snice-cell-C0slgOpe.js +0 -4
- package/dist/components/snice-cell-C0slgOpe.js.map +0 -1
- package/dist/components/stat/snice-stat.d.ts +0 -14
- package/dist/components/stat/snice-stat.js +0 -140
- package/dist/components/stat/snice-stat.js.map +0 -1
- package/dist/components/stat/snice-stat.types.d.ts +0 -12
- package/docs/ai/components/actions.md +0 -81
- package/docs/ai/components/gantt.md +0 -95
- package/docs/ai/components/stat.md +0 -29
- package/docs/components/actions.md +0 -317
- package/docs/components/gantt.md +0 -347
- package/docs/components/stat.md +0 -45
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __runInitializers, __esDecorate } from 'tslib';
|
|
2
|
-
import { element, property, dispatch, styles,
|
|
2
|
+
import { element, property, dispatch, styles, ready, watch, css } from 'snice';
|
|
3
3
|
|
|
4
|
-
var cssContent = ":host{display:block;font-family:var(--snice-font-family,
|
|
4
|
+
var cssContent = ":host{display:block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);contain:layout style paint}.calendar{width:100%;max-width:37.5rem}.calendar__header{display:flex;align-items:center;justify-content:space-between;padding:var(--snice-spacing-md,1rem);background:var(--snice-color-background,rgb(255 255 255));border-bottom:1px solid var(--snice-color-border,rgb(226 226 226))}.calendar__title{font-size:var(--snice-font-size-lg, 1.125rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text,rgb(23 23 23))}.calendar__nav{display:flex;gap:var(--snice-spacing-xs,.5rem)}.calendar__nav-button{padding:var(--snice-spacing-xs,.5rem) var(--snice-spacing-sm,.75rem);border:1px solid var(--snice-color-border,rgb(226 226 226));background:var(--snice-color-background,rgb(255 255 255));border-radius:var(--snice-border-radius-md,.25rem);cursor:pointer;transition:background-color var(--snice-transition-fast, 150ms) ease,border-color var(--snice-transition-fast, 150ms) ease;font-size:var(--snice-font-size-sm, .875rem);color:var(--snice-color-text,rgb(23 23 23));font-family:inherit}.calendar__nav-button:hover{background:var(--snice-color-background-secondary,rgb(250 250 250));border-color:var(--snice-color-border-hover,rgb(204 204 204))}.calendar__nav-button:focus-visible{outline:0;box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--snice-color-background,rgb(255 255 255))}.calendar__weekday{padding:var(--snice-spacing-sm,.75rem);text-align:center;font-size:var(--snice-font-size-xs, .75rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text-secondary,rgb(82 82 82));text-transform:uppercase;border-bottom:1px solid var(--snice-color-border,rgb(226 226 226))}.calendar__day{height:5rem;padding:var(--snice-spacing-xs,.5rem);border:1px solid var(--snice-color-border,rgb(226 226 226));border-top:none;border-left:none;cursor:pointer;transition:background-color var(--snice-transition-fast, 150ms) ease;position:relative;background:var(--snice-color-background,rgb(255 255 255));overflow:hidden}.calendar__day:hover{background:var(--snice-color-background-secondary,rgb(250 250 250))}.calendar__day:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.calendar__day:nth-child(7n+1){border-left:1px solid var(--snice-color-border,rgb(226 226 226))}.calendar__day--other-month{background:var(--snice-color-background,rgb(255 255 255));color:var(--snice-color-text-tertiary,rgb(115 115 115));opacity:.5}.calendar__day--other-month:hover{opacity:.7}.calendar__day--today{background:rgb(var(--snice-color-blue-100,219 234 254))}.calendar__day--today:hover{background:rgb(var(--snice-color-blue-200,191 219 254))}.calendar__day--selected{background:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250))}.calendar__day--selected:hover{background:var(--snice-color-primary-hover,rgb(29 78 216))}.calendar__day--disabled{background:var(--snice-color-background-tertiary,rgb(241 241 241));color:var(--snice-color-text-tertiary,rgb(115 115 115));opacity:.5;cursor:not-allowed}.calendar__day--disabled:hover{background:var(--snice-color-background-tertiary,rgb(241 241 241))}.calendar__day-number{font-size:var(--snice-font-size-sm, .875rem);font-weight:var(--snice-font-weight-medium,500);margin-bottom:var(--snice-spacing-2xs,.25rem)}.calendar__day--selected .calendar__day-number{color:var(--snice-color-text-inverse,rgb(250 250 250))}.calendar__events{display:flex;flex-direction:column;gap:var(--snice-spacing-3xs,.125rem);margin-top:var(--snice-spacing-2xs,.25rem)}.calendar__event{font-size:var(--snice-font-size-2xs, .625rem);padding:var(--snice-spacing-3xs,.125rem) var(--snice-spacing-2xs,.25rem);border-radius:var(--snice-border-radius-sm,.125rem);background:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:opacity var(--snice-transition-fast, 150ms) ease}.calendar__event:hover{opacity:.8}.calendar__week-number{padding:var(--snice-spacing-sm,.75rem) var(--snice-spacing-xs,.5rem);text-align:center;font-size:var(--snice-font-size-xs, .75rem);color:var(--snice-color-text-tertiary,rgb(115 115 115));background:var(--snice-color-background-secondary,rgb(250 250 250));border-right:1px solid var(--snice-color-border,rgb(226 226 226))}.calendar--week .calendar__grid{grid-template-columns:repeat(7,1fr)}.calendar--week .calendar__day{min-height:7.5rem}.calendar--day .calendar__grid{grid-template-columns:1fr}.calendar--day .calendar__day{min-height:25rem}";
|
|
5
5
|
|
|
6
6
|
let SniceCalendar = (() => {
|
|
7
7
|
let _classDecorators = [element('snice-calendar')];
|
|
@@ -43,7 +43,8 @@ let SniceCalendar = (() => {
|
|
|
43
43
|
let _dispatchChange_decorators;
|
|
44
44
|
let _dispatchEventClick_decorators;
|
|
45
45
|
let _styles_decorators;
|
|
46
|
-
let
|
|
46
|
+
let _initialize_decorators;
|
|
47
|
+
let _handlePropertyChange_decorators;
|
|
47
48
|
(class extends _classSuper {
|
|
48
49
|
static { _classThis = this; }
|
|
49
50
|
constructor() {
|
|
@@ -59,6 +60,7 @@ let SniceCalendar = (() => {
|
|
|
59
60
|
this.firstDayOfWeek = (__runInitializers(this, _showWeekNumbers_extraInitializers), __runInitializers(this, _firstDayOfWeek_initializers, 0)); // 0 = Sunday, 1 = Monday
|
|
60
61
|
this.locale = (__runInitializers(this, _firstDayOfWeek_extraInitializers), __runInitializers(this, _locale_initializers, 'en-US'));
|
|
61
62
|
this.displayDate = (__runInitializers(this, _locale_extraInitializers), new Date());
|
|
63
|
+
this.dayCells = [];
|
|
62
64
|
}
|
|
63
65
|
static {
|
|
64
66
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
@@ -75,11 +77,13 @@ let SniceCalendar = (() => {
|
|
|
75
77
|
_dispatchChange_decorators = [dispatch('@snice/calendar-change', { bubbles: true, composed: true })];
|
|
76
78
|
_dispatchEventClick_decorators = [dispatch('@snice/calendar-event-click', { bubbles: true, composed: true })];
|
|
77
79
|
_styles_decorators = [styles()];
|
|
78
|
-
|
|
80
|
+
_initialize_decorators = [ready()];
|
|
81
|
+
_handlePropertyChange_decorators = [watch('value'), watch('events')];
|
|
79
82
|
__esDecorate(this, null, _dispatchChange_decorators, { kind: "method", name: "dispatchChange", static: false, private: false, access: { has: obj => "dispatchChange" in obj, get: obj => obj.dispatchChange }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
80
83
|
__esDecorate(this, null, _dispatchEventClick_decorators, { kind: "method", name: "dispatchEventClick", static: false, private: false, access: { has: obj => "dispatchEventClick" in obj, get: obj => obj.dispatchEventClick }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
81
84
|
__esDecorate(this, null, _styles_decorators, { kind: "method", name: "styles", static: false, private: false, access: { has: obj => "styles" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
82
|
-
__esDecorate(this, null,
|
|
85
|
+
__esDecorate(this, null, _initialize_decorators, { kind: "method", name: "initialize", static: false, private: false, access: { has: obj => "initialize" in obj, get: obj => obj.initialize }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
86
|
+
__esDecorate(this, null, _handlePropertyChange_decorators, { kind: "method", name: "handlePropertyChange", static: false, private: false, access: { has: obj => "handlePropertyChange" in obj, get: obj => obj.handlePropertyChange }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
83
87
|
__esDecorate(null, null, _value_decorators, { kind: "field", name: "value", static: false, private: false, access: { has: obj => "value" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);
|
|
84
88
|
__esDecorate(null, null, _view_decorators, { kind: "field", name: "view", static: false, private: false, access: { has: obj => "view" in obj, get: obj => obj.view, set: (obj, value) => { obj.view = value; } }, metadata: _metadata }, _view_initializers, _view_extraInitializers);
|
|
85
89
|
__esDecorate(null, null, _events_decorators, { kind: "field", name: "events", static: false, private: false, access: { has: obj => "events" in obj, get: obj => obj.events, set: (obj, value) => { obj.events = value; } }, metadata: _metadata }, _events_initializers, _events_extraInitializers);
|
|
@@ -104,33 +108,166 @@ let SniceCalendar = (() => {
|
|
|
104
108
|
styles() {
|
|
105
109
|
return css /*css*/ `${cssContent}`;
|
|
106
110
|
}
|
|
111
|
+
initialize() {
|
|
112
|
+
this.createDOM();
|
|
113
|
+
this.updateView();
|
|
114
|
+
}
|
|
115
|
+
createDOM() {
|
|
116
|
+
const shadow = this.shadowRoot;
|
|
117
|
+
// Create container
|
|
118
|
+
this.container = document.createElement('div');
|
|
119
|
+
this.container.className = `calendar calendar--${this.view}`;
|
|
120
|
+
// Create header
|
|
121
|
+
this.header = document.createElement('div');
|
|
122
|
+
this.header.className = 'calendar__header';
|
|
123
|
+
const title = document.createElement('div');
|
|
124
|
+
title.className = 'calendar__title';
|
|
125
|
+
const nav = document.createElement('div');
|
|
126
|
+
nav.className = 'calendar__nav';
|
|
127
|
+
const todayBtn = document.createElement('button');
|
|
128
|
+
todayBtn.className = 'calendar__nav-button';
|
|
129
|
+
todayBtn.textContent = 'Today';
|
|
130
|
+
todayBtn.onclick = () => this.goToToday();
|
|
131
|
+
const prevBtn = document.createElement('button');
|
|
132
|
+
prevBtn.className = 'calendar__nav-button';
|
|
133
|
+
prevBtn.textContent = '‹';
|
|
134
|
+
prevBtn.onclick = () => this.previousMonth();
|
|
135
|
+
const nextBtn = document.createElement('button');
|
|
136
|
+
nextBtn.className = 'calendar__nav-button';
|
|
137
|
+
nextBtn.textContent = '›';
|
|
138
|
+
nextBtn.onclick = () => this.nextMonth();
|
|
139
|
+
nav.appendChild(todayBtn);
|
|
140
|
+
nav.appendChild(prevBtn);
|
|
141
|
+
nav.appendChild(nextBtn);
|
|
142
|
+
this.header.appendChild(title);
|
|
143
|
+
this.header.appendChild(nav);
|
|
144
|
+
// Create grid
|
|
145
|
+
this.grid = document.createElement('div');
|
|
146
|
+
this.grid.className = 'calendar__grid';
|
|
147
|
+
// Add weekday headers
|
|
148
|
+
const weekdays = this.getWeekdays();
|
|
149
|
+
weekdays.forEach(day => {
|
|
150
|
+
const weekdayEl = document.createElement('div');
|
|
151
|
+
weekdayEl.className = 'calendar__weekday';
|
|
152
|
+
weekdayEl.textContent = day;
|
|
153
|
+
this.grid.appendChild(weekdayEl);
|
|
154
|
+
});
|
|
155
|
+
// Create 42 day cells
|
|
156
|
+
for (let i = 0; i < 42; i++) {
|
|
157
|
+
const dayCell = document.createElement('div');
|
|
158
|
+
dayCell.className = 'calendar__day';
|
|
159
|
+
const dayNumber = document.createElement('div');
|
|
160
|
+
dayNumber.className = 'calendar__day-number';
|
|
161
|
+
dayCell.appendChild(dayNumber);
|
|
162
|
+
const eventsContainer = document.createElement('div');
|
|
163
|
+
eventsContainer.className = 'calendar__events';
|
|
164
|
+
eventsContainer.style.display = 'none';
|
|
165
|
+
dayCell.appendChild(eventsContainer);
|
|
166
|
+
this.grid.appendChild(dayCell);
|
|
167
|
+
this.dayCells.push(dayCell);
|
|
168
|
+
}
|
|
169
|
+
this.container.appendChild(this.header);
|
|
170
|
+
this.container.appendChild(this.grid);
|
|
171
|
+
shadow.appendChild(this.container);
|
|
172
|
+
}
|
|
173
|
+
updateView() {
|
|
174
|
+
// Update header title
|
|
175
|
+
const monthName = this.displayDate.toLocaleDateString(this.locale, { month: 'long', year: 'numeric' });
|
|
176
|
+
const titleEl = this.header.querySelector('.calendar__title');
|
|
177
|
+
if (titleEl)
|
|
178
|
+
titleEl.textContent = monthName;
|
|
179
|
+
// Update day cells
|
|
180
|
+
const days = this.getMonthDays();
|
|
181
|
+
const currentMonth = this.displayDate.getMonth();
|
|
182
|
+
days.forEach((date, i) => {
|
|
183
|
+
const cell = this.dayCells[i];
|
|
184
|
+
if (!cell)
|
|
185
|
+
return;
|
|
186
|
+
const isOtherMonth = date.getMonth() !== currentMonth;
|
|
187
|
+
const isToday = this.highlightToday && this.isToday(date);
|
|
188
|
+
const isSelected = this.isSelected(date);
|
|
189
|
+
const isDisabled = this.isDisabled(date);
|
|
190
|
+
const dayEvents = this.getEventsForDate(date);
|
|
191
|
+
// Update classes
|
|
192
|
+
cell.className = 'calendar__day';
|
|
193
|
+
if (isOtherMonth)
|
|
194
|
+
cell.classList.add('calendar__day--other-month');
|
|
195
|
+
if (isToday)
|
|
196
|
+
cell.classList.add('calendar__day--today');
|
|
197
|
+
if (isSelected)
|
|
198
|
+
cell.classList.add('calendar__day--selected');
|
|
199
|
+
if (isDisabled)
|
|
200
|
+
cell.classList.add('calendar__day--disabled');
|
|
201
|
+
// Update day number
|
|
202
|
+
const dayNumber = cell.querySelector('.calendar__day-number');
|
|
203
|
+
if (dayNumber)
|
|
204
|
+
dayNumber.textContent = String(date.getDate());
|
|
205
|
+
// Update click handler
|
|
206
|
+
cell.onclick = () => this.handleDayClick(date);
|
|
207
|
+
// Update events
|
|
208
|
+
const eventsContainer = cell.querySelector('.calendar__events');
|
|
209
|
+
if (eventsContainer) {
|
|
210
|
+
if (dayEvents.length > 0) {
|
|
211
|
+
eventsContainer.style.display = '';
|
|
212
|
+
eventsContainer.innerHTML = '';
|
|
213
|
+
dayEvents.slice(0, 3).forEach(event => {
|
|
214
|
+
const eventEl = document.createElement('div');
|
|
215
|
+
eventEl.className = 'calendar__event';
|
|
216
|
+
if (event.color)
|
|
217
|
+
eventEl.style.background = event.color;
|
|
218
|
+
eventEl.textContent = event.title;
|
|
219
|
+
eventEl.onclick = (e) => this.handleEventClick(event, e);
|
|
220
|
+
eventsContainer.appendChild(eventEl);
|
|
221
|
+
});
|
|
222
|
+
if (dayEvents.length > 3) {
|
|
223
|
+
const moreEl = document.createElement('div');
|
|
224
|
+
moreEl.className = 'calendar__event';
|
|
225
|
+
moreEl.style.background = '#999';
|
|
226
|
+
moreEl.textContent = `+${dayEvents.length - 3} more`;
|
|
227
|
+
eventsContainer.appendChild(moreEl);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
eventsContainer.style.display = 'none';
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
}
|
|
107
236
|
goToToday() {
|
|
108
237
|
this.displayDate = new Date();
|
|
109
238
|
this.value = new Date();
|
|
239
|
+
this.updateView();
|
|
110
240
|
this.dispatchChange();
|
|
111
241
|
}
|
|
112
242
|
goToDate(date) {
|
|
113
243
|
this.displayDate = typeof date === 'string' ? new Date(date) : date;
|
|
114
244
|
this.value = this.displayDate;
|
|
245
|
+
this.updateView();
|
|
115
246
|
this.dispatchChange();
|
|
116
247
|
}
|
|
117
248
|
previousMonth() {
|
|
118
249
|
this.displayDate = new Date(this.displayDate.getFullYear(), this.displayDate.getMonth() - 1);
|
|
250
|
+
this.updateView();
|
|
119
251
|
}
|
|
120
252
|
nextMonth() {
|
|
121
253
|
this.displayDate = new Date(this.displayDate.getFullYear(), this.displayDate.getMonth() + 1);
|
|
254
|
+
this.updateView();
|
|
122
255
|
}
|
|
123
256
|
previousWeek() {
|
|
124
257
|
this.displayDate = new Date(this.displayDate.getTime() - 7 * 24 * 60 * 60 * 1000);
|
|
258
|
+
this.updateView();
|
|
125
259
|
}
|
|
126
260
|
nextWeek() {
|
|
127
261
|
this.displayDate = new Date(this.displayDate.getTime() + 7 * 24 * 60 * 60 * 1000);
|
|
262
|
+
this.updateView();
|
|
128
263
|
}
|
|
129
264
|
previousDay() {
|
|
130
265
|
this.displayDate = new Date(this.displayDate.getTime() - 24 * 60 * 60 * 1000);
|
|
266
|
+
this.updateView();
|
|
131
267
|
}
|
|
132
268
|
nextDay() {
|
|
133
269
|
this.displayDate = new Date(this.displayDate.getTime() + 24 * 60 * 60 * 1000);
|
|
270
|
+
this.updateView();
|
|
134
271
|
}
|
|
135
272
|
getDisplayedMonth() {
|
|
136
273
|
return {
|
|
@@ -140,11 +277,20 @@ let SniceCalendar = (() => {
|
|
|
140
277
|
}
|
|
141
278
|
getEventsForDate(date) {
|
|
142
279
|
const targetDate = typeof date === 'string' ? new Date(date) : date;
|
|
143
|
-
const
|
|
280
|
+
const targetTime = targetDate.getTime();
|
|
144
281
|
return this.events.filter(event => {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
282
|
+
if (!event.start)
|
|
283
|
+
return false;
|
|
284
|
+
const startDate = typeof event.start === 'string' ? new Date(event.start) : event.start;
|
|
285
|
+
const startTime = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate()).getTime();
|
|
286
|
+
// If no end date, event is single day
|
|
287
|
+
if (!event.end) {
|
|
288
|
+
return this.isSameDay(targetDate, startDate);
|
|
289
|
+
}
|
|
290
|
+
// Multi-day event: check if target date falls between start and end
|
|
291
|
+
const endDate = typeof event.end === 'string' ? new Date(event.end) : event.end;
|
|
292
|
+
const endTime = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate()).getTime();
|
|
293
|
+
return targetTime >= startTime && targetTime <= endTime;
|
|
148
294
|
});
|
|
149
295
|
}
|
|
150
296
|
formatDate(date) {
|
|
@@ -180,6 +326,7 @@ let SniceCalendar = (() => {
|
|
|
180
326
|
if (this.isDisabled(date))
|
|
181
327
|
return;
|
|
182
328
|
this.value = date;
|
|
329
|
+
this.updateView();
|
|
183
330
|
this.dispatchChange();
|
|
184
331
|
}
|
|
185
332
|
handleEventClick(event, e) {
|
|
@@ -212,79 +359,10 @@ let SniceCalendar = (() => {
|
|
|
212
359
|
}
|
|
213
360
|
return weekdays;
|
|
214
361
|
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
return html /*html*/ `
|
|
220
|
-
<div class="calendar__grid">
|
|
221
|
-
${weekdays.map(day => html `
|
|
222
|
-
<div class="calendar__weekday">${day}</div>
|
|
223
|
-
`)}
|
|
224
|
-
|
|
225
|
-
${days.map(date => {
|
|
226
|
-
const isOtherMonth = date.getMonth() !== currentMonth;
|
|
227
|
-
const isToday = this.highlightToday && this.isToday(date);
|
|
228
|
-
const isSelected = this.isSelected(date);
|
|
229
|
-
const isDisabled = this.isDisabled(date);
|
|
230
|
-
const dayEvents = this.getEventsForDate(date);
|
|
231
|
-
const classes = [
|
|
232
|
-
'calendar__day',
|
|
233
|
-
isOtherMonth && 'calendar__day--other-month',
|
|
234
|
-
isToday && 'calendar__day--today',
|
|
235
|
-
isSelected && 'calendar__day--selected',
|
|
236
|
-
isDisabled && 'calendar__day--disabled'
|
|
237
|
-
].filter(Boolean).join(' ');
|
|
238
|
-
return html /*html*/ `
|
|
239
|
-
<div
|
|
240
|
-
class="${classes}"
|
|
241
|
-
@click=${() => this.handleDayClick(date)}>
|
|
242
|
-
<div class="calendar__day-number">${date.getDate()}</div>
|
|
243
|
-
<if ${dayEvents.length > 0}>
|
|
244
|
-
<div class="calendar__events">
|
|
245
|
-
${dayEvents.slice(0, 3).map(event => html `
|
|
246
|
-
<div
|
|
247
|
-
class="calendar__event"
|
|
248
|
-
style="${event.color ? `background: ${event.color}` : ''}"
|
|
249
|
-
@click=${(e) => this.handleEventClick(event, e)}>
|
|
250
|
-
${event.title}
|
|
251
|
-
</div>
|
|
252
|
-
`)}
|
|
253
|
-
<if ${dayEvents.length > 3}>
|
|
254
|
-
<div class="calendar__event" style="background: #999;">
|
|
255
|
-
+${dayEvents.length - 3} more
|
|
256
|
-
</div>
|
|
257
|
-
</if>
|
|
258
|
-
</div>
|
|
259
|
-
</if>
|
|
260
|
-
</div>
|
|
261
|
-
`;
|
|
262
|
-
})}
|
|
263
|
-
</div>
|
|
264
|
-
`;
|
|
265
|
-
}
|
|
266
|
-
template() {
|
|
267
|
-
const monthName = this.displayDate.toLocaleDateString(this.locale, { month: 'long', year: 'numeric' });
|
|
268
|
-
return html /*html*/ `
|
|
269
|
-
<div class="calendar calendar--${this.view}">
|
|
270
|
-
<div class="calendar__header">
|
|
271
|
-
<div class="calendar__title">${monthName}</div>
|
|
272
|
-
<div class="calendar__nav">
|
|
273
|
-
<button class="calendar__nav-button" @click=${() => this.goToToday()}>
|
|
274
|
-
Today
|
|
275
|
-
</button>
|
|
276
|
-
<button class="calendar__nav-button" @click=${() => this.previousMonth()}>
|
|
277
|
-
‹
|
|
278
|
-
</button>
|
|
279
|
-
<button class="calendar__nav-button" @click=${() => this.nextMonth()}>
|
|
280
|
-
›
|
|
281
|
-
</button>
|
|
282
|
-
</div>
|
|
283
|
-
</div>
|
|
284
|
-
|
|
285
|
-
${this.view === 'month' ? this.renderMonthView() : html ``}
|
|
286
|
-
</div>
|
|
287
|
-
`;
|
|
362
|
+
handlePropertyChange() {
|
|
363
|
+
if (this.grid) {
|
|
364
|
+
this.updateView();
|
|
365
|
+
}
|
|
288
366
|
}
|
|
289
367
|
});
|
|
290
368
|
return _classThis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snice-calendar.js","sources":["../../../components/calendar/snice-calendar.css?inline","../../../../components/calendar/snice-calendar.ts"],"sourcesContent":["export default \":host{display:block;font-family:var(--snice-font-family, system-ui, -apple-system, sans-serif)}.calendar{width:100%;max-width:600px}.calendar__header{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--snice-bg-primary,#fff);border-bottom:1px solid var(--snice-border-color,#e0e0e0)}.calendar__title{font-size:18px;font-weight:600;color:var(--snice-text-primary,#1a1a1a)}.calendar__nav{display:flex;gap:8px}.calendar__nav-button{padding:8px 12px;border:1px solid var(--snice-border-color,#e0e0e0);background:#fff;border-radius:4px;cursor:pointer;transition:.2s;font-size:14px}.calendar__nav-button:hover{background:var(--snice-bg-hover,#f5f5f5)}.calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);background:#fff}.calendar__weekday{padding:12px;text-align:center;font-size:12px;font-weight:600;color:var(--snice-text-secondary,#666);text-transform:uppercase;border-bottom:1px solid var(--snice-border-color,#e0e0e0)}.calendar__day{min-height:80px;padding:8px;border:1px solid var(--snice-border-color,#e0e0e0);border-top:none;border-left:none;cursor:pointer;transition:background .2s;position:relative}.calendar__day:hover{background:var(--snice-bg-hover,#f5f5f5)}.calendar__day:nth-child(7n+1){border-left:1px solid var(--snice-border-color,#e0e0e0)}.calendar__day--other-month{background:var(--snice-bg-secondary,#fafafa);color:var(--snice-text-tertiary,#999)}.calendar__day--today{background:var(--snice-color-primary-light,#e3f2fd)}.calendar__day--selected{background:var(--snice-color-primary,#2196f3);color:#fff}.calendar__day--disabled{background:var(--snice-bg-disabled,#f5f5f5);color:var(--snice-text-disabled,#ccc);cursor:not-allowed}.calendar__day-number{font-size:14px;font-weight:500;margin-bottom:4px}.calendar__day--selected .calendar__day-number{color:#fff}.calendar__events{display:flex;flex-direction:column;gap:2px;margin-top:4px}.calendar__event{font-size:11px;padding:2px 4px;border-radius:2px;background:var(--snice-color-primary,#2196f3);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.calendar__event:hover{opacity:.8}.calendar__week-number{padding:12px 8px;text-align:center;font-size:12px;color:var(--snice-text-tertiary,#999);background:var(--snice-bg-secondary,#fafafa);border-right:1px solid var(--snice-border-color,#e0e0e0)}.calendar--week .calendar__grid{grid-template-columns:repeat(7,1fr)}.calendar--week .calendar__day{min-height:120px}.calendar--day .calendar__grid{grid-template-columns:1fr}.calendar--day .calendar__day{min-height:400px}\";",null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snice-calendar.js","sources":["../../../components/calendar/snice-calendar.css?inline","../../../../components/calendar/snice-calendar.ts"],"sourcesContent":["export default \":host{display:block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);contain:layout style paint}.calendar{width:100%;max-width:37.5rem}.calendar__header{display:flex;align-items:center;justify-content:space-between;padding:var(--snice-spacing-md,1rem);background:var(--snice-color-background,rgb(255 255 255));border-bottom:1px solid var(--snice-color-border,rgb(226 226 226))}.calendar__title{font-size:var(--snice-font-size-lg, 1.125rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text,rgb(23 23 23))}.calendar__nav{display:flex;gap:var(--snice-spacing-xs,.5rem)}.calendar__nav-button{padding:var(--snice-spacing-xs,.5rem) var(--snice-spacing-sm,.75rem);border:1px solid var(--snice-color-border,rgb(226 226 226));background:var(--snice-color-background,rgb(255 255 255));border-radius:var(--snice-border-radius-md,.25rem);cursor:pointer;transition:background-color var(--snice-transition-fast, 150ms) ease,border-color var(--snice-transition-fast, 150ms) ease;font-size:var(--snice-font-size-sm, .875rem);color:var(--snice-color-text,rgb(23 23 23));font-family:inherit}.calendar__nav-button:hover{background:var(--snice-color-background-secondary,rgb(250 250 250));border-color:var(--snice-color-border-hover,rgb(204 204 204))}.calendar__nav-button:focus-visible{outline:0;box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--snice-color-background,rgb(255 255 255))}.calendar__weekday{padding:var(--snice-spacing-sm,.75rem);text-align:center;font-size:var(--snice-font-size-xs, .75rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text-secondary,rgb(82 82 82));text-transform:uppercase;border-bottom:1px solid var(--snice-color-border,rgb(226 226 226))}.calendar__day{height:5rem;padding:var(--snice-spacing-xs,.5rem);border:1px solid var(--snice-color-border,rgb(226 226 226));border-top:none;border-left:none;cursor:pointer;transition:background-color var(--snice-transition-fast, 150ms) ease;position:relative;background:var(--snice-color-background,rgb(255 255 255));overflow:hidden}.calendar__day:hover{background:var(--snice-color-background-secondary,rgb(250 250 250))}.calendar__day:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.calendar__day:nth-child(7n+1){border-left:1px solid var(--snice-color-border,rgb(226 226 226))}.calendar__day--other-month{background:var(--snice-color-background,rgb(255 255 255));color:var(--snice-color-text-tertiary,rgb(115 115 115));opacity:.5}.calendar__day--other-month:hover{opacity:.7}.calendar__day--today{background:rgb(var(--snice-color-blue-100,219 234 254))}.calendar__day--today:hover{background:rgb(var(--snice-color-blue-200,191 219 254))}.calendar__day--selected{background:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250))}.calendar__day--selected:hover{background:var(--snice-color-primary-hover,rgb(29 78 216))}.calendar__day--disabled{background:var(--snice-color-background-tertiary,rgb(241 241 241));color:var(--snice-color-text-tertiary,rgb(115 115 115));opacity:.5;cursor:not-allowed}.calendar__day--disabled:hover{background:var(--snice-color-background-tertiary,rgb(241 241 241))}.calendar__day-number{font-size:var(--snice-font-size-sm, .875rem);font-weight:var(--snice-font-weight-medium,500);margin-bottom:var(--snice-spacing-2xs,.25rem)}.calendar__day--selected .calendar__day-number{color:var(--snice-color-text-inverse,rgb(250 250 250))}.calendar__events{display:flex;flex-direction:column;gap:var(--snice-spacing-3xs,.125rem);margin-top:var(--snice-spacing-2xs,.25rem)}.calendar__event{font-size:var(--snice-font-size-2xs, .625rem);padding:var(--snice-spacing-3xs,.125rem) var(--snice-spacing-2xs,.25rem);border-radius:var(--snice-border-radius-sm,.125rem);background:var(--snice-color-primary,rgb(37 99 235));color:var(--snice-color-text-inverse,rgb(250 250 250));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:opacity var(--snice-transition-fast, 150ms) ease}.calendar__event:hover{opacity:.8}.calendar__week-number{padding:var(--snice-spacing-sm,.75rem) var(--snice-spacing-xs,.5rem);text-align:center;font-size:var(--snice-font-size-xs, .75rem);color:var(--snice-color-text-tertiary,rgb(115 115 115));background:var(--snice-color-background-secondary,rgb(250 250 250));border-right:1px solid var(--snice-color-border,rgb(226 226 226))}.calendar--week .calendar__grid{grid-template-columns:repeat(7,1fr)}.calendar--week .calendar__day{min-height:7.5rem}.calendar--day .calendar__grid{grid-template-columns:1fr}.calendar--day .calendar__day{min-height:25rem}\";",null],"names":[],"mappings":"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"}
|
|
@@ -223,12 +223,28 @@ let SniceChart = (() => {
|
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
225
|
if (this.options.xAxis?.grid) {
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
this.
|
|
230
|
-
|
|
231
|
-
|
|
226
|
+
const hasBarChart = this.datasets.some(d => (d.type || this.type) === 'bar');
|
|
227
|
+
if (hasBarChart) {
|
|
228
|
+
// Bar chart: draw grid lines at segment boundaries
|
|
229
|
+
const numSegments = this.labels.length || xCount;
|
|
230
|
+
const segmentWidth = chartWidth / numSegments;
|
|
231
|
+
for (let i = 0; i <= numSegments; i++) {
|
|
232
|
+
const x = padding.left + segmentWidth * i;
|
|
233
|
+
this.ctx.beginPath();
|
|
234
|
+
this.ctx.moveTo(x, padding.top);
|
|
235
|
+
this.ctx.lineTo(x, padding.top + chartHeight);
|
|
236
|
+
this.ctx.stroke();
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
// Line/area chart: grid at data points
|
|
241
|
+
for (let i = 0; i <= xCount; i++) {
|
|
242
|
+
const x = padding.left + (chartWidth / xCount) * i;
|
|
243
|
+
this.ctx.beginPath();
|
|
244
|
+
this.ctx.moveTo(x, padding.top);
|
|
245
|
+
this.ctx.lineTo(x, padding.top + chartHeight);
|
|
246
|
+
this.ctx.stroke();
|
|
247
|
+
}
|
|
232
248
|
}
|
|
233
249
|
}
|
|
234
250
|
}
|
|
@@ -258,16 +274,30 @@ let SniceChart = (() => {
|
|
|
258
274
|
const y = padding.top + (chartHeight / yTicks) * i;
|
|
259
275
|
this.ctx.fillText(value.toFixed(1), padding.left - 10, y);
|
|
260
276
|
}
|
|
261
|
-
// X axis labels
|
|
277
|
+
// X axis labels
|
|
262
278
|
this.ctx.textAlign = 'center';
|
|
263
279
|
this.ctx.textBaseline = 'top';
|
|
264
280
|
const numLabels = this.labels.length;
|
|
265
281
|
if (numLabels > 0) {
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
282
|
+
// Check if we're drawing a bar chart
|
|
283
|
+
const hasBarChart = this.datasets.some(d => (d.type || this.type) === 'bar');
|
|
284
|
+
if (hasBarChart) {
|
|
285
|
+
// Bar chart: center labels in equal segments
|
|
286
|
+
const segmentWidth = chartWidth / numLabels;
|
|
287
|
+
for (let i = 0; i < numLabels; i++) {
|
|
288
|
+
const x = padding.left + segmentWidth * i + segmentWidth / 2;
|
|
289
|
+
const label = this.labels[i] || i.toString();
|
|
290
|
+
this.ctx.fillText(label, x, padding.top + chartHeight + 10);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
// Line/area chart: spread labels edge-to-edge
|
|
295
|
+
const spacing = chartWidth / (numLabels - 1 || 1);
|
|
296
|
+
for (let i = 0; i < numLabels; i++) {
|
|
297
|
+
const x = padding.left + spacing * i;
|
|
298
|
+
const label = this.labels[i] || i.toString();
|
|
299
|
+
this.ctx.fillText(label, x, padding.top + chartHeight + 10);
|
|
300
|
+
}
|
|
271
301
|
}
|
|
272
302
|
}
|
|
273
303
|
}
|
|
@@ -342,15 +372,17 @@ let SniceChart = (() => {
|
|
|
342
372
|
const visibleDatasets = this.datasets.filter((_, i) => !this.hiddenDatasets.has(i));
|
|
343
373
|
const datasetOffset = visibleDatasets.indexOf(dataset);
|
|
344
374
|
const numBars = dataset.data.length;
|
|
345
|
-
|
|
346
|
-
const
|
|
347
|
-
const
|
|
348
|
-
const singleBarWidth =
|
|
375
|
+
// For bar charts, divide width into equal segments
|
|
376
|
+
const segmentWidth = chartWidth / numBars;
|
|
377
|
+
const maxBarGroupWidth = segmentWidth * 0.8;
|
|
378
|
+
const singleBarWidth = maxBarGroupWidth / visibleCount;
|
|
349
379
|
dataset.data.forEach((value, index) => {
|
|
350
380
|
const y = typeof value === 'number' ? value : value.y || 0;
|
|
351
381
|
const barHeight = ((y - yMin) / (yMax - yMin)) * chartHeight;
|
|
352
|
-
|
|
353
|
-
|
|
382
|
+
// Center of this bar's segment
|
|
383
|
+
const segmentCenter = segmentWidth * index + segmentWidth / 2;
|
|
384
|
+
// For single dataset, center the bar. For multiple, offset by dataset position
|
|
385
|
+
let x = segmentCenter - singleBarWidth / 2 + (visibleCount > 1 ? datasetOffset * singleBarWidth - maxBarGroupWidth / 2 + singleBarWidth / 2 : 0);
|
|
354
386
|
if (x < 0)
|
|
355
387
|
x = 0;
|
|
356
388
|
if (x + singleBarWidth > chartWidth)
|