From 291971a1d78c5891a007ff2453628bdb8dcde181 Mon Sep 17 00:00:00 2001 From: Michael Freno Date: Sun, 21 Dec 2025 00:43:42 -0500 Subject: [PATCH] collapsables --- bun.lockb | Bin 359282 -> 360726 bytes package.json | 3 + src/app.css | 100 ++++++++++++++++++----------- src/components/blog/TextEditor.tsx | 46 +++++++++++++ 4 files changed, 113 insertions(+), 36 deletions(-) diff --git a/bun.lockb b/bun.lockb index a9d19e1a457d643e8d8d4a09297c00f858f597c9..27d31fe5d5805954d1e659066f9e03209aa83714 100755 GIT binary patch delta 60470 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

aDC&~!%a*7S4K=SVlU%Z1+6uj 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 T)PhJ>pE7M6-oebY-o*a`F&p^D delta 59765 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%0Am)FG`c^;hmicExvx}2Wj4}5 Vy~F|91IfKb;nxF?D_hhZ`(HYS#{&QW diff --git a/package.json b/package.json index 2b102c7..839d3b5 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,9 @@ "@tiptap/core": "^3.14.0", "@tiptap/extension-code-block-lowlight": "^3.14.0", "@tiptap/extension-color": "^3.14.0", + "@tiptap/extension-details": "^3.14.0", + "@tiptap/extension-details-content": "^2.26.2", + "@tiptap/extension-details-summary": "^2.26.2", "@tiptap/extension-image": "^3.14.0", "@tiptap/extension-link": "^3.14.0", "@tiptap/extension-list-item": "^3.14.0", diff --git a/src/app.css b/src/app.css index 841f1e5..db5a622 100644 --- a/src/app.css +++ b/src/app.css @@ -810,7 +810,6 @@ a.hover-underline-animation:hover::after { pointer-events: none; } -/* Task list styles */ ul[data-type="taskList"] { list-style: none; padding: 0; @@ -820,51 +819,80 @@ ul[data-type="taskList"] { ul[data-type="taskList"] li { display: flex; align-items: center; - margin: 0.5rem 0; gap: 0.5rem; + line-height: 0; } -ul[data-type="taskList"] li > label { - flex: 0 0 auto; - user-select: none; - display: flex; - align-items: center; - margin: 0; - padding: 0; - line-height: 1; +/* Collapsible section (details/summary) styles */ +details { + margin: 1.5rem 0; + padding: 1rem; + border: 1px solid var(--color-surface2); + border-radius: 0.5rem; + background-color: var(--color-surface0); } -ul[data-type="taskList"] li > div { - flex: 1 1 auto; -} - -ul[data-type="taskList"] input[type="checkbox"] { +summary { cursor: pointer; - width: 1em; - height: 1em; - margin: 0; - padding: 0; - flex-shrink: 0; - accent-color: var(--color-blue); - transform: none; - vertical-align: middle; - -webkit-appearance: checkbox; - appearance: checkbox; - border: 2px solid var(--color-blue); - border-radius: 0.15em; - background-color: transparent; + font-weight: 600; + user-select: none; + padding: 0.5rem; + margin: -1rem -1rem 0 -1rem; + background-color: var(--color-surface1); + border-radius: 0.5rem 0.5rem 0 0; + transition: background-color 0.2s; + list-style: none; } -ul[data-type="taskList"] input[type="checkbox"]:checked { - background-color: var(--color-blue); +summary::-webkit-details-marker { + display: none; } -ul[data-type="taskList"] li[data-checked="true"] > div { - text-decoration: line-through; - opacity: 0.6; +summary::before { + content: "▶ "; + color: var(--color-blue); + display: inline-block; + transition: transform 0.2s; } -/* Nested task lists */ -ul[data-type="taskList"] ul[data-type="taskList"] { - margin: 0.5rem 0 0.5rem 1.5rem; +details[open] summary::before { + transform: rotate(90deg); + color: var(--color-green); +} + +summary:hover { + background-color: var(--color-surface2); +} + +details[open] summary { + margin-bottom: 1rem; + border-bottom: 1px solid var(--color-surface2); + border-radius: 0.5rem 0.5rem 0 0; +} + +/* Content inside details */ +details div[data-type="details-content"] { + padding: 0.5rem; +} + +/* Nested details */ +details details { + margin: 1rem 0; + border-color: var(--color-surface1); +} + +/* Animation */ +details[open] div[data-type="details-content"] { + animation: slideDown 0.2s ease-out; +} + +@keyframes slideDown { + from { + opacity: 0; + transform: translateY(-10px); + } + to { + opacity: 1; + transform: translateY(0); + } } diff --git a/src/components/blog/TextEditor.tsx b/src/components/blog/TextEditor.tsx index 174e2c0..1a72e0c 100644 --- a/src/components/blog/TextEditor.tsx +++ b/src/components/blog/TextEditor.tsx @@ -10,6 +10,9 @@ import { TableHeader } from "@tiptap/extension-table-header"; import { TableCell } from "@tiptap/extension-table-cell"; import TaskList from "@tiptap/extension-task-list"; import TaskItem from "@tiptap/extension-task-item"; +import Details from "@tiptap/extension-details"; +import DetailsSummary from "@tiptap/extension-details-summary"; +import DetailsContent from "@tiptap/extension-details-content"; import { Node } from "@tiptap/core"; import { createLowlight, common } from "lowlight"; import css from "highlight.js/lib/languages/css"; @@ -225,6 +228,9 @@ export default function TextEditor(props: TextEditorProps) { class: "task-item" } }), + Details, + DetailsSummary, + DetailsContent, Table.configure({ resizable: true, HTMLAttributes: { @@ -336,6 +342,38 @@ export default function TextEditor(props: TextEditorProps) { } }; + const insertCollapsibleSection = () => { + const instance = editor(); + if (!instance) return; + + const title = window.prompt("Section title:", "Click to expand"); + + if (title !== null) { + instance + .chain() + .focus() + .insertContent({ + type: "details", + content: [ + { + type: "detailsSummary", + content: [{ type: "text", text: title }] + }, + { + type: "detailsContent", + content: [ + { + type: "paragraph", + content: [{ type: "text", text: "Add your content here..." }] + } + ] + } + ] + }) + .run(); + } + }; + const insertCodeBlock = (language: string | null) => { const instance = editor(); if (!instance) return; @@ -1013,6 +1051,14 @@ export default function TextEditor(props: TextEditorProps) { > " Quote +