@flexkit/studio 0.0.28 → 0.0.29
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/asset-TS7J5GA5.js +2 -0
- package/dist/{asset-REAMGMQL.js.map → asset-TS7J5GA5.js.map} +1 -1
- package/dist/chunk-73RMWG53.js +2 -0
- package/dist/{chunk-X3S7TRCM.js.map → chunk-73RMWG53.js.map} +1 -1
- package/dist/chunk-7MSX5T2Z.js +2 -0
- package/dist/chunk-7MSX5T2Z.js.map +1 -0
- package/dist/chunk-DWK4NNLB.js +2 -0
- package/dist/chunk-DWK4NNLB.js.map +1 -0
- package/dist/chunk-FVFRTCEB.js +2 -0
- package/dist/chunk-FVFRTCEB.js.map +1 -0
- package/dist/chunk-HAQICAOQ.js +2 -0
- package/dist/chunk-HAQICAOQ.js.map +1 -0
- package/dist/chunk-IXO2LU47.js +2 -0
- package/dist/{chunk-TBCSVE5L.js.map → chunk-IXO2LU47.js.map} +1 -1
- package/dist/{chunk-NNRD7YZU.js → chunk-LL2Z4TD3.js} +2 -2
- package/dist/{chunk-NNRD7YZU.js.map → chunk-LL2Z4TD3.js.map} +1 -1
- package/dist/chunk-N52AF6GE.js +2 -0
- package/dist/chunk-N52AF6GE.js.map +1 -0
- package/dist/chunk-WXMCINGZ.js +2 -0
- package/dist/{chunk-27Y2SQ67.js.map → chunk-WXMCINGZ.js.map} +1 -1
- package/dist/chunk-YA4ACPM5.js +2 -0
- package/dist/{chunk-KR7CLPY2.js.map → chunk-YA4ACPM5.js.map} +1 -1
- package/dist/index.css +117 -41
- package/dist/index.d.ts +39 -4
- package/dist/index.js +183 -181
- package/dist/index.js.map +1 -1
- package/dist/{search-YRDOJUQO.js → search-UFFZBRQV.js} +2 -2
- package/dist/{search-YRDOJUQO.js.map → search-UFFZBRQV.js.map} +1 -1
- package/dist/switch-AFZGXSR3.js +2 -0
- package/dist/{switch-KVO3JRNX.js.map → switch-AFZGXSR3.js.map} +1 -1
- package/dist/text-2RL2L5FT.js +2 -0
- package/dist/{text-ODG7ABSW.js.map → text-2RL2L5FT.js.map} +1 -1
- package/dist/textarea-2A4TLWZS.js +2 -0
- package/dist/{textarea-M4YPSJEC.js.map → textarea-2A4TLWZS.js.map} +1 -1
- package/dist/{types.d-DiQPwK_q.d.ts → types.d-6y0oZ2Hh.d.ts} +33 -1
- package/dist/ui.d.ts +16 -4
- package/dist/ui.js +1 -1
- package/dist/ui.js.map +1 -1
- package/dist/user-nav-4JKIFZLB.js +2 -0
- package/dist/user-nav-4JKIFZLB.js.map +1 -0
- package/package.json +3 -1
- package/dist/asset-REAMGMQL.js +0 -2
- package/dist/chunk-27Y2SQ67.js +0 -2
- package/dist/chunk-AALMEPYG.js +0 -2
- package/dist/chunk-AALMEPYG.js.map +0 -1
- package/dist/chunk-CWHDJ7Q4.js +0 -2
- package/dist/chunk-CWHDJ7Q4.js.map +0 -1
- package/dist/chunk-KR7CLPY2.js +0 -2
- package/dist/chunk-M5AH5ERI.js +0 -2
- package/dist/chunk-M5AH5ERI.js.map +0 -1
- package/dist/chunk-QXCD5JR4.js +0 -2
- package/dist/chunk-QXCD5JR4.js.map +0 -1
- package/dist/chunk-TBCSVE5L.js +0 -2
- package/dist/chunk-X3S7TRCM.js +0 -2
- package/dist/chunk-ZSJAPCIZ.js +0 -2
- package/dist/chunk-ZSJAPCIZ.js.map +0 -1
- package/dist/switch-KVO3JRNX.js +0 -2
- package/dist/text-ODG7ABSW.js +0 -2
- package/dist/textarea-M4YPSJEC.js +0 -2
- package/dist/user-nav-QYO4X7CQ.js +0 -2
- package/dist/user-nav-QYO4X7CQ.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/form/fields/textarea.tsx"],"names":["Textarea","control","fieldSchema","setValue","name","label","isEditable","options","handleInput","event","previousValue","handleCheckbox","checked","value","jsx","FormField","field","jsxs","FormItem","FormLabel","FormDescription","FormControl","DefaultValueSwitch","FormMessage"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/form/fields/textarea.tsx"],"names":["Textarea","control","fieldSchema","setValue","name","label","isEditable","options","handleInput","event","previousValue","handleCheckbox","checked","value","jsx","FormField","field","jsxs","FormItem","FormLabel","FormDescription","FormControl","DefaultValueSwitch","FormMessage"],"mappings":"0LAOO,SAASA,EAAS,CAAE,OAAA,CAAAC,EAAS,WAAA,CAAAC,CAAAA,CAAa,SAAAC,CAAS,CAAA,CAA6C,CACrG,GAAM,CAAE,KAAAC,CAAAA,CAAM,KAAA,CAAAC,CAAAA,CAAO,UAAA,CAAAC,EAAY,OAAA,CAAAC,CAAQ,EAAIL,CAAAA,CAE7C,SAASM,IACPC,CAAAA,CACAC,CAAAA,CACM,CACNP,CAAAA,CAASC,CAAAA,CAAM,CACb,GAAGM,CAAAA,CACH,MAAOD,CAAAA,CAAM,aAAA,CAAc,KAC7B,CAAC,EACH,CAEA,SAASE,IAAeC,CAAAA,CAAkBC,CAAAA,CAAyC,CACjFV,CAAAA,CAASC,CAAAA,CAAM,CACb,GAAGS,CAAAA,CACH,SAAUD,CACZ,CAAC,EACH,CAEA,OACEE,IAACC,CAAAA,CAAA,CACC,QAASd,CAAAA,CACT,IAAA,CAAMG,EACN,MAAA,CAAQ,CAAC,CAAE,KAAA,CAAAY,GAAM,IACfC,IAAAA,CAACC,CAAAA,CAAA,CACC,QAAA,CAAA,CAAAD,IAAAA,CAAC,OAAI,SAAA,CAAU,SAAA,CACb,UAAAA,IAAAA,CAAC,KAAA,CAAA,CAAI,UAAU,4BAAA,CACb,QAAA,CAAA,CAAAH,IAACK,CAAAA,CAAA,CAAW,QAAA,CAAAd,CAAAA,CAAM,EACjBE,CAAAA,EAAS,OAAA,CAAUO,IAACM,CAAAA,CAAA,CAAiB,SAAAb,CAAAA,CAAQ,OAAA,CAAQ,EAAqB,IAAA,CAAA,CAC7E,CAAA,CACAO,IAAC,KAAA,CAAA,CAAI,SAAA,CAAU,mCAEf,CAAA,CAAA,CACF,CAAA,CACAA,IAACO,CAAAA,CAAA,CACC,QAAA,CAAAP,GAAAA,CAACd,EAAA,CACC,SAAA,CAAW,+BACT,CAACgB,GAAAA,CAAM,OAAO,KAAA,EAASA,GAAAA,CAAM,MAAM,KAAA,GAAU,SAAA,CAAY,UAAY,EACvE,CAAA,CAAA,CACA,SAAUV,CAAAA,GAAe,KAAA,EAASU,IAAM,KAAA,EAAO,QAAA,CAC9C,GAAGA,GAAAA,CACJ,SAAWP,CAAAA,EAAU,CACnBD,IAAYC,CAAAA,CAAOO,GAAAA,CAAM,KAAK,EAChC,CAAA,CACA,MAAQA,GAAAA,CAAM,KAAA,EAAO,OAAoB,EAAA,CAC3C,CAAA,CACF,EACAF,GAAAA,CAACQ,GAAAA,CAAA,CACC,OAAA,CAASN,GAAAA,CAAM,OAAO,QAAA,EAAY,KAAA,CAClC,SAAWJ,CAAAA,EAAY,CACrBD,IAAeC,CAAAA,CAASI,GAAAA,CAAM,KAAK,EACrC,CAAA,CACA,MAAOA,GAAAA,CAAM,KAAA,EAAO,MACtB,CAAA,CACAF,GAAAA,CAACS,EAAA,EAAY,CAAA,CAAA,CACf,EAEJ,CAEJ","file":"chunk-YA4ACPM5.js","sourcesContent":["import type { JSX } from 'react';\nimport type { FormFieldValue } from '../../graphql-client/types';\nimport { FormControl, FormDescription, FormField, FormLabel, FormMessage, FormItem } from '../../ui/primitives/form';\nimport { Textarea as TextareaPrimitive } from '../../ui/primitives/textarea';\nimport type { FormFieldParams } from '../types';\nimport { DefaultValueSwitch } from './default-value-switch';\n\nexport function Textarea({ control, fieldSchema, setValue }: FormFieldParams<'textarea'>): JSX.Element {\n const { name, label, isEditable, options } = fieldSchema;\n\n function handleInput(\n event: React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>,\n previousValue: FormFieldValue | undefined\n ): void {\n setValue(name, {\n ...previousValue,\n value: event.currentTarget.value,\n });\n }\n\n function handleCheckbox(checked: boolean, value: FormFieldValue | undefined): void {\n setValue(name, {\n ...value,\n disabled: checked,\n });\n }\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field }: { field: { value?: FormFieldValue } }) => (\n <FormItem>\n <div className=\"fk:flex\">\n <div className=\"fk:full-w fk:grid fk:gap-2\">\n <FormLabel>{label}</FormLabel>\n {options?.comment ? <FormDescription>{options.comment}</FormDescription> : null}\n </div>\n <div className=\"fk:h-full fk:self-end fk:ml-auto\">\n {/* TODO: this should be a slot that can receive user-defined components and system components like Presence and AI Writting Tools */}\n </div>\n </div>\n <FormControl>\n <TextareaPrimitive\n className={`fk:w-full fk:mt-[0.1875rem] ${\n !field.value?.scope || field.value.scope === 'default' ? 'fk:mb-3' : ''\n }`}\n disabled={isEditable === false || field.value?.disabled}\n {...field}\n onChange={(event) => {\n handleInput(event, field.value);\n }}\n value={(field.value?.value as string) || ''}\n />\n </FormControl>\n <DefaultValueSwitch\n checked={field.value?.disabled ?? false}\n onChange={(checked) => {\n handleCheckbox(checked, field.value);\n }}\n scope={field.value?.scope}\n />\n <FormMessage />\n </FormItem>\n )}\n />\n );\n}\n"]}
|
package/dist/index.css
CHANGED
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
--fk-font-weight-bold: 700;
|
|
45
45
|
--fk-tracking-tight: -0.025em;
|
|
46
46
|
--fk-tracking-widest: 0.1em;
|
|
47
|
+
--fk-leading-snug: 1.375;
|
|
47
48
|
--fk-leading-normal: 1.5;
|
|
48
49
|
--fk-leading-relaxed: 1.625;
|
|
49
50
|
--fk-radius-xs: 0.125rem;
|
|
@@ -1428,6 +1429,9 @@
|
|
|
1428
1429
|
.fk\:max-w-\(--skeleton-width\) {
|
|
1429
1430
|
max-width: var(--skeleton-width);
|
|
1430
1431
|
}
|
|
1432
|
+
.fk\:max-w-64 {
|
|
1433
|
+
max-width: calc(var(--fk-spacing) * 64);
|
|
1434
|
+
}
|
|
1431
1435
|
.fk\:max-w-\[90vw\] {
|
|
1432
1436
|
max-width: 90vw;
|
|
1433
1437
|
}
|
|
@@ -1582,9 +1586,6 @@
|
|
|
1582
1586
|
.fk\:grid-cols-1 {
|
|
1583
1587
|
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
1584
1588
|
}
|
|
1585
|
-
.fk\:grid-cols-\[0_1fr\] {
|
|
1586
|
-
grid-template-columns: 0 1fr;
|
|
1587
|
-
}
|
|
1588
1589
|
.fk\:grid-cols-\[repeat\(auto-fill\,minmax\(8rem\,1fr\)\)\] {
|
|
1589
1590
|
grid-template-columns: repeat(auto-fill,minmax(8rem,1fr));
|
|
1590
1591
|
}
|
|
@@ -1624,9 +1625,6 @@
|
|
|
1624
1625
|
.fk\:justify-start {
|
|
1625
1626
|
justify-content: flex-start;
|
|
1626
1627
|
}
|
|
1627
|
-
.fk\:justify-items-start {
|
|
1628
|
-
justify-items: start;
|
|
1629
|
-
}
|
|
1630
1628
|
.fk\:gap-0 {
|
|
1631
1629
|
gap: calc(var(--fk-spacing) * 0);
|
|
1632
1630
|
}
|
|
@@ -1713,9 +1711,6 @@
|
|
|
1713
1711
|
margin-inline-end: calc(calc(var(--fk-spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
|
|
1714
1712
|
}
|
|
1715
1713
|
}
|
|
1716
|
-
.fk\:gap-y-0\.5 {
|
|
1717
|
-
row-gap: calc(var(--fk-spacing) * 0.5);
|
|
1718
|
-
}
|
|
1719
1714
|
.fk\:gap-y-5 {
|
|
1720
1715
|
row-gap: calc(var(--fk-spacing) * 5);
|
|
1721
1716
|
}
|
|
@@ -1888,6 +1883,9 @@
|
|
|
1888
1883
|
.fk\:bg-destructive {
|
|
1889
1884
|
background-color: hsl(var(--destructive));
|
|
1890
1885
|
}
|
|
1886
|
+
.fk\:bg-destructive-foreground {
|
|
1887
|
+
background-color: hsl(var(--destructive-foreground));
|
|
1888
|
+
}
|
|
1891
1889
|
.fk\:bg-foreground {
|
|
1892
1890
|
background-color: hsl(var(--foreground));
|
|
1893
1891
|
}
|
|
@@ -2202,6 +2200,10 @@
|
|
|
2202
2200
|
--tw-leading: var(--fk-leading-normal);
|
|
2203
2201
|
line-height: var(--fk-leading-normal);
|
|
2204
2202
|
}
|
|
2203
|
+
.fk\:leading-snug {
|
|
2204
|
+
--tw-leading: var(--fk-leading-snug);
|
|
2205
|
+
line-height: var(--fk-leading-snug);
|
|
2206
|
+
}
|
|
2205
2207
|
.fk\:font-bold {
|
|
2206
2208
|
--tw-font-weight: var(--fk-font-weight-bold);
|
|
2207
2209
|
font-weight: var(--fk-font-weight-bold);
|
|
@@ -3707,16 +3709,6 @@
|
|
|
3707
3709
|
background-color: hsl(var(--sidebar-background));
|
|
3708
3710
|
}
|
|
3709
3711
|
}
|
|
3710
|
-
.fk\:has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\] {
|
|
3711
|
-
&:has(>svg) {
|
|
3712
|
-
grid-template-columns: calc(var(--spacing) * 4) 1fr;
|
|
3713
|
-
}
|
|
3714
|
-
}
|
|
3715
|
-
.fk\:has-\[\>svg\]\:gap-x-3 {
|
|
3716
|
-
&:has(>svg) {
|
|
3717
|
-
column-gap: calc(var(--fk-spacing) * 3);
|
|
3718
|
-
}
|
|
3719
|
-
}
|
|
3720
3712
|
.fk\:has-\[\>svg\]\:px-1\.5 {
|
|
3721
3713
|
&:has(>svg) {
|
|
3722
3714
|
padding-inline: calc(var(--fk-spacing) * 1.5);
|
|
@@ -3842,6 +3834,11 @@
|
|
|
3842
3834
|
flex-direction: column;
|
|
3843
3835
|
}
|
|
3844
3836
|
}
|
|
3837
|
+
.fk\:data-inset\:pl-8 {
|
|
3838
|
+
&[data-inset] {
|
|
3839
|
+
padding-left: calc(var(--fk-spacing) * 8);
|
|
3840
|
+
}
|
|
3841
|
+
}
|
|
3845
3842
|
.fk\:data-placeholder\:text-muted-foreground {
|
|
3846
3843
|
&[data-placeholder] {
|
|
3847
3844
|
color: hsl(var(--muted-foreground));
|
|
@@ -3888,11 +3885,6 @@
|
|
|
3888
3885
|
color: hsl(var(--destructive));
|
|
3889
3886
|
}
|
|
3890
3887
|
}
|
|
3891
|
-
.fk\:data-\[inset\]\:pl-8 {
|
|
3892
|
-
&[data-inset] {
|
|
3893
|
-
padding-left: calc(var(--fk-spacing) * 8);
|
|
3894
|
-
}
|
|
3895
|
-
}
|
|
3896
3888
|
.fk\:data-\[orientation\=horizontal\]\:h-px {
|
|
3897
3889
|
&[data-orientation="horizontal"] {
|
|
3898
3890
|
height: 1px;
|
|
@@ -4091,16 +4083,6 @@
|
|
|
4091
4083
|
max-width: var(--fk-container-xs);
|
|
4092
4084
|
}
|
|
4093
4085
|
}
|
|
4094
|
-
.fk\:\*\:data-\[slot\=alert-description\]\:text-destructive\/90 {
|
|
4095
|
-
:is(& > *) {
|
|
4096
|
-
&[data-slot="alert-description"] {
|
|
4097
|
-
color: hsl(var(--destructive));
|
|
4098
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
4099
|
-
color: color-mix(in oklab, hsl(var(--destructive)) 90%, transparent);
|
|
4100
|
-
}
|
|
4101
|
-
}
|
|
4102
|
-
}
|
|
4103
|
-
}
|
|
4104
4086
|
.fk\:\*\:data-\[slot\=avatar\]\:ring-2 {
|
|
4105
4087
|
:is(& > *) {
|
|
4106
4088
|
&[data-slot="avatar"] {
|
|
@@ -4777,6 +4759,11 @@
|
|
|
4777
4759
|
}
|
|
4778
4760
|
}
|
|
4779
4761
|
}
|
|
4762
|
+
.fk\:dark\:bg-foreground {
|
|
4763
|
+
&:is([style="color-scheme: dark;"] *) {
|
|
4764
|
+
background-color: hsl(var(--foreground));
|
|
4765
|
+
}
|
|
4766
|
+
}
|
|
4780
4767
|
.fk\:dark\:bg-input\/30 {
|
|
4781
4768
|
&:is([style="color-scheme: dark;"] *) {
|
|
4782
4769
|
background-color: hsl(var(--input));
|
|
@@ -4990,6 +4977,16 @@
|
|
|
4990
4977
|
}
|
|
4991
4978
|
}
|
|
4992
4979
|
}
|
|
4980
|
+
.fk\:data-disabled\:pointer-events-none {
|
|
4981
|
+
&:where([data-disabled="true"]), &:where([data-disabled]:not([data-disabled="false"])) {
|
|
4982
|
+
pointer-events: none;
|
|
4983
|
+
}
|
|
4984
|
+
}
|
|
4985
|
+
.fk\:data-disabled\:opacity-50 {
|
|
4986
|
+
&:where([data-disabled="true"]), &:where([data-disabled]:not([data-disabled="false"])) {
|
|
4987
|
+
opacity: 50%;
|
|
4988
|
+
}
|
|
4989
|
+
}
|
|
4993
4990
|
.fk\:\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 {
|
|
4994
4991
|
& [cmdk-group]:not([hidden]) ~[cmdk-group] {
|
|
4995
4992
|
padding-top: calc(var(--fk-spacing) * 0);
|
|
@@ -5206,6 +5203,21 @@
|
|
|
5206
5203
|
pointer-events: none;
|
|
5207
5204
|
}
|
|
5208
5205
|
}
|
|
5206
|
+
.fk\:\[\&\>svg\]\:absolute {
|
|
5207
|
+
&>svg {
|
|
5208
|
+
position: absolute;
|
|
5209
|
+
}
|
|
5210
|
+
}
|
|
5211
|
+
.fk\:\[\&\>svg\]\:top-4 {
|
|
5212
|
+
&>svg {
|
|
5213
|
+
top: calc(var(--fk-spacing) * 4);
|
|
5214
|
+
}
|
|
5215
|
+
}
|
|
5216
|
+
.fk\:\[\&\>svg\]\:left-4 {
|
|
5217
|
+
&>svg {
|
|
5218
|
+
left: calc(var(--fk-spacing) * 4);
|
|
5219
|
+
}
|
|
5220
|
+
}
|
|
5209
5221
|
.fk\:\[\&\>svg\]\:size-3 {
|
|
5210
5222
|
&>svg {
|
|
5211
5223
|
width: calc(var(--fk-spacing) * 3);
|
|
@@ -5239,15 +5251,14 @@
|
|
|
5239
5251
|
flex-shrink: 0;
|
|
5240
5252
|
}
|
|
5241
5253
|
}
|
|
5242
|
-
.fk\:\[\&\>svg\]\:
|
|
5254
|
+
.fk\:\[\&\>svg\]\:text-destructive {
|
|
5243
5255
|
&>svg {
|
|
5244
|
-
|
|
5245
|
-
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
5256
|
+
color: hsl(var(--destructive));
|
|
5246
5257
|
}
|
|
5247
5258
|
}
|
|
5248
|
-
.fk\:\[\&\>svg\]\:text-
|
|
5259
|
+
.fk\:\[\&\>svg\]\:text-foreground {
|
|
5249
5260
|
&>svg {
|
|
5250
|
-
color:
|
|
5261
|
+
color: hsl(var(--foreground));
|
|
5251
5262
|
}
|
|
5252
5263
|
}
|
|
5253
5264
|
.fk\:\[\&\>svg\]\:text-muted-foreground {
|
|
@@ -5299,6 +5310,17 @@
|
|
|
5299
5310
|
}
|
|
5300
5311
|
}
|
|
5301
5312
|
}
|
|
5313
|
+
.fk\:\[\&\>svg\+div\]\:translate-y-\[-3px\] {
|
|
5314
|
+
&>svg+div {
|
|
5315
|
+
--tw-translate-y: -3px;
|
|
5316
|
+
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
5317
|
+
}
|
|
5318
|
+
}
|
|
5319
|
+
.fk\:\[\&\>svg\~\*\]\:pl-7 {
|
|
5320
|
+
&>svg~* {
|
|
5321
|
+
padding-left: calc(var(--fk-spacing) * 7);
|
|
5322
|
+
}
|
|
5323
|
+
}
|
|
5302
5324
|
.fk\:\[\&\>tr\]\:last\:border-b-0 {
|
|
5303
5325
|
&>tr {
|
|
5304
5326
|
&:last-child {
|
|
@@ -5396,6 +5418,50 @@
|
|
|
5396
5418
|
}
|
|
5397
5419
|
}
|
|
5398
5420
|
}
|
|
5421
|
+
@property --scroll-fade-t {
|
|
5422
|
+
syntax: "<length-percentage>";
|
|
5423
|
+
inherits: false;
|
|
5424
|
+
initial-value: 0px;
|
|
5425
|
+
}
|
|
5426
|
+
@property --scroll-fade-b {
|
|
5427
|
+
syntax: "<length-percentage>";
|
|
5428
|
+
inherits: false;
|
|
5429
|
+
initial-value: 0px;
|
|
5430
|
+
}
|
|
5431
|
+
@property --scroll-fade-s {
|
|
5432
|
+
syntax: "<length-percentage>";
|
|
5433
|
+
inherits: false;
|
|
5434
|
+
initial-value: 0px;
|
|
5435
|
+
}
|
|
5436
|
+
@property --scroll-fade-e {
|
|
5437
|
+
syntax: "<length-percentage>";
|
|
5438
|
+
inherits: false;
|
|
5439
|
+
initial-value: 0px;
|
|
5440
|
+
}
|
|
5441
|
+
@property --scroll-fade-mask {
|
|
5442
|
+
syntax: "*";
|
|
5443
|
+
inherits: false;
|
|
5444
|
+
}
|
|
5445
|
+
@property --shimmer-angle {
|
|
5446
|
+
syntax: "<angle>";
|
|
5447
|
+
inherits: true;
|
|
5448
|
+
initial-value: 20deg;
|
|
5449
|
+
}
|
|
5450
|
+
@property --shimmer-image {
|
|
5451
|
+
syntax: "*";
|
|
5452
|
+
inherits: false;
|
|
5453
|
+
}
|
|
5454
|
+
@property --shimmer-text-fill {
|
|
5455
|
+
syntax: "*";
|
|
5456
|
+
inherits: false;
|
|
5457
|
+
}
|
|
5458
|
+
@media (prefers-reduced-motion: reduce) {
|
|
5459
|
+
.shimmer {
|
|
5460
|
+
animation: none;
|
|
5461
|
+
background-image: none;
|
|
5462
|
+
-webkit-text-fill-color: currentColor;
|
|
5463
|
+
}
|
|
5464
|
+
}
|
|
5399
5465
|
html, body {
|
|
5400
5466
|
height: 100%;
|
|
5401
5467
|
}
|
|
@@ -5469,8 +5535,8 @@ html, body {
|
|
|
5469
5535
|
--accent: 240 2% 18%;
|
|
5470
5536
|
--accent-foreground: 0 0% 98%;
|
|
5471
5537
|
--link: 212 100% 48%;
|
|
5472
|
-
--destructive:
|
|
5473
|
-
--destructive-foreground:
|
|
5538
|
+
--destructive: 354 82% 49%;
|
|
5539
|
+
--destructive-foreground: 350 90% 10%;
|
|
5474
5540
|
--warning: 36 100% 50%;
|
|
5475
5541
|
--warning-foreground: 357 100% 96%;
|
|
5476
5542
|
--success: 149 89% 43%;
|
|
@@ -6022,6 +6088,9 @@ pre {
|
|
|
6022
6088
|
}
|
|
6023
6089
|
@layer properties {
|
|
6024
6090
|
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
|
|
6091
|
+
:root, :host {
|
|
6092
|
+
--shimmer-angle: 20deg;
|
|
6093
|
+
}
|
|
6025
6094
|
*, ::before, ::after, ::backdrop {
|
|
6026
6095
|
--tw-translate-x: 0;
|
|
6027
6096
|
--tw-translate-y: 0;
|
|
@@ -6077,6 +6146,13 @@ pre {
|
|
|
6077
6146
|
--tw-ease: initial;
|
|
6078
6147
|
--tw-content: "";
|
|
6079
6148
|
--tw-outline-style: solid;
|
|
6149
|
+
--scroll-fade-t: 0px;
|
|
6150
|
+
--scroll-fade-b: 0px;
|
|
6151
|
+
--scroll-fade-s: 0px;
|
|
6152
|
+
--scroll-fade-e: 0px;
|
|
6153
|
+
--scroll-fade-mask: initial;
|
|
6154
|
+
--shimmer-image: initial;
|
|
6155
|
+
--shimmer-text-fill: initial;
|
|
6080
6156
|
}
|
|
6081
6157
|
}
|
|
6082
6158
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React$1 from 'react';
|
|
2
2
|
import React__default, { Dispatch, JSX, SetStateAction, UIEvent, ReactElement } from 'react';
|
|
3
|
-
import { A as AppContextType, a as ActionSetRelationship, b as ActionSetScope, C as Config, c as AppOptions, E as Entity, P as PluginOptions, d as ProjectOptions, O as OrderedAssetValue, e as SearchRequestProps, f as SearchResultItem, U as UseEntityQueryParams, M as MappedEntityItem, F as FormEntityItem, I as ImageValue,
|
|
4
|
-
export { D as DataType, l as DefaultValue, m as DefaultValueByDataType, n as EntityData, o as FormFieldParams, p as FormFieldProps, q as FormFieldValue, L as LogoProps, r as ScopeType, S as SingleProject } from './types.d-
|
|
3
|
+
import { A as AppContextType, a as ActionSetRelationship, b as ActionSetScope, C as Config, c as AppOptions, E as Entity, P as PluginOptions, d as ProjectOptions, O as OrderedAssetValue, e as SearchRequestProps, f as SearchResultItem, g as Attribute, U as UseEntityQueryParams, M as MappedEntityItem, F as FormEntityItem, I as ImageValue, h as Schema, i as AttributeValue, j as MultipleRelationshipConnection, k as SingleRelationshipConnection } from './types.d-6y0oZ2Hh.js';
|
|
4
|
+
export { D as DataType, l as DefaultValue, m as DefaultValueByDataType, n as EntityData, o as FormFieldParams, p as FormFieldProps, q as FormFieldValue, L as LogoProps, r as ScopeType, S as SingleProject } from './types.d-6y0oZ2Hh.js';
|
|
5
5
|
export { Outlet, useLocation, useParams } from 'react-router-dom';
|
|
6
6
|
import { OperationVariables, DocumentNode, ErrorLike } from '@apollo/client';
|
|
7
7
|
export { gql } from '@apollo/client';
|
|
@@ -92,12 +92,39 @@ declare function defineConfig<T extends Config>(config: T): T;
|
|
|
92
92
|
|
|
93
93
|
declare function defineEntity<T extends Entity>(entity: T): Entity;
|
|
94
94
|
|
|
95
|
+
/**
|
|
96
|
+
* Space bindings use OR semantics: a resource bound to ['finance', 'mkt'] is
|
|
97
|
+
* accessible to members of either space. Unbound resources are accessible to
|
|
98
|
+
* everyone. This is a UI convenience only — the server enforces the same
|
|
99
|
+
* rules through generated @authorization directives.
|
|
100
|
+
*
|
|
101
|
+
* `userSpaces === undefined` means membership is not known yet (auth still
|
|
102
|
+
* loading). Treat that as allowed so space-bound entities/attributes do not
|
|
103
|
+
* flicker out of the Desk sidebar, grids, and forms. Once auth resolves,
|
|
104
|
+
* `spaces` is always an array — possibly empty for users with no memberships.
|
|
105
|
+
*/
|
|
106
|
+
declare function canAccessSpaces(userSpaces: string[] | undefined, resourceSpaces: string[] | undefined): boolean;
|
|
107
|
+
declare function filterAttributesForSpaces(attributes: Attribute[], userSpaces: string[] | undefined): Attribute[];
|
|
108
|
+
declare function filterEntitiesForSpaces(schema: Entity[], userSpaces: string[] | undefined): Entity[];
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Viewers are read-only: the GraphQL route and the automations API reject
|
|
112
|
+
* their mutations server-side. This helper only mirrors that rule in the UI
|
|
113
|
+
* so restricted actions render as disabled instead of failing on submit.
|
|
114
|
+
* While the role is still unknown (auth loading) actions stay enabled and
|
|
115
|
+
* the server remains the source of truth.
|
|
116
|
+
*/
|
|
117
|
+
declare function canMutateData(role: string | null | undefined): boolean;
|
|
118
|
+
declare function useCanMutate(): boolean;
|
|
119
|
+
|
|
95
120
|
type User = {
|
|
96
121
|
id: string;
|
|
97
122
|
email: string;
|
|
98
123
|
display_name: string;
|
|
99
124
|
avatar_url: string;
|
|
100
125
|
role: string;
|
|
126
|
+
/** Space codes the user belongs to (owners receive every project space). */
|
|
127
|
+
spaces: string[];
|
|
101
128
|
};
|
|
102
129
|
|
|
103
130
|
type Auth = {
|
|
@@ -130,7 +157,9 @@ declare function useEntityQuery({ entityNamePlural, schema, scope, variables, is
|
|
|
130
157
|
isLoadingMore: boolean;
|
|
131
158
|
isProjectDisabled: boolean;
|
|
132
159
|
isProjectReadOnly: boolean;
|
|
133
|
-
reload: (
|
|
160
|
+
reload: (options?: {
|
|
161
|
+
preserve?: boolean;
|
|
162
|
+
}) => Promise<void>;
|
|
134
163
|
schemaErrorMessage: string | null;
|
|
135
164
|
};
|
|
136
165
|
|
|
@@ -173,6 +202,12 @@ type EntityQuery = {
|
|
|
173
202
|
};
|
|
174
203
|
declare function getEntityQuery(entityNamePlural: string, scope: string, schema: Schema, options?: {
|
|
175
204
|
selection?: 'list' | 'full';
|
|
205
|
+
/**
|
|
206
|
+
* The top-level aggregate count is a filtered label scan on the server.
|
|
207
|
+
* Pagination pages (fetchMore) skip it — the total from the first page
|
|
208
|
+
* still stands.
|
|
209
|
+
*/
|
|
210
|
+
includeCount?: boolean;
|
|
176
211
|
}): EntityQuery;
|
|
177
212
|
/**
|
|
178
213
|
* Returns a string with the GraphQl query needed to mutate the dataToMutate object for the given entity and scope.
|
|
@@ -354,4 +389,4 @@ declare const assetSchema: Entity;
|
|
|
354
389
|
|
|
355
390
|
declare const tagSchema: Entity;
|
|
356
391
|
|
|
357
|
-
export { AppOptions, Attribute, AttributeValue, type ConfigContext, DataTable, DataTableColumnHeader, DataTableFacetedFilter, DataTableRowActions, DataTableSortedBy, DataTableToolbar, DataTableViewOptions, DefaultValueSwitch, Entity, type EntityListRowPatch, FlexkitStudio, FormEntityItem, IMAGES_BASE_URL, MappedEntityItem, PluginOptions, ProjectDisabled, Schema, SchemaError, SearchRequestProps, SearchResultItem, type UploadedFileResult, assetSchema, defineConfig, defineEntity, getEntityCreateMutation, getEntityDeleteMutation, getEntityDeleteWhere, getEntityQuery, getEntitySchema, getEntityUpdateMutation, tagSchema, useAppContext, useAppDispatch, useAuth, useConfig, useDispatch, useEntityMutation, useEntityQuery, useGraphQLError, useGridColumnsDefinition, usePatchEntityList, useRefreshEntityList, useSearch, useUploadAssets };
|
|
392
|
+
export { AppOptions, Attribute, AttributeValue, type ConfigContext, DataTable, DataTableColumnHeader, DataTableFacetedFilter, DataTableRowActions, DataTableSortedBy, DataTableToolbar, DataTableViewOptions, DefaultValueSwitch, Entity, type EntityListRowPatch, FlexkitStudio, FormEntityItem, IMAGES_BASE_URL, MappedEntityItem, PluginOptions, ProjectDisabled, Schema, SchemaError, SearchRequestProps, SearchResultItem, type UploadedFileResult, assetSchema, canAccessSpaces, canMutateData, defineConfig, defineEntity, filterAttributesForSpaces, filterEntitiesForSpaces, getEntityCreateMutation, getEntityDeleteMutation, getEntityDeleteWhere, getEntityQuery, getEntitySchema, getEntityUpdateMutation, tagSchema, useAppContext, useAppDispatch, useAuth, useCanMutate, useConfig, useDispatch, useEntityMutation, useEntityQuery, useGraphQLError, useGridColumnsDefinition, usePatchEntityList, useRefreshEntityList, useSearch, useUploadAssets };
|