@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.
@@ -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,CA4NnC"}
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"}
@@ -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 }), style: {
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')), style: {
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.1",
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.1",
43
- "@molecule/app-react": "1.0.1",
44
- "@molecule/app-ui": "1.0.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.10"
53
+ "vitest": "4.1.11"
53
54
  }
54
55
  }