@crisp-ui-kit/crisp 0.54.11 → 0.55.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/dist/cjs/components/datatable/datatable.js +130 -38
- package/dist/cjs/components/resizablepanel/resizablepanel.js +10 -1
- package/dist/cjs/components/table/table.js +8 -1
- package/dist/cjs/components/tabletoolbar/tabletoolbar.js +110 -27
- package/dist/cjs/index.js +0 -2
- package/dist/cjs/product/recordpage/index.js +6 -1
- package/dist/cjs/product/recordpage/recordpage.js +20 -4
- package/dist/esm/components/datatable/datatable.js +131 -39
- package/dist/esm/components/resizablepanel/resizablepanel.js +10 -1
- package/dist/esm/components/table/table.js +8 -1
- package/dist/esm/components/tabletoolbar/tabletoolbar.js +111 -28
- package/dist/esm/index.js +0 -2
- package/dist/esm/product/recordpage/index.js +2 -0
- package/dist/esm/product/recordpage/recordpage.js +20 -4
- package/dist/styles.css +0 -272
- package/dist/styles.layered.css +0 -272
- package/dist/types/components/table/table.d.ts +14 -0
- package/dist/types/index.d.ts +0 -2
- package/dist/types/product/recordpage/index.d.ts +2 -0
- package/package.json +2 -12
- package/dist/cjs/product/recordstable/company-logos.js +0 -29
- package/dist/cjs/product/recordstable/index.js +0 -13
- package/dist/cjs/product/recordstable/recordstable.js +0 -1362
- package/dist/cjs/product/recordstable/recordstable.recipe.js +0 -175
- package/dist/cjs/product/recordstable/recordstable.tag.js +0 -26
- package/dist/cjs/product/taskstable/index.js +0 -7
- package/dist/cjs/product/taskstable/taskstable.js +0 -32
- package/dist/cjs/product/taskstable/taskstable.recipe.js +0 -56
- package/dist/esm/product/recordstable/company-logos.js +0 -26
- package/dist/esm/product/recordstable/index.js +0 -3
- package/dist/esm/product/recordstable/recordstable.js +0 -1322
- package/dist/esm/product/recordstable/recordstable.recipe.js +0 -172
- package/dist/esm/product/recordstable/recordstable.tag.js +0 -23
- package/dist/esm/product/taskstable/index.js +0 -2
- package/dist/esm/product/taskstable/taskstable.js +0 -29
- package/dist/esm/product/taskstable/taskstable.recipe.js +0 -53
- package/dist/recordstable.css +0 -240
- package/dist/recordstable.d.ts +0 -7
- package/dist/recordstable.layered.css +0 -242
- package/dist/taskstable.css +0 -30
- package/dist/taskstable.d.ts +0 -7
- package/dist/taskstable.layered.css +0 -32
- package/dist/types/product/recordstable/company-logos.d.ts +0 -1
- package/dist/types/product/recordstable/index.d.ts +0 -3
- package/dist/types/product/recordstable/recordstable.d.ts +0 -294
- package/dist/types/product/recordstable/recordstable.recipe.d.ts +0 -5
- package/dist/types/product/recordstable/recordstable.tag.d.ts +0 -15
- package/dist/types/product/taskstable/index.d.ts +0 -2
- package/dist/types/product/taskstable/taskstable.d.ts +0 -59
- package/dist/types/product/taskstable/taskstable.recipe.d.ts +0 -3
package/dist/styles.layered.css
CHANGED
|
@@ -2988,247 +2988,6 @@
|
|
|
2988
2988
|
}
|
|
2989
2989
|
}
|
|
2990
2990
|
|
|
2991
|
-
.crisp-recordstable {
|
|
2992
|
-
box-sizing: border-box; position: relative; display: flex; flex-direction: column; min-height: 0; height: 100%; width: 100%; font-family: var(--crisp-font-sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
2993
|
-
& * { box-sizing: border-box; }
|
|
2994
|
-
/* toolbar */
|
|
2995
|
-
& .crisp-recordstable-toolbar { display: flex; align-items: center; gap: var(--crisp-space-2); padding: 0 var(--crisp-space-3) var(--crisp-space-2); }
|
|
2996
|
-
& .crisp-recordstable-toolbar[data-inline] { padding-bottom: 0; }
|
|
2997
|
-
& .crisp-recordstable-search { display: flex; align-items: center; gap: var(--crisp-space-1-5); height: var(--crisp-size-row); padding: 0 var(--crisp-space-2-5); border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-border-subtle); color: var(--crisp-fg-muted); }
|
|
2998
|
-
& .crisp-recordstable-search svg { flex-shrink: 0; }
|
|
2999
|
-
& .crisp-recordstable-search input { border: none; outline: none; background: transparent; font-family: inherit; font-size: var(--crisp-text-md); color: var(--crisp-fg-primary); width: 180px; }
|
|
3000
|
-
& .crisp-recordstable-search input::placeholder { color: var(--crisp-fg-muted); }
|
|
3001
|
-
& .crisp-recordstable-tool { display: inline-flex; align-items: center; gap: var(--crisp-space-1); height: var(--crisp-size-row); margin: 0; padding: 0 var(--crisp-space-2); border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-border-divider); color: var(--crisp-fg-primary); font-family: inherit; font-size: var(--crisp-text-md); font-weight: var(--crisp-weight-medium); white-space: nowrap; cursor: pointer; transition: background-color .12s; }
|
|
3002
|
-
& .crisp-recordstable-tool:hover { background: var(--crisp-bg-raised); }
|
|
3003
|
-
& .crisp-recordstable-tool svg { flex-shrink: 0; color: var(--crisp-fg-muted); }
|
|
3004
|
-
/* crisp/#772: re-measured live on Sort with an actual sort applied -- an active trigger's own fill is white (bgSurface), the same as the
|
|
3005
|
-
base .tool rule above now already sets; this override existed to
|
|
3006
|
-
distinguish active from a base state that used to be transparent.
|
|
3007
|
-
Kept explicit (not just deleted) so a future change to the base
|
|
3008
|
-
rule's background can't silently change this one too. */
|
|
3009
|
-
& .crisp-recordstable-tool--active { background: var(--crisp-bg-surface); }
|
|
3010
|
-
& .crisp-recordstable-tool--ghost { box-shadow: none; background: color-mix(in srgb, var(--crisp-fg-primary) 3%, transparent); color: var(--crisp-fg-muted); }
|
|
3011
|
-
& .crisp-recordstable-tool--ghost:hover { background: color-mix(in srgb, var(--crisp-fg-primary) 6%, transparent); }
|
|
3012
|
-
/* crisp/#772 follow-up, re-measured live 2026-09-25: an EMPTY Sort/Filter
|
|
3013
|
-
trigger (no sort/condition set) isn't a solid-ring chip at all -- it's
|
|
3014
|
-
a dashed ::before (1px dashed, border-radius: inherit, absolutely
|
|
3015
|
-
positioned inset: 0) over a barely-there fill, confirmed on Attio's own empty Filter chip (its ::before border computes to exactly "1px dashed rgba(0, 0, 0, 0.06)"). Once a value IS set, the trigger drops the dashed pseudo and picks up the base tool's own solid ring
|
|
3016
|
-
instead (the --active modifier, unchanged) -- confirmed on Sort with
|
|
3017
|
-
an actual sort applied. color-mix (not the raw rgba Attio computes
|
|
3018
|
-
to) so both the border and the fill flip correctly in dark mode, the
|
|
3019
|
-
same reasoning --ghost above already uses. Only wired into
|
|
3020
|
-
TableToolbar itself (tabletoolbar.tsx) this pass -- RecordsTable's own Sort/Filter triggers share this same chrome function but are deprecated, not touched here. */
|
|
3021
|
-
& .crisp-recordstable-tool--dashed { position: relative; box-shadow: none; background: color-mix(in srgb, var(--crisp-fg-primary) 2%, transparent); }
|
|
3022
|
-
& .crisp-recordstable-tool--dashed::before { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 1px dashed color-mix(in srgb, var(--crisp-fg-primary) 6%, transparent); pointer-events: none; }
|
|
3023
|
-
& .crisp-recordstable-tool--dashed:hover { background: color-mix(in srgb, var(--crisp-fg-primary) 4%, transparent); }
|
|
3024
|
-
& .crisp-recordstable-toolgroup { position: relative; display: inline-flex; }
|
|
3025
|
-
& .crisp-recordstable-divider { flex-shrink: 0; width: 1px; height: 20px; background: var(--crisp-border-subtle); }
|
|
3026
|
-
& .crisp-recordstable-menu { position: absolute; top: calc(100% + var(--crisp-space-1)); left: 0; z-index: 30; min-width: 232px; padding: var(--crisp-space-1); border-radius: var(--crisp-radius-xl); background: var(--crisp-bg-popover); box-shadow: inset 0 0 0 1px var(--crisp-ring-popover), 0 0 0 1px var(--crisp-shadow-popover1), 0 4px 8px -4px var(--crisp-shadow-popover2), 0 4px 12px -2px var(--crisp-shadow-popover3); display: flex; flex-direction: column; gap: var(--crisp-space-px); transform-origin: top; opacity: 1; transform: none; transition: opacity .13s ease, transform .13s ease; }
|
|
3027
|
-
& .crisp-recordstable-menu { @starting-style { opacity: 0; transform: scale(0.96); } }
|
|
3028
|
-
& .crisp-recordstable-ctx { z-index: 60; }
|
|
3029
|
-
& .crisp-recordstable-th[data-drop] { box-shadow: inset 2px 0 0 var(--crisp-bg-brand-solid); }
|
|
3030
|
-
& .crisp-recordstable-th-inner[draggable="true"]:active { cursor: grabbing; }
|
|
3031
|
-
& .crisp-recordstable-menu-head { padding: var(--crisp-space-1) var(--crisp-space-2) var(--crisp-space-0-5); font-size: var(--crisp-text-sm); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-muted); }
|
|
3032
|
-
& .crisp-recordstable-sortpop { min-width: 480px; overflow: visible; padding: var(--crisp-space-3) var(--crisp-space-1-5); gap: var(--crisp-space-2); }
|
|
3033
|
-
& .crisp-recordstable-sort-empty { padding: var(--crisp-space-1) var(--crisp-space-1) var(--crisp-space-2); font-size: var(--crisp-text-md); color: var(--crisp-fg-muted); }
|
|
3034
|
-
& .crisp-recordstable-sort-row { display: flex; align-items: center; gap: var(--crisp-space-1-5); }
|
|
3035
|
-
& .crisp-recordstable-sort-grip { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 28px; flex-shrink: 0; margin-right: calc(-1 * var(--crisp-space-1)); padding: 0; border: none; background: none; color: var(--crisp-fg-muted); cursor: grab; }
|
|
3036
|
-
& .crisp-recordstable-sort-grip:active { cursor: grabbing; }
|
|
3037
|
-
& .crisp-recordstable-sort-grip:hover { color: var(--crisp-fg-primary); }
|
|
3038
|
-
& .crisp-recordstable-sort-optlabel { display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); min-width: 0; }
|
|
3039
|
-
& .crisp-recordstable-sort-optlabel svg { flex-shrink: 0; color: var(--crisp-fg-muted); }
|
|
3040
|
-
& .crisp-recordstable-sort-field { flex: 1; min-width: 0; }
|
|
3041
|
-
& .crisp-recordstable-sort-dir { width: 136px; flex-shrink: 0; }
|
|
3042
|
-
& .crisp-recordstable-sort-field .crisp-select-trigger, & .crisp-recordstable-sort-dir .crisp-select-trigger { height: 28px; padding-right: var(--crisp-space-1); }
|
|
3043
|
-
& .crisp-recordstable-sort-remove { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex-shrink: 0; padding: 0; margin: 0; border: none; border-radius: var(--crisp-radius-md); background: none; color: var(--crisp-fg-muted); cursor: pointer; transition: background-color .12s, color .12s; }
|
|
3044
|
-
& .crisp-recordstable-sort-remove:hover { background: var(--crisp-bg-raised); color: var(--crisp-fg-primary); }
|
|
3045
|
-
& .crisp-recordstable-sort-addrow { display: flex; padding: var(--crisp-space-0-5) 0; }
|
|
3046
|
-
& .crisp-recordstable-sort-add { display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); height: 28px; padding: 0 var(--crisp-space-2) 0 var(--crisp-space-1-5); margin: 0; border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-ring-neutral), 0 0 2px rgba(28,40,64,0.18), 0 1px 3px rgba(0,0,0,0.04); font-family: inherit; font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-regular); color: var(--crisp-fg-primary); cursor: pointer; transition: background-color .12s; }
|
|
3047
|
-
& .crisp-recordstable-sort-add:hover { background: var(--crisp-bg-raised); }
|
|
3048
|
-
& .crisp-recordstable-sort-add svg { flex-shrink: 0; color: var(--crisp-fg-muted); }
|
|
3049
|
-
& .crisp-recordstable-sort-foot { display: flex; padding: var(--crisp-space-1-5) var(--crisp-space-1) var(--crisp-space-0-5); }
|
|
3050
|
-
& .crisp-recordstable-sort-learn { display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); font-size: var(--crisp-text-lg); color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); text-decoration: none; }
|
|
3051
|
-
& .crisp-recordstable-sort-learn svg { flex-shrink: 0; }
|
|
3052
|
-
& .crisp-recordstable-sort-learn:hover { color: var(--crisp-fg-primary); }
|
|
3053
|
-
& .crisp-recordstable-menu-item { display: flex; align-items: center; gap: var(--crisp-space-1-5); width: 100%; height: var(--crisp-size-menuRow); margin: 0; padding: 0 var(--crisp-space-2); border: none; background: none; border-radius: var(--crisp-radius-md); font-family: inherit; font-size: var(--crisp-text-lg); line-height: 20px; font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-primary); text-align: left; text-decoration: none; cursor: pointer; }
|
|
3054
|
-
& .crisp-recordstable-menu-item:hover { background: var(--crisp-bg-raised); }
|
|
3055
|
-
& .crisp-recordstable-menu-item:disabled { opacity: 0.4; cursor: default; }
|
|
3056
|
-
& .crisp-recordstable-menu-item:disabled:hover { background: none; }
|
|
3057
|
-
& .crisp-recordstable-menu-item svg { flex-shrink: 0; color: var(--crisp-fg-muted); }
|
|
3058
|
-
& .crisp-recordstable-menu-item[data-on] svg { color: var(--crisp-bg-brand-solid); }
|
|
3059
|
-
& .crisp-recordstable-menu-item .crisp-recordstable-menu-check { margin-left: auto; }
|
|
3060
|
-
& .crisp-recordstable-menu-input { height: var(--crisp-size-row); margin: var(--crisp-space-0-5); padding: 0 var(--crisp-space-2); border: none; border-radius: var(--crisp-radius-md); box-shadow: inset 0 0 0 1px var(--crisp-border-subtle); background: var(--crisp-bg-surface); font-family: inherit; font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); outline: none; }
|
|
3061
|
-
& .crisp-recordstable-menu-sep { height: 1px; border: none; background: var(--crisp-border-subtle); margin: var(--crisp-space-0-5) 0; }
|
|
3062
|
-
/* #592: the Filter field picker's nested-scope header (back control +
|
|
3063
|
-
search, once drilled into a nestedColumns column) and a search
|
|
3064
|
-
result's own breadcrumb row ("Team › Twitter follower count", surfaced by the SAME query matching a nested column). menu-back reuses the established 28px icon-only control pattern this file already uses twice (sort-remove, the kebab segment) rather than an independent measurement of Attio's own back arrow. The breadcrumb
|
|
3065
|
-
colours ARE measured live: the parent segment muted at the same
|
|
3066
|
-
exact color-mix 63% sort-learn above already uses, the
|
|
3067
|
-
separator chevron and leaf segment both full fgPrimary (the
|
|
3068
|
-
generic menu-item svg rule below defaults every icon to
|
|
3069
|
-
fgMuted, so the separator needs its own override to read
|
|
3070
|
-
correctly here). */
|
|
3071
|
-
& .crisp-recordstable-menu-nesthead { display: flex; align-items: center; gap: var(--crisp-space-1); margin: var(--crisp-space-0-5); }
|
|
3072
|
-
& .crisp-recordstable-menu-nesthead .crisp-recordstable-menu-input { flex: 1; margin: 0; }
|
|
3073
|
-
& .crisp-recordstable-menu-back { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex-shrink: 0; padding: 0; border: none; border-radius: var(--crisp-radius-md); background: none; color: var(--crisp-fg-muted); cursor: pointer; }
|
|
3074
|
-
& .crisp-recordstable-menu-back:hover { background: var(--crisp-bg-raised); color: var(--crisp-fg-primary); }
|
|
3075
|
-
& .crisp-recordstable-menu-item--expand { justify-content: space-between; }
|
|
3076
|
-
& .crisp-recordstable-menu-item-path { display: inline-flex; align-items: center; gap: 2px; min-width: 0; overflow: hidden; }
|
|
3077
|
-
& .crisp-recordstable-menu-item-path-parent { flex-shrink: 0; overflow: hidden; text-overflow: ellipsis; max-width: 100px; color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); }
|
|
3078
|
-
& .crisp-recordstable-menu-item-path-sep { flex-shrink: 0; color: var(--crisp-fg-primary); }
|
|
3079
|
-
& .crisp-recordstable-menu-item-path > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
3080
|
-
& .crisp-recordstable-menu--up { top: auto; bottom: calc(100% + var(--crisp-space-1)); transform-origin: bottom; }
|
|
3081
|
-
& .crisp-recordstable-menu--right { left: auto; right: 0; }
|
|
3082
|
-
& .crisp-recordstable-menu--fixed { position: fixed; top: auto; left: auto; z-index: 40; }
|
|
3083
|
-
& .crisp-recordstable-menu--hdr { min-width: 200px; }
|
|
3084
|
-
& .crisp-recordstable-menu--op { min-width: 0; }
|
|
3085
|
-
& .crisp-recordstable-menu-item--danger { color: var(--crisp-bg-danger); }
|
|
3086
|
-
& .crisp-recordstable-menu-item--danger svg { color: var(--crisp-bg-danger); }
|
|
3087
|
-
& .crisp-recordstable-menu-item--danger:hover { background: color-mix(in srgb, var(--crisp-bg-danger) 10%, transparent); }
|
|
3088
|
-
& .crisp-recordstable-menu-check { margin-left: auto; color: var(--crisp-bg-brand-solid); }
|
|
3089
|
-
& .crisp-recordstable-fchip { display: inline-flex; align-items: center; height: var(--crisp-size-row); padding-right: var(--crisp-space-1); border-radius: var(--crisp-radius-md); box-shadow: inset 0 0 0 1px var(--crisp-border-default); background: var(--crisp-bg-surface); font-size: var(--crisp-text-md); color: var(--crisp-fg-primary); white-space: nowrap; }
|
|
3090
|
-
& .crisp-recordstable-fchip-main { display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); height: 100%; margin: 0; padding: 0 var(--crisp-space-1) 0 var(--crisp-space-2); border: none; background: none; font-family: inherit; font-size: var(--crisp-text-md); color: var(--crisp-fg-primary); cursor: pointer; }
|
|
3091
|
-
& .crisp-recordstable-fchip-field { font-weight: var(--crisp-weight-medium); }
|
|
3092
|
-
& .crisp-recordstable-fchip-op { color: var(--crisp-fg-muted); }
|
|
3093
|
-
& .crisp-recordstable-fchip-val { font-weight: var(--crisp-weight-medium); max-width: 140px; overflow: hidden; text-overflow: ellipsis; }
|
|
3094
|
-
& .crisp-recordstable-fchip-x { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; padding: 0; border: none; border-radius: var(--crisp-radius-sm); background: none; color: var(--crisp-fg-muted); cursor: pointer; }
|
|
3095
|
-
& .crisp-recordstable-fchip-x:hover { background: color-mix(in srgb, var(--crisp-fg-primary) 10%, transparent); color: var(--crisp-fg-primary); }
|
|
3096
|
-
& .crisp-recordstable-spacer { flex: 1; }
|
|
3097
|
-
& .crisp-recordstable-count { font-size: var(--crisp-text-md); color: var(--crisp-fg-muted); }
|
|
3098
|
-
& .crisp-recordstable-new { display: inline-flex; align-items: center; gap: var(--crisp-space-1); height: var(--crisp-size-row); padding: 0 var(--crisp-space-2-5); border: none; border-radius: var(--crisp-radius-md); background: var(--crisp-bg-brand-solid); color: var(--crisp-fg-on-brand); font-family: inherit; font-size: var(--crisp-text-md); font-weight: var(--crisp-weight-medium); cursor: pointer; transition: background-color .12s; }
|
|
3099
|
-
& .crisp-recordstable-new:hover { background: var(--crisp-bg-brand-solid-pressed); }
|
|
3100
|
-
|
|
3101
|
-
/* scroll frame + table */
|
|
3102
|
-
& .crisp-recordstable-scroll { flex: 1; min-height: 0; overflow: auto; background: var(--crisp-bg-surface); border-top: 1px solid var(--crisp-border-subtle); scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--crisp-fg-primary) 22%, transparent) transparent; }
|
|
3103
|
-
& .crisp-recordstable-scroll::-webkit-scrollbar { width: 10px; height: 10px; }
|
|
3104
|
-
& .crisp-recordstable-scroll::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--crisp-fg-primary) 20%, transparent); border-radius: var(--crisp-radius-full); border: 2px solid var(--crisp-bg-surface); background-clip: padding-box; }
|
|
3105
|
-
& .crisp-recordstable-scroll::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--crisp-fg-primary) 34%, transparent); background-clip: padding-box; }
|
|
3106
|
-
& .crisp-recordstable-scroll::-webkit-scrollbar-corner { background: transparent; }
|
|
3107
|
-
& .crisp-recordstable-table { table-layout: fixed; border-collapse: separate; border-spacing: 0; }
|
|
3108
|
-
& .crisp-recordstable-th, & .crisp-recordstable-td { position: relative; height: var(--crisp-size-tableRow); padding: 0 var(--crisp-space-2); border-bottom: 1px solid var(--crisp-border-subtle); border-inline-end: 1px solid var(--crisp-border-subtle); text-align: start; white-space: nowrap; overflow: hidden; }
|
|
3109
|
-
& .crisp-recordstable-th { position: sticky; top: 0; z-index: 2; padding: 0; height: var(--crisp-size-tableHeader); background: var(--crisp-bg-surface); font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); letter-spacing: -0.14px; color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); user-select: none; }
|
|
3110
|
-
& .crisp-recordstable-th-inner { display: flex; align-items: center; gap: var(--crisp-space-1-5); width: 100%; height: 100%; margin: 0; padding: 0 var(--crisp-space-2); border: none; background: none; color: inherit; font: inherit; letter-spacing: inherit; text-align: start; cursor: pointer; }
|
|
3111
|
-
& .crisp-recordstable-th-inner svg { flex-shrink: 0; color: color-mix(in srgb, var(--crisp-fg-primary) 45%, transparent); }
|
|
3112
|
-
& .crisp-recordstable-th-label { flex: 1; overflow: hidden; text-overflow: ellipsis; }
|
|
3113
|
-
& .crisp-recordstable-th-rename { width: 100%; min-width: 0; height: 100%; margin: 0; padding: 0; border: none; outline: none; background: none; color: inherit; font: inherit; letter-spacing: inherit; }
|
|
3114
|
-
& .crisp-recordstable-th-rename:focus { box-shadow: inset 0 0 0 1px var(--crisp-bg-brand-solid); }
|
|
3115
|
-
& .crisp-recordstable-sort { flex-shrink: 0; opacity: 0.4; transition: opacity .12s; color: color-mix(in srgb, var(--crisp-fg-primary) 45%, transparent); }
|
|
3116
|
-
& .crisp-recordstable-th:hover .crisp-recordstable-sort, & .crisp-recordstable-th[data-sorted] .crisp-recordstable-sort { opacity: 1; }
|
|
3117
|
-
& .crisp-recordstable-th[data-sorted="desc"] .crisp-recordstable-sort svg { transform: rotate(180deg); }
|
|
3118
|
-
|
|
3119
|
-
/* column resize handle */
|
|
3120
|
-
& .crisp-recordstable-resize { position: absolute; top: 0; inset-inline-end: -3px; width: 9px; height: 100%; cursor: col-resize; z-index: 6; touch-action: none; }
|
|
3121
|
-
& .crisp-recordstable-resize::after { content: ""; position: absolute; top: 0; inset-inline-start: 3px; width: 2px; height: 100%; background: var(--crisp-bg-brand-solid); opacity: 0; transition: opacity .12s; }
|
|
3122
|
-
& .crisp-recordstable-resize:hover::after, & .crisp-recordstable-resize[data-resizing]::after { opacity: 1; }
|
|
3123
|
-
|
|
3124
|
-
/* add-column header */
|
|
3125
|
-
& .crisp-recordstable-addcol { min-width: 44px; }
|
|
3126
|
-
& .crisp-recordstable-addcol button { display: flex; align-items: center; justify-content: center; width: 44px; height: 100%; border: none; background: none; color: var(--crisp-fg-muted); cursor: pointer; }
|
|
3127
|
-
& .crisp-recordstable-addcol button:hover { background: var(--crisp-bg-raised); color: var(--crisp-fg-primary); }
|
|
3128
|
-
|
|
3129
|
-
/* cells */
|
|
3130
|
-
/* font-weight is explicit because the first cell of each row is a
|
|
3131
|
-
th[scope=row] — the record's name is what the row IS — and a th defaults to bold. Measured before the change and unchanged after: 400. */
|
|
3132
|
-
& .crisp-recordstable-td { font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-regular); color: var(--crisp-fg-primary); background: var(--crisp-bg-surface); cursor: default; }
|
|
3133
|
-
& .crisp-recordstable-td--editable { cursor: text; }
|
|
3134
|
-
/* keyboard/click cell selection (spreadsheet-style) */
|
|
3135
|
-
& .crisp-recordstable-td[data-selected] { outline: 2px solid var(--crisp-bg-brand-solid); outline-offset: -2px; border-radius: var(--crisp-radius-sm); z-index: 3; }
|
|
3136
|
-
& .crisp-recordstable-scroll:focus { outline: none; }
|
|
3137
|
-
/* picker cells (status / date / reference) host a ghost control edge-to-edge */
|
|
3138
|
-
& .crisp-recordstable-td--picker { padding: 0; }
|
|
3139
|
-
& .crisp-recordstable-td--picker .crisp-select-trigger, & .crisp-recordstable-td--picker .crisp-datepicker-trigger, & .crisp-recordstable-td--picker .crisp-multiselect-trigger { width: 100%; height: 100%; min-height: 0; border-radius: 0; box-shadow: none; padding: 0 var(--crisp-space-2); }
|
|
3140
|
-
& .crisp-recordstable-td--picker .crisp-multiselect-trigger:hover { background: none; }
|
|
3141
|
-
& .crisp-recordstable-td--picker .crisp-multiselect-trigger[data-open] { box-shadow: inset 0 0 0 1.5px var(--crisp-bg-brand-solid); }
|
|
3142
|
-
/* tag cell: one compact clipped line of full chips, no chevron (opens the picker on click) */
|
|
3143
|
-
& .crisp-recordstable-td--picker .crisp-multiselect-chips { flex-wrap: nowrap; overflow: hidden; }
|
|
3144
|
-
& .crisp-recordstable-td--picker .crisp-multiselect-chips .crisp-recordstable-tag { flex-shrink: 0; max-width: none; }
|
|
3145
|
-
& .crisp-recordstable-td--picker .crisp-multiselect-chevron { display: none; }
|
|
3146
|
-
& .crisp-recordstable-td--picker .crisp-multiselect-placeholder { color: var(--crisp-fg-muted); }
|
|
3147
|
-
/* reference picker: a leading 16px avatar per option, plus a trailing "Create X" row when the consumer supplies one (#449) -- measured live against Attio's own picker (16px circular avatar, 16px plain icon for
|
|
3148
|
-
the create row, both sitting in the option's existing 8px gap, no new gap value invented). */
|
|
3149
|
-
& .crisp-recordstable-refoption { display: flex; align-items: center; gap: var(--crisp-space-2); min-width: 0; overflow: hidden; text-overflow: ellipsis; }
|
|
3150
|
-
& .crisp-recordstable-refoption-avatar { flex-shrink: 0; }
|
|
3151
|
-
& .crisp-recordstable-refoption--create { color: var(--crisp-fg-muted); }
|
|
3152
|
-
& .crisp-recordstable-status { display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); min-width: 0; }
|
|
3153
|
-
& .crisp-recordstable-status-dot { flex-shrink: 0; width: 8px; height: 8px; border-radius: var(--crisp-radius-full); }
|
|
3154
|
-
& .crisp-recordstable-cell { display: flex; align-items: center; gap: var(--crisp-space-2); height: 100%; min-width: 0; }
|
|
3155
|
-
& .crisp-recordstable-cell--num { justify-content: flex-end; font-variant-numeric: tabular-nums; }
|
|
3156
|
-
& .crisp-recordstable-cell--tags { gap: var(--crisp-space-1); }
|
|
3157
|
-
& .crisp-recordstable-tag { display: inline-flex; align-items: center; height: var(--crisp-size-chip); padding: 0 var(--crisp-space-1); border-radius: var(--crisp-radius-chip); font-size: var(--crisp-text-lg); line-height: 20px; font-weight: var(--crisp-weight-medium); white-space: nowrap; background: color-mix(in srgb, var(--crisp-fg-primary) 6%, transparent); color: color-mix(in srgb, var(--crisp-fg-primary) 82%, transparent); box-shadow: inset 0 0 0 1px var(--crisp-border-subtle); }
|
|
3158
|
-
& .crisp-recordstable-tag[data-tone="brand"] { background: color-mix(in srgb, var(--crisp-bg-brand-solid) 14%, transparent); color: color-mix(in srgb, var(--crisp-bg-brand-solid) 82%, var(--crisp-fg-primary)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--crisp-bg-brand-solid) 30%, transparent); }
|
|
3159
|
-
& .crisp-recordstable-tag[data-tone="success"] { background: color-mix(in srgb, var(--crisp-bg-success) 16%, transparent); color: color-mix(in srgb, var(--crisp-bg-success) 78%, var(--crisp-fg-primary)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--crisp-bg-success) 30%, transparent); }
|
|
3160
|
-
& .crisp-recordstable-tag[data-tone="warning"] { background: color-mix(in srgb, var(--crisp-bg-warning) 18%, transparent); color: color-mix(in srgb, var(--crisp-bg-warning) 82%, var(--crisp-fg-primary)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--crisp-bg-warning) 30%, transparent); }
|
|
3161
|
-
& .crisp-recordstable-tag[data-tone="danger"] { background: color-mix(in srgb, var(--crisp-bg-danger) 15%, transparent); color: color-mix(in srgb, var(--crisp-bg-danger) 80%, var(--crisp-fg-primary)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--crisp-bg-danger) 30%, transparent); }
|
|
3162
|
-
& .crisp-recordstable-tag[data-tone="purple"] { background: color-mix(in srgb, var(--crisp-bg-purple) 16%, transparent); color: color-mix(in srgb, var(--crisp-bg-purple) 80%, var(--crisp-fg-primary)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--crisp-bg-purple) 30%, transparent); }
|
|
3163
|
-
& .crisp-recordstable-tag[data-tone="cyan"] { background: color-mix(in srgb, var(--crisp-bg-cyan) 18%, transparent); color: color-mix(in srgb, var(--crisp-bg-cyan) 82%, var(--crisp-fg-primary)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--crisp-bg-cyan) 30%, transparent); }
|
|
3164
|
-
& .crisp-recordstable-tag[data-tone="orange"] { background: color-mix(in srgb, var(--crisp-bg-orange) 16%, transparent); color: color-mix(in srgb, var(--crisp-bg-orange) 82%, var(--crisp-fg-primary)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--crisp-bg-orange) 30%, transparent); }
|
|
3165
|
-
& .crisp-recordstable-muted { color: var(--crisp-fg-muted); }
|
|
3166
|
-
& .crisp-recordstable-entity { display: flex; align-items: center; gap: var(--crisp-space-1-5); min-width: 0; color: var(--crisp-fg-primary); font-weight: var(--crisp-weight-medium); text-decoration: none; }
|
|
3167
|
-
& .crisp-recordstable-entity:hover .crisp-recordstable-entity-name { text-decoration: underline; }
|
|
3168
|
-
& .crisp-recordstable-entity-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
3169
|
-
& button.crisp-recordstable-entity-name--link { margin: 0; padding: 0; border: none; background: none; font: inherit; color: inherit; letter-spacing: inherit; text-align: start; cursor: pointer; max-width: 100%; }
|
|
3170
|
-
& .crisp-recordstable-fav { width: var(--crisp-size-icon); height: var(--crisp-size-icon); border-radius: var(--crisp-radius-sm); flex-shrink: 0; object-fit: cover; background: var(--crisp-bg-raised); }
|
|
3171
|
-
& .crisp-recordstable-open { position: absolute; inset-inline-end: var(--crisp-space-1); top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; padding: 0; border: none; border-radius: var(--crisp-radius-sm); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px var(--crisp-border-default); color: var(--crisp-fg-muted); font-family: inherit; cursor: pointer; opacity: 0; transition: opacity .12s, background-color .12s; z-index: 3; }
|
|
3172
|
-
& .crisp-recordstable-open:hover { background: var(--crisp-bg-raised); color: var(--crisp-fg-primary); }
|
|
3173
|
-
& tbody tr:hover .crisp-recordstable-open { opacity: 1; }
|
|
3174
|
-
& .crisp-recordstable-link { color: var(--crisp-fg-primary); text-decoration: none; overflow: hidden; text-overflow: ellipsis; }
|
|
3175
|
-
& .crisp-recordstable-link:hover { text-decoration: underline; }
|
|
3176
|
-
/* inline edit input */
|
|
3177
|
-
& .crisp-recordstable-edit { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0 var(--crisp-space-2); border: none; outline: 2px solid var(--crisp-bg-brand-solid); outline-offset: -2px; border-radius: var(--crisp-radius-sm); background: var(--crisp-bg-surface); font-family: inherit; font-size: var(--crisp-text-lg); color: var(--crisp-fg-primary); z-index: 5; }
|
|
3178
|
-
& .crisp-recordstable-edit--num { text-align: end; font-variant-numeric: tabular-nums; }
|
|
3179
|
-
/* selection / hover / sticky */
|
|
3180
|
-
& .crisp-recordstable-col-check { width: 40px; min-width: 40px; padding: 0; }
|
|
3181
|
-
& .crisp-recordstable-check-inner { display: flex; align-items: center; justify-content: center; height: 100%; }
|
|
3182
|
-
& .crisp-recordstable-col-check, & .crisp-recordstable-col-entity { position: sticky; z-index: 3; background: var(--crisp-bg-surface); }
|
|
3183
|
-
/* The sticky pin is a LOGICAL offset: with physical `left` these columns were not pinned at all under RTL -- scrolled, they left the viewport entirely (measured: viewport 13..773, check column at x=1333). Nothing in JS measures these, so converting them is safe; the two properties below that have no logical form get an explicit RTL rule rather than being left to point the wrong way. */
|
|
3184
|
-
& .crisp-recordstable-col-check { inset-inline-start: 0; }
|
|
3185
|
-
& .crisp-recordstable-col-entity { inset-inline-start: 40px; clip-path: inset(0 -38px 0 0); transition: box-shadow .2s ease; }
|
|
3186
|
-
[dir="rtl"] & .crisp-recordstable-col-entity { clip-path: inset(0 0 0 -38px); }
|
|
3187
|
-
& thead .crisp-recordstable-col-check, & thead .crisp-recordstable-col-entity { z-index: 4; }
|
|
3188
|
-
/* soft shadow on the sticky column edge once the grid is scrolled horizontally */
|
|
3189
|
-
& .crisp-recordstable-scroll[data-scrolled] .crisp-recordstable-col-entity { box-shadow: 6px 0 16px 4px rgba(0,0,0,0.12); }
|
|
3190
|
-
/* box-shadow has no logical form either: the bleed follows the scrolled content, which is the opposite side under RTL. */
|
|
3191
|
-
[dir="rtl"] & .crisp-recordstable-scroll[data-scrolled] .crisp-recordstable-col-entity { box-shadow: -6px 0 16px 4px rgba(0,0,0,0.12); }
|
|
3192
|
-
/* AI-enriched values carry a purple wash. Measured live: a full-bleed overlay at #9b69ff 4% (== bgPurple), composited OVER whatever row-state background the cell already has, which is why it is an ::after and not a background. */
|
|
3193
|
-
& .crisp-recordstable-td[data-enriched]::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: color-mix(in srgb, var(--crisp-bg-purple) 4%, transparent); }
|
|
3194
|
-
& tbody tr:hover .crisp-recordstable-td { background: color-mix(in srgb, var(--crisp-fg-primary) 4%, var(--crisp-bg-surface)); }
|
|
3195
|
-
& tbody tr[data-selected] .crisp-recordstable-td { background: color-mix(in srgb, var(--crisp-bg-brand-solid) 10%, var(--crisp-bg-surface)); }
|
|
3196
|
-
& tbody tr[data-selected]:hover .crisp-recordstable-td { background: color-mix(in srgb, var(--crisp-fg-primary) 4%, color-mix(in srgb, var(--crisp-bg-brand-solid) 10%, var(--crisp-bg-surface))); }
|
|
3197
|
-
& .crisp-recordstable-th:last-child, & .crisp-recordstable-td:last-child { border-inline-end: none; }
|
|
3198
|
-
/* add-row footer */
|
|
3199
|
-
& .crisp-recordstable-addrow { display: flex; align-items: center; gap: var(--crisp-space-2); width: 100%; height: var(--crisp-size-tableRow); padding: 0 var(--crisp-space-2); border: none; border-top: 1px solid var(--crisp-border-subtle); background: var(--crisp-bg-surface); color: var(--crisp-fg-muted); font-family: inherit; font-size: var(--crisp-text-lg); cursor: pointer; }
|
|
3200
|
-
& .crisp-recordstable-addrow:hover { background: var(--crisp-bg-raised); color: var(--crisp-fg-primary); }
|
|
3201
|
-
/* zero-row empty state — centred in the body region (headers + summary stay) */
|
|
3202
|
-
& .crisp-recordstable-empty { display: flex; align-items: center; justify-content: center; min-height: 320px; padding: var(--crisp-space-8) var(--crisp-space-4); }
|
|
3203
|
-
/* summary footer — per-column aggregation, sticky to the bottom */
|
|
3204
|
-
& .crisp-recordstable-sum { position: sticky; bottom: 0; z-index: 2; height: var(--crisp-size-tableRow); padding: 0; border-top: 1px solid var(--crisp-border-subtle); border-bottom: 1px solid var(--crisp-border-subtle); border-inline-end: 1px solid var(--crisp-border-subtle); background: var(--crisp-bg-surface); }
|
|
3205
|
-
& tfoot .crisp-recordstable-col-check, & tfoot .crisp-recordstable-col-entity { position: sticky; bottom: 0; z-index: 3; }
|
|
3206
|
-
& .crisp-recordstable-sum:last-child { border-inline-end: none; }
|
|
3207
|
-
& .crisp-recordstable-sum-btn { display: flex; align-items: center; justify-content: flex-end; gap: var(--crisp-space-1-5); width: 100%; height: 100%; margin: 0; padding: 0 var(--crisp-space-3); border: none; background: none; color: color-mix(in srgb, var(--crisp-fg-primary) 63%, transparent); font-family: inherit; font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); cursor: pointer; white-space: nowrap; overflow: hidden; }
|
|
3208
|
-
& .crisp-recordstable-sum-btn:hover { background: var(--crisp-bg-raised); }
|
|
3209
|
-
& .crisp-recordstable-sum-label { color: color-mix(in srgb, var(--crisp-fg-primary) 45%, transparent); text-transform: capitalize; }
|
|
3210
|
-
& .crisp-recordstable-sum-value { color: var(--crisp-fg-primary); font-variant-numeric: tabular-nums; overflow: hidden; text-overflow: ellipsis; }
|
|
3211
|
-
& .crisp-recordstable-sumgroup { width: 100%; height: 100%; }
|
|
3212
|
-
& .crisp-recordstable-pin { flex-shrink: 0; margin-inline-start: var(--crisp-space-1); color: var(--crisp-bg-warning); fill: color-mix(in srgb, var(--crisp-bg-warning) 35%, transparent); }
|
|
3213
|
-
& .crisp-recordstable-sum-btn[data-empty] { opacity: 0; justify-content: flex-start; }
|
|
3214
|
-
& .crisp-recordstable-sum-btn[data-empty]:hover { opacity: 1; }
|
|
3215
|
-
/* bulk action bar lives in its own component now — see components/bulkbar */
|
|
3216
|
-
& .crisp-recordstable-bulk-sep { width: 1px; height: 20px; margin: 0 var(--crisp-space-0-5); background: var(--crisp-border-subtle); }
|
|
3217
|
-
& .crisp-recordstable-bulk-close { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: none; border-radius: var(--crisp-radius-md); background: transparent; color: var(--crisp-fg-muted); cursor: pointer; }
|
|
3218
|
-
& .crisp-recordstable-bulk-close:hover { background: var(--crisp-bg-raised); color: var(--crisp-fg-primary); }
|
|
3219
|
-
/* announced, never drawn */
|
|
3220
|
-
& .crisp-recordstable-live { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
|
|
3221
|
-
[dir="rtl"] & [data-rtl-flip] { transform: scaleX(-1); }
|
|
3222
|
-
}
|
|
3223
|
-
|
|
3224
|
-
@media (prefers-reduced-motion: reduce) {
|
|
3225
|
-
.crisp-recordstable, .crisp-recordstable * {
|
|
3226
|
-
animation-duration: 0.01ms !important;
|
|
3227
|
-
animation-iteration-count: 1 !important;
|
|
3228
|
-
transition-duration: 0.01ms !important;
|
|
3229
|
-
}
|
|
3230
|
-
}
|
|
3231
|
-
|
|
3232
2991
|
.crisp-richtext {
|
|
3233
2992
|
display: flex; flex-direction: column; box-sizing: border-box; font-family: var(--crisp-font-sans); color: var(--crisp-fg-primary); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
3234
2993
|
& .crisp-rte-title { font-size: 32px; line-height: 36px; font-weight: var(--crisp-weight-semibold); letter-spacing: -0.6px; color: var(--crisp-fg-primary); outline: none; }
|
|
@@ -3519,37 +3278,6 @@
|
|
|
3519
3278
|
}
|
|
3520
3279
|
}
|
|
3521
3280
|
|
|
3522
|
-
.crisp-taskstable {
|
|
3523
|
-
display: flex; flex-direction: column; min-height: 0; box-sizing: border-box; font-family: var(--crisp-font-sans); color: var(--crisp-fg-primary); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
3524
|
-
& .crisp-taskstable-colhead { display: flex; align-items: center; gap: var(--crisp-space-1-5); min-height: 49px; max-height: 49px; padding: var(--crisp-space-2-5) var(--crisp-space-3); box-shadow: inset 0 -1px 0 var(--crisp-border-subtle); font-size: var(--crisp-text-sm); color: var(--crisp-fg-muted); }
|
|
3525
|
-
& .crisp-taskstable-colhead-cell { display: inline-flex; align-items: center; gap: var(--crisp-space-1-5); min-width: 0; }
|
|
3526
|
-
& .crisp-taskstable-row { display: flex; align-items: center; gap: var(--crisp-space-1-5); }
|
|
3527
|
-
/* #642: measured live -- title, due date and assignee name are ALL 14px/500 on Attio's own Tasks page. Only -title/-due set their own
|
|
3528
|
-
font-size (and only -title its own weight), so an unstyled consumer
|
|
3529
|
-
slot (a plain PersonChip/RecordChip name span with no font-size of
|
|
3530
|
-
its own) fell through to the browser/body default, 16px/400. Set
|
|
3531
|
-
the ambient font here so it cascades to any slot content that
|
|
3532
|
-
doesn't override it -- -title/-due's own declarations still apply,
|
|
3533
|
-
unchanged, they're just now redundant with this baseline rather than the only source of it. */
|
|
3534
|
-
& .crisp-taskstable-cell { display: flex; align-items: center; min-width: 0; font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); }
|
|
3535
|
-
& .crisp-taskstable-check { appearance: none; -webkit-appearance: none; box-sizing: border-box; flex-shrink: 0; margin: 0; width: 16px; height: 16px; border: none; border-radius: var(--crisp-radius-full); background: var(--crisp-bg-surface); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--crisp-fg-primary) 9%, transparent); cursor: pointer; transition: background-color .12s, box-shadow .12s; }
|
|
3536
|
-
& .crisp-taskstable-check:hover { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--crisp-fg-primary) 30%, transparent); }
|
|
3537
|
-
& .crisp-taskstable-check:checked { background: var(--crisp-bg-brand-solid) center / 10px no-repeat; box-shadow: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 6.5 5 9l4.5-5'/%3E%3C/svg%3E"); }
|
|
3538
|
-
& .crisp-taskstable-check:focus-visible { outline: 2px solid var(--crisp-bg-brand-solid); outline-offset: 1px; }
|
|
3539
|
-
& .crisp-taskstable-title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--crisp-text-lg); font-weight: var(--crisp-weight-medium); color: var(--crisp-fg-primary); }
|
|
3540
|
-
& .crisp-taskstable-due { font-size: var(--crisp-text-lg); color: var(--crisp-fg-muted); white-space: nowrap; }
|
|
3541
|
-
& .crisp-taskstable-due[data-overdue] { color: var(--crisp-fg-danger); }
|
|
3542
|
-
& .crisp-taskstable-empty { padding: var(--crisp-space-8) var(--crisp-space-4); text-align: center; font-size: var(--crisp-text-md); color: var(--crisp-fg-muted); }
|
|
3543
|
-
}
|
|
3544
|
-
|
|
3545
|
-
@media (prefers-reduced-motion: reduce) {
|
|
3546
|
-
.crisp-taskstable, .crisp-taskstable * {
|
|
3547
|
-
animation-duration: 0.01ms !important;
|
|
3548
|
-
animation-iteration-count: 1 !important;
|
|
3549
|
-
transition-duration: 0.01ms !important;
|
|
3550
|
-
}
|
|
3551
|
-
}
|
|
3552
|
-
|
|
3553
3281
|
.crisp-themepicker {
|
|
3554
3282
|
display: flex; gap: var(--crisp-space-2); font-family: var(--crisp-font-sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
|
|
3555
3283
|
& .crisp-themepicker-option { box-sizing: border-box; display: flex; flex-direction: column; align-items: center; gap: var(--crisp-space-1-5); width: 224px; padding: var(--crisp-space-1); border: 1px solid var(--crisp-border-subtle); border-radius: 16px; background: var(--crisp-bg-surface); cursor: pointer; font-family: inherit; }
|
|
@@ -82,8 +82,22 @@ export declare const TableHead: React.ForwardRefExoticComponent<Omit<React.Detai
|
|
|
82
82
|
} & React.RefAttributes<HTMLTableCellElement>>;
|
|
83
83
|
export type TableCellProps = React.ComponentPropsWithoutRef<"td"> & {
|
|
84
84
|
align?: TableCellAlign;
|
|
85
|
+
/** Renders `<th>` instead of `<td>` -- a row's own identity cell (its
|
|
86
|
+
* name), not a plain value it holds (crisp/#779, matching RecordsTable's
|
|
87
|
+
* own #231 fix: a screen reader crossing the row reads "Google,
|
|
88
|
+
* Employees, 182,000" instead of a bare "182,000"). Pass `scope="row"`
|
|
89
|
+
* alongside it. */
|
|
90
|
+
as?: "td" | "th";
|
|
91
|
+
scope?: "row" | "col" | "rowgroup" | "colgroup";
|
|
85
92
|
};
|
|
86
93
|
export declare const TableCell: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>, "ref"> & {
|
|
87
94
|
align?: TableCellAlign;
|
|
95
|
+
/** Renders `<th>` instead of `<td>` -- a row's own identity cell (its
|
|
96
|
+
* name), not a plain value it holds (crisp/#779, matching RecordsTable's
|
|
97
|
+
* own #231 fix: a screen reader crossing the row reads "Google,
|
|
98
|
+
* Employees, 182,000" instead of a bare "182,000"). Pass `scope="row"`
|
|
99
|
+
* alongside it. */
|
|
100
|
+
as?: "td" | "th";
|
|
101
|
+
scope?: "row" | "col" | "rowgroup" | "colgroup";
|
|
88
102
|
} & React.RefAttributes<HTMLTableCellElement>>;
|
|
89
103
|
export declare const TableCaption: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & React.RefAttributes<HTMLTableCaptionElement>>;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -78,7 +78,6 @@ export * from "./product/objectsettings";
|
|
|
78
78
|
export * from "./product/onboarding";
|
|
79
79
|
export * from "./product/recordpage";
|
|
80
80
|
export * from "./product/recordpanel";
|
|
81
|
-
export * from "./product/recordstable";
|
|
82
81
|
export * from "./product/richtext";
|
|
83
82
|
export * from "./product/savedviews";
|
|
84
83
|
export * from "./product/settingssection";
|
|
@@ -86,7 +85,6 @@ export * from "./product/settingsshell";
|
|
|
86
85
|
export * from "./product/sidebar";
|
|
87
86
|
export * from "./product/statlist";
|
|
88
87
|
export * from "./product/tasklist";
|
|
89
|
-
export * from "./product/taskstable";
|
|
90
88
|
export * from "./product/themepicker";
|
|
91
89
|
export * from "./product/trialbanner";
|
|
92
90
|
export * from "./product/viewtoggle";
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
export { type Column, type ColumnType, type EntityValue, type ReferenceOption, type Row, type StatusOption, tagTone, } from "./column";
|
|
2
|
+
export { type EditableOption, editableInputType, useEditableField, } from "./editable-field";
|
|
1
3
|
export { RecordDetails, type RecordDetailsProps, RecordPage, type RecordPageHighlight, type RecordPageLabels, type RecordPageLabelsInput, type RecordPageNote, type RecordPageProps, type RecordPageSection, type RecordPageTab, type RecordPageTask, recordPageLabels, } from "./recordpage";
|
|
2
4
|
export { recordpageRecipe } from "./recordpage.recipe";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crisp-ui-kit/crisp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.55.0",
|
|
4
4
|
"description": "A lean React design system, measured pixel-for-pixel from Attio.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -428,11 +428,6 @@
|
|
|
428
428
|
"import": "./dist/esm/product/recordpanel/index.js",
|
|
429
429
|
"require": "./dist/cjs/product/recordpanel/index.js"
|
|
430
430
|
},
|
|
431
|
-
"./recordstable": {
|
|
432
|
-
"types": "./dist/types/product/recordstable/index.d.ts",
|
|
433
|
-
"import": "./dist/esm/product/recordstable/index.js",
|
|
434
|
-
"require": "./dist/cjs/product/recordstable/index.js"
|
|
435
|
-
},
|
|
436
431
|
"./richtext": {
|
|
437
432
|
"types": "./dist/types/product/richtext/index.d.ts",
|
|
438
433
|
"import": "./dist/esm/product/richtext/index.js",
|
|
@@ -468,11 +463,6 @@
|
|
|
468
463
|
"import": "./dist/esm/product/tasklist/index.js",
|
|
469
464
|
"require": "./dist/cjs/product/tasklist/index.js"
|
|
470
465
|
},
|
|
471
|
-
"./taskstable": {
|
|
472
|
-
"types": "./dist/types/product/taskstable/index.d.ts",
|
|
473
|
-
"import": "./dist/esm/product/taskstable/index.js",
|
|
474
|
-
"require": "./dist/cjs/product/taskstable/index.js"
|
|
475
|
-
},
|
|
476
466
|
"./themepicker": {
|
|
477
467
|
"types": "./dist/types/product/themepicker/index.d.ts",
|
|
478
468
|
"import": "./dist/esm/product/themepicker/index.js",
|
|
@@ -524,7 +514,7 @@
|
|
|
524
514
|
"prepublishOnly": "bun run build && bun run check:dist && bun run check:css",
|
|
525
515
|
"typecheck": "tsc --noEmit",
|
|
526
516
|
"lint": "biome check .",
|
|
527
|
-
"test": "bun test",
|
|
517
|
+
"test": "bun test ./tokens/ ./core/ ./components/ ./product/ ./build/",
|
|
528
518
|
"spec": "bun build/spec-check.mjs",
|
|
529
519
|
"lynx": "bun build/lynx-lint.mjs",
|
|
530
520
|
"lynx:emit": "bun build/emit-lynx.mjs",
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.companyLogos = void 0;
|
|
4
|
-
// Clean, self-contained brand-mark data URIs for the built-in demo dataset
|
|
5
|
-
// (defaultRows below). Each PNG is a real favicon, fetched once from
|
|
6
|
-
// Google's public favicon service, then hard-thresholded on alpha (<128
|
|
7
|
-
// -> fully transparent, >=128 -> fully opaque) before being baked in here.
|
|
8
|
-
//
|
|
9
|
-
// Why: those source PNGs anti-alias their edges against an assumed white
|
|
10
|
-
// canvas, so boundary pixels come back literally white-colored at partial
|
|
11
|
-
// alpha even though the corners are properly transparent. On a light page
|
|
12
|
-
// that blends in invisibly; on dark rows it reads as a white halo/outline
|
|
13
|
-
// around every logo. Thresholding removes that halo. It does NOT remove a
|
|
14
|
-
// company's own opaque branding (e.g. Google's white circle, Notion's
|
|
15
|
-
// white backing, OpenAI/Anthropic's light square) — those pixels are fully
|
|
16
|
-
// opaque real brand-icon content, not an artifact, and are left as-is.
|
|
17
|
-
//
|
|
18
|
-
// Baking these in as data URIs (instead of the live s2/favicons URL) also
|
|
19
|
-
// means the demo never depends on a live network request.
|
|
20
|
-
exports.companyLogos = {
|
|
21
|
-
"google.com": "data:image/png;base64,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",
|
|
22
|
-
"stripe.com": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACzklEQVR42u2az24SURTGv3M7BdsoRUKopcUqiU2jMRpbJWl0V7vqzufxDUx8Ct/AhakkbozJaGNq/JPGGkwL0tIgUmqk0OFeFzgMA5gopcDMnLOCS1h8v++7597JGUrMPUNzTQYTEMKnRsQY3FQ1WYaUVcoVddu6aP4SCy+rUW3CdeIBYESMYVSbULHwsuoIYCa8opSdhytLQWAmvKJsAFqpeKFMzWIymIAXnO+UhHq/Ez7Pud+Iv/Ap4caG9z+NUcDjxQAYAANgAAzAySWNk11jNKeJNQzgV8Fam5kn/Cy5EIApFqgL/pGuf75+n3BvFZiNE24m6muPHyrkdhSERs4FUD1SNmfHQ0AoQrh2xxI7FQXOBez/O/zjvmEAPs0hCWiOsuns+RhwZZEQvwrcvkuIxjoL7nVpg3A3EAGm44T4qiX20mXA5++/GVq/3F1cIdxaIkSi6Ju7pw7gb135wkU0xC4khkNozwFUjxS+vWvvylNRwO8fTJz7BkAaCtNxwqMnhLn5FjAV54jv+iZons9T0fbfnCSenwUYAANgAAyAATAABsAAGAADYAAMgAEwAAbAAJxcmuby2WC1AlQqwG4WyKaBNy8VUp+ArXWF8RDgO0PuA3BYqgve0IG3rxT2doDCfvuQpZuZ4FABaHZ3Qwe2Uwp6EviqW6Pv6RtW1INRctZorFN93rSi/H0P+PIBKGaVbTg6u3Ayd4cCgBnjbBrYzwIvnipsrSvb2Gw81HtnBwaged9upxQ+vgZKBYXSPmzuDkJszwCYR85utl3s++dWjAft7r8UPViSXb9kczYAZDbt+1bTTn/fDs0WKBXU0Drbl5ugk5zmZwEGwAAYAANgAB0A1GTZs+JrsgwhZZW8CkDKKolcUQdBek48QSJX1Os9IJ1Pei4FpuZGE8zk18gLSSBIZPJr1PEUSOeTdGwckBsbY02WcWwcUGvafwM6ARIBbCv6CwAAAABJRU5ErkJggg==",
|
|
23
|
-
"figma.com": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADAUlEQVR42u2bP0+TURTGf0/BNIGWqoMuDsYQpi4GTGtY3BQ3ln4EdwIDTKSTLJbZz+Dgnxj0G2CxboZBcOEjFJrwLx4HCokRor3v5fa273vHpr1vz3Of85xznt7KzEjzypHyNepll3IZikVwodNsD+8VYIBJlPZh9XsEDKhWoVAwQuTS+RNkRnvcWHqceEs5f+9aDfb2kgc96wGYiaZYtcAM8BG8r9WuWtgUqFYjkzKDpUogAMpliLF2mox6OQAAxSJIcda09ngAAOLunCzdjZADM4cLAMta4QyADIBrB0Cx1kBA6PoBODmJ9ziLBwEY0GrFyQJDLuOxmwZsbsZX/xpfAotgs6lYEp+JLYV3hM46YlGpgGR9o31js89lsNmE01NhJoKMCXam9gencqW9d0+w/qBF/rjbivZIxuVXf39CH4GRK5rb81c6Tp2vfwaszUP+6MyqxIMq6DMw0t3vKmNUGAVMG/SPAW9q8POoG7SPwN8AhR4PVZg2kD3vAwMugvfWxDgyWpg+BQZgbd7PqV/EsEHShHZOh54BqNfADG9yrw/dnE7eDpjqATQgf+y5qt3wuFclAAMMf6fv7uNcudP1e4IRD8OBRNAyRygDgFS7wvFKYBgGKIdvGRSD5AneuuM5/DGPe80FYMCL12AepwB74nZyl0Ti5Mo4ieDKe6+jAPYscSLIngauAocPPWvBvjMPZHP9uCPUXS/nQQmGo+V3f4bdHW0tRPBe+oCVt3D7LvLlDtgccID+wQexlTx4LwwAKG/XOey0u2Ntb0jszDQ00Bclp1qLGGaDOiSNunt4NSbv3zOU0llgGIJ3BmCqtQhK6TRY3q5j/LLUjsOHnTZDc/wuAOQ0XP+w6N0UzTzBzBLLAEi3BqB0AyDzKYP9l9SeASjlOt4enh+72XcGOI3DU18XsOQXo7Qz0xhMEfzxaD3xXckYgk9UBXamJ5woYIjdmVI0SprYEZr8toDsv7FQLCfvrQ/YnV6npI6QdOlv5xJgKqkTXfDePMGsExzg9Rvv7eoPX7dwVQAAAABJRU5ErkJggg==",
|
|
24
|
-
"notion.so": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEmElEQVR42uVb4XGrMAyW3/V/3AniDUo3MBOUDUomKJ0gZALYADpBsgFkAtjAMAF0Ar0/jxwFg02AQni640gv4EhfJfmzJRP4JUHEzq/uGI4AABBCRutFJjQGYRkhY4AgCgOXMurXQCASw1dldJZlt8+UUqCUTgoE+S3jy7K8XVmWQVmW8P39ffu7Mrb+XFmWrXE452DbNry/v08CQh0AHPpfybLs9jnP85by9eemFtu2wfO8Po/QBwIRARsihEDHcZBzjoZhIGMMKaX4z0tWcTHGMEkS7BE9D2g+maYpmKYpdcEphDF2u1dxXV37/V76XZZlkKYpnE6nlke5rgvH4/EuT5ACYJomxHGsNKSuYFPhLkMUSUxLXNeF0+nUAjWKohu4g4CQ+E3L1c7nM0ZRhEIIFELg0iKEQMbYDz0ppej7/vCQ0AFgDUbLQLBtu6Wvbdu9+g4GoEL3fD7jGsXzvFaCZoxhGIZ6IOgAUF2u664SBCGEdJZyHAeLoujEQJoEVfOnZVngeV5fwhnF+po8oiJMdXJUJ00qrtGVIEmVFocCUA3qui68vb0BpbRXuTzPWwRKdp9TOOcQRdF0ADyiNEOfEEKeHtmgOqGq3wEA4jjW8qxFAKgToqby1Xe73a5FoJrv9Ekcx2Ca5n1UeEgIUErBsqwfilUsUGbAFExwwCaBMgQGT4PNK4oiXKs0dZXNg6M9YMAqeoltIqUH/IH/XB5iFrhcLnC9Xlukp7pzziEIgvUBEMcxXK/XltJ1Vue6Lnx8fHSOEYYhHA6H3t95eXkZTRDuToJdEgSB1vuU0t6Vm+d5yDlvLX0BAIMgUK36lElwNgA459pjcM4nyeqrAqAoChRCYBRFWuMoNjIeD4Ch46lCYS4AVjMNlmWpTHZzrpIW9wCdUNhMCMgyuk4obAYAVWLsmhU2AwAiomVZg0NhUwAURdFbaqOUtjYzNwVAxfL6xrYsa9sA6DDGei1ikwB07efLQmGTRIgxBo7j9BKkZiH04YmQTPq4QdfUuYkQqETFDWQAbQoARETHcSb97YcDoCgKZShsdjVY1RHu3dt7+CRYFxVN3mwI6HKD2UNg6rr/Pdygp+tr/hBwXXdWD1D09mnT5NlCQLVSG6JE1/xOKUXLsnr3AVWhMCUAINuPHwOA7/tKEHW2w5MkaY1DKcXj8ThdcbSrV/jz8xN837+rOHo4HCCOY2n9f7/fg2EYwDnX7h26XC4AAGAYBhiGoVVm1y6Pd3lBURRoGMboHLD68nhfy3yWZfD6+trZN7yp8vi/F0hzSlqEnY2UNE1HHZnRzgdLe0DzjEJZlpDnOfi+32qSknlA35mhlmWyLvIoirST2djGSNk7Y9vkiOLhVj4wTfMHstWOzm63m6Srcy4xDAOSJBl2pEQ2M+hWe9d2BUEw/DgJdMxzuiQJVnCkxrKsrk42/YOTMrRs24avr6/Zu0C7eg2rRsrmqRTdxVzl/k8DTpdhs3fn+fkZwjBsJaOmMjLlms2UTYPnpgiDj872nSusktpvd4JOccqUDF02P3BLoDTpk3v2DtZklC4Nnuv0OC6p/BTyFxmRx6YRUfIyAAAAAElFTkSuQmCC",
|
|
25
|
-
"linear.app": "data:image/png;base64,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",
|
|
26
|
-
"vercel.com": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACMUlEQVR42u3ZLa+yYBgH8Os8nqKbjY2RCAYMWHXTIgaKm4FCsBFJJJMfgG9Aur+DnXwHGo1iYCYyATfHdp10zjzu2c458ipc/83mG7/7ut/fAAChx/kHPQ8BEAABEAABEAABEAABEAABEAAB1B1FUUBV1cYRsKlXkiTIOccm/0NjAJZlYZ7niIhoWVa/AARBwCiK8DNRFKEkSf0BcF0Xsyz7AsiyDF3X7QeApmkYhiE+JgxDVFW1+wCMsa++f588z9HzvG4D6Lr+re8/Jo5jNE2zuwCMMfwpjLFuAjiO89/Sf0ySJLVOi7WsBGVZhvV6DYPB4Mf3iqIIu90OZFnuzkrQtu1ftf79gGjbdje6gCRJGAQB/jVBEKAgCK8PcDwe8dnUNBZU+wNpmj4NkCTJaw+Ch8MBxuPx058XRRE8z6t0AHyDCq/H0zQtBAAAcL1eYTQavd6BSBiGhR8eAGA4HMLpdHqtadA0zUJ9/zFpmla5RC7/SznnWHY455VMi6V3AcdxYDKZlF6ms9kMLMtqdxeYz+eVtP5nfN9HRVHaWwGGYcBisahssFqtVrDf79tZAVW3/v35oa7r7asAXddhuVxWvnObTqew2WzaVQGGYfxpt1c0cRyXVgWlVMB2u/3VXr/M8wXTNNtRAZqm1dr692cGhmE0vxDyfR+bShAEhQHei5bP+XyGy+XSyKXm7XZr926QrscJgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIoH35AMeAlc846gXqAAAAAElFTkSuQmCC",
|
|
27
|
-
"openai.com": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFm0lEQVR42u2av2v6ThjHn8+XbwsfcShWqFvTRZycLB3s0MlFaGP/Ae0WKNhJcLJ0ckuhk50UOgecnAuhUHBJu8SlQwtxMtNZ5drhvpPhklxiTo31S3MQSO1pcq88P973PPlDCCHwi8c/8MtHBCACEAGIAEQAIgARgN87/l3XhcbjMby9vcH39zcAAMTjcchkMj9PgIQ8FEUh2WyWAADzkCSJ6LpOfmqEBkBVVSIIgufCnUetViMY47UD+BPGZqjT6cDFxYX1dzabhUqlAoeHh5BMJmE8HsPHxwc8PDxAt9u1zbu+vobn52d4eXmBz89P2NnZgWQyCaenp3BycgKJRGKzXUBRFOupJhIJ0uv1fOcbhkGKxSKXpSCENtMFDMOwbjSbzZLJZDL3O+12m8RiMddCc7kcEUXR0436/f7mARBF0brBeYtXVZUkEgnbokRRJJqmMef3+31SKBRs8+dZ11oB6Lpu3ZiiKL5WQoOaWUvQJ0q7GAAQwzA2A0Cr1bJuijUwxqTRaLhM2Q+W1+j1etb38/n8zwIwTZPIskxSqRQBAFIul31veHY0Gg1fN5mnDWiYqqr+DIBms+lamCzLvosvl8u+ZkvPFwTBc3EIIdtvrhUAQojk83lmdHYCoF3D70npuu4KcnRwZEGTJMmas6iI4gaAMSbpdNq6cLFYJLquW5/5AWCNyWRCarUa00WcnzWbTdtC2+229T/TNNcDoFqt2kTJbMxiAA8AZ0R3Ch3TNG3XAwASi8Ws9Nfv963PvdLnSgHQF6T9DmPMBUDTNJcL5XI5z9jAcg9RFG0WsOiGigsALVlpORoUAMbY9UR5AyRLNTrvJxQApmna/NMZF4IAcB7tdtv2FGlfD6o51hYDVFX19DdeAE4NMJlMuEUSQoiUy2WbmlwkE8AiuzynuQUFIEmSr4kbhmFLbTOl5xfgZFm25lar1c0GEPimGO5SrVY9zZy2BN5sELgo+vfvX+v86+trLeW6YrFond/d3cHu7i7c39+75smybJ3f3t6GUxChU6BT0WGMra1tKpWy7eyWsYB2u00wxi6hVCwWffUJTywAHgXo52vOLa4oisQ0TVuU5wXQarVs8YEurjrdkA7SPMUSLh1A+xormLFSGi14lgHgtCYnADpN8xRKuBoj9XrdOr+8vHT9v1KpAEIIGo2G9dnT09Na4sX29rZ1Pp1Ow+kMZTIZqNVqAADQ7Xbh6urKNScej8PNzQ3oum4LYgAApVIJBoOB5+8PBgMolUpLw6ADdihVYdrfC4WCb25n1f6clV2EEHNHyOMCdJAOLQbQym3eVjVIfPCSwosAoAEGqUYvBYAOOLzylSV56exCZ5ugAOhyPG91CFZRAXamQD/5quu6q1dYKBRs21leAPRWmXdbvBAATdNc0pPVC5QkyZKvCCHmVpiVsoIAmLkbnZrpAk2oAGiTcy6AtftjLdwvZswDkEqliKqqJJfL+arDtQRBFnWEkGtXt0hV2M8C5knj0MvitOl5RV269JVOp33Tk67rrjKZ07rora8XpLUBoLX3vAqO3xNnaYB0Os0soc+sShAE0mq1Fq4CrawxQkffRRqVLA3g90Rp/UA2oT1OB0OeG1NV1dZbmFfwcBZklm2IrrQ3SLvCTAP0ej1mXNA0zaUZcrnc3Ny9qjZYaN1hWhg5mxiiKNrSFe3nQdwGIWSzllX4fSjtcYwxs1nqdeTz+blPXlVVWx9gmS4wWddLUtPpFB4fH+H5+Rne399hNBrB1tYWHB0dwfHxMdTrdVuNQBRFODs7g729PTg4OIDRaAT9fh86nQ68vr5a8xRFgfPz8//fe4LLWoogCCt7H2it7wkGySB+ILLZ7EJvj2zEe4K8YzgcwnA4tCpK+/v7fFWdJcZGAIjeFo8ARAAiABGACEAEIAIQAfiB8R/yJaxaNgYgiwAAAABJRU5ErkJggg==",
|
|
28
|
-
"anthropic.com": "data:image/png;base64,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",
|
|
29
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.recordstableRecipe = exports.tagTone = exports.RecordsTable = exports.defaultRows = exports.defaultColumns = exports.useEditableField = exports.editableInputType = void 0;
|
|
4
|
-
var editable_field_1 = require("../recordpage/editable-field");
|
|
5
|
-
Object.defineProperty(exports, "editableInputType", { enumerable: true, get: function () { return editable_field_1.editableInputType; } });
|
|
6
|
-
Object.defineProperty(exports, "useEditableField", { enumerable: true, get: function () { return editable_field_1.useEditableField; } });
|
|
7
|
-
var recordstable_1 = require("./recordstable");
|
|
8
|
-
Object.defineProperty(exports, "defaultColumns", { enumerable: true, get: function () { return recordstable_1.defaultColumns; } });
|
|
9
|
-
Object.defineProperty(exports, "defaultRows", { enumerable: true, get: function () { return recordstable_1.defaultRows; } });
|
|
10
|
-
Object.defineProperty(exports, "RecordsTable", { enumerable: true, get: function () { return recordstable_1.RecordsTable; } });
|
|
11
|
-
Object.defineProperty(exports, "tagTone", { enumerable: true, get: function () { return recordstable_1.tagTone; } });
|
|
12
|
-
var recordstable_recipe_1 = require("./recordstable.recipe");
|
|
13
|
-
Object.defineProperty(exports, "recordstableRecipe", { enumerable: true, get: function () { return recordstable_recipe_1.recordstableRecipe; } });
|