This documentation covers all components, APIs, and patterns used across the HubSpot UI Extensions examples repository. The examples demonstrate how to build custom UI extensions for HubSpot CRM using React/TypeScript.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[shortnames] | |
"deepseek" = "ollama://deepseek-r1" | |
"gemma3" = "hf://bartowski/google_gemma-3-4b-it-GGUF/google_gemma-3-4b-it-IQ2_M.gguf" | |
"gemma3:1b" = "hf://bartowski/google_gemma-3-1b-it-GGUF/google_gemma-3-1b-it-IQ2_M.gguf" | |
"gemma3:4b" = "hf://bartowski/google_gemma-3-4b-it-GGUF/google_gemma-3-4b-it-IQ2_M.gguf" | |
"gemma3:12b" = "hf://bartowski/google_gemma-3-12b-it-GGUF/google_gemma-3-12b-it-IQ2_M.gguf" | |
"gemma3:27b" = "hf://bartowski/google_gemma-3-27b-it-GGUF/google_gemma-3-27b-it-IQ2_M.gguf" | |
"granite" = "ollama://granite3.1-dense" | |
"granite-lab-8b" = "huggingface://ibm-granite/granite-8b-code-base-GGUF/granite-8b-code-base.Q4_K_M.gguf" | |
"granite:2b" = "ollama://granite3.1-dense:2b" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { useReducer, useCallback, useRef } from 'react'; | |
function createMutableReducer(reducer, initialState) { | |
// Track if we're currently in a draft phase | |
let drafting = false; | |
// Store pending changes during the draft phase | |
const changes = new Map(); | |
// Create a proxy handler that tracks mutations | |
const handler = { | |
get(target, prop) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"id": "cpjg1BS9Go8fmW6rAs9V", | |
"number": "5366654761210216498", | |
"begin": "2022-10-17T18:05:21+00:00", | |
"created": "2022-10-17T18:40:14+00:00", | |
"end": "2022-10-17T20:59:49+00:00", | |
"modified": "2022-10-17T20:59:49+00:00", | |
"external_desc": "Multiregion: Dataproc jobs missing from the console", | |
"updates": [ | |
{ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I am attesting that this GitHub handle dazld is linked to the Tezos account tz1UnNGLUYPhETDV8mXWBMuk7YsPgctmT16g for tzprofiles | |
sig:edsigtxbVPcus9383fJsDLH2sb344wy46g8uirgse8A8xtQmmhcnW39hTyjoaiFBUT8vjRvJi68cBMmHW9PiVz4TJsXTr7BMuAP |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; After connecting an nrepl client repl to an nrepl server, some | |
;; output will still appear on stdout from the server. | |
;; Try these snippets - they will both produce output on the nrepl server | |
;; Java libraries commonly do both these things. | |
(.println System/out "Hello stdout.") | |
(.start (Thread. #(println "Hello from a new thread."))) | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
:root { | |
--z-index: 1; | |
} | |
.up { | |
--z-index: calc(var(--z-index) + 1); | |
z-index: var(--z-index); | |
} | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
*** Ramer Douglas Peucker | |
The Ramer-Douglas–Peucker algorithm is an algorithm for reducing the number of points in a curve that is approximated by a series of points. | |
It does so by "thinking" of a line between the first and last point in a set of points that form the curve. | |
It checks which point in between is farthest away from this line. | |
If the point (and as follows, all other in-between points) is closer than a given distance 'epsilon', it removes all these in-between points. | |
If on the other hand this 'outlier point' is farther away from our imaginary line than epsilon, the curve is split in two parts. | |
The function is recursively called on both resulting curves, and the two reduced forms of the curve are put back together. |
https://clojure.org/guides/repl/enhancing_your_repl_workflow#writing-repl-friendly-programs
@cfleming: Tools | REPL | Sync files in REPL, as recently discussed
sync basically works out which files you’ve changed and loads them all in dependency order. Load file also does that, except only starting with the file that you’re loading (i.e. that file and all its dependencies will be loaded if modified). sync will do that for all files, even if the current file doesn’t depend on them.
(require your.main :reload-all)
clojure.tools.namespace.repl/refresh-all
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*@media (prefers-color-scheme: dark) {*/ | |
html { | |
filter: invert(); | |
} | |
img, svg { |
NewerOlder