@proyecto-viviana/ui 0.3.4 → 0.4.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/LICENSE +21 -0
- package/README.md +80 -157
- package/dist/ActionButton.d.ts +2 -0
- package/dist/ActionButton.d.ts.map +1 -0
- package/dist/ActionButton.js +1 -0
- package/dist/ActionButton.jsx +1 -0
- package/dist/ActionMenu.d.ts +2 -0
- package/dist/ActionMenu.d.ts.map +1 -0
- package/dist/ActionMenu.js +1 -0
- package/dist/ActionMenu.jsx +1 -0
- package/dist/Breadcrumbs.d.ts +2 -0
- package/dist/Breadcrumbs.d.ts.map +1 -0
- package/dist/Breadcrumbs.js +1 -0
- package/dist/Breadcrumbs.jsx +1 -0
- package/dist/Button.d.ts +2 -0
- package/dist/Button.d.ts.map +1 -0
- package/dist/Button.js +1 -0
- package/dist/Button.jsx +1 -0
- package/dist/Calendar.d.ts +2 -0
- package/dist/Calendar.d.ts.map +1 -0
- package/dist/Calendar.js +1 -0
- package/dist/Calendar.jsx +1 -0
- package/dist/CalendarCard.d.ts +2 -0
- package/dist/CalendarCard.d.ts.map +1 -0
- package/dist/CalendarCard.js +97 -0
- package/dist/CalendarCard.js.map +1 -0
- package/dist/CalendarCard.jsx +51 -0
- package/dist/CalendarCard.jsx.map +1 -0
- package/dist/Card.d.ts +2 -0
- package/dist/Card.d.ts.map +1 -0
- package/dist/Card.js +1 -0
- package/dist/Card.jsx +1 -0
- package/dist/CardView.d.ts +2 -0
- package/dist/CardView.d.ts.map +1 -0
- package/dist/CardView.js +1 -0
- package/dist/CardView.jsx +1 -0
- package/dist/CenterBaseline.d.ts +2 -0
- package/dist/CenterBaseline.d.ts.map +1 -0
- package/dist/CenterBaseline.js +1 -0
- package/dist/CenterBaseline.jsx +1 -0
- package/dist/Chip.d.ts +2 -0
- package/dist/Chip.d.ts.map +1 -0
- package/dist/Chip.js +2 -0
- package/dist/Chip.jsx +2 -0
- package/dist/ColorArea.d.ts +2 -0
- package/dist/ColorArea.d.ts.map +1 -0
- package/dist/ColorArea.js +1 -0
- package/dist/ColorArea.jsx +1 -0
- package/dist/ColorField.d.ts +2 -0
- package/dist/ColorField.d.ts.map +1 -0
- package/dist/ColorField.js +1 -0
- package/dist/ColorField.jsx +1 -0
- package/dist/ColorSlider.d.ts +2 -0
- package/dist/ColorSlider.d.ts.map +1 -0
- package/dist/ColorSlider.js +1 -0
- package/dist/ColorSlider.jsx +1 -0
- package/dist/ColorSwatch.d.ts +2 -0
- package/dist/ColorSwatch.d.ts.map +1 -0
- package/dist/ColorSwatch.js +1 -0
- package/dist/ColorSwatch.jsx +1 -0
- package/dist/ColorSwatchPicker.d.ts +2 -0
- package/dist/ColorSwatchPicker.d.ts.map +1 -0
- package/dist/ColorSwatchPicker.js +1 -0
- package/dist/ColorSwatchPicker.jsx +1 -0
- package/dist/ColorWheel.d.ts +2 -0
- package/dist/ColorWheel.d.ts.map +1 -0
- package/dist/ColorWheel.js +1 -0
- package/dist/ColorWheel.jsx +1 -0
- package/dist/ContrastIcon.d.ts +3 -0
- package/dist/ContrastIcon.d.ts.map +1 -0
- package/dist/ContrastIcon.js +3 -0
- package/dist/ContrastIcon.jsx +3 -0
- package/dist/Conversation.d.ts +2 -0
- package/dist/Conversation.d.ts.map +1 -0
- package/dist/Conversation.js +177 -0
- package/dist/Conversation.js.map +1 -0
- package/dist/Conversation.jsx +107 -0
- package/dist/Conversation.jsx.map +1 -0
- package/dist/Disclosure.d.ts +2 -0
- package/dist/Disclosure.d.ts.map +1 -0
- package/dist/Disclosure.js +1 -0
- package/dist/Disclosure.jsx +1 -0
- package/dist/EventCard.d.ts +2 -0
- package/dist/EventCard.d.ts.map +1 -0
- package/dist/EventCard.js +173 -0
- package/dist/EventCard.js.map +1 -0
- package/dist/EventCard.jsx +96 -0
- package/dist/EventCard.jsx.map +1 -0
- package/dist/FileTrigger.d.ts +2 -0
- package/dist/FileTrigger.d.ts.map +1 -0
- package/dist/FileTrigger.js +1 -0
- package/dist/FileTrigger.jsx +1 -0
- package/dist/GitHubIcon.d.ts +2 -0
- package/dist/GitHubIcon.d.ts.map +1 -0
- package/dist/GitHubIcon.js +1 -0
- package/dist/GitHubIcon.jsx +1 -0
- package/dist/LightenIcon.d.ts +3 -0
- package/dist/LightenIcon.d.ts.map +1 -0
- package/dist/LightenIcon.js +3 -0
- package/dist/LightenIcon.jsx +3 -0
- package/dist/LinkButton.d.ts +2 -0
- package/dist/LinkButton.d.ts.map +1 -0
- package/dist/LinkButton.js +1 -0
- package/dist/LinkButton.jsx +1 -0
- package/dist/ListView.d.ts +2 -0
- package/dist/ListView.d.ts.map +1 -0
- package/dist/ListView.js +1 -0
- package/dist/ListView.jsx +1 -0
- package/dist/Logo.d.ts +2 -0
- package/dist/Logo.d.ts.map +1 -0
- package/dist/Logo.js +116 -0
- package/dist/Logo.js.map +1 -0
- package/dist/Logo.jsx +101 -0
- package/dist/Logo.jsx.map +1 -0
- package/dist/Menu.d.ts +2 -0
- package/dist/Menu.d.ts.map +1 -0
- package/dist/Menu.js +1 -0
- package/dist/Menu.jsx +1 -0
- package/dist/PageLayout.d.ts +2 -0
- package/dist/PageLayout.d.ts.map +1 -0
- package/dist/PageLayout.js +31 -0
- package/dist/PageLayout.js.map +1 -0
- package/dist/PageLayout.jsx +23 -0
- package/dist/PageLayout.jsx.map +1 -0
- package/dist/Picker.d.ts +2 -0
- package/dist/Picker.d.ts.map +1 -0
- package/dist/Picker.js +1 -0
- package/dist/Picker.jsx +1 -0
- package/dist/ProfileCard.d.ts +2 -0
- package/dist/ProfileCard.d.ts.map +1 -0
- package/dist/ProfileCard.js +78 -0
- package/dist/ProfileCard.js.map +1 -0
- package/dist/ProfileCard.jsx +53 -0
- package/dist/ProfileCard.jsx.map +1 -0
- package/dist/ProjectCard.d.ts +2 -0
- package/dist/ProjectCard.d.ts.map +1 -0
- package/dist/ProjectCard.js +164 -0
- package/dist/ProjectCard.js.map +1 -0
- package/dist/ProjectCard.jsx +133 -0
- package/dist/ProjectCard.jsx.map +1 -0
- package/dist/Provider.d.ts +2 -0
- package/dist/Provider.d.ts.map +1 -0
- package/dist/Provider.js +1 -0
- package/dist/Provider.jsx +1 -0
- package/dist/RangeCalendar.d.ts +2 -0
- package/dist/RangeCalendar.d.ts.map +1 -0
- package/dist/RangeCalendar.js +1 -0
- package/dist/RangeCalendar.jsx +1 -0
- package/dist/SearchField.d.ts +2 -0
- package/dist/SearchField.d.ts.map +1 -0
- package/dist/SearchField.js +1 -0
- package/dist/SearchField.jsx +1 -0
- package/dist/SegmentedControl.d.ts +2 -0
- package/dist/SegmentedControl.d.ts.map +1 -0
- package/dist/SegmentedControl.js +1 -0
- package/dist/SegmentedControl.jsx +1 -0
- package/dist/Switch.d.ts +2 -0
- package/dist/Switch.d.ts.map +1 -0
- package/dist/Switch.js +1 -0
- package/dist/Switch.jsx +1 -0
- package/dist/Tabs.d.ts +2 -0
- package/dist/Tabs.d.ts.map +1 -0
- package/dist/Tabs.js +1 -0
- package/dist/Tabs.jsx +1 -0
- package/dist/TextArea.d.ts +2 -0
- package/dist/TextArea.d.ts.map +1 -0
- package/dist/TextArea.js +1 -0
- package/dist/TextArea.jsx +1 -0
- package/dist/TextField.d.ts +2 -0
- package/dist/TextField.d.ts.map +1 -0
- package/dist/TextField.js +1 -0
- package/dist/TextField.jsx +1 -0
- package/dist/TimelineItem.d.ts +2 -0
- package/dist/TimelineItem.d.ts.map +1 -0
- package/dist/TimelineItem.js +137 -0
- package/dist/TimelineItem.js.map +1 -0
- package/dist/TimelineItem.jsx +70 -0
- package/dist/TimelineItem.jsx.map +1 -0
- package/dist/TreeView.d.ts +2 -0
- package/dist/TreeView.d.ts.map +1 -0
- package/dist/TreeView.js +1 -0
- package/dist/TreeView.jsx +1 -0
- package/dist/chip2.js +82 -0
- package/dist/chip2.js.map +1 -0
- package/dist/chip2.jsx +68 -0
- package/dist/chip2.jsx.map +1 -0
- package/dist/components.css +2 -1077
- package/dist/custom/calendar-card/index.d.ts.map +1 -1
- package/dist/custom/chip/index.d.ts +2 -2
- package/dist/custom/chip/index.d.ts.map +1 -1
- package/dist/custom/conversation/index.d.ts +2 -2
- package/dist/custom/conversation/index.d.ts.map +1 -1
- package/dist/custom/event-card/index.d.ts +1 -1
- package/dist/custom/event-card/index.d.ts.map +1 -1
- package/dist/custom/header/index.d.ts +2 -6
- package/dist/custom/header/index.d.ts.map +1 -1
- package/dist/custom/lateral-nav/index.d.ts +1 -1
- package/dist/custom/lateral-nav/index.d.ts.map +1 -1
- package/dist/custom/logo/index.d.ts +1 -18
- package/dist/custom/logo/index.d.ts.map +1 -1
- package/dist/custom/nav-header/index.d.ts +2 -1
- package/dist/custom/nav-header/index.d.ts.map +1 -1
- package/dist/custom/page-layout/index.d.ts +1 -7
- package/dist/custom/page-layout/index.d.ts.map +1 -1
- package/dist/custom/profile-card/index.d.ts +1 -1
- package/dist/custom/profile-card/index.d.ts.map +1 -1
- package/dist/custom/project-card/index.d.ts +2 -13
- package/dist/custom/project-card/index.d.ts.map +1 -1
- package/dist/custom/timeline-item/index.d.ts +2 -2
- package/dist/custom/timeline-item/index.d.ts.map +1 -1
- package/dist/font-faces.css +1 -0
- package/dist/index.d.ts +1 -104
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -8222
- package/dist/index.jsx +1 -0
- package/dist/style/runtime.d.ts +2 -0
- package/dist/style/runtime.d.ts.map +1 -0
- package/dist/style/runtime.js +1 -0
- package/dist/style/runtime.jsx +1 -0
- package/dist/style.d.ts +2 -0
- package/dist/style.d.ts.map +1 -0
- package/dist/style.js +1 -0
- package/dist/style.jsx +1 -0
- package/dist/styles.css +9 -450
- package/dist/theme.css +2 -101
- package/dist/vite.d.ts +15 -0
- package/dist/vite.d.ts.map +1 -0
- package/dist/vite.js +74 -0
- package/dist/vite.js.map +1 -0
- package/dist/vite.jsx +74 -0
- package/dist/vite.jsx.map +1 -0
- package/dist/viviana-tokens.css +318 -0
- package/package.json +300 -44
- package/src/ActionButton.ts +1 -0
- package/src/ActionMenu.ts +1 -0
- package/src/Breadcrumbs.ts +1 -0
- package/src/Button.ts +1 -0
- package/src/Calendar.ts +1 -0
- package/src/CalendarCard.ts +1 -0
- package/src/Card.ts +1 -0
- package/src/CardView.ts +1 -0
- package/src/CenterBaseline.ts +1 -0
- package/src/Chip.ts +1 -0
- package/src/ColorArea.ts +1 -0
- package/src/ColorField.ts +1 -0
- package/src/ColorSlider.ts +1 -0
- package/src/ColorSwatch.ts +1 -0
- package/src/ColorSwatchPicker.ts +1 -0
- package/src/ColorWheel.ts +1 -0
- package/src/ContrastIcon.ts +2 -0
- package/src/Conversation.ts +1 -0
- package/src/Disclosure.ts +1 -0
- package/src/EventCard.ts +1 -0
- package/src/FileTrigger.ts +1 -0
- package/src/GitHubIcon.ts +1 -0
- package/src/LightenIcon.ts +2 -0
- package/src/LinkButton.ts +1 -0
- package/src/ListView.ts +1 -0
- package/src/Logo.ts +1 -0
- package/src/Menu.ts +1 -0
- package/src/PageLayout.ts +1 -0
- package/src/Picker.ts +1 -0
- package/src/ProfileCard.ts +1 -0
- package/src/ProjectCard.ts +1 -0
- package/src/Provider.ts +1 -0
- package/src/RangeCalendar.ts +1 -0
- package/src/SearchField.ts +1 -0
- package/src/SegmentedControl.ts +1 -0
- package/src/Switch.ts +1 -0
- package/src/Tabs.ts +1 -0
- package/src/TextArea.ts +1 -0
- package/src/TextField.ts +1 -0
- package/src/TimelineItem.ts +1 -0
- package/src/TreeView.ts +1 -0
- package/src/components.css +2 -1077
- package/src/custom/calendar-card/index.tsx +99 -50
- package/src/custom/chip/index.tsx +59 -27
- package/src/custom/conversation/index.tsx +149 -55
- package/src/custom/event-card/index.tsx +174 -74
- package/src/custom/header/index.tsx +64 -33
- package/src/custom/lateral-nav/index.tsx +84 -38
- package/src/custom/logo/index.tsx +34 -39
- package/src/custom/nav-header/index.tsx +81 -25
- package/src/custom/page-layout/index.tsx +23 -19
- package/src/custom/profile-card/index.tsx +85 -35
- package/src/custom/project-card/index.tsx +57 -40
- package/src/custom/timeline-item/index.tsx +83 -48
- package/src/font-faces.css +1 -0
- package/src/index.ts +8 -322
- package/src/style/runtime.ts +2 -0
- package/src/style.ts +5 -0
- package/src/styles.css +6 -450
- package/src/theme.css +2 -101
- package/src/vite.ts +152 -0
- package/src/viviana-tokens.css +318 -0
- package/dist/alert/index.d.ts +0 -12
- package/dist/alert/index.d.ts.map +0 -1
- package/dist/autocomplete/index.d.ts +0 -89
- package/dist/autocomplete/index.d.ts.map +0 -1
- package/dist/avatar/index.d.ts +0 -17
- package/dist/avatar/index.d.ts.map +0 -1
- package/dist/badge/index.d.ts +0 -12
- package/dist/badge/index.d.ts.map +0 -1
- package/dist/breadcrumbs/index.d.ts +0 -38
- package/dist/breadcrumbs/index.d.ts.map +0 -1
- package/dist/button/Button.d.ts +0 -19
- package/dist/button/Button.d.ts.map +0 -1
- package/dist/button/index.d.ts +0 -3
- package/dist/button/index.d.ts.map +0 -1
- package/dist/button/types.d.ts +0 -23
- package/dist/button/types.d.ts.map +0 -1
- package/dist/calendar/DateField.d.ts +0 -47
- package/dist/calendar/DateField.d.ts.map +0 -1
- package/dist/calendar/DatePicker.d.ts +0 -48
- package/dist/calendar/DatePicker.d.ts.map +0 -1
- package/dist/calendar/RangeCalendar.d.ts +0 -42
- package/dist/calendar/RangeCalendar.d.ts.map +0 -1
- package/dist/calendar/TimeField.d.ts +0 -44
- package/dist/calendar/TimeField.d.ts.map +0 -1
- package/dist/calendar/index.d.ts +0 -50
- package/dist/calendar/index.d.ts.map +0 -1
- package/dist/checkbox/index.d.ts +0 -43
- package/dist/checkbox/index.d.ts.map +0 -1
- package/dist/color/index.d.ts +0 -228
- package/dist/color/index.d.ts.map +0 -1
- package/dist/combobox/index.d.ts +0 -81
- package/dist/combobox/index.d.ts.map +0 -1
- package/dist/dialog/Dialog.d.ts +0 -67
- package/dist/dialog/Dialog.d.ts.map +0 -1
- package/dist/dialog/index.d.ts +0 -3
- package/dist/dialog/index.d.ts.map +0 -1
- package/dist/disclosure/index.d.ts +0 -84
- package/dist/disclosure/index.d.ts.map +0 -1
- package/dist/gridlist/index.d.ts +0 -92
- package/dist/gridlist/index.d.ts.map +0 -1
- package/dist/icon/icons/GitHubIcon.d.ts +0 -7
- package/dist/icon/icons/GitHubIcon.d.ts.map +0 -1
- package/dist/icon/index.d.ts +0 -28
- package/dist/icon/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -7
- package/dist/index.ssr.js +0 -6631
- package/dist/index.ssr.js.map +0 -7
- package/dist/landmark/index.d.ts +0 -83
- package/dist/landmark/index.d.ts.map +0 -1
- package/dist/link/index.d.ts +0 -39
- package/dist/link/index.d.ts.map +0 -1
- package/dist/listbox/index.d.ts +0 -47
- package/dist/listbox/index.d.ts.map +0 -1
- package/dist/menu/index.d.ts +0 -74
- package/dist/menu/index.d.ts.map +0 -1
- package/dist/meter/index.d.ts +0 -49
- package/dist/meter/index.d.ts.map +0 -1
- package/dist/numberfield/index.d.ts +0 -50
- package/dist/numberfield/index.d.ts.map +0 -1
- package/dist/popover/index.d.ts +0 -85
- package/dist/popover/index.d.ts.map +0 -1
- package/dist/progress-bar/index.d.ts +0 -49
- package/dist/progress-bar/index.d.ts.map +0 -1
- package/dist/radio/index.d.ts +0 -46
- package/dist/radio/index.d.ts.map +0 -1
- package/dist/searchfield/index.d.ts +0 -44
- package/dist/searchfield/index.d.ts.map +0 -1
- package/dist/select/index.d.ts +0 -72
- package/dist/select/index.d.ts.map +0 -1
- package/dist/separator/index.d.ts +0 -42
- package/dist/separator/index.d.ts.map +0 -1
- package/dist/slider/index.d.ts +0 -53
- package/dist/slider/index.d.ts.map +0 -1
- package/dist/switch/ToggleSwitch.d.ts +0 -28
- package/dist/switch/ToggleSwitch.d.ts.map +0 -1
- package/dist/switch/index.d.ts +0 -26
- package/dist/switch/index.d.ts.map +0 -1
- package/dist/table/index.d.ts +0 -140
- package/dist/table/index.d.ts.map +0 -1
- package/dist/tabs/index.d.ts +0 -56
- package/dist/tabs/index.d.ts.map +0 -1
- package/dist/tag-group/index.d.ts +0 -80
- package/dist/tag-group/index.d.ts.map +0 -1
- package/dist/test-utils/index.d.ts +0 -44
- package/dist/test-utils/index.d.ts.map +0 -1
- package/dist/textfield/index.d.ts +0 -31
- package/dist/textfield/index.d.ts.map +0 -1
- package/dist/toast/index.d.ts +0 -101
- package/dist/toast/index.d.ts.map +0 -1
- package/dist/toolbar/index.d.ts +0 -42
- package/dist/toolbar/index.d.ts.map +0 -1
- package/dist/tooltip/index.d.ts +0 -78
- package/dist/tooltip/index.d.ts.map +0 -1
- package/dist/tree/index.d.ts +0 -99
- package/dist/tree/index.d.ts.map +0 -1
- package/src/alert/index.tsx +0 -48
- package/src/assets/favicon.png +0 -0
- package/src/assets/fire.gif +0 -0
- package/src/autocomplete/index.tsx +0 -313
- package/src/avatar/index.tsx +0 -75
- package/src/badge/index.tsx +0 -43
- package/src/breadcrumbs/index.tsx +0 -207
- package/src/button/Button.tsx +0 -74
- package/src/button/index.ts +0 -2
- package/src/button/types.ts +0 -24
- package/src/calendar/DateField.tsx +0 -200
- package/src/calendar/DatePicker.tsx +0 -298
- package/src/calendar/RangeCalendar.tsx +0 -236
- package/src/calendar/TimeField.tsx +0 -196
- package/src/calendar/index.tsx +0 -223
- package/src/checkbox/index.tsx +0 -257
- package/src/color/index.tsx +0 -687
- package/src/combobox/index.tsx +0 -383
- package/src/dialog/Dialog.tsx +0 -260
- package/src/dialog/index.tsx +0 -3
- package/src/disclosure/index.tsx +0 -307
- package/src/gridlist/index.tsx +0 -403
- package/src/icon/icons/GitHubIcon.tsx +0 -20
- package/src/icon/index.tsx +0 -48
- package/src/landmark/index.tsx +0 -231
- package/src/link/index.tsx +0 -130
- package/src/listbox/index.tsx +0 -231
- package/src/menu/index.tsx +0 -297
- package/src/meter/index.tsx +0 -163
- package/src/numberfield/index.tsx +0 -482
- package/src/popover/index.tsx +0 -260
- package/src/progress-bar/index.tsx +0 -169
- package/src/radio/index.tsx +0 -173
- package/src/searchfield/index.tsx +0 -453
- package/src/select/index.tsx +0 -349
- package/src/separator/index.tsx +0 -141
- package/src/slider/index.tsx +0 -382
- package/src/switch/ToggleSwitch.tsx +0 -112
- package/src/switch/index.tsx +0 -90
- package/src/table/index.tsx +0 -531
- package/src/tabs/index.tsx +0 -273
- package/src/tag-group/index.tsx +0 -240
- package/src/test-utils/index.ts +0 -40
- package/src/textfield/index.tsx +0 -211
- package/src/toast/index.tsx +0 -324
- package/src/toolbar/index.tsx +0 -108
- package/src/tooltip/index.tsx +0 -197
- package/src/tree/index.tsx +0 -494
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfileCard.js","names":[],"sources":["../src/custom/profile-card/index.tsx"],"sourcesContent":["import type { JSX } from \"solid-js\";\nimport { Show } from \"solid-js\";\nimport { Avatar } from \"@proyecto-viviana/solid-spectrum\";\n// Styled via the S2 style() macro through viviana's own seam (../../style →\n// src/style.ts). Mirrors S2's UserCard shape (avatar + title/description +\n// footer actions) on the S2 spacing/radius/elevation ramps, in Silapse colors.\nimport { style } from \"../../style\" with { type: \"macro\" };\n\nexport interface ProfileCardProps {\n username: string;\n avatar?: string;\n bio?: string;\n followers?: number;\n following?: number;\n /**\n * Actions to display below the profile.\n * Use a function returning JSX for SSR compatibility: `actions={() => <Button>...</Button>}`\n */\n actions?: JSX.Element | (() => JSX.Element);\n class?: string;\n}\n\nconst card = style({\n display: \"flex\",\n flexDirection: \"column\",\n gap: 16,\n padding: 16,\n borderRadius: \"lg\",\n backgroundColor: \"[var(--color-bg-200)]\",\n boxShadow: \"elevated\",\n});\n\nconst head = style({\n display: \"flex\",\n alignItems: \"start\",\n gap: 16,\n});\n\nconst info = style({\n display: \"flex\",\n flexDirection: \"column\",\n gap: 4,\n flexGrow: 1,\n minWidth: 0,\n});\n\nconst name = style({\n font: \"heading-sm\",\n color: \"[var(--color-primary-100)]\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n});\n\nconst bio = style({\n font: \"ui-sm\",\n color: \"[var(--color-text-secondary)]\",\n});\n\nconst stats = style({\n display: \"flex\",\n gap: 16,\n font: \"ui-sm\",\n color: \"[var(--color-text-secondary)]\",\n});\n\nconst statValue = style({\n fontWeight: \"bold\",\n color: \"[var(--color-primary-100)]\",\n});\n\nconst actionRow = style({\n display: \"flex\",\n gap: 8,\n});\n\nexport function ProfileCard(props: ProfileCardProps) {\n const formatNumber = (num: number) => {\n if (num >= 1000000) return `${(num / 1000000).toFixed(1)}M`;\n if (num >= 1000) return `${(num / 1000).toFixed(1)}K`;\n return num.toString();\n };\n\n return (\n <div class={`${card} ${props.class ?? \"\"}`}>\n <div class={head}>\n <Avatar src={props.avatar} alt={props.username} size=\"lg\" />\n <div class={info}>\n <h3 class={name}>{props.username}</h3>\n <Show when={props.bio}>\n <p class={bio}>{props.bio}</p>\n </Show>\n <div class={stats}>\n <Show when={props.followers !== undefined}>\n <span>\n <span class={statValue}>{formatNumber(props.followers!)}</span> seguidores\n </span>\n </Show>\n <Show when={props.following !== undefined}>\n <span>\n <span class={statValue}>{formatNumber(props.following!)}</span> siguiendo\n </span>\n </Show>\n </div>\n </div>\n </div>\n <Show when={props.actions}>\n <div class={actionRow}>\n {typeof props.actions === \"function\" ? props.actions() : props.actions}\n </div>\n </Show>\n </div>\n );\n}\n"],"mappings":";;;;;;;;AAsBA,MAAM,OAAA;AAsDN,SAAgB,YAAY,OAAuB;CACjD,MAAM,gBAAgB,QAAW;EAC/B,IAAI,OAAO,KAAS,OAAO,IAAI,MAAM,KAAS,QAAQ,CAAA,EAAA;EACtD,IAAI,OAAO,KAAM,OAAO,IAAI,MAAM,KAAM,QAAQ,CAAA,EAAA;EAChD,OAAO,IAAI,SAAQ;CACrB;CAEA,cAAA;EAAA,IAAA,OAAA,eAAA,OAAA,GAAA,QAAA,KAAA,YAAA,SAAA,MAAA,YAAA,CAAA,QAAA,SAAA,cAAA,OAAA,WAAA,GAAA,QAAA,OAAA,aAAA,QAAA,MAAA,YAAA,SAAA,MAAA,aAAA,CAAA,QAAA,SAAA,cAAA,OAAA,WAAA,GAAA,QAAA,OAAA,aAAA,QAAA,MAAA,YAAA,CAAA,QAAA,QAAA,cAAA,MAAA,WAAA,GAAA,SAAA,OAAA,aAAA,CAAA,QAAA,SAAA,cAAA,OAAA,WAAA,GAAA,SAAA,MAAA,aAAA,CAAA,QAAA,SAAA,cAAA,OAAA,WAAA;EAAA,OAAA,OAAA,gBAGO,QAAA;GAAA,IAAO,MAAA;IAAA,OAAK,MAAM;GAAM;GAAA,IAAE,MAAA;IAAA,OAAK,MAAM;GAAQ;GAAE,MAAA;EAAA,CAAA,GAAA,QAAA,KAAA;EAAA,OAAA,aAE5B,MAAM,QAAQ;EAAA,OAAA,OAAA,gBAC/B,MAAA;GAAA,IAAK,OAAA;IAAA,OAAM,MAAM;GAAG;GAAA,IAAA,WAAA;IAAA,IAAA,QAAA,eAAA,MAAA;IAAA,OAAA,aACH,MAAM,GAAG;IAAA,OAAA;GAAA;EAAA,CAAA,GAAA,QAAA,KAAA;EAAA,OAAA,OAAA,gBAGxB,MAAA;GAAA,IAAK,OAAA;IAAA,OAAM,MAAM,cAAc,KAAA;GAAA;GAAA,IAAA,WAAA;IAAA,IAAA,QAAA,eAAA,OAAA,GAAA,QAAA,MAAA;IAAA,OAAA,aAEH,aAAa,MAAM,SAAS,CAAA;IAAA,OAAA;GAAA;EAAA,CAAA,GAAA,QAAA,IAAA;EAAA,OAAA,OAAA,gBAGxD,MAAA;GAAA,IAAK,OAAA;IAAA,OAAM,MAAM,cAAc,KAAA;GAAA;GAAA,IAAA,WAAA;IAAA,IAAA,QAAA,eAAA,OAAA,GAAA,QAAA,MAAA;IAAA,OAAA,aAEH,aAAa,MAAM,SAAS,CAAA;IAAA,OAAA;GAAA;EAAA,CAAA,GAAA,QAAA,KAAA;EAAA,OAAA,MAAA,gBAM9D,MAAA;GAAA,IAAK,OAAA;IAAA,OAAM,MAAM;GAAO;GAAA,IAAA,WAAA;IAAA,IAAA,SAAA,eAAA,OAAA;IAAA,OAAA,eAAA;KAAA,IAAA,MAAA,WAEpB,OAAO,MAAM,YAAY,UAAA;KAAA,aAAzB,IAAA,IAAsC,MAAM,QAAO,IAAK,MAAM;IAAO,GAAA,CAAA;IAAA,OAAA;GAAA;EAAA,CAAA,GAAA,QAAA,KAAA;EAAA,aAAA,UAAA,MAxBhE,GAAG,KAAA,GAAQ,MAAM,SAAS,IAAI,CAAA;EAAA,OAAA;CAAA,GAAA;AA6B9C"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
/* empty css */
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { Avatar } from "@proyecto-viviana/solid-spectrum";
|
|
5
|
+
import { Show } from "solid-js";
|
|
6
|
+
//#region src/custom/profile-card/index.tsx
|
|
7
|
+
const card = " sd13 _ta13 Ul13 ql13 Tf13 Qf13 Sf13 Rf13 oc13 nc13 kc13 jc13 gDE5VE13 _nLeasBb13";
|
|
8
|
+
const head = " sd13 ed13 Ul13 ql13";
|
|
9
|
+
const info = " sd13 _ta13 Ub13 qb13 _ub13 Na13";
|
|
10
|
+
const name = " uk13 ucJ9TBTb13 ud3Euai13 uea13 ugb13 uhd13 uje13 u2NhKxcl13 uic13 -_6BNtrc-f13 vx13 xe13 _xa13 xX0cczbd13 _xX0cczba13 xfe13 _xfa13 xfX0cczbd13 _xfX0cczba13 _Fd13 _FnuYUweb13 pXDQpyb13 _Nc13 Pc13 _Yb13 _7c13";
|
|
11
|
+
const bio = " uk13 ucJ9TBTb13 ud3Euai13 uea13 ugb13 uhd13 uje13 u2NhKxcl13 uic13 -_6BNtrc-b13 vx13 xb13 _xa13 _Fd13 _FnuYUweb13 pxeCuqc13";
|
|
12
|
+
const stats = " sd13 Ul13 ql13 uk13 ucJ9TBTb13 ud3Euai13 uea13 ugb13 uhd13 uje13 u2NhKxcl13 uic13 -_6BNtrc-b13 vx13 xb13 _xa13 _Fd13 _FnuYUweb13 pxeCuqc13";
|
|
13
|
+
const statValue = " xd13 _xa13 xX0cczbc13 _xX0cczba13 pXDQpyb13";
|
|
14
|
+
const actionRow = " sd13 Ue13 qe13";
|
|
15
|
+
function ProfileCard(props) {
|
|
16
|
+
const formatNumber = (num) => {
|
|
17
|
+
if (num >= 1e6) return `${(num / 1e6).toFixed(1)}M`;
|
|
18
|
+
if (num >= 1e3) return `${(num / 1e3).toFixed(1)}K`;
|
|
19
|
+
return num.toString();
|
|
20
|
+
};
|
|
21
|
+
return <div class={`${card} ${props.class ?? ""}`}>
|
|
22
|
+
<div class={head}>
|
|
23
|
+
<Avatar src={props.avatar} alt={props.username} size="lg" />
|
|
24
|
+
<div class={info}>
|
|
25
|
+
<h3 class={name}>{props.username}</h3>
|
|
26
|
+
<Show when={props.bio}>
|
|
27
|
+
<p class={bio}>{props.bio}</p>
|
|
28
|
+
</Show>
|
|
29
|
+
<div class={stats}>
|
|
30
|
+
<Show when={props.followers !== void 0}>
|
|
31
|
+
<span>
|
|
32
|
+
<span class={statValue}>{formatNumber(props.followers)}</span> seguidores
|
|
33
|
+
</span>
|
|
34
|
+
</Show>
|
|
35
|
+
<Show when={props.following !== void 0}>
|
|
36
|
+
<span>
|
|
37
|
+
<span class={statValue}>{formatNumber(props.following)}</span> siguiendo
|
|
38
|
+
</span>
|
|
39
|
+
</Show>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
<Show when={props.actions}>
|
|
44
|
+
<div class={actionRow}>
|
|
45
|
+
{typeof props.actions === "function" ? props.actions() : props.actions}
|
|
46
|
+
</div>
|
|
47
|
+
</Show>
|
|
48
|
+
</div>;
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
export { ProfileCard };
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=ProfileCard.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProfileCard.jsx","names":[],"sources":["../src/custom/profile-card/index.tsx"],"sourcesContent":["import type { JSX } from \"solid-js\";\nimport { Show } from \"solid-js\";\nimport { Avatar } from \"@proyecto-viviana/solid-spectrum\";\n// Styled via the S2 style() macro through viviana's own seam (../../style →\n// src/style.ts). Mirrors S2's UserCard shape (avatar + title/description +\n// footer actions) on the S2 spacing/radius/elevation ramps, in Silapse colors.\nimport { style } from \"../../style\" with { type: \"macro\" };\n\nexport interface ProfileCardProps {\n username: string;\n avatar?: string;\n bio?: string;\n followers?: number;\n following?: number;\n /**\n * Actions to display below the profile.\n * Use a function returning JSX for SSR compatibility: `actions={() => <Button>...</Button>}`\n */\n actions?: JSX.Element | (() => JSX.Element);\n class?: string;\n}\n\nconst card = style({\n display: \"flex\",\n flexDirection: \"column\",\n gap: 16,\n padding: 16,\n borderRadius: \"lg\",\n backgroundColor: \"[var(--color-bg-200)]\",\n boxShadow: \"elevated\",\n});\n\nconst head = style({\n display: \"flex\",\n alignItems: \"start\",\n gap: 16,\n});\n\nconst info = style({\n display: \"flex\",\n flexDirection: \"column\",\n gap: 4,\n flexGrow: 1,\n minWidth: 0,\n});\n\nconst name = style({\n font: \"heading-sm\",\n color: \"[var(--color-primary-100)]\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n});\n\nconst bio = style({\n font: \"ui-sm\",\n color: \"[var(--color-text-secondary)]\",\n});\n\nconst stats = style({\n display: \"flex\",\n gap: 16,\n font: \"ui-sm\",\n color: \"[var(--color-text-secondary)]\",\n});\n\nconst statValue = style({\n fontWeight: \"bold\",\n color: \"[var(--color-primary-100)]\",\n});\n\nconst actionRow = style({\n display: \"flex\",\n gap: 8,\n});\n\nexport function ProfileCard(props: ProfileCardProps) {\n const formatNumber = (num: number) => {\n if (num >= 1000000) return `${(num / 1000000).toFixed(1)}M`;\n if (num >= 1000) return `${(num / 1000).toFixed(1)}K`;\n return num.toString();\n };\n\n return (\n <div class={`${card} ${props.class ?? \"\"}`}>\n <div class={head}>\n <Avatar src={props.avatar} alt={props.username} size=\"lg\" />\n <div class={info}>\n <h3 class={name}>{props.username}</h3>\n <Show when={props.bio}>\n <p class={bio}>{props.bio}</p>\n </Show>\n <div class={stats}>\n <Show when={props.followers !== undefined}>\n <span>\n <span class={statValue}>{formatNumber(props.followers!)}</span> seguidores\n </span>\n </Show>\n <Show when={props.following !== undefined}>\n <span>\n <span class={statValue}>{formatNumber(props.following!)}</span> siguiendo\n </span>\n </Show>\n </div>\n </div>\n </div>\n <Show when={props.actions}>\n <div class={actionRow}>\n {typeof props.actions === \"function\" ? props.actions() : props.actions}\n </div>\n </Show>\n </div>\n );\n}\n"],"mappings":";;;;;;AAsBA,MAAM,OAAA;AAUN,MAAM,OAAA;AAMN,MAAM,OAAA;AAQN,MAAM,OAAA;AAQN,MAAM,MAAA;AAKN,MAAM,QAAA;AAON,MAAM,YAAA;AAKN,MAAM,YAAA;AAKN,SAAgB,YAAY,OAAuB;CACjD,MAAM,gBAAgB,QAAW;EAC/B,IAAI,OAAO,KAAS,OAAO,IAAI,MAAM,KAAS,QAAQ,CAAA,EAAG;EACzD,IAAI,OAAO,KAAM,OAAO,IAAI,MAAM,KAAM,QAAQ,CAAA,EAAG;EACnD,OAAO,IAAI,SAAQ;CACrB;CAEA,OAAO,CACJ,IAAI,OAAO,GAAG,KAAK,GAAG,MAAM,SAAS,MAAM;MAC1C,CAAC,IAAI,OAAO,MAAM;QAChB,CAAC,OAAO,KAAK,MAAM,QAAQ,KAAK,MAAM,UAAU,YAAY;QAC5D,CAAC,IAAI,OAAO,MAAM;UAChB,CAAC,GAAG,OAAO,OAAO,MAAM,SAAQ,EAAG,GAAG;UACtC,CAAC,KAAK,MAAM,MAAM,KAAK;YACrB,CAAC,EAAE,OAAO,MAAM,MAAM,IAAG,EAAG,EAAE;UAChC,EAAE,KAAK;UACP,CAAC,IAAI,OAAO,OAAO;YACjB,CAAC,KAAK,MAAM,MAAM,cAAc,KAAA,GAAW;cACzC,CAAC,KAAK;gBACJ,CAAC,KAAK,OAAO,YAAY,aAAa,MAAM,SAAS,EAAA,EAAK,KAAK;cACjE,EAAE,KAAK;YACT,EAAE,KAAK;YACP,CAAC,KAAK,MAAM,MAAM,cAAc,KAAA,GAAW;cACzC,CAAC,KAAK;gBACJ,CAAC,KAAK,OAAO,YAAY,aAAa,MAAM,SAAS,EAAA,EAAK,KAAK;cACjE,EAAE,KAAK;YACT,EAAE,KAAK;UACT,EAAE,IAAI;QACR,EAAE,IAAI;MACR,EAAE,IAAI;MACN,CAAC,KAAK,MAAM,MAAM,SAAS;QACzB,CAAC,IAAI,OAAO,WAAW;WACpB,OAAO,MAAM,YAAY,aAAa,MAAM,QAAO,IAAK,MAAM,QAAQ;QACzE,EAAE,IAAI;MACR,EAAE,KAAK;IACT,EAAE;AAEN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectCard.d.ts","sourceRoot":"","sources":["../src/ProjectCard.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { className, effect, getNextElement, insert, setAttribute, template } from "solid-js/web";
|
|
2
|
+
//#region src/custom/project-card/index.tsx
|
|
3
|
+
var _tmpl$ = /*#__PURE__*/ template(`<img class=" Za13 fa13 _Ha13 oa13 na13 ka13 ja13">`), _tmpl$2 = /*#__PURE__*/ template(`<span>`), _tmpl$3 = /*#__PURE__*/ template(`<a target=_blank rel="noopener noreferrer">`), _tmpl$4 = /*#__PURE__*/ template(`<div>`);
|
|
4
|
+
const card = function anonymous(props) {
|
|
5
|
+
let rules = " ";
|
|
6
|
+
rules += " sd13";
|
|
7
|
+
rules += " _ta13";
|
|
8
|
+
rules += " eb13";
|
|
9
|
+
rules += " Ue13";
|
|
10
|
+
rules += " qe13";
|
|
11
|
+
rules += " Za13";
|
|
12
|
+
rules += " oc13";
|
|
13
|
+
rules += " nc13";
|
|
14
|
+
rules += " kc13";
|
|
15
|
+
rules += " jc13";
|
|
16
|
+
rules += " _kb13";
|
|
17
|
+
rules += " hb13";
|
|
18
|
+
rules += " mb13";
|
|
19
|
+
rules += " lb13";
|
|
20
|
+
rules += " _jf13";
|
|
21
|
+
rules += " izfTM513";
|
|
22
|
+
rules += " gDE5VE13";
|
|
23
|
+
rules += " pXDQpyb13";
|
|
24
|
+
rules += " _Xa13";
|
|
25
|
+
if (props.size === "lg") rules += " Tg13";
|
|
26
|
+
else if (props.size === "md") rules += " Tf13";
|
|
27
|
+
else if (props.size === "sm") rules += " Te13";
|
|
28
|
+
if (props.size === "lg") rules += " Qg13";
|
|
29
|
+
else if (props.size === "md") rules += " Qf13";
|
|
30
|
+
else if (props.size === "sm") rules += " Qe13";
|
|
31
|
+
if (props.size === "lg") rules += " Sg13";
|
|
32
|
+
else if (props.size === "md") rules += " Sf13";
|
|
33
|
+
else if (props.size === "sm") rules += " Se13";
|
|
34
|
+
if (props.size === "lg") rules += " Rg13";
|
|
35
|
+
else if (props.size === "md") rules += " Rf13";
|
|
36
|
+
else if (props.size === "sm") rules += " Re13";
|
|
37
|
+
if (props.isInactive) rules += " _IqmMfn13";
|
|
38
|
+
else rules += " _Ib13";
|
|
39
|
+
return rules;
|
|
40
|
+
};
|
|
41
|
+
const caption = function anonymous(props) {
|
|
42
|
+
let rules = " ";
|
|
43
|
+
rules += " Za13";
|
|
44
|
+
rules += " _Wa13";
|
|
45
|
+
rules += " _Nc13";
|
|
46
|
+
rules += " Pc13";
|
|
47
|
+
rules += " _Yb13";
|
|
48
|
+
rules += " _7c13";
|
|
49
|
+
if (props.size === "lg") rules += " pt13";
|
|
50
|
+
else if (props.size === "md") rules += " pt13";
|
|
51
|
+
else if (props.size === "sm") rules += " pt13";
|
|
52
|
+
if (props.size === "lg") {
|
|
53
|
+
rules += " uk13";
|
|
54
|
+
rules += " ucJ9TBTb13";
|
|
55
|
+
rules += " ud3Euai13";
|
|
56
|
+
rules += " uea13";
|
|
57
|
+
rules += " ugb13";
|
|
58
|
+
rules += " uhd13";
|
|
59
|
+
rules += " uje13";
|
|
60
|
+
rules += " u2NhKxcl13";
|
|
61
|
+
rules += " uic13";
|
|
62
|
+
} else if (props.size === "md") {
|
|
63
|
+
rules += " uk13";
|
|
64
|
+
rules += " ucJ9TBTb13";
|
|
65
|
+
rules += " ud3Euai13";
|
|
66
|
+
rules += " uea13";
|
|
67
|
+
rules += " ugb13";
|
|
68
|
+
rules += " uhd13";
|
|
69
|
+
rules += " uje13";
|
|
70
|
+
rules += " u2NhKxcl13";
|
|
71
|
+
rules += " uic13";
|
|
72
|
+
} else if (props.size === "sm") {
|
|
73
|
+
rules += " uk13";
|
|
74
|
+
rules += " ucJ9TBTb13";
|
|
75
|
+
rules += " ud3Euai13";
|
|
76
|
+
rules += " uea13";
|
|
77
|
+
rules += " ugb13";
|
|
78
|
+
rules += " uhd13";
|
|
79
|
+
rules += " uje13";
|
|
80
|
+
rules += " u2NhKxcl13";
|
|
81
|
+
rules += " uic13";
|
|
82
|
+
}
|
|
83
|
+
if (props.size === "lg") {
|
|
84
|
+
rules += " -_6BNtrc-d13";
|
|
85
|
+
rules += " vx13";
|
|
86
|
+
} else if (props.size === "md") {
|
|
87
|
+
rules += " -_6BNtrc-c13";
|
|
88
|
+
rules += " vx13";
|
|
89
|
+
} else if (props.size === "sm") {
|
|
90
|
+
rules += " -_6BNtrc-b13";
|
|
91
|
+
rules += " vx13";
|
|
92
|
+
}
|
|
93
|
+
if (props.size === "lg") {
|
|
94
|
+
rules += " xb13";
|
|
95
|
+
rules += " _xa13";
|
|
96
|
+
} else if (props.size === "md") {
|
|
97
|
+
rules += " xb13";
|
|
98
|
+
rules += " _xa13";
|
|
99
|
+
} else if (props.size === "sm") {
|
|
100
|
+
rules += " xb13";
|
|
101
|
+
rules += " _xa13";
|
|
102
|
+
}
|
|
103
|
+
if (props.size === "lg") {
|
|
104
|
+
rules += " _Fd13";
|
|
105
|
+
rules += " _FnuYUweb13";
|
|
106
|
+
} else if (props.size === "md") {
|
|
107
|
+
rules += " _Fd13";
|
|
108
|
+
rules += " _FnuYUweb13";
|
|
109
|
+
} else if (props.size === "sm") {
|
|
110
|
+
rules += " _Fd13";
|
|
111
|
+
rules += " _FnuYUweb13";
|
|
112
|
+
}
|
|
113
|
+
return rules;
|
|
114
|
+
};
|
|
115
|
+
function ProjectCard(props) {
|
|
116
|
+
const size = () => props.size ?? "sm";
|
|
117
|
+
const inactive = () => props.inactive ?? false;
|
|
118
|
+
const cardContent = () => [(() => {
|
|
119
|
+
var _el$ = getNextElement(_tmpl$);
|
|
120
|
+
effect((_p$) => {
|
|
121
|
+
var _v$ = props.imageSrc, _v$2 = props.imageAlt ?? props.name;
|
|
122
|
+
_v$ !== _p$.e && setAttribute(_el$, "src", _p$.e = _v$);
|
|
123
|
+
_v$2 !== _p$.t && setAttribute(_el$, "alt", _p$.t = _v$2);
|
|
124
|
+
return _p$;
|
|
125
|
+
}, {
|
|
126
|
+
e: void 0,
|
|
127
|
+
t: void 0
|
|
128
|
+
});
|
|
129
|
+
return _el$;
|
|
130
|
+
})(), (() => {
|
|
131
|
+
var _el$2 = getNextElement(_tmpl$2);
|
|
132
|
+
insert(_el$2, () => props.name);
|
|
133
|
+
effect(() => className(_el$2, caption({ size: size() })));
|
|
134
|
+
return _el$2;
|
|
135
|
+
})()];
|
|
136
|
+
const classes = () => `${card({
|
|
137
|
+
size: size(),
|
|
138
|
+
isInactive: inactive()
|
|
139
|
+
})} ${props.class ?? ""}`;
|
|
140
|
+
if (props.href) return (() => {
|
|
141
|
+
var _el$3 = getNextElement(_tmpl$3);
|
|
142
|
+
insert(_el$3, cardContent);
|
|
143
|
+
effect((_p$) => {
|
|
144
|
+
var _v$3 = props.href, _v$4 = classes();
|
|
145
|
+
_v$3 !== _p$.e && setAttribute(_el$3, "href", _p$.e = _v$3);
|
|
146
|
+
_v$4 !== _p$.t && className(_el$3, _p$.t = _v$4);
|
|
147
|
+
return _p$;
|
|
148
|
+
}, {
|
|
149
|
+
e: void 0,
|
|
150
|
+
t: void 0
|
|
151
|
+
});
|
|
152
|
+
return _el$3;
|
|
153
|
+
})();
|
|
154
|
+
return (() => {
|
|
155
|
+
var _el$4 = getNextElement(_tmpl$4);
|
|
156
|
+
insert(_el$4, cardContent);
|
|
157
|
+
effect(() => className(_el$4, classes()));
|
|
158
|
+
return _el$4;
|
|
159
|
+
})();
|
|
160
|
+
}
|
|
161
|
+
//#endregion
|
|
162
|
+
export { ProjectCard };
|
|
163
|
+
|
|
164
|
+
//# sourceMappingURL=ProjectCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectCard.js","names":[],"sources":["../src/custom/project-card/index.tsx"],"sourcesContent":["import type { JSX } from \"solid-js\";\n// Styled via the S2 style() macro through viviana's own seam (../../style →\n// src/style.ts). A square logo/preview tile with a caption, sized by the S2\n// spacing + type ramps and painted in Silapse colors. `inactive` dims it;\n// `href` turns the whole card into a link.\nimport { style } from \"../../style\" with { type: \"macro\" };\n\nexport type ProjectCardSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface ProjectCardProps {\n name: string;\n imageSrc: string;\n imageAlt?: string;\n href?: string;\n size?: ProjectCardSize;\n inactive?: boolean;\n class?: string;\n}\n\nconst card = style<{ size: ProjectCardSize; isInactive: boolean }>({\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 8,\n width: \"full\",\n borderRadius: \"lg\",\n borderWidth: 1,\n borderStyle: \"solid\",\n borderColor: \"[var(--color-border)]\",\n backgroundColor: \"[var(--color-bg-200)]\",\n color: \"[var(--color-primary-100)]\",\n textDecoration: \"none\",\n padding: { size: { sm: 12, md: 16, lg: 20 } },\n opacity: { default: 1, isInactive: 0.5 },\n});\n\nconst image = style({\n width: \"full\",\n aspectRatio: \"square\",\n objectFit: \"contain\",\n borderRadius: \"sm\",\n});\n\nconst caption = style<{ size: ProjectCardSize }>({\n width: \"full\",\n textAlign: \"center\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n color: \"[var(--color-primary-200)]\",\n font: { size: { sm: \"ui-sm\", md: \"ui\", lg: \"ui-lg\" } },\n});\n\nexport function ProjectCard(props: ProjectCardProps): JSX.Element {\n const size = () => props.size ?? \"sm\";\n const inactive = () => props.inactive ?? false;\n\n const cardContent = () => (\n <>\n <img class={image} src={props.imageSrc} alt={props.imageAlt ?? props.name} />\n <span class={caption({ size: size() })}>{props.name}</span>\n </>\n );\n\n const classes = () => `${card({ size: size(), isInactive: inactive() })} ${props.class ?? \"\"}`;\n\n if (props.href) {\n return (\n <a href={props.href} target=\"_blank\" rel=\"noopener noreferrer\" class={classes()}>\n {cardContent()}\n </a>\n );\n }\n\n return <div class={classes()}>{cardContent()}</div>;\n}\n"],"mappings":";;;AAmBA,MAAM,OAAA,SAAA,UAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBN,MAAM,UAAA,SAAA,UAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUN,SAAgB,YAAY,OAA8B;CACxD,MAAM,aAAa,MAAM,QAAQ;CACjC,MAAM,iBAAiB,MAAM,YAAY;CAEzC,MAAM,oBAAc,QAAA;EAAA,IAAA,OAAA,eAAA,MAAA;EAAA,QAAA,QAAA;GAAA,IAAA,MAEQ,MAAM,UAAQ,OAAO,MAAM,YAAY,MAAM;GAAI,QAAA,IAAA,KAAA,aAAA,MAAA,OAAA,IAAA,IAAA,GAAA;GAAA,SAAA,IAAA,KAAA,aAAA,MAAA,OAAA,IAAA,IAAA,IAAA;GAAA,OAAA;EAAA,GAAA;GAAA,GAAA,KAAA;GAAA,GAAA,KAAA;EAAA,CAAA;EAAA,OAAA;CAAA,GAAA,UAAA;EAAA,IAAA,QAAA,eAAA,OAAA;EAAA,OAAA,aAChC,MAAM,IAAI;EAAA,aAAA,UAAA,OAAtC,QAAQ,EAAE,MAAM,KAAA,EAAO,CAAA,CAAA,CAAA;EAAA,OAAA;CAAA,GAAA,CAAA;CAIxC,MAAM,gBAAgB,GAAG,KAAK;EAAE,MAAM,KAAA;EAAQ,YAAY,SAAA;CAAW,CAAA,EAAA,GAAM,MAAM,SAAS;CAE1F,IAAI,MAAM,MACR,cAAA;EAAA,IAAA,QAAA,eAAA,OAAA;EAAA,OAAA,OAEK,WAAA;EAAA,QAAA,QAAA;GAAA,IAAA,OADM,MAAM,MAAI,OAAmD,QAAA;GAAA,SAAA,IAAA,KAAA,aAAA,OAAA,QAAA,IAAA,IAAA,IAAA;GAAA,SAAA,IAAA,KAAA,UAAA,OAAA,IAAA,IAAA,IAAA;GAAA,OAAA;EAAA,GAAA;GAAA,GAAA,KAAA;GAAA,GAAA,KAAA;EAAA,CAAA;EAAA,OAAA;CAAA,GAAA;CAM1E,cAAA;EAAA,IAAA,QAAA,eAAA,OAAA;EAAA,OAAA,OAA+B,WAAA;EAAA,aAAA,UAAA,OAAZ,QAAA,CAAA,CAAA;EAAA,OAAA;CAAA,GAAA;AACrB"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
//#region src/custom/project-card/index.tsx
|
|
2
|
+
const card = function anonymous(props) {
|
|
3
|
+
let rules = " ";
|
|
4
|
+
rules += " sd13";
|
|
5
|
+
rules += " _ta13";
|
|
6
|
+
rules += " eb13";
|
|
7
|
+
rules += " Ue13";
|
|
8
|
+
rules += " qe13";
|
|
9
|
+
rules += " Za13";
|
|
10
|
+
rules += " oc13";
|
|
11
|
+
rules += " nc13";
|
|
12
|
+
rules += " kc13";
|
|
13
|
+
rules += " jc13";
|
|
14
|
+
rules += " _kb13";
|
|
15
|
+
rules += " hb13";
|
|
16
|
+
rules += " mb13";
|
|
17
|
+
rules += " lb13";
|
|
18
|
+
rules += " _jf13";
|
|
19
|
+
rules += " izfTM513";
|
|
20
|
+
rules += " gDE5VE13";
|
|
21
|
+
rules += " pXDQpyb13";
|
|
22
|
+
rules += " _Xa13";
|
|
23
|
+
if (props.size === "lg") rules += " Tg13";
|
|
24
|
+
else if (props.size === "md") rules += " Tf13";
|
|
25
|
+
else if (props.size === "sm") rules += " Te13";
|
|
26
|
+
if (props.size === "lg") rules += " Qg13";
|
|
27
|
+
else if (props.size === "md") rules += " Qf13";
|
|
28
|
+
else if (props.size === "sm") rules += " Qe13";
|
|
29
|
+
if (props.size === "lg") rules += " Sg13";
|
|
30
|
+
else if (props.size === "md") rules += " Sf13";
|
|
31
|
+
else if (props.size === "sm") rules += " Se13";
|
|
32
|
+
if (props.size === "lg") rules += " Rg13";
|
|
33
|
+
else if (props.size === "md") rules += " Rf13";
|
|
34
|
+
else if (props.size === "sm") rules += " Re13";
|
|
35
|
+
if (props.isInactive) rules += " _IqmMfn13";
|
|
36
|
+
else rules += " _Ib13";
|
|
37
|
+
return rules;
|
|
38
|
+
};
|
|
39
|
+
const image = " Za13 fa13 _Ha13 oa13 na13 ka13 ja13";
|
|
40
|
+
const caption = function anonymous(props) {
|
|
41
|
+
let rules = " ";
|
|
42
|
+
rules += " Za13";
|
|
43
|
+
rules += " _Wa13";
|
|
44
|
+
rules += " _Nc13";
|
|
45
|
+
rules += " Pc13";
|
|
46
|
+
rules += " _Yb13";
|
|
47
|
+
rules += " _7c13";
|
|
48
|
+
if (props.size === "lg") rules += " pt13";
|
|
49
|
+
else if (props.size === "md") rules += " pt13";
|
|
50
|
+
else if (props.size === "sm") rules += " pt13";
|
|
51
|
+
if (props.size === "lg") {
|
|
52
|
+
rules += " uk13";
|
|
53
|
+
rules += " ucJ9TBTb13";
|
|
54
|
+
rules += " ud3Euai13";
|
|
55
|
+
rules += " uea13";
|
|
56
|
+
rules += " ugb13";
|
|
57
|
+
rules += " uhd13";
|
|
58
|
+
rules += " uje13";
|
|
59
|
+
rules += " u2NhKxcl13";
|
|
60
|
+
rules += " uic13";
|
|
61
|
+
} else if (props.size === "md") {
|
|
62
|
+
rules += " uk13";
|
|
63
|
+
rules += " ucJ9TBTb13";
|
|
64
|
+
rules += " ud3Euai13";
|
|
65
|
+
rules += " uea13";
|
|
66
|
+
rules += " ugb13";
|
|
67
|
+
rules += " uhd13";
|
|
68
|
+
rules += " uje13";
|
|
69
|
+
rules += " u2NhKxcl13";
|
|
70
|
+
rules += " uic13";
|
|
71
|
+
} else if (props.size === "sm") {
|
|
72
|
+
rules += " uk13";
|
|
73
|
+
rules += " ucJ9TBTb13";
|
|
74
|
+
rules += " ud3Euai13";
|
|
75
|
+
rules += " uea13";
|
|
76
|
+
rules += " ugb13";
|
|
77
|
+
rules += " uhd13";
|
|
78
|
+
rules += " uje13";
|
|
79
|
+
rules += " u2NhKxcl13";
|
|
80
|
+
rules += " uic13";
|
|
81
|
+
}
|
|
82
|
+
if (props.size === "lg") {
|
|
83
|
+
rules += " -_6BNtrc-d13";
|
|
84
|
+
rules += " vx13";
|
|
85
|
+
} else if (props.size === "md") {
|
|
86
|
+
rules += " -_6BNtrc-c13";
|
|
87
|
+
rules += " vx13";
|
|
88
|
+
} else if (props.size === "sm") {
|
|
89
|
+
rules += " -_6BNtrc-b13";
|
|
90
|
+
rules += " vx13";
|
|
91
|
+
}
|
|
92
|
+
if (props.size === "lg") {
|
|
93
|
+
rules += " xb13";
|
|
94
|
+
rules += " _xa13";
|
|
95
|
+
} else if (props.size === "md") {
|
|
96
|
+
rules += " xb13";
|
|
97
|
+
rules += " _xa13";
|
|
98
|
+
} else if (props.size === "sm") {
|
|
99
|
+
rules += " xb13";
|
|
100
|
+
rules += " _xa13";
|
|
101
|
+
}
|
|
102
|
+
if (props.size === "lg") {
|
|
103
|
+
rules += " _Fd13";
|
|
104
|
+
rules += " _FnuYUweb13";
|
|
105
|
+
} else if (props.size === "md") {
|
|
106
|
+
rules += " _Fd13";
|
|
107
|
+
rules += " _FnuYUweb13";
|
|
108
|
+
} else if (props.size === "sm") {
|
|
109
|
+
rules += " _Fd13";
|
|
110
|
+
rules += " _FnuYUweb13";
|
|
111
|
+
}
|
|
112
|
+
return rules;
|
|
113
|
+
};
|
|
114
|
+
function ProjectCard(props) {
|
|
115
|
+
const size = () => props.size ?? "sm";
|
|
116
|
+
const inactive = () => props.inactive ?? false;
|
|
117
|
+
const cardContent = () => <>
|
|
118
|
+
<img class={image} src={props.imageSrc} alt={props.imageAlt ?? props.name} />
|
|
119
|
+
<span class={caption({ size: size() })}>{props.name}</span>
|
|
120
|
+
</>;
|
|
121
|
+
const classes = () => `${card({
|
|
122
|
+
size: size(),
|
|
123
|
+
isInactive: inactive()
|
|
124
|
+
})} ${props.class ?? ""}`;
|
|
125
|
+
if (props.href) return <a href={props.href} target="_blank" rel="noopener noreferrer" class={classes()}>
|
|
126
|
+
{cardContent()}
|
|
127
|
+
</a>;
|
|
128
|
+
return <div class={classes()}>{cardContent()}</div>;
|
|
129
|
+
}
|
|
130
|
+
//#endregion
|
|
131
|
+
export { ProjectCard };
|
|
132
|
+
|
|
133
|
+
//# sourceMappingURL=ProjectCard.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectCard.jsx","names":[],"sources":["../src/custom/project-card/index.tsx"],"sourcesContent":["import type { JSX } from \"solid-js\";\n// Styled via the S2 style() macro through viviana's own seam (../../style →\n// src/style.ts). A square logo/preview tile with a caption, sized by the S2\n// spacing + type ramps and painted in Silapse colors. `inactive` dims it;\n// `href` turns the whole card into a link.\nimport { style } from \"../../style\" with { type: \"macro\" };\n\nexport type ProjectCardSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface ProjectCardProps {\n name: string;\n imageSrc: string;\n imageAlt?: string;\n href?: string;\n size?: ProjectCardSize;\n inactive?: boolean;\n class?: string;\n}\n\nconst card = style<{ size: ProjectCardSize; isInactive: boolean }>({\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 8,\n width: \"full\",\n borderRadius: \"lg\",\n borderWidth: 1,\n borderStyle: \"solid\",\n borderColor: \"[var(--color-border)]\",\n backgroundColor: \"[var(--color-bg-200)]\",\n color: \"[var(--color-primary-100)]\",\n textDecoration: \"none\",\n padding: { size: { sm: 12, md: 16, lg: 20 } },\n opacity: { default: 1, isInactive: 0.5 },\n});\n\nconst image = style({\n width: \"full\",\n aspectRatio: \"square\",\n objectFit: \"contain\",\n borderRadius: \"sm\",\n});\n\nconst caption = style<{ size: ProjectCardSize }>({\n width: \"full\",\n textAlign: \"center\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n color: \"[var(--color-primary-200)]\",\n font: { size: { sm: \"ui-sm\", md: \"ui\", lg: \"ui-lg\" } },\n});\n\nexport function ProjectCard(props: ProjectCardProps): JSX.Element {\n const size = () => props.size ?? \"sm\";\n const inactive = () => props.inactive ?? false;\n\n const cardContent = () => (\n <>\n <img class={image} src={props.imageSrc} alt={props.imageAlt ?? props.name} />\n <span class={caption({ size: size() })}>{props.name}</span>\n </>\n );\n\n const classes = () => `${card({ size: size(), isInactive: inactive() })} ${props.class ?? \"\"}`;\n\n if (props.href) {\n return (\n <a href={props.href} target=\"_blank\" rel=\"noopener noreferrer\" class={classes()}>\n {cardContent()}\n </a>\n );\n }\n\n return <div class={classes()}>{cardContent()}</div>;\n}\n"],"mappings":";AAmBA,MAAM,OAAA,SAAA,UAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBN,MAAM,QAAA;AAON,MAAM,UAAA,SAAA,UAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUN,SAAgB,YAAY,OAA8B;CACxD,MAAM,aAAa,MAAM,QAAQ;CACjC,MAAM,iBAAiB,MAAM,YAAY;CAEzC,MAAM,oBAAoB,EACtB;MACA,CAAC,IAAI,OAAO,OAAO,KAAK,MAAM,UAAU,KAAK,MAAM,YAAY,MAAM,QAAQ;MAC7E,CAAC,KAAK,OAAO,QAAQ,EAAE,MAAM,KAAA,EAAO,CAAA,IAAK,MAAM,KAAI,EAAG,KAAK;IAC7D;CAGF,MAAM,gBAAgB,GAAG,KAAK;EAAE,MAAM,KAAA;EAAQ,YAAY,SAAA;CAAW,CAAA,EAAG,GAAG,MAAM,SAAS;CAE1F,IAAI,MAAM,MACR,OAAO,CACJ,EAAE,MAAM,MAAM,MAAM,gBAAgB,0BAA0B,OAAO,QAAA,GAAW;SAC9E,YAAA,EAAc;MACjB,EAAE;CAIN,OAAA,CAAQ,IAAI,OAAO,QAAA,IAAY,YAAA,EAAA,EAAgB;AACjD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../src/Provider.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAC"}
|
package/dist/Provider.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@proyecto-viviana/solid-spectrum/Provider";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@proyecto-viviana/solid-spectrum/Provider";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RangeCalendar.d.ts","sourceRoot":"","sources":["../src/RangeCalendar.ts"],"names":[],"mappings":"AAAA,cAAc,gDAAgD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@proyecto-viviana/solid-spectrum/RangeCalendar";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@proyecto-viviana/solid-spectrum/RangeCalendar";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchField.d.ts","sourceRoot":"","sources":["../src/SearchField.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@proyecto-viviana/solid-spectrum/SearchField";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@proyecto-viviana/solid-spectrum/SearchField";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../src/SegmentedControl.ts"],"names":[],"mappings":"AAAA,cAAc,mDAAmD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@proyecto-viviana/solid-spectrum/SegmentedControl";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@proyecto-viviana/solid-spectrum/SegmentedControl";
|
package/dist/Switch.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../src/Switch.ts"],"names":[],"mappings":"AAAA,cAAc,yCAAyC,CAAC"}
|
package/dist/Switch.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@proyecto-viviana/solid-spectrum/Switch";
|
package/dist/Switch.jsx
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@proyecto-viviana/solid-spectrum/Switch";
|
package/dist/Tabs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../src/Tabs.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC"}
|
package/dist/Tabs.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@proyecto-viviana/solid-spectrum/Tabs";
|
package/dist/Tabs.jsx
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@proyecto-viviana/solid-spectrum/Tabs";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextArea.d.ts","sourceRoot":"","sources":["../src/TextArea.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAC"}
|
package/dist/TextArea.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@proyecto-viviana/solid-spectrum/TextArea";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@proyecto-viviana/solid-spectrum/TextArea";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../src/TextField.ts"],"names":[],"mappings":"AAAA,cAAc,4CAA4C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@proyecto-viviana/solid-spectrum/TextField";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@proyecto-viviana/solid-spectrum/TextField";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimelineItem.d.ts","sourceRoot":"","sources":["../src/TimelineItem.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
|