{"id":"linked-art/LinkedArtWidgets","relativePath":"linked-art/LinkedArtWidgets.md","title":"LinkedArtWidgets.md","markdown":"\nThis list breaks down the essential UI widgets needed to render Linked Art JSON-LD effectively. These are categorized by complexity, ranging from \"Atomic\" (small text formatting helpers) to \"Macro\" (full interactive visualizations).\n\n1. Atomic Components (Text & Formatting)\n\nThese are the building blocks used to parse specific, deeply nested Linked Art fields into human-readable strings.\n\nLinkedDate\n\n• Purpose: Converting complex TimeSpan objects into readable dates.\n\n• Functionality: Handles begin_of_the_begin, end_of_the_end, and display_label. It should gracefully degrade from specific dates (\"May 12, 1890\") to ranges (\"1890–1900\") to uncertainties (\"Circa 19th Century\").\n\nLinkedDimensions\n\n• Purpose: flattening the Dimension array into a standard physical description string.\n\n• Functionality: Concatenates height, width, and depth values with their units. Example output: \"24.5 x 30 cm\".\n\nLinkedAttribution\n\n• Purpose: Generating the standard \"Artist line.\"\n\n• Functionality: Traverses the produced_by path to find carried_out_by (the actor). It should combine the Actor's _label with their role (e.g., \"Painter\") to display: \"Vincent van Gogh (Painter)\".\n\nMaterialTechniqueList\n\n• Purpose: Displaying the \"Medium.\"\n\n• Functionality: Aggregates made_of (materials) and technique fields. Example output: \"Oil on Canvas\".\n\n2. Entity Cards (Summaries)\n\nThese are standard \"preview\" components used in search results, lists, or \"related items\" sidebars.\n\nObjectCard\n\n• Purpose: The standard grid item for a search result.\n\n• Elements: * Thumbnail image (from digitally_shown_by).\n\n• Truncated Title (_label).\n\n• Creation Date (using LinkedDate).\n\n• Artist Name.\n\n• Status Badge (e.g., \"On Display\").\n\nActorCard\n\n• Purpose: A summary of a person or group (Artist, Donor, Manufacturer).\n\n• Elements:\n\n• Portrait/Image.\n\n• Name.\n\n• Birth/Death Dates.\n\n• Nationality (from residence).\n\n• Role summary (e.g., \"Sculptor\", \"Collector\").\n\nPlaceCard\n\n• Purpose: A summary for a geographical location found in the data.\n\n• Elements:\n\n• Map thumbnail.\n\n• Place Name.\n\n• Relationship (e.g., \"Place of Production\").\n\n3. Visualization Widgets (Interactive)\n\nThese components handle the complex graph relationships in a visual way.\n\nProvenanceTimeline\n\n• Purpose: Visualizing the history of ownership (the provenance activity).\n\n• Functionality: A vertical or horizontal stepper showing the sequence of Acquisition or Transfer of Custody events.\n\n• Interactivity: Clicking a node shows the Buyer, Seller, Price, and Date of that transaction.\n\nExhibitionHistoryList\n\n• Purpose: Showing where the object has been displayed.\n\n• Functionality: A chronological list of used_specifically_in (Exhibition) events. Should group exhibitions by venue or date.\n\nGeoMapViewer\n\n• Purpose: Placing the object in physical space.\n\n• Functionality: A map (Leaflet/Mapbox) rendering pins for distinct spatial data points: produced_at (creation), current_location (storage), and moved_to (tours).\n\nDeepZoomViewer (IIIF Wrapper)\n\n• Purpose: High-resolution image exploration.\n\n• Functionality: Consumes the digitally_shown_by IIIF manifest. Includes controls for zooming, panning, and toggling between multiple views (recto/verso).\n\nHeirarchyTree\n\n• Purpose: Navigating sets and collections.\n\n• Functionality: Visualizing members_of relationships. Useful for albums, portfolios, or archival boxes to show the \"Parent\" object and \"Sibling\" objects.\n\n4. Metadata & Context Widgets\n\nDetailed blocks usually placed below the main image on an object page.\n\nClassificationsBlock\n\n• Purpose: Displaying taxonomies and types.\n\n• Functionality: Renders classified_as fields (e.g., AAT terms) as clickable tags or pills that link to search results for that term.\n\nReferenceList\n\n• Purpose: Showing bibliography and academic sources.\n\n• Functionality: Lists items in referred_to_by (Citation). Displays the text snippet and the publication source.\n\nIdentifierBlock\n\n• Purpose: Managing various ID numbers.\n\n• Functionality: Lists the Accession Number, ULAN IDs, Wikidata IDs, and internal system IDs found in identified_by.\n\n5. Participatory & PHR Specific Widgets\n\nTools specifically for the \"Participatory\" aspect of your team's mission, allowing user interaction with the data.\n\nAnnotationOverlay\n\n• Purpose: Allowing users to comment on specific regions of an image.\n\n• Functionality: Draws standard W3C Web Annotations on top of the IIIF canvas.\n\nCrowdCorrector\n\n• Purpose: Letting users suggest edits to data.\n\n• Functionality: A \"Suggest an Edit\" button next to specific fields (like Date or Author). It opens a modal pre-filled with the current value, allowing the user to submit a proposed change.\n\nStoryBuilder\n\n• Purpose: Creating narratives around objects.\n\n• Functionality: A drag-and-drop container where researchers can pull in ObjectCards and TextBlocks to create a linear \"Exhibition\" or \"Story\" page.\n\nSuggested Next Step\n\nWould you like me to generate the React/Javascript code for one of the \"Atomic\" components (like LinkedDate or LinkedAttribution) to demonstrate how to parse the JSON-LD structure?","sections":[],"html":"<p>This list breaks down the essential UI widgets needed to render Linked Art JSON-LD effectively. These are categorized by complexity, ranging from &quot;Atomic&quot; (small text formatting helpers) to &quot;Macro&quot; (full interactive visualizations).</p>\n<ol><li>Atomic Components (Text &amp; Formatting)</li></ol>\n<p>These are the building blocks used to parse specific, deeply nested Linked Art fields into human-readable strings.</p>\n<p>LinkedDate</p>\n<p>• Purpose: Converting complex TimeSpan objects into readable dates.</p>\n<p>• Functionality: Handles begin_of_the_begin, end_of_the_end, and display_label. It should gracefully degrade from specific dates (&quot;May 12, 1890&quot;) to ranges (&quot;1890–1900&quot;) to uncertainties (&quot;Circa 19th Century&quot;).</p>\n<p>LinkedDimensions</p>\n<p>• Purpose: flattening the Dimension array into a standard physical description string.</p>\n<p>• Functionality: Concatenates height, width, and depth values with their units. Example output: &quot;24.5 x 30 cm&quot;.</p>\n<p>LinkedAttribution</p>\n<p>• Purpose: Generating the standard &quot;Artist line.&quot;</p>\n<p>• Functionality: Traverses the produced_by path to find carried_out_by (the actor). It should combine the Actor&#39;s _label with their role (e.g., &quot;Painter&quot;) to display: &quot;Vincent van Gogh (Painter)&quot;.</p>\n<p>MaterialTechniqueList</p>\n<p>• Purpose: Displaying the &quot;Medium.&quot;</p>\n<p>• Functionality: Aggregates made_of (materials) and technique fields. Example output: &quot;Oil on Canvas&quot;.</p>\n<ol><li>Entity Cards (Summaries)</li></ol>\n<p>These are standard &quot;preview&quot; components used in search results, lists, or &quot;related items&quot; sidebars.</p>\n<p>ObjectCard</p>\n<p>• Purpose: The standard grid item for a search result.</p>\n<p>• Elements: * Thumbnail image (from digitally_shown_by).</p>\n<p>• Truncated Title (_label).</p>\n<p>• Creation Date (using LinkedDate).</p>\n<p>• Artist Name.</p>\n<p>• Status Badge (e.g., &quot;On Display&quot;).</p>\n<p>ActorCard</p>\n<p>• Purpose: A summary of a person or group (Artist, Donor, Manufacturer).</p>\n<p>• Elements:</p>\n<p>• Portrait/Image.</p>\n<p>• Name.</p>\n<p>• Birth/Death Dates.</p>\n<p>• Nationality (from residence).</p>\n<p>• Role summary (e.g., &quot;Sculptor&quot;, &quot;Collector&quot;).</p>\n<p>PlaceCard</p>\n<p>• Purpose: A summary for a geographical location found in the data.</p>\n<p>• Elements:</p>\n<p>• Map thumbnail.</p>\n<p>• Place Name.</p>\n<p>• Relationship (e.g., &quot;Place of Production&quot;).</p>\n<ol><li>Visualization Widgets (Interactive)</li></ol>\n<p>These components handle the complex graph relationships in a visual way.</p>\n<p>ProvenanceTimeline</p>\n<p>• Purpose: Visualizing the history of ownership (the provenance activity).</p>\n<p>• Functionality: A vertical or horizontal stepper showing the sequence of Acquisition or Transfer of Custody events.</p>\n<p>• Interactivity: Clicking a node shows the Buyer, Seller, Price, and Date of that transaction.</p>\n<p>ExhibitionHistoryList</p>\n<p>• Purpose: Showing where the object has been displayed.</p>\n<p>• Functionality: A chronological list of used_specifically_in (Exhibition) events. Should group exhibitions by venue or date.</p>\n<p>GeoMapViewer</p>\n<p>• Purpose: Placing the object in physical space.</p>\n<p>• Functionality: A map (Leaflet/Mapbox) rendering pins for distinct spatial data points: produced_at (creation), current_location (storage), and moved_to (tours).</p>\n<p>DeepZoomViewer (IIIF Wrapper)</p>\n<p>• Purpose: High-resolution image exploration.</p>\n<p>• Functionality: Consumes the digitally_shown_by IIIF manifest. Includes controls for zooming, panning, and toggling between multiple views (recto/verso).</p>\n<p>HeirarchyTree</p>\n<p>• Purpose: Navigating sets and collections.</p>\n<p>• Functionality: Visualizing members_of relationships. Useful for albums, portfolios, or archival boxes to show the &quot;Parent&quot; object and &quot;Sibling&quot; objects.</p>\n<ol><li>Metadata &amp; Context Widgets</li></ol>\n<p>Detailed blocks usually placed below the main image on an object page.</p>\n<p>ClassificationsBlock</p>\n<p>• Purpose: Displaying taxonomies and types.</p>\n<p>• Functionality: Renders classified_as fields (e.g., AAT terms) as clickable tags or pills that link to search results for that term.</p>\n<p>ReferenceList</p>\n<p>• Purpose: Showing bibliography and academic sources.</p>\n<p>• Functionality: Lists items in referred_to_by (Citation). Displays the text snippet and the publication source.</p>\n<p>IdentifierBlock</p>\n<p>• Purpose: Managing various ID numbers.</p>\n<p>• Functionality: Lists the Accession Number, ULAN IDs, Wikidata IDs, and internal system IDs found in identified_by.</p>\n<ol><li>Participatory &amp; PHR Specific Widgets</li></ol>\n<p>Tools specifically for the &quot;Participatory&quot; aspect of your team&#39;s mission, allowing user interaction with the data.</p>\n<p>AnnotationOverlay</p>\n<p>• Purpose: Allowing users to comment on specific regions of an image.</p>\n<p>• Functionality: Draws standard W3C Web Annotations on top of the IIIF canvas.</p>\n<p>CrowdCorrector</p>\n<p>• Purpose: Letting users suggest edits to data.</p>\n<p>• Functionality: A &quot;Suggest an Edit&quot; button next to specific fields (like Date or Author). It opens a modal pre-filled with the current value, allowing the user to submit a proposed change.</p>\n<p>StoryBuilder</p>\n<p>• Purpose: Creating narratives around objects.</p>\n<p>• Functionality: A drag-and-drop container where researchers can pull in ObjectCards and TextBlocks to create a linear &quot;Exhibition&quot; or &quot;Story&quot; page.</p>\n<p>Suggested Next Step</p>\n<p>Would you like me to generate the React/Javascript code for one of the &quot;Atomic&quot; components (like LinkedDate or LinkedAttribution) to demonstrate how to parse the JSON-LD structure?</p>","updatedAt":"2018-10-20T01:46:40.000Z","checksum":"b39911c7d97d558d7f77d9a149aa8c2a66637ee1ead4c6c7ec5ad170366e0046","checksumPrefix":"b39911c7d97d","anchorCount":0,"lineCount":160,"rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtWidgets.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtWidgets.md","apiUrl":"/api/docs/content?path=linked-art%2FLinkedArtWidgets.md"}