@gostudent/shared-ui-library-mcp 1.26.0-DT-17005.2 → 1.27.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/library-manifest.json +31 -134
- package/package.json +1 -1
package/library-manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"libraryVersion": "1.
|
|
2
|
+
"libraryVersion": "1.27.0",
|
|
3
3
|
"components": [
|
|
4
4
|
{
|
|
5
5
|
"name": "Avatar",
|
|
@@ -1367,6 +1367,16 @@
|
|
|
1367
1367
|
"description": "Legend label for marked dates. Defaults to \"has lesson\".",
|
|
1368
1368
|
"options": []
|
|
1369
1369
|
},
|
|
1370
|
+
{
|
|
1371
|
+
"name": "secondaryMarkedDates",
|
|
1372
|
+
"description": "Dates that show a secondary (dot) indicator, e.g. pending lessons.",
|
|
1373
|
+
"options": []
|
|
1374
|
+
},
|
|
1375
|
+
{
|
|
1376
|
+
"name": "secondaryMarkedDatesLabel",
|
|
1377
|
+
"description": "Legend label for secondary marked dates. Defaults to \"has pending feedback\".",
|
|
1378
|
+
"options": []
|
|
1379
|
+
},
|
|
1370
1380
|
{
|
|
1371
1381
|
"name": "disabledDates",
|
|
1372
1382
|
"description": "Dates that are not selectable.",
|
|
@@ -1413,6 +1423,11 @@
|
|
|
1413
1423
|
"name": "MyLessonsFlow",
|
|
1414
1424
|
"jsx": "// See \"MyLessonsFlow\" story — uses interactive render wrapper",
|
|
1415
1425
|
"storyUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/story/compositions-calendarsheet--my-lessons-flow"
|
|
1426
|
+
},
|
|
1427
|
+
{
|
|
1428
|
+
"name": "WithPendingLessons",
|
|
1429
|
+
"jsx": "// See \"WithPendingLessons\" story — uses interactive render wrapper",
|
|
1430
|
+
"storyUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/story/compositions-calendarsheet--with-pending-lessons"
|
|
1416
1431
|
}
|
|
1417
1432
|
]
|
|
1418
1433
|
},
|
|
@@ -1441,6 +1456,16 @@
|
|
|
1441
1456
|
"description": "When true and onClear is provided, shows the ✕ icon instead of the chevron.",
|
|
1442
1457
|
"options": []
|
|
1443
1458
|
},
|
|
1459
|
+
{
|
|
1460
|
+
"name": "onToday",
|
|
1461
|
+
"description": "When provided, renders a \"Today\" button beside the trigger that selects today\\'s date.",
|
|
1462
|
+
"options": []
|
|
1463
|
+
},
|
|
1464
|
+
{
|
|
1465
|
+
"name": "todayLabel",
|
|
1466
|
+
"description": "Label for the \"Today\" button. Default: \"Today\".",
|
|
1467
|
+
"options": []
|
|
1468
|
+
},
|
|
1444
1469
|
{
|
|
1445
1470
|
"name": "className",
|
|
1446
1471
|
"description": "Additional CSS class applied to the trigger wrapper.",
|
|
@@ -1457,6 +1482,11 @@
|
|
|
1457
1482
|
"name": "WithSelection",
|
|
1458
1483
|
"jsx": "// See \"WithSelection\" story — uses interactive render wrapper",
|
|
1459
1484
|
"storyUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/story/compositions-calendartrigger--with-selection"
|
|
1485
|
+
},
|
|
1486
|
+
{
|
|
1487
|
+
"name": "WithTodayButton",
|
|
1488
|
+
"jsx": "// See \"WithTodayButton\" story — uses interactive render wrapper",
|
|
1489
|
+
"storyUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/story/compositions-calendartrigger--with-today-button"
|
|
1460
1490
|
}
|
|
1461
1491
|
]
|
|
1462
1492
|
},
|
|
@@ -1553,88 +1583,6 @@
|
|
|
1553
1583
|
}
|
|
1554
1584
|
]
|
|
1555
1585
|
},
|
|
1556
|
-
{
|
|
1557
|
-
"name": "StudentLessonCard",
|
|
1558
|
-
"description": "The student-portal counterpart to `TutorLessonCard`. It displays a lesson session from the\nstudent's perspective: the identity block shows the **tutor**, and group lessons additionally show\nan `AvatarGroup` of the fellow classmates.\n\nSupports states driven by the `lessonState`, `type`, `modality`, and `feedbackState` props:\n\n| `lessonState` | `modality` | `feedbackState` | Actions |\n|------------------|-------------|-------------------|---------|\n| `upcoming` | `online` | — | \"Workspace\" link + \"Start lesson\" + \"Rate lesson\" (inactive) |\n| `upcoming` | `offline` | — | \"Rate lesson\" (inactive) |\n| `in-progress` | `online` | — | \"Workspace\" link + \"Start lesson\" + \"Rate lesson\" (active) |\n| `in-progress` | `offline` | — | \"Rate lesson\" (active) |\n| `completed` | any | `pending` | \"Rate lesson\" button (primary, active) |\n| `completed` | any | `submitted` | \"Check feedback\" button (secondary) |\n\n### Usage\n\n```tsx\nimport { StudentLessonCard } from '@gostudent/shared-ui-library';\n\n<StudentLessonCard\n title=\"English lesson\"\n modality=\"online\"\n type=\"individual\"\n subjects={['English']}\n time=\"17:00 - 18:00\"\n lessonState=\"upcoming\"\n tutor={{ name: 'Jane Tutor' }}\n isStartLessonDisabled\n/>\n```",
|
|
1559
|
-
"storybookUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/docs/compositions-studentlessoncard",
|
|
1560
|
-
"props": [
|
|
1561
|
-
{
|
|
1562
|
-
"name": "title",
|
|
1563
|
-
"description": "Lesson title shown as the card heading.",
|
|
1564
|
-
"options": [
|
|
1565
|
-
"online",
|
|
1566
|
-
"offline"
|
|
1567
|
-
]
|
|
1568
|
-
},
|
|
1569
|
-
{
|
|
1570
|
-
"name": "type",
|
|
1571
|
-
"description": "Lesson type — group lessons show a classmate AvatarGroup beside the tutor.",
|
|
1572
|
-
"options": [
|
|
1573
|
-
"individual",
|
|
1574
|
-
"group"
|
|
1575
|
-
]
|
|
1576
|
-
},
|
|
1577
|
-
{
|
|
1578
|
-
"name": "subjects",
|
|
1579
|
-
"description": "Array of subject labels rendered as Tag pills.",
|
|
1580
|
-
"options": []
|
|
1581
|
-
},
|
|
1582
|
-
{
|
|
1583
|
-
"name": "time",
|
|
1584
|
-
"description": "Formatted time range, e.g. \"17:00 - 18:00\".",
|
|
1585
|
-
"options": [
|
|
1586
|
-
"upcoming",
|
|
1587
|
-
"in-progress",
|
|
1588
|
-
"completed"
|
|
1589
|
-
]
|
|
1590
|
-
},
|
|
1591
|
-
{
|
|
1592
|
-
"name": "feedbackState",
|
|
1593
|
-
"description": "Feedback phase for completed lessons.",
|
|
1594
|
-
"options": [
|
|
1595
|
-
"pending",
|
|
1596
|
-
"submitted"
|
|
1597
|
-
]
|
|
1598
|
-
},
|
|
1599
|
-
{
|
|
1600
|
-
"name": "isStartLessonDisabled",
|
|
1601
|
-
"description": "Disables the \"Start lesson\" button.",
|
|
1602
|
-
"options": []
|
|
1603
|
-
},
|
|
1604
|
-
{
|
|
1605
|
-
"name": "hasKebab",
|
|
1606
|
-
"description": "Show or hide the kebab menu. When enabled, passes menu items to the card.",
|
|
1607
|
-
"options": []
|
|
1608
|
-
},
|
|
1609
|
-
{
|
|
1610
|
-
"name": "tutor",
|
|
1611
|
-
"description": "Tutor object ({ name, avatarSrc }) shown in the identity block.",
|
|
1612
|
-
"options": []
|
|
1613
|
-
},
|
|
1614
|
-
{
|
|
1615
|
-
"name": "onStartLesson",
|
|
1616
|
-
"description": "Called when \"Start lesson\" is clicked.",
|
|
1617
|
-
"options": []
|
|
1618
|
-
}
|
|
1619
|
-
],
|
|
1620
|
-
"examples": [
|
|
1621
|
-
{
|
|
1622
|
-
"name": "UpcomingIndividual",
|
|
1623
|
-
"jsx": "<StudentLessonCard title=\"Individual lesson\" modality=\"online\" type=\"individual\" subjects={['English']} time=\"17:00 - 18:00\" lessonState=\"upcoming\" isStartLessonDisabled={true} tutor={TUTOR} hasKebab={true} />",
|
|
1624
|
-
"storyUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/story/compositions-studentlessoncard--upcoming-individual"
|
|
1625
|
-
},
|
|
1626
|
-
{
|
|
1627
|
-
"name": "UpcomingGroup",
|
|
1628
|
-
"jsx": "<StudentLessonCard title=\"Group lesson\" modality=\"online\" type=\"group\" subjects={['English', 'Biology', 'Math']} time=\"17:00 - 18:00\" lessonState=\"upcoming\" isStartLessonDisabled={true} tutor={TUTOR} classmates={CLASSMATES} hasKebab={true} />",
|
|
1629
|
-
"storyUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/story/compositions-studentlessoncard--upcoming-group"
|
|
1630
|
-
},
|
|
1631
|
-
{
|
|
1632
|
-
"name": "UpcomingGroupOffline",
|
|
1633
|
-
"jsx": "<StudentLessonCard title=\"Group lesson\" modality=\"offline\" type=\"group\" subjects={['English', 'Biology', 'Math']} time=\"17:00 - 18:00\" room=\"Room 1\" lessonCenter=\"Centrostudi Navigli\" lessonState=\"upcoming\" tutor={TUTOR} classmates={CLASSMATES} hasKebab={true} />",
|
|
1634
|
-
"storyUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/story/compositions-studentlessoncard--upcoming-group-offline"
|
|
1635
|
-
}
|
|
1636
|
-
]
|
|
1637
|
-
},
|
|
1638
1586
|
{
|
|
1639
1587
|
"name": "TopNavigation",
|
|
1640
1588
|
"description": "Responsive top navigation bar. On **mobile/tablet** (< 1024 px) it shows the logo and a hamburger button that opens a slide-in drawer.\nOn **desktop** (≥ 1024 px) it shows the logo, a tab list, and the user section (Avatar + name + role Tag + chevron) with a dropdown.\n\nThe drawer open/close state is managed internally — no external state needed.\n\n### Usage\n\n```tsx\nimport { TopNavigation } from '@gostudent/shared-ui-library';\n\n<TopNavigation\n tabs={[\n { label: 'Lessons', isSelected: true, onClick: () => {} },\n { label: 'My availability', isSelected: false, onClick: () => {} },\n ]}\n userName=\"Anna James\"\n userRole=\"tutor\"\n navItems={[\n { icon: DashboardIcon, label: 'Lessons', isSelected: true, onClick: () => {} },\n ]}\n languages={[{ value: 'en', label: 'English' }]}\n onLanguageClick={() => {}}\n onLogout={() => {}}\n/>\n```",
|
|
@@ -1739,57 +1687,6 @@
|
|
|
1739
1687
|
}
|
|
1740
1688
|
]
|
|
1741
1689
|
},
|
|
1742
|
-
{
|
|
1743
|
-
"name": "TutorDetails",
|
|
1744
|
-
"description": "Renders a single tutor as an **Avatar** plus name in a horizontal row.\n\nBy default the name is shown in full. Set `truncate` to clip it with an ellipsis **on mobile**\nwhen it overflows — from the `tablet` breakpoint up the full name is always shown.\n\nTwo sizes are available — `md` (32px avatar, default) and `sm` (24px avatar).\n\nSetting `disabled` dims the row to 50% opacity and shows an \"Unavailable\" tooltip on hover/focus\n(override via `disabledLabel`).\n\nIntended for use inside `StudentLessonCard` as the tutor identity block — the student-portal\ncounterpart to `StudentDetails`.\n\n### Usage\n\n```tsx\nimport { TutorDetails } from '@gostudent/shared-ui-library';\n\n<TutorDetails name=\"John Doe\" avatarSrc=\"https://i.pravatar.cc/150?u=john\" />\n```",
|
|
1745
|
-
"storybookUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/docs/compositions-tutordetails",
|
|
1746
|
-
"props": [
|
|
1747
|
-
{
|
|
1748
|
-
"name": "name",
|
|
1749
|
-
"description": "Avatar status badge.",
|
|
1750
|
-
"options": [
|
|
1751
|
-
"default",
|
|
1752
|
-
"done",
|
|
1753
|
-
"pending"
|
|
1754
|
-
]
|
|
1755
|
-
},
|
|
1756
|
-
{
|
|
1757
|
-
"name": "size",
|
|
1758
|
-
"description": "Avatar size: sm=24px, md=32px (default).",
|
|
1759
|
-
"options": [
|
|
1760
|
-
"sm",
|
|
1761
|
-
"md"
|
|
1762
|
-
]
|
|
1763
|
-
},
|
|
1764
|
-
{
|
|
1765
|
-
"name": "truncate",
|
|
1766
|
-
"description": "Truncate the name with an ellipsis on mobile when it overflows. Off by default.",
|
|
1767
|
-
"options": []
|
|
1768
|
-
},
|
|
1769
|
-
{
|
|
1770
|
-
"name": "disabled",
|
|
1771
|
-
"description": "Tooltip text shown on hover/focus when disabled. Defaults to \"Unavailable\".",
|
|
1772
|
-
"options": []
|
|
1773
|
-
}
|
|
1774
|
-
],
|
|
1775
|
-
"examples": [
|
|
1776
|
-
{
|
|
1777
|
-
"name": "Default",
|
|
1778
|
-
"jsx": "<TutorDetails name=\"John Doe\" />",
|
|
1779
|
-
"storyUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/story/compositions-tutordetails--default"
|
|
1780
|
-
},
|
|
1781
|
-
{
|
|
1782
|
-
"name": "WithAvatarImage",
|
|
1783
|
-
"jsx": "<TutorDetails name=\"John Doe\" avatarSrc=\"https://i.pravatar.cc/150?u=john\" />",
|
|
1784
|
-
"storyUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/story/compositions-tutordetails--with-avatar-image"
|
|
1785
|
-
},
|
|
1786
|
-
{
|
|
1787
|
-
"name": "Small",
|
|
1788
|
-
"jsx": "<TutorDetails name=\"John Doe\" size=\"sm\" />",
|
|
1789
|
-
"storyUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/story/compositions-tutordetails--small"
|
|
1790
|
-
}
|
|
1791
|
-
]
|
|
1792
|
-
},
|
|
1793
1690
|
{
|
|
1794
1691
|
"name": "TutorLessonCard",
|
|
1795
1692
|
"description": "A domain-level card that displays a lesson session with all associated metadata.\n\nSupports states driven by the `lessonState`, `type`, `modality`, and `feedbackState` props:\n\n| `lessonState` | `type` | `modality` | `feedbackState` | Description |\n|----------------|-----------------|--------------|-----------------|-------------|\n| `upcoming` | `individual` | `online` | — | Metadata row (time) + actions in a wrapping flex row, \"Workspace\" link + \"Start GoClass\" button, `StudentDetails` always visible below |\n| `upcoming` | `group` | `online` | — | Metadata row (time, student count) + actions in a wrapping flex row, optional kebab menu, always-visible `StudentDetails` (desktop) / \"N students\" disclosure (mobile) below |\n| `upcoming` | `individual` | `offline` | — | Offline modality tag, metadata row includes room/lesson center, single \"Document lesson\" button |\n| `upcoming` | `group` | `offline` | — | Offline modality tag, metadata row includes room/lesson center, \"N students\" disclosure below |\n| `completed` | `individual` | `online` | `pending` | `StudentDetails` (24px, pending badge) inline, no dropdown, \"Document lesson\" button |\n| `completed` | `group` | `online` | `pending` | Disclosure toggle revealing `StudentDetails` (24px, done/pending badges), \"Document lesson\" button |\n| `completed` | `group` | `online` | `submitted` | \"Review feedback\" button, always-visible `StudentDetails` (desktop) / \"N students\" disclosure (mobile) |\n| `completed` | `individual` | `online` | `submitted` | \"Review feedback\" button, `StudentDetails` inline at both breakpoints |\n\nOnline lessons also show a \"Workspace\" link (secondary/link-styled) alongside \"Start GoClass\" /\n\"Document lesson\", for every lesson state.\n\n### Usage\n\n```tsx\nimport { TutorLessonCard } from '@gostudent/shared-ui-library';\n\n<TutorLessonCard\n title=\"English lesson\"\n modality=\"online\"\n type=\"individual\"\n subjects={['English']}\n time=\"17:00 - 18:00\"\n lessonState=\"upcoming\"\n students={[{ name: 'Alice Smith', grade: '8', subject: 'English' }]}\n isStartLessonDisabled\n/>\n```",
|
package/package.json
CHANGED