@gostudent/shared-ui-library-mcp 2.2.0-DT-17070.1 → 3.0.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 -20
- package/package.json +1 -1
package/library-manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"libraryVersion": "
|
|
2
|
+
"libraryVersion": "3.0.0",
|
|
3
3
|
"components": [
|
|
4
4
|
{
|
|
5
5
|
"name": "Avatar",
|
|
@@ -223,11 +223,6 @@
|
|
|
223
223
|
"description": "Legend label for secondary marked dates. Defaults to \"has pending feedback\".",
|
|
224
224
|
"options": []
|
|
225
225
|
},
|
|
226
|
-
{
|
|
227
|
-
"name": "legendText",
|
|
228
|
-
"description": "Simple centered helper message shown in the footer, e.g. \"Please select a date\". Ignored when markedDates or secondaryMarkedDates are provided.",
|
|
229
|
-
"options": []
|
|
230
|
-
},
|
|
231
226
|
{
|
|
232
227
|
"name": "todayLabel",
|
|
233
228
|
"description": "Label for the Today button. Defaults to \"Today\".",
|
|
@@ -235,7 +230,7 @@
|
|
|
235
230
|
},
|
|
236
231
|
{
|
|
237
232
|
"name": "hasTodayButton",
|
|
238
|
-
"description": "Show the \"Today\" button. When false, the header drops it and splits the prev/next nav to the edges (arrow, month label, arrow)
|
|
233
|
+
"description": "Show the \"Today\" button. When false, the header drops it and splits the prev/next nav to the edges (arrow, month label, arrow) — large arrow icons under `appearance=\"bottomSheet\"`, the same chevrons under `appearance=\"default\"`. Defaults to true.",
|
|
239
234
|
"options": []
|
|
240
235
|
},
|
|
241
236
|
{
|
|
@@ -1015,7 +1010,7 @@
|
|
|
1015
1010
|
},
|
|
1016
1011
|
{
|
|
1017
1012
|
"name": "InlineNotification",
|
|
1018
|
-
"description": "Embedded within the page layout, directly associated with a specific area of content.\nStays visible until the user dismisses it or the condition resolves.\n\nSupports five intent types: `info-neutral`, `info-branded`, `success`, `warning`, `error`.\n\nThe layout is responsive: stacked (mobile) → horizontal single-row (desktop ≥ 1024px).\nUse `stacked` to force the column layout regardless of viewport — useful inside narrow sidebar columns.\n\n### Usage\n\n```tsx\nimport { InlineNotification } from '@gostudent/shared-ui-library';\n\n<InlineNotification\n type=\"success\"\n title=\"Changes saved\"\n message=\"Your profile has been updated successfully.\"\n onDismiss={() => {}}\n/>\n```",
|
|
1013
|
+
"description": "Embedded within the page layout, directly associated with a specific area of content.\nStays visible until the user dismisses it or the condition resolves.\n\nSupports five intent types: `info-neutral`, `info-branded`, `success`, `warning`, `error`.\nSupports two sizes: `default` (16px padding) and `small` (8px padding).\n\nThe layout is responsive: stacked (mobile) → horizontal single-row (desktop ≥ 1024px).\nUse `stacked` to force the column layout regardless of viewport — useful inside narrow sidebar columns.\n\n### Usage\n\n```tsx\nimport { InlineNotification } from '@gostudent/shared-ui-library';\n\n<InlineNotification\n type=\"success\"\n title=\"Changes saved\"\n message=\"Your profile has been updated successfully.\"\n onDismiss={() => {}}\n/>\n```",
|
|
1019
1014
|
"storybookUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/docs/components-notification-inlinenotification",
|
|
1020
1015
|
"props": [
|
|
1021
1016
|
{
|
|
@@ -1028,12 +1023,20 @@
|
|
|
1028
1023
|
"warning",
|
|
1029
1024
|
"error"
|
|
1030
1025
|
]
|
|
1026
|
+
},
|
|
1027
|
+
{
|
|
1028
|
+
"name": "size",
|
|
1029
|
+
"description": "",
|
|
1030
|
+
"options": [
|
|
1031
|
+
"default",
|
|
1032
|
+
"small"
|
|
1033
|
+
]
|
|
1031
1034
|
}
|
|
1032
1035
|
],
|
|
1033
1036
|
"examples": [
|
|
1034
1037
|
{
|
|
1035
1038
|
"name": "Default",
|
|
1036
|
-
"jsx": "<InlineNotification type=\"info-neutral\" title=\"Notification title\" message=\"This is an informational message.\" />",
|
|
1039
|
+
"jsx": "<InlineNotification type=\"info-neutral\" size=\"default\" title=\"Notification title\" message=\"This is an informational message.\" />",
|
|
1037
1040
|
"storyUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/story/components-notification-inlinenotification--default"
|
|
1038
1041
|
},
|
|
1039
1042
|
{
|
|
@@ -1050,7 +1053,7 @@
|
|
|
1050
1053
|
},
|
|
1051
1054
|
{
|
|
1052
1055
|
"name": "ToastNotification",
|
|
1053
|
-
"description": "Transient overlay notifications that appear over the page content and auto-dismiss after a set duration (default 5s).\n\nWrap your app (or story) in `<ToastProvider>` and trigger toasts via the `useToast` hook.\n\n### Interaction rules\n- Hovering a toast pauses the auto-dismiss timer\n- Clicking ✕ dismisses immediately\n- New toasts push existing ones down (max 3 visible at once)\n- On mobile: full-width bottom-sheet style\n\n### Usage\n\n```tsx\nimport { ToastProvider, useToast } from '@gostudent/shared-ui-library';\n\nfunction App() {\n return (\n <ToastProvider>\n <MyPage />\n </ToastProvider>\n );\n}\n\nfunction MyPage() {\n const { addToast } = useToast();\n return (\n <button onClick={() => addToast({ type: 'success', title: 'Saved', message: 'Your changes have been saved.' })}>\n Save\n </button>\n );\n}\n```",
|
|
1056
|
+
"description": "Transient overlay notifications that appear over the page content and auto-dismiss after a set duration (default 5s).\nSupports two sizes: `default` (16px padding) and `small` (8px padding).\n\nWrap your app (or story) in `<ToastProvider>` and trigger toasts via the `useToast` hook.\n\n### Interaction rules\n- Hovering a toast pauses the auto-dismiss timer\n- Clicking ✕ dismisses immediately\n- New toasts push existing ones down (max 3 visible at once)\n- On mobile: full-width bottom-sheet style\n\n### Usage\n\n```tsx\nimport { ToastProvider, useToast } from '@gostudent/shared-ui-library';\n\nfunction App() {\n return (\n <ToastProvider>\n <MyPage />\n </ToastProvider>\n );\n}\n\nfunction MyPage() {\n const { addToast } = useToast();\n return (\n <button onClick={() => addToast({ type: 'success', title: 'Saved', message: 'Your changes have been saved.' })}>\n Save\n </button>\n );\n}\n```",
|
|
1054
1057
|
"storybookUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/docs/components-notification-toastnotification",
|
|
1055
1058
|
"props": [
|
|
1056
1059
|
{
|
|
@@ -1065,6 +1068,11 @@
|
|
|
1065
1068
|
"jsx": "// See \"Interactive\" story — uses interactive render wrapper",
|
|
1066
1069
|
"storyUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/story/components-notification-toastnotification--interactive"
|
|
1067
1070
|
},
|
|
1071
|
+
{
|
|
1072
|
+
"name": "AllSizes",
|
|
1073
|
+
"jsx": "// See \"AllSizes\" story — uses interactive render wrapper",
|
|
1074
|
+
"storyUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/story/components-notification-toastnotification--all-sizes"
|
|
1075
|
+
},
|
|
1068
1076
|
{
|
|
1069
1077
|
"name": "InteractionRules",
|
|
1070
1078
|
"jsx": "// See \"InteractionRules\" story — uses interactive render wrapper",
|
|
@@ -1074,7 +1082,7 @@
|
|
|
1074
1082
|
},
|
|
1075
1083
|
{
|
|
1076
1084
|
"name": "TopBanner",
|
|
1077
|
-
"description": "Full-width persistent notification placed above or below the main navigation bar.\nUsed for high-priority, global announcements (maintenance windows, subscription warnings, system-wide alerts).\n\n- Inline single-line layout, 56px height\n- 5 intent types: `info-neutral`, `info-branded`, `success`, `warning`, `error`\n- `info-branded` uses the Stars icon and branded colours\n- Max 1 banner at a time (usage rule — not enforced by the component)\n- Does not auto-dismiss\n\n### Usage\n\n```tsx\nimport { TopBanner } from '@gostudent/shared-ui-library';\n\n<TopBanner\n type=\"warning\"\n title=\"Scheduled maintenance\"\n message=\"Maintenance on Apr 26, 02:00–04:00 UTC.\"\n actionLink\n linkText=\"Learn more\"\n onDismiss={() => {}}\n/>\n```",
|
|
1085
|
+
"description": "Full-width persistent notification placed above or below the main navigation bar.\nUsed for high-priority, global announcements (maintenance windows, subscription warnings, system-wide alerts).\n\n- Inline single-line layout, 56px height\n- 5 intent types: `info-neutral`, `info-branded`, `success`, `warning`, `error`\n- 2 sizes: `default` (16px/24px text) and `small` (14px/20px text)\n- ⚠️ Breaking visual change: prior to the `size` prop, text always rendered at 14px/20px\n (now `small`). Consumers not passing `size` will see larger default text after upgrading.\n- `info-branded` uses the Stars icon and branded colours\n- Max 1 banner at a time (usage rule — not enforced by the component)\n- Does not auto-dismiss\n\n### Usage\n\n```tsx\nimport { TopBanner } from '@gostudent/shared-ui-library';\n\n<TopBanner\n type=\"warning\"\n title=\"Scheduled maintenance\"\n message=\"Maintenance on Apr 26, 02:00–04:00 UTC.\"\n actionLink\n linkText=\"Learn more\"\n onDismiss={() => {}}\n/>\n```",
|
|
1078
1086
|
"storybookUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/docs/components-notification-topbanner",
|
|
1079
1087
|
"props": [
|
|
1080
1088
|
{
|
|
@@ -1087,12 +1095,20 @@
|
|
|
1087
1095
|
"warning",
|
|
1088
1096
|
"error"
|
|
1089
1097
|
]
|
|
1098
|
+
},
|
|
1099
|
+
{
|
|
1100
|
+
"name": "size",
|
|
1101
|
+
"description": "",
|
|
1102
|
+
"options": [
|
|
1103
|
+
"default",
|
|
1104
|
+
"small"
|
|
1105
|
+
]
|
|
1090
1106
|
}
|
|
1091
1107
|
],
|
|
1092
1108
|
"examples": [
|
|
1093
1109
|
{
|
|
1094
1110
|
"name": "Default",
|
|
1095
|
-
"jsx": "<TopBanner type=\"info-neutral\" title=\"Information title\" message=\"This is an informational message.\" actionLink={true} linkText=\"Action link\" />",
|
|
1111
|
+
"jsx": "<TopBanner type=\"info-neutral\" size=\"default\" title=\"Information title\" message=\"This is an informational message.\" actionLink={true} linkText=\"Action link\" />",
|
|
1096
1112
|
"storyUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/story/components-notification-topbanner--default"
|
|
1097
1113
|
},
|
|
1098
1114
|
{
|
|
@@ -1537,11 +1553,6 @@
|
|
|
1537
1553
|
"description": "Legend label for secondary marked dates. Defaults to \"has pending feedback\".",
|
|
1538
1554
|
"options": []
|
|
1539
1555
|
},
|
|
1540
|
-
{
|
|
1541
|
-
"name": "legendText",
|
|
1542
|
-
"description": "Simple centered helper message shown in the footer, e.g. \"Please select a date\". Ignored when markedDates or secondaryMarkedDates are provided.",
|
|
1543
|
-
"options": []
|
|
1544
|
-
},
|
|
1545
1556
|
{
|
|
1546
1557
|
"name": "disabledDates",
|
|
1547
1558
|
"description": "Dates that are not selectable.",
|
|
@@ -1733,7 +1744,7 @@
|
|
|
1733
1744
|
},
|
|
1734
1745
|
{
|
|
1735
1746
|
"name": "HistoryLessonCard",
|
|
1736
|
-
"description": "A single row in a student's lesson history list. Behaviour is driven by `attendanceStatus` and\n`isDocumented`:\n\n| `attendanceStatus` | `isDocumented` | Renders |\n|-------------------------------------|------------------|---------|\n| `present` | `false` | \"Document lesson\" button |\n| `present` | `true` | Expandable tag row (chevron) revealing behaviour + learning content |\n| `absent` / `absent-with-reason` | — | Header, metadata and tags only — no button or chevron |\n\n### Usage\n\n```tsx\nimport { HistoryLessonCard } from '@gostudent/shared-ui-library';\n\n<HistoryLessonCard\n subject=\"Math\"\n date=\"10 Jul 2026\"\n time=\"14:00 - 15:00\"\n modality=\"offline\"\n location=\"Centrostudi Navigli\"\n attendanceStatus=\"present\"\n isDocumented={false}\n onDocumentLesson={() => {}}\n/>\n```",
|
|
1747
|
+
"description": "A single row in a student's lesson history list. Behaviour is driven by `attendanceStatus` and\n`isDocumented`:\n\n| `attendanceStatus` | `isDocumented` | Renders |\n|-------------------------------------|------------------|---------|\n| `present` | `false` | \"Document lesson\" button |\n| `present` | `true` | Expandable tag row (chevron) revealing behaviour + learning content |\n| `absent` / `absent-with-reason` | — | Header, metadata and tags only — no button or chevron |\n| omitted | `false`/`true` | No attendance badge; otherwise behaves as `present` |\n\n`attendanceStatus` and `location` are both optional. Omit `attendanceStatus` when attendance\nwas never marked — the badge is hidden rather than claiming a state the data does not support.\nOmit `location` when the lesson had no place, e.g. an online lesson.\n\n### Usage\n\n```tsx\nimport { HistoryLessonCard } from '@gostudent/shared-ui-library';\n\n<HistoryLessonCard\n subject=\"Math\"\n date=\"10 Jul 2026\"\n time=\"14:00 - 15:00\"\n modality=\"offline\"\n location=\"Centrostudi Navigli\"\n attendanceStatus=\"present\"\n isDocumented={false}\n onDocumentLesson={() => {}}\n/>\n```",
|
|
1737
1748
|
"storybookUrl": "https://62835ff8873d45004a627ad4-snugmmtvrg.chromatic.com/?path=/docs/compositions-historylessoncard",
|
|
1738
1749
|
"props": [
|
|
1739
1750
|
{
|
|
@@ -1746,12 +1757,12 @@
|
|
|
1746
1757
|
},
|
|
1747
1758
|
{
|
|
1748
1759
|
"name": "location",
|
|
1749
|
-
"description": "Room (online) or center (offline) name shown in the metadata row.",
|
|
1760
|
+
"description": "Room (online) or center (offline) name shown in the metadata row. Omit to hide the line entirely — e.g. an online lesson with no physical place.",
|
|
1750
1761
|
"options": []
|
|
1751
1762
|
},
|
|
1752
1763
|
{
|
|
1753
1764
|
"name": "attendanceStatus",
|
|
1754
|
-
"description": "Student attendance for this lesson. Absent states hide the button/chevron entirely.",
|
|
1765
|
+
"description": "Student attendance for this lesson. Absent states hide the button/chevron entirely. Omit when attendance was never marked — the badge is then hidden rather than asserting a state.",
|
|
1755
1766
|
"options": [
|
|
1756
1767
|
"present",
|
|
1757
1768
|
"absent",
|
package/package.json
CHANGED