@molecule/app-class-schedule-react 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ClassSchedule.d.ts.map +1 -1
- package/dist/ClassSchedule.js +14 -2
- package/package.json +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClassSchedule.d.ts","sourceRoot":"","sources":["../src/ClassSchedule.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKpD;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAA;IACV,gEAAgE;IAChE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAClC,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAA;IACb,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAA;IACX,oDAAoD;IACpD,KAAK,EAAE,SAAS,CAAA;IAChB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,uDAAuD;IACvD,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAClC,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAA;CACd;AAED,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,uEAAuE;IACvE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACxC,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAA;IAC7C,iDAAiD;IACjD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IAC1C,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAKD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAClE,MAAM,EAAE,CAAC,EAAE,GACV,KAAK,CAAC;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAgClD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,YAAgB,EAChB,QAAkB,EAClB,UAAe,EACf,eAAsB,EACtB,MAAM,EACN,YAAY,EACZ,WAAW,EACX,SAAS,GACV,EAAE,kBAAkB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"ClassSchedule.d.ts","sourceRoot":"","sources":["../src/ClassSchedule.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKpD;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAA;IACV,gEAAgE;IAChE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAClC,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAA;IACb,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAA;IACX,oDAAoD;IACpD,KAAK,EAAE,SAAS,CAAA;IAChB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,uDAAuD;IACvD,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAClC,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAA;CACd;AAED,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,uEAAuE;IACvE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACxC,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAA;IAC7C,iDAAiD;IACjD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IAC1C,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAKD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAClE,MAAM,EAAE,CAAC,EAAE,GACV,KAAK,CAAC;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAgClD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,YAAgB,EAChB,QAAkB,EAClB,UAAe,EACf,eAAsB,EACtB,MAAM,EACN,YAAY,EACZ,WAAW,EACX,SAAS,GACV,EAAE,kBAAkB,GAAG,YAAY,CAsOnC"}
|
package/dist/ClassSchedule.js
CHANGED
|
@@ -135,7 +135,13 @@ export function ClassSchedule({ events, weekStartsOn = 1, dayHours = [8, 18], ce
|
|
|
135
135
|
const laned = assignLanes(dayEvents);
|
|
136
136
|
return (_jsxs("div", { role: "presentation", "data-mol-id": "class-schedule-day-column", "data-weekday": weekday, className: cm.cn(cm.position('relative')), style: { height: `${totalHeightPx}px` }, children: [Array.from({ length: hourCount }).map((_, i) => {
|
|
137
137
|
const slotStart = startMinutes + i * MINUTES_PER_HOUR;
|
|
138
|
-
return (_jsx("button", { type: "button", "data-mol-id": "class-schedule-slot", "data-weekday": weekday, "data-start": slotStart, "aria-label": t('classSchedule.aria.slot', { weekday: weekdayLabel(weekday), time: formatHourLabel(slotStart) }, { defaultValue: 'Empty slot, {{weekday}} {{time}}' }), onClick: () => onSlotClick?.({ weekday, start: slotStart }),
|
|
138
|
+
return (_jsx("button", { type: "button", "data-mol-id": "class-schedule-slot", "data-weekday": weekday, "data-start": slotStart, "aria-label": t('classSchedule.aria.slot', { weekday: weekdayLabel(weekday), time: formatHourLabel(slotStart) }, { defaultValue: 'Empty slot, {{weekday}} {{time}}' }), onClick: () => onSlotClick?.({ weekday, start: slotStart }),
|
|
139
|
+
/* mol-bespoke-button: an INVISIBLE hour-slot hit target,
|
|
140
|
+
absolutely positioned over the grid — it has no label,
|
|
141
|
+
no surface and no chrome, so the inline
|
|
142
|
+
background/border/padding are native resets. A
|
|
143
|
+
`cm.button()` fill would paint the empty grid. */
|
|
144
|
+
style: {
|
|
139
145
|
position: 'absolute',
|
|
140
146
|
top: `${i * cellHeight}px`,
|
|
141
147
|
left: 0,
|
|
@@ -159,7 +165,13 @@ export function ClassSchedule({ events, weekStartsOn = 1, dayHours = [8, 18], ce
|
|
|
159
165
|
weekday: weekdayLabel(weekday),
|
|
160
166
|
start: formatHourLabel(event.start),
|
|
161
167
|
end: formatHourLabel(event.end),
|
|
162
|
-
}, { defaultValue: '{{weekday}} {{start}} – {{end}}' }), onClick: () => onEventClick?.(event), className: cm.cn(cm.flex({ direction: 'col', align: 'start' }), cm.sp('p', 1), cm.textSize('xs'), cm.fontWeight('semibold')),
|
|
168
|
+
}, { defaultValue: '{{weekday}} {{start}} – {{end}}' }), onClick: () => onEventClick?.(event), className: cm.cn(cm.flex({ direction: 'col', align: 'start' }), cm.sp('p', 1), cm.textSize('xs'), cm.fontWeight('semibold')),
|
|
169
|
+
/* mol-bespoke-button: a calendar EVENT TILE, not a CTA —
|
|
170
|
+
it is absolutely positioned and sized from the event's
|
|
171
|
+
start/end times and lane, and its left border carries
|
|
172
|
+
the caller's own `accentColor` (data, not a design
|
|
173
|
+
token). No `cm.button()` tier can express either. */
|
|
174
|
+
style: {
|
|
163
175
|
position: 'absolute',
|
|
164
176
|
top: `${topPx}px`,
|
|
165
177
|
height: `${heightPx}px`,
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@molecule/app-class-schedule-react",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Weekly class-schedule grid — 7-day × N-hour time grid with absolutely positioned events, click-event vs click-empty-slot dispatch, side-by-side stacking for overlaps",
|
|
5
|
+
"homepage": "https://www.molecule.dev/packages/app-class-schedule-react",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"main": "dist/index.js",
|
|
7
8
|
"types": "dist/index.d.ts",
|
|
@@ -39,9 +40,9 @@
|
|
|
39
40
|
"react": "^18.0.0 || ^19.0.0"
|
|
40
41
|
},
|
|
41
42
|
"devDependencies": {
|
|
42
|
-
"@molecule/app-i18n": "1.0.
|
|
43
|
-
"@molecule/app-react": "1.0
|
|
44
|
-
"@molecule/app-ui": "1.
|
|
43
|
+
"@molecule/app-i18n": "1.0.2",
|
|
44
|
+
"@molecule/app-react": "1.6.0",
|
|
45
|
+
"@molecule/app-ui": "1.1.1",
|
|
45
46
|
"@testing-library/react": "16.3.2",
|
|
46
47
|
"@types/node": "26.1.2",
|
|
47
48
|
"@types/react": "19.2.17",
|
|
@@ -49,6 +50,6 @@
|
|
|
49
50
|
"react": "19.2.8",
|
|
50
51
|
"react-dom": "19.2.8",
|
|
51
52
|
"typescript": "6.0.3",
|
|
52
|
-
"vitest": "4.1.
|
|
53
|
+
"vitest": "4.1.11"
|
|
53
54
|
}
|
|
54
55
|
}
|