@xeonr/platform-ui 0.3.20 → 0.4.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/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -1
- package/dist/kit/ApiKeyForm.d.ts +71 -0
- package/dist/kit/ApiKeyForm.d.ts.map +1 -0
- package/dist/kit/ApiKeyForm.js +105 -0
- package/dist/kit/ApiKeyForm.js.map +1 -0
- package/dist/kit/ApiKeys.d.ts +79 -0
- package/dist/kit/ApiKeys.d.ts.map +1 -0
- package/dist/kit/ApiKeys.js +198 -0
- package/dist/kit/ApiKeys.js.map +1 -0
- package/dist/kit/Button.d.ts +1 -1
- package/dist/kit/Button.d.ts.map +1 -1
- package/dist/kit/Button.js.map +1 -1
- package/dist/kit/Combobox.d.ts +17 -1
- package/dist/kit/Combobox.d.ts.map +1 -1
- package/dist/kit/Combobox.js +12 -3
- package/dist/kit/Combobox.js.map +1 -1
- package/dist/kit/MultiCombobox.d.ts +19 -1
- package/dist/kit/MultiCombobox.d.ts.map +1 -1
- package/dist/kit/MultiCombobox.js +32 -9
- package/dist/kit/MultiCombobox.js.map +1 -1
- package/dist/kit/Sparkline.d.ts +57 -0
- package/dist/kit/Sparkline.d.ts.map +1 -0
- package/dist/kit/Sparkline.js +109 -0
- package/dist/kit/Sparkline.js.map +1 -0
- package/dist/kit/Text.d.ts +5 -0
- package/dist/kit/Text.d.ts.map +1 -1
- package/dist/kit/Text.js +12 -2
- package/dist/kit/Text.js.map +1 -1
- package/dist/kit/Tooltip.d.ts +41 -0
- package/dist/kit/Tooltip.d.ts.map +1 -0
- package/dist/kit/Tooltip.js +129 -0
- package/dist/kit/Tooltip.js.map +1 -0
- package/dist/theme/paint.d.ts +43 -0
- package/dist/theme/paint.d.ts.map +1 -0
- package/dist/theme/paint.js +109 -0
- package/dist/theme/paint.js.map +1 -0
- package/dist/theme/tokens.d.ts +10 -0
- package/dist/theme/tokens.d.ts.map +1 -1
- package/dist/theme/tokens.js +43 -0
- package/dist/theme/tokens.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiKeys.js","sourceRoot":"","sources":["../../src/kit/ApiKeys.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAC1D,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAc,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,GAAG,EAAa,MAAM,YAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAe,MAAM,gBAAiB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAa,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAY,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAY,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAY,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAc,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,WAAY,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAa,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAc,CAAC;AAC1C,OAAO,EACL,UAAU,GAEX,MAAM,iBAAkB,CAAC;AA4E1B,MAAM,mBAAmB,GAAG,8CAA8C,CAAC;AAC3E,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC;AAE/B,MAAM,UAAU,GAAoC;IAClD,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;CACrF,CAAC;AAGF,MAAM,MAAM,GAAkD;IAC5D,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;IACvC,IAAI,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7C,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;IAC3C,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;CAC3C,CAAC;AAEF,SAAS,QAAQ,CAAC,CAAY,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC9C,IAAI,CAAC,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAClC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG;YAAE,OAAO,SAAS,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,OAAO;YAAE,OAAO,MAAM,CAAC;IACvC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAY,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,IAAI,KAAK,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC;AAErF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;;;;;CAKvB,CAAC;AAEF,4EAA4E;AAC5E,mDAAmD;AACnD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;;;;CAI9B,CAAC;AAEF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAA;;;;;;CAMxB,CAAC;AAEF,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;;;CAGtB,CAAC;AAEF,4EAA4E;AAC5E,uDAAuD;AACvD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAA;;CAEpC,CAAC;AAEF,SAAS,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAA2E;IACtH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAC,KAAK,cAAE,KAAK,GAAS,CAAC;IACvD,OAAO,CACL,KAAC,IAAI,cACF,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChB,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,KAAC,WAAW,IAAS,KAAK,EAAC,yBAAyB,YAAE,CAAC,IAArC,CAAC,CAAmD;YACxE,CAAC,CAAC,KAAC,GAAG,IAAS,KAAK,EAAE,CAAC,YAAG,CAAC,IAAf,CAAC,CAAqB,CACrC,GACI,CACR,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,CAAmB;IACvC,OAAO,CAAC,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EACtB,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAC7F,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAC9F,UAAU,GAAG,mBAAmB,EAAE,UAAU,GAAG,aAAa,EAAE,SAAS,GAC1D;IACb,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IAC/D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA4C,IAAI,CAAC,CAAC;IACtF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAEhE,MAAM,IAAI,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,MAAM,CAAE,CAAW,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC;IAEhE,MAAM,GAAG,GAAG,KAAK,EAAM,IAAsB,EAAE,MAAe,EAA0B,EAAE;QACxF,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,MAAM;YAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,OAAO,SAAS,CAAC;QACnB,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAAE,KAAwB,EAAE,EAAE;QAChD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,GAAG,EAAE,CAAC;YAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;IAClD,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,EAAE,KAAwB,EAAE,EAAE;QAChD,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO;YAAE,OAAO;QAClC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,GAAG;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;IACF,4EAA4E;IAC5E,+DAA+D;IAC/D,MAAM,MAAM,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;QACpC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;YAAE,OAAO;QACnC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QACpD,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9C,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CAAsB,GAAG,EAAE,CAAC;QACjD;YACE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;YACxB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;YACrB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CACb,KAAC,IAAI,IACH,KAAK,EAAE,CAAC,CAAC,IAAI,EACb,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KACX,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACrD,CACH;SACF;QACD;YACE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG;YAC3C,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE;YACjD,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CACb,MAAC,KAAK,IAAC,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,8DAA8D,CAAC,CAAC,CAAC,2BAA2B,aACzH,KAAC,GAAG,aAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,YAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAO,EAC9E,yBAAO,CAAC,CAAC,KAAK,CAAC,KAAK,GAAQ,IACtB,CACT;SACF;QACD;YACE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG;YAC3C,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,CAC9B,KAAC,KAAK,2BAAiB,CACxB,CAAC,CAAC,CAAC,CACF,MAAC,IAAI,eACF,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjC,KAAC,GAAG,IAA2C,KAAK,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,YAAG,YAAY,CAAC,CAAC,CAAC,IAAzG,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,UAAU,EAAE,CAA6E,CAC3H,CAAC,EACD,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAC,GAAG,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAO,CAAC,CAAC,CAAC,IAAI,EAC3H,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAC,KAAK,+BAAqB,CAAC,CAAC,CAAC,IAAI,IACxD,CACR;SACJ;QACD;YACE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI;YAC9C,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAC,SAAS,IAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,GAAI;SAC1I;QACD;YACE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO;YAC7C,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1B,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;gBACZ,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACtB,OAAO,CACL,MAAC,KAAK,YAAO,CAAC,aACZ,KAAC,UAAU,aAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,YAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAc,EACjE,KAAC,IAAI,aAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,YAClC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,0CAAU,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAI,IAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,0CAAU,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,CAAC,SAAS,GAAI,IAAG,CAAC,CAAC,CAAC,eAAe,GAC3H,IACD,CACT,CAAC;YACJ,CAAC;SACF;QACD;YACE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG;YAC9D,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE;YACtC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,CAAC,UAAU,GAAI,CAAC,CAAC,CAAC,KAAC,KAAK,wBAAc,CAAC;SACjF;QACD;YACE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;YACvD,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CACb,MAAC,IAAI,IAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAC,UAAU,kBAAY,aAAa,EAAC,KAAK,EAAC,SAAS,YAAC,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,GAAa,aACpH,QAAQ,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAiB,CAAC,CAAC,CAAC,IAAI,EACvI,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,uBAAmB,CAAC,CAAC,CAAC,IAAI,EAC/H,KAAC,QAAQ,IAAC,IAAI,EAAC,KAAK,EAAC,MAAM,QAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,6BAAoB,IACjG,CACR;SACF;KACF,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,CAAC,kBAAkB;YAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM,EAAE,GAAG,IAAI,GAAG,EAA4D,CAAC;QAC/E,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,EAAE,GAAG,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,eAAe,IAAI,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACnG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAChB,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5E,0EAA0E;QAC1E,sDAAsD;QACtD,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAC9B,KAAC,SAAS,IAAC,OAAO,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,OAAO,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,2BAAwB,CACvH,CAAC,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,KAAK,GAAG,CACZ,KAAC,UAAU,IACT,IAAI,EAAC,KAAK,EACV,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,SAAS,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,2CAA2C,CAAC,EAChI,MAAM,EAAE,YAAY,EACpB,OAAO,SACP,CACH,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,CAAY,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,eAAe,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAE7H,OAAO,CACL,0BACE,MAAC,GAAG,eACF,KAAC,MAAM,IAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,sBAAsB,EAAE,KAAK,EAAC,cAAc,GAAG,EACzF,YAAY,IACT,EACL,SAAS,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,yBAAyB,YAAE,SAAS,GAAW,CAAC,CAAC,CAAC,IAAI,EAC9F,KAAC,KAAK,YAAO,EAAE,YACV,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjB,0BACG,kBAAkB,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAC,SAAS,cAAE,CAAC,CAAC,KAAK,GAAa,CAAC,CAAC,CAAC,IAAI,EACxE,KAAC,SAAS,IACR,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,CAAC,CAAC,IAAI,EACZ,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EACnB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KACxB,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,GAC7E,KAVM,CAAC,CAAC,EAAE,CAWR,CACP,CAAC,GACE,EAEP,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CACtB,KAAC,WAAW,IAAC,KAAK,EAAC,gBAAgB,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI;oBAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YACxG,KAAC,UAAU,IACT,IAAI,EAAC,QAAQ,EACb,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,IAAI,EACf,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,GAClC,GACU,CACf,CAAC,CAAC,CAAC,IAAI,EAEP,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,CACrB,KAAC,WAAW,IAAC,KAAK,EAAC,cAAc,EAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI;oBAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAC3H,KAAC,UAAU,IACT,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,OAAO,CAAC,YAAY,EAC/B,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAChC,GACU,CACf,CAAC,CAAC,CAAC,IAAI,EAEP,MAAM,CAAC,CAAC,CAAC,CACR,KAAC,WAAW,IAAC,KAAK,EAAC,iBAAiB,EAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,YAChI,MAAC,KAAK,eACJ,KAAC,OAAO,IAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,aAAa,uGAE9B,EACV,KAAC,WAAW,IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,QAAC,QAAQ,SAAG,EACvD,KAAC,IAAI,aAAQ,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,YAAG,UAAU,GAAQ,EAC5D,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,YACxC,KAAC,SAAS,IAAC,OAAO,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,iCAA8B,GAC/F,IACA,GACI,CACf,CAAC,CAAC,CAAC,IAAI,EAEP,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,YAAY,IACX,KAAK,EAAC,YAAY,EAClB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,EACtB,KAAK,EAAC,MAAM,EACZ,OAAO,EAAE,QAAQ,CAAC,IAAI,EACtB,WAAW,EAAC,QAAQ,EACpB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,EAC/E,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,EACrC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI;oBAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAChD,CACH,CAAC,CAAC,CAAC,IAAI,EAEP,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,aAAa,IACZ,KAAK,EAAE,UAAU,QAAQ,CAAC,IAAI,GAAG,EACjC,IAAI,EAAE,sDAAsB,sBAAI,OAAO,CAAC,QAAQ,CAAC,GAAK,gCAA2B,UAAU,uDAAmD,EAC9I,WAAW,EAAC,YAAY,EACxB,UAAU,EAAE,QAAQ,CAAC,IAAI,EACzB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,MAAM,EAAE,EAC9B,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI;oBAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAChD,CACH,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
|
package/dist/kit/Button.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { ReactNode, ComponentProps } from "react";
|
|
|
2
2
|
import { type IconName } from "./Icon.tsx";
|
|
3
3
|
type Variant = "grad" | "ghost" | "quiet" | "danger";
|
|
4
4
|
type Size = "md" | "sm" | "xs";
|
|
5
|
-
export interface AppButtonProps extends
|
|
5
|
+
export interface AppButtonProps extends ComponentProps<"button"> {
|
|
6
6
|
variant?: Variant | undefined;
|
|
7
7
|
size?: Size | undefined;
|
|
8
8
|
icon?: IconName | (string & {}) | undefined;
|
package/dist/kit/Button.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/kit/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEjD,KAAK,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AACrD,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/kit/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEjD,KAAK,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AACrD,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AA2D/B,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,QAAQ,CAAC;IAC9D,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,sDAAsD;IACtD,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;IACnC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,wBAAgB,SAAS,CAAC,EAAE,OAAiB,EAAE,IAAW,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,+BAclI;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;;WAAgC,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;;YAEzE,MAAM,GAAG,SAAS;UAAQ,OAAO,GAAG,SAAS;;;;WAFJ,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;;YAEzE,MAAM,GAAG,SAAS;UAAQ,OAAO,GAAG,SAAS;6jKAa1D,CAAC;AAEF,eAAO,MAAM,SAAS;;WAIrB,CAAC"}
|
package/dist/kit/Button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/kit/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAiB,MAAM,WAAY,CAAC;AAKjD,MAAM,KAAK,GAAyC;IAClD,EAAE,EAAE,GAAG,CAAA,mDAAmD;IAC1D,EAAE,EAAE,GAAG,CAAA,iDAAiD;IACxD,EAAE,EAAE,GAAG,CAAA,mDAAmD;CAC3D,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAiE;WAChF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;;;;;mBAK1B,CAAC,CAAC,IAAI;;;;;;IAMrB,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;;;;IAIrB,CAAC,CAAC,EAAE,EAAE,CACN,CAAC,CAAC,QAAQ,KAAK,MAAM;IACrB,GAAG,CAAA;oBACa,CAAC,CAAC,IAAI;eACX,CAAC,CAAC,OAAO;qCACa,CAAC,CAAC,OAAO;;KAEzC;IACD,CAAC,CAAC,EAAE,EAAE,CACN,CAAC,CAAC,QAAQ,KAAK,OAAO;IACtB,GAAG,CAAA;sBACe,CAAC,CAAC,KAAK;oBACT,CAAC,CAAC,OAAO;eACd,CAAC,CAAC,IAAI;+CAC0B,CAAC,CAAC,OAAO;KACnD;IACD,CAAC,CAAC,EAAE,EAAE,CACN,CAAC,CAAC,QAAQ,KAAK,OAAO;IACtB,GAAG,CAAA;oBACa,CAAC,CAAC,KAAK;eACZ,CAAC,CAAC,IAAI;6CACwB,CAAC,CAAC,OAAO;KACjD;IACD,CAAC,CAAC,EAAE,EAAE,CACN,CAAC,CAAC,QAAQ,KAAK,QAAQ;IACvB,GAAG,CAAA;oBACa,CAAC,CAAC,QAAQ;eACf,CAAC,CAAC,MAAM;yEACkD,CAAC,CAAC,MAAM;KAC5E;CACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/kit/Button.tsx"],"names":[],"mappings":"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"}
|
package/dist/kit/Combobox.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export interface ComboOption<T> {
|
|
|
9
9
|
* query (so it can debounce and hit whichever RPC it needs) — this only owns
|
|
10
10
|
* the open/highlight/keyboard behaviour.
|
|
11
11
|
*/
|
|
12
|
-
export declare function Combobox<T>({ value, onQueryChange, options, onPick, placeholder, label, loading, emptyNote, autoFocus }: {
|
|
12
|
+
export declare function Combobox<T>({ value, onQueryChange, options, onPick, placeholder, label, loading, emptyNote, autoFocus, onSubmit, onBackspaceWhenEmpty }: {
|
|
13
13
|
value: string;
|
|
14
14
|
onQueryChange: (q: string) => void;
|
|
15
15
|
options: ComboOption<T>[];
|
|
@@ -20,5 +20,21 @@ export declare function Combobox<T>({ value, onQueryChange, options, onPick, pla
|
|
|
20
20
|
/** shown in place of the list when the query returns nothing */
|
|
21
21
|
emptyNote?: ReactNode | undefined;
|
|
22
22
|
autoFocus?: boolean | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* The query is itself a value, and Enter commits it — a filter expression
|
|
25
|
+
* (`service.name=checkout`), a search term, a free-form tag. Called only
|
|
26
|
+
* when there is no option to pick, so the suggestion list still completes
|
|
27
|
+
* what the person has half-typed and Enter only falls through to the raw
|
|
28
|
+
* text once the list has nothing left to offer. The caller clears `value`.
|
|
29
|
+
*
|
|
30
|
+
* Without it, Enter on a query that matches nothing does nothing, which is
|
|
31
|
+
* right for a picker over a closed set and wrong for a filter box.
|
|
32
|
+
*/
|
|
33
|
+
onSubmit?: ((query: string) => void) | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Backspace in an already-empty box: edit what has already been committed.
|
|
36
|
+
* Every chip input does this (it drops the last chip) and fingers expect it.
|
|
37
|
+
*/
|
|
38
|
+
onBackspaceWhenEmpty?: (() => void) | undefined;
|
|
23
39
|
}): import("react").JSX.Element;
|
|
24
40
|
//# sourceMappingURL=Combobox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../src/kit/Combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAoDpE,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,CAAC,CAAC;IACT,MAAM,EAAE,SAAS,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../src/kit/Combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAoDpE,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,CAAC,CAAC;IACT,MAAM,EAAE,SAAS,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE;IACxJ,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,gEAAgE;IAChE,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACjD;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACjD,+BAwDA"}
|
package/dist/kit/Combobox.js
CHANGED
|
@@ -50,7 +50,7 @@ const Spin = styled.span `
|
|
|
50
50
|
* query (so it can debounce and hit whichever RPC it needs) — this only owns
|
|
51
51
|
* the open/highlight/keyboard behaviour.
|
|
52
52
|
*/
|
|
53
|
-
export function Combobox({ value, onQueryChange, options, onPick, placeholder, label, loading, emptyNote, autoFocus }) {
|
|
53
|
+
export function Combobox({ value, onQueryChange, options, onPick, placeholder, label, loading, emptyNote, autoFocus, onSubmit, onBackspaceWhenEmpty }) {
|
|
54
54
|
const [open, setOpen] = useState(false);
|
|
55
55
|
const [active, setActive] = useState(0);
|
|
56
56
|
const ref = useRef(null);
|
|
@@ -80,9 +80,18 @@ export function Combobox({ value, onQueryChange, options, onPick, placeholder, l
|
|
|
80
80
|
e.preventDefault();
|
|
81
81
|
setActive((a) => Math.max(a - 1, 0));
|
|
82
82
|
}
|
|
83
|
-
else if (e.key === "Enter"
|
|
83
|
+
else if (e.key === "Enter") {
|
|
84
84
|
e.preventDefault();
|
|
85
|
-
|
|
85
|
+
if (open && options.length)
|
|
86
|
+
pick(active);
|
|
87
|
+
else if (onSubmit && value.trim()) {
|
|
88
|
+
onSubmit(value.trim());
|
|
89
|
+
setOpen(false);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else if (e.key === "Backspace" && value === "" && onBackspaceWhenEmpty) {
|
|
93
|
+
e.preventDefault();
|
|
94
|
+
onBackspaceWhenEmpty();
|
|
86
95
|
}
|
|
87
96
|
else if (e.key === "Escape")
|
|
88
97
|
setOpen(false);
|
package/dist/kit/Combobox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../src/kit/Combobox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACpE,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,WAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAY,CAAC;AAElC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA,qBAAqB,CAAC;AAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;aAKV,CAAC,CAAC,IAAI;;;gBAGH,CAAC,CAAC,OAAO;sBACH,CAAC,CAAC,KAAK;mBACV,CAAC,CAAC,KAAK;gBACV,CAAC,CAAC,IAAI;;CAErB,CAAC;AAEF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAkB;;;;;;;;;WASnC,CAAC,CAAC,IAAI;gBACD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;0BAChC,CAAC,CAAC,KAAK;CAChC,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA;;;WAGZ,CAAC,CAAC,KAAK;CACjB,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;;;;;WAKb,CAAC,CAAC,KAAK;;CAEjB,CAAC;AAQF;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAI,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../src/kit/Combobox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ import type { ComboOption } from "./Combobox.tsx";
|
|
|
16
16
|
* choosing several in a row is the normal case and reopening between each is
|
|
17
17
|
* the annoying one.
|
|
18
18
|
*/
|
|
19
|
-
export declare function MultiCombobox<T>({ query, onQueryChange, options, selected, onChange, placeholder, label, loading, emptyNote, autoFocus, disabled, }: {
|
|
19
|
+
export declare function MultiCombobox<T>({ query, onQueryChange, options, selected, onChange, placeholder, label, loading, emptyNote, autoFocus, disabled, allowCreate, createLabel, validateNew, max, }: {
|
|
20
20
|
/** the search box's text; the caller owns it so it can debounce or hit an RPC */
|
|
21
21
|
query: string;
|
|
22
22
|
onQueryChange: (q: string) => void;
|
|
@@ -31,5 +31,23 @@ export declare function MultiCombobox<T>({ query, onQueryChange, options, select
|
|
|
31
31
|
emptyNote?: ReactNode | undefined;
|
|
32
32
|
autoFocus?: boolean | undefined;
|
|
33
33
|
disabled?: boolean | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* The typed text is itself a valid value — a free-form tag input rather than
|
|
36
|
+
* a picker over a closed set. Set it where the vocabulary is the user's and
|
|
37
|
+
* not the server's: a notification channel (`slack:#ops-alerts`), a label on
|
|
38
|
+
* an object, a hostname in an allow-list. The committed value is the trimmed
|
|
39
|
+
* query, and it becomes a chip like any other.
|
|
40
|
+
*
|
|
41
|
+
* Left off (the default) the control stays a picker: a key that is not an
|
|
42
|
+
* option cannot be chosen, which is the right behaviour when picking a
|
|
43
|
+
* nonexistent one would silently match nothing.
|
|
44
|
+
*/
|
|
45
|
+
allowCreate?: boolean | undefined;
|
|
46
|
+
/** the create row's caption; default `Add "<query>"` */
|
|
47
|
+
createLabel?: ((query: string) => ReactNode) | undefined;
|
|
48
|
+
/** why the typed value cannot be added, or null — shown in place of the create row */
|
|
49
|
+
validateNew?: ((query: string) => string | null) | undefined;
|
|
50
|
+
/** refuse further additions past this many (a wire limit the server enforces anyway) */
|
|
51
|
+
max?: number | undefined;
|
|
34
52
|
}): import("react").JSX.Element;
|
|
35
53
|
//# sourceMappingURL=MultiCombobox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiCombobox.d.ts","sourceRoot":"","sources":["../../src/kit/MultiCombobox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAoFlD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAC/B,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"MultiCombobox.d.ts","sourceRoot":"","sources":["../../src/kit/MultiCombobox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAoFlD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAC/B,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAC9G,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,GAC3C,EAAE;IACD,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,mCAAmC;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,gEAAgE;IAChE,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,wDAAwD;IACxD,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC,GAAG,SAAS,CAAC;IACzD,sFAAsF;IACtF,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7D,wFAAwF;IACxF,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B,+BAqIA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useRef, useState } from "react";
|
|
3
3
|
import styled from "styled-components";
|
|
4
4
|
import { v } from "../theme/tokens.js";
|
|
@@ -93,7 +93,7 @@ const Spin = styled.span `
|
|
|
93
93
|
* choosing several in a row is the normal case and reopening between each is
|
|
94
94
|
* the annoying one.
|
|
95
95
|
*/
|
|
96
|
-
export function MultiCombobox({ query, onQueryChange, options, selected, onChange, placeholder, label, loading, emptyNote, autoFocus, disabled, }) {
|
|
96
|
+
export function MultiCombobox({ query, onQueryChange, options, selected, onChange, placeholder, label, loading, emptyNote, autoFocus, disabled, allowCreate, createLabel, validateNew, max, }) {
|
|
97
97
|
const [open, setOpen] = useState(false);
|
|
98
98
|
const [active, setActive] = useState(0);
|
|
99
99
|
const ref = useRef(null);
|
|
@@ -106,11 +106,32 @@ export function MultiCombobox({ query, onQueryChange, options, selected, onChang
|
|
|
106
106
|
document.addEventListener("mousedown", onDown);
|
|
107
107
|
return () => document.removeEventListener("mousedown", onDown);
|
|
108
108
|
}, [open]);
|
|
109
|
+
const full = max !== undefined && selected.length >= max;
|
|
109
110
|
const toggle = (key) => {
|
|
110
|
-
|
|
111
|
+
if (selected.includes(key)) {
|
|
112
|
+
onChange(selected.filter((k) => k !== key));
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
if (full)
|
|
116
|
+
return;
|
|
117
|
+
onChange([...selected, key]);
|
|
111
118
|
};
|
|
119
|
+
// The create row, when the typed text is a value in its own right and is not
|
|
120
|
+
// already an option or already chosen. It sits FIRST and starts active, so
|
|
121
|
+
// typing a new value and pressing Enter adds it — the whole gesture a tag
|
|
122
|
+
// input exists for — while arrowing down still reaches the suggestions.
|
|
123
|
+
const typed = query.trim();
|
|
124
|
+
const newProblem = allowCreate && typed && validateNew ? validateNew(typed) : null;
|
|
125
|
+
const creatable = !!allowCreate && typed !== "" && !newProblem && !full &&
|
|
126
|
+
!options.some((o) => o.key === typed) && !selected.includes(typed);
|
|
127
|
+
const rows = options.length + (creatable ? 1 : 0);
|
|
112
128
|
const pickActive = () => {
|
|
113
|
-
|
|
129
|
+
if (creatable && active === 0) {
|
|
130
|
+
onChange([...selected, typed]);
|
|
131
|
+
onQueryChange("");
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
const opt = options[creatable ? active - 1 : active];
|
|
114
135
|
if (opt)
|
|
115
136
|
toggle(opt.key);
|
|
116
137
|
};
|
|
@@ -122,14 +143,15 @@ export function MultiCombobox({ query, onQueryChange, options, selected, onChang
|
|
|
122
143
|
if (e.key === "ArrowDown") {
|
|
123
144
|
e.preventDefault();
|
|
124
145
|
setOpen(true);
|
|
125
|
-
setActive((a) => Math.min(a + 1,
|
|
146
|
+
setActive((a) => Math.min(a + 1, rows - 1));
|
|
126
147
|
}
|
|
127
148
|
else if (e.key === "ArrowUp") {
|
|
128
149
|
e.preventDefault();
|
|
129
150
|
setActive((a) => Math.max(a - 1, 0));
|
|
130
151
|
}
|
|
131
|
-
else if (e.key === "Enter" &&
|
|
152
|
+
else if (e.key === "Enter" && rows > 0) {
|
|
132
153
|
e.preventDefault();
|
|
154
|
+
setOpen(true);
|
|
133
155
|
pickActive();
|
|
134
156
|
}
|
|
135
157
|
else if (e.key === "Escape")
|
|
@@ -140,9 +162,10 @@ export function MultiCombobox({ query, onQueryChange, options, selected, onChang
|
|
|
140
162
|
e.preventDefault();
|
|
141
163
|
onChange(selected.slice(0, -1));
|
|
142
164
|
}
|
|
143
|
-
} }), loading ? _jsx(Spin, { children: _jsx(Icon, { name: "spinner", spin: true }) }) : null, open && !disabled && (
|
|
165
|
+
} }), loading ? _jsx(Spin, { children: _jsx(Icon, { name: "spinner", spin: true }) }) : null, open && !disabled && (rows > 0 || emptyNote || newProblem) ? (_jsxs(List, { role: "listbox", "aria-multiselectable": true, children: [creatable ? (_jsxs(Option, { type: "button", role: "option", "aria-selected": false, "$on": active === 0, "$picked": false, onMouseEnter: () => setActive(0), onClick: () => pickActive(), children: [_jsx(Tick, { children: _jsx(Icon, { name: "add" }) }), createLabel ? createLabel(typed) : _jsxs(_Fragment, { children: ["Add \u201C", typed, "\u201D"] })] })) : null, newProblem ? _jsx(Note, { children: newProblem }) : null, options.map((o, i) => {
|
|
144
166
|
const picked = selected.includes(o.key);
|
|
145
|
-
|
|
146
|
-
|
|
167
|
+
const idx = creatable ? i + 1 : i;
|
|
168
|
+
return (_jsxs(Option, { type: "button", role: "option", "aria-selected": picked, "$on": idx === active, "$picked": picked, onMouseEnter: () => setActive(idx), onClick: () => toggle(o.key), children: [_jsx(Tick, { children: picked ? _jsx(Icon, { name: "check" }) : null }), o.render] }, o.key));
|
|
169
|
+
}), rows === 0 && !newProblem && emptyNote ? _jsx(Note, { children: emptyNote }) : null] })) : null] }));
|
|
147
170
|
}
|
|
148
171
|
//# sourceMappingURL=MultiCombobox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiCombobox.js","sourceRoot":"","sources":["../../src/kit/MultiCombobox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACpE,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,WAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAY,CAAC;AAGlC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA,qBAAqB,CAAC;AAE7C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;CAKvB,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;;;;;;;WAOb,CAAC,CAAC,IAAI;gBACD,CAAC,CAAC,OAAO;sBACH,CAAC,CAAC,KAAK;CAC5B,CAAC;AAEF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAA;;;;;WAKhB,CAAC,CAAC,KAAK;;qBAEG,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,KAAK;CAClD,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;aAKV,CAAC,CAAC,IAAI;;;gBAGH,CAAC,CAAC,OAAO;sBACH,CAAC,CAAC,KAAK;mBACV,CAAC,CAAC,KAAK;gBACV,CAAC,CAAC,IAAI;;CAErB,CAAC;AAEF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAoC;;;;;;;;;WASrD,CAAC,CAAC,IAAI;gBACD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;aAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;0BAChB,CAAC,CAAC,KAAK;CAChC,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;;;WAGb,CAAC,CAAC,KAAK;;CAEjB,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA;;;WAGZ,CAAC,CAAC,KAAK;CACjB,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;;;;WAIb,CAAC,CAAC,KAAK;;CAEjB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,aAAa,CAAI,EAC/B,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"MultiCombobox.js","sourceRoot":"","sources":["../../src/kit/MultiCombobox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export interface SparklineProps {
|
|
2
|
+
/** `[x, y]` pairs — x is usually epoch millis; order does not matter */
|
|
3
|
+
points: [number, number][];
|
|
4
|
+
/** stroke colour; a token (`v.cat1`, `v.success`), never a literal */
|
|
5
|
+
colour?: string | undefined;
|
|
6
|
+
width?: number | undefined;
|
|
7
|
+
height?: number | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* Pin the bottom of the scale to zero. Right for a rate (a flat line near
|
|
10
|
+
* zero should look flat and near zero); wrong for a latency, where the
|
|
11
|
+
* interesting variation is a few percent above a large floor and a
|
|
12
|
+
* zero-based scale flattens it into nothing.
|
|
13
|
+
*/
|
|
14
|
+
zeroBased?: boolean | undefined;
|
|
15
|
+
/** fill the area under the line at low opacity (default true) */
|
|
16
|
+
area?: boolean | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* An instant to mark with a dashed rule — "what was happening when this span
|
|
19
|
+
* ran". Ignored when it falls outside the series.
|
|
20
|
+
*/
|
|
21
|
+
markAt?: number | undefined;
|
|
22
|
+
/** shown in place of the chart when there is nothing to draw (default "—") */
|
|
23
|
+
empty?: string | undefined;
|
|
24
|
+
/** accessible description; omitted leaves the chart `aria-hidden` */
|
|
25
|
+
label?: string | undefined;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Sparkline: the shape of one series, drawn to fit a cell.
|
|
29
|
+
*
|
|
30
|
+
* The y scale is per-sparkline rather than shared down the column: each row
|
|
31
|
+
* shows its own shape instead of being flattened by the busiest row on the
|
|
32
|
+
* screen. These answer "is it trending", not "how does it compare" — a column
|
|
33
|
+
* that needs the second question wants a `Meter` or a number.
|
|
34
|
+
*/
|
|
35
|
+
export declare function Sparkline({ points, colour, width, height, zeroBased, area, markAt, empty, label, }: SparklineProps): import("react").JSX.Element;
|
|
36
|
+
/**
|
|
37
|
+
* SparkRow: a named sparkline with its latest value.
|
|
38
|
+
*
|
|
39
|
+
* Two shapes, because two things want this and they are not the same box:
|
|
40
|
+
*
|
|
41
|
+
* - `inline` (the default) is a line in a list — "name ·····/··· 128 MB" —
|
|
42
|
+
* where the names are a column the eye runs down.
|
|
43
|
+
* - `stacked` is a tile: the name and the value share the first line and the
|
|
44
|
+
* chart gets the whole width under them. In a card narrow enough to be one
|
|
45
|
+
* of twenty on a grid, an inline row spends every pixel on the chart and
|
|
46
|
+
* ellipsises the metric name down to nothing — which loses the only thing
|
|
47
|
+
* that says what you are looking at.
|
|
48
|
+
*
|
|
49
|
+
* The caller formats the value, because only it knows whether 134217728 is
|
|
50
|
+
* "128 MB", "134M" or "2m 14s".
|
|
51
|
+
*/
|
|
52
|
+
export declare function SparkRow({ name, value, layout, ...spark }: SparklineProps & {
|
|
53
|
+
name: string;
|
|
54
|
+
value?: string | undefined;
|
|
55
|
+
layout?: "inline" | "stacked" | undefined;
|
|
56
|
+
}): import("react").JSX.Element;
|
|
57
|
+
//# sourceMappingURL=Sparkline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Sparkline.d.ts","sourceRoot":"","sources":["../../src/kit/Sparkline.tsx"],"names":[],"mappings":"AAiCA,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAC3B,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,iEAAiE;IACjE,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,EACxB,MAAM,EAAE,MAAgB,EAAE,KAAU,EAAE,MAAW,EAAE,SAAgB,EAAE,IAAW,EAAE,MAAM,EAAE,KAAW,EAAE,KAAK,GAC7G,EAAE,cAAc,+BAiDhB;AAyBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAiB,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,GAAG;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;CAC3C,+BAmBA"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import styled from "styled-components";
|
|
4
|
+
import { v } from "../theme/tokens.js";
|
|
5
|
+
// Sparkline — shape without a value, for a table cell.
|
|
6
|
+
//
|
|
7
|
+
// `LineChart` answers "what was the number at 14:02"; it has axes, a crosshair
|
|
8
|
+
// and a legend, and it costs a fifth of the screen. A sparkline answers "is
|
|
9
|
+
// this one trending", which is the question a list of thirty rows asks three
|
|
10
|
+
// times per row — and at ninety charts per screen the answer has to be an SVG
|
|
11
|
+
// path rather than a canvas. Both exist because they are different questions.
|
|
12
|
+
//
|
|
13
|
+
// Deliberately no axes, no labels and no tooltip: a cell this size cannot
|
|
14
|
+
// carry them, and the row it sits in already says what the series is. The
|
|
15
|
+
// caller puts the latest value in its own column, where it lines up with every
|
|
16
|
+
// other row's.
|
|
17
|
+
const Wrap = styled.span `
|
|
18
|
+
display: inline-flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
justify-content: flex-start;
|
|
21
|
+
width: ${(p) => p.$w}px;
|
|
22
|
+
height: ${(p) => p.$h}px;
|
|
23
|
+
flex: none;
|
|
24
|
+
svg { display: block; }
|
|
25
|
+
`;
|
|
26
|
+
const Flat = styled.span `
|
|
27
|
+
color: ${v.faint};
|
|
28
|
+
font-size: 10px;
|
|
29
|
+
font-family: ${v.mono};
|
|
30
|
+
`;
|
|
31
|
+
/**
|
|
32
|
+
* Sparkline: the shape of one series, drawn to fit a cell.
|
|
33
|
+
*
|
|
34
|
+
* The y scale is per-sparkline rather than shared down the column: each row
|
|
35
|
+
* shows its own shape instead of being flattened by the busiest row on the
|
|
36
|
+
* screen. These answer "is it trending", not "how does it compare" — a column
|
|
37
|
+
* that needs the second question wants a `Meter` or a number.
|
|
38
|
+
*/
|
|
39
|
+
export function Sparkline({ points, colour = v.brand, width = 90, height = 22, zeroBased = true, area = true, markAt, empty = "—", label, }) {
|
|
40
|
+
const geometry = useMemo(() => {
|
|
41
|
+
const finite = points.filter((p) => Number.isFinite(p[0]) && Number.isFinite(p[1])).sort((a, b) => a[0] - b[0]);
|
|
42
|
+
if (finite.length < 2)
|
|
43
|
+
return null;
|
|
44
|
+
const xs = finite.map((p) => p[0]);
|
|
45
|
+
const ys = finite.map((p) => p[1]);
|
|
46
|
+
const minX = Math.min(...xs);
|
|
47
|
+
const maxX = Math.max(...xs);
|
|
48
|
+
const minY = zeroBased ? Math.min(0, ...ys) : Math.min(...ys);
|
|
49
|
+
const maxY = Math.max(...ys, minY);
|
|
50
|
+
const spanX = Math.max(1, maxX - minX);
|
|
51
|
+
// A flat series renders as a flat line halfway up rather than dividing by
|
|
52
|
+
// zero; a series at a constant 400ms is a real answer, not missing data.
|
|
53
|
+
const spanY = maxY - minY || 1;
|
|
54
|
+
const px = (x) => ((x - minX) / spanX) * width;
|
|
55
|
+
const py = (y) => height - 1 - ((y - minY) / spanY) * (height - 2);
|
|
56
|
+
const line = finite.map((p, i) => `${i === 0 ? "M" : "L"}${px(p[0]).toFixed(1)},${py(p[1]).toFixed(1)}`).join(" ");
|
|
57
|
+
const under = `${line} L${px(maxX).toFixed(1)},${height} L${px(minX).toFixed(1)},${height} Z`;
|
|
58
|
+
const mark = markAt !== undefined && markAt >= minX && markAt <= maxX ? px(markAt) : null;
|
|
59
|
+
return { line, under, mark };
|
|
60
|
+
}, [points, width, height, zeroBased, markAt]);
|
|
61
|
+
if (!geometry) {
|
|
62
|
+
return (_jsx(Wrap, { "$w": width, "$h": height, children: _jsx(Flat, { children: empty }) }));
|
|
63
|
+
}
|
|
64
|
+
return (_jsx(Wrap, { "$w": width, "$h": height, children: _jsxs("svg", { width: width, height: height, viewBox: `0 0 ${width} ${height}`, ...(label ? { role: "img", "aria-label": label } : { "aria-hidden": true }), children: [area ? _jsx("path", { d: geometry.under, fill: colour, opacity: 0.14 }) : null, _jsx("path", { d: geometry.line, fill: "none", stroke: colour, strokeWidth: 1.2 }), geometry.mark !== null ? (_jsx("line", { x1: geometry.mark, x2: geometry.mark, y1: 0, y2: height, stroke: v.warning, strokeWidth: 1, strokeDasharray: "2 2" })) : null] }) }));
|
|
65
|
+
}
|
|
66
|
+
const RowWrap = styled.span `
|
|
67
|
+
display: flex;
|
|
68
|
+
align-items: center;
|
|
69
|
+
gap: 8px;
|
|
70
|
+
min-width: 0;
|
|
71
|
+
font-size: 10px;
|
|
72
|
+
font-family: ${v.mono};
|
|
73
|
+
> .name { flex: 1 1 auto; min-width: 0; color: ${v.faint}; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
74
|
+
> .value { flex: none; min-width: 56px; text-align: right; color: ${v.text}; font-variant-numeric: tabular-nums; }
|
|
75
|
+
`;
|
|
76
|
+
const StackWrap = styled.span `
|
|
77
|
+
display: flex;
|
|
78
|
+
flex-direction: column;
|
|
79
|
+
gap: 2px;
|
|
80
|
+
min-width: 0;
|
|
81
|
+
font-size: 10px;
|
|
82
|
+
font-family: ${v.mono};
|
|
83
|
+
> .head { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
|
|
84
|
+
> .head > .name { flex: 1 1 auto; min-width: 0; color: ${v.faint}; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
85
|
+
> .head > .value { flex: none; color: ${v.text}; font-weight: 600; font-variant-numeric: tabular-nums; }
|
|
86
|
+
`;
|
|
87
|
+
/**
|
|
88
|
+
* SparkRow: a named sparkline with its latest value.
|
|
89
|
+
*
|
|
90
|
+
* Two shapes, because two things want this and they are not the same box:
|
|
91
|
+
*
|
|
92
|
+
* - `inline` (the default) is a line in a list — "name ·····/··· 128 MB" —
|
|
93
|
+
* where the names are a column the eye runs down.
|
|
94
|
+
* - `stacked` is a tile: the name and the value share the first line and the
|
|
95
|
+
* chart gets the whole width under them. In a card narrow enough to be one
|
|
96
|
+
* of twenty on a grid, an inline row spends every pixel on the chart and
|
|
97
|
+
* ellipsises the metric name down to nothing — which loses the only thing
|
|
98
|
+
* that says what you are looking at.
|
|
99
|
+
*
|
|
100
|
+
* The caller formats the value, because only it knows whether 134217728 is
|
|
101
|
+
* "128 MB", "134M" or "2m 14s".
|
|
102
|
+
*/
|
|
103
|
+
export function SparkRow({ name, value, layout = "inline", ...spark }) {
|
|
104
|
+
if (layout === "stacked") {
|
|
105
|
+
return (_jsxs(StackWrap, { children: [_jsxs("span", { className: "head", children: [_jsx("span", { className: "name", title: name, children: name }), value !== undefined ? _jsx("span", { className: "value", children: value }) : null] }), _jsx(Sparkline, { ...spark })] }));
|
|
106
|
+
}
|
|
107
|
+
return (_jsxs(RowWrap, { children: [_jsx("span", { className: "name", title: name, children: name }), _jsx(Sparkline, { ...spark }), value !== undefined ? _jsx("span", { className: "value", children: value }) : null] }));
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=Sparkline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Sparkline.js","sourceRoot":"","sources":["../../src/kit/Sparkline.tsx"],"names":[],"mappings":"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"}
|
package/dist/kit/Text.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
|
+
declare const textTones: Record<"ok" | "warn" | "crit" | "info" | "mut" | "data", string>;
|
|
3
|
+
export type TextTone = keyof typeof textTones;
|
|
2
4
|
/** Mono: a technical string — id, ref, path, host. */
|
|
3
5
|
export declare const Mono: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "style"> & {
|
|
4
6
|
style?: import("react").CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
|
|
@@ -7,6 +9,7 @@ export declare const Mono: import("styled-components/dist/types").IStyledCompone
|
|
|
7
9
|
$size?: number | undefined;
|
|
8
10
|
$truncate?: boolean | undefined;
|
|
9
11
|
$weight?: number | undefined;
|
|
12
|
+
$tone?: TextTone | undefined;
|
|
10
13
|
}>> & string;
|
|
11
14
|
/** Num: a tabular figure, right-aligned in tables. */
|
|
12
15
|
export declare const Num: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "style"> & {
|
|
@@ -15,6 +18,7 @@ export declare const Num: import("styled-components/dist/types").IStyledComponen
|
|
|
15
18
|
$dim?: boolean | undefined;
|
|
16
19
|
$faint?: boolean | undefined;
|
|
17
20
|
$mono?: boolean | undefined;
|
|
21
|
+
$tone?: TextTone | undefined;
|
|
18
22
|
}>> & string;
|
|
19
23
|
/** Hint: secondary explanatory text under a control or a block. */
|
|
20
24
|
export declare const Hint: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "style"> & {
|
|
@@ -107,4 +111,5 @@ export declare function Ago({ at }: {
|
|
|
107
111
|
export declare function toDate(at: Date | bigint | number | string | undefined | null): Date | null;
|
|
108
112
|
/** relative renders the "3 days ago" string on its own, for a title or a cell. */
|
|
109
113
|
export declare function relative(d: Date): string;
|
|
114
|
+
export {};
|
|
110
115
|
//# sourceMappingURL=Text.d.ts.map
|
package/dist/kit/Text.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../src/kit/Text.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../src/kit/Text.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAUvC,QAAA,MAAM,SAAS,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,EAAE,MAAM,CAE/E,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,SAAS,CAAC;AAO9C,sDAAsD;AACtD,eAAO,MAAM,IAAI;;;WAAwB,OAAO,GAAG,SAAS;YAAU,MAAM,GAAG,SAAS;gBAAc,OAAO,GAAG,SAAS;cAAY,MAAM,GAAG,SAAS;YAAU,QAAQ,GAAG,SAAS;YAMpL,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,GAAG;;;WAAwB,OAAO,GAAG,SAAS;aAAW,OAAO,GAAG,SAAS;YAAU,OAAO,GAAG,SAAS;YAAU,QAAQ,GAAG,SAAS;YAInJ,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,IAAI;;;YAAsB,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS;YAAU,MAAM,GAAG,SAAS;YAMrH,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,UAAU;;;YATgB,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS;YAAU,MAAM,GAAG,SAAS;;;;;;;;;;;YAA/E,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS;YAAU,MAAM,GAAG,SAAS;;;;;;;;yHASxD,CAAC;AAoB/D,4EAA4E;AAC5E,wBAAgB,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACjE,KAAK,EAAE,SAAS,CAAC;IACjB,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC5B,8FAA8F;IAC9F,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,+BAQA;AAkBD,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE;IACnG,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACnC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;IACnC,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,+BAIA;AAMD,iDAAiD;AACjD,eAAO,MAAM,KAAK;;WAAkC,CAAC;AAErD,uDAAuD;AACvD,eAAO,MAAM,KAAK;;WAAkC,CAAC;AAErD,yEAAyE;AACzE,eAAO,MAAM,UAAU;;WAStB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,KAAK;;WAcjB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE;IAAE,EAAE,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,+BAIrF;AAED,0EAA0E;AAC1E,wBAAgB,MAAM,CAAC,EAAE,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAO1F;AAMD,kFAAkF;AAClF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAaxC"}
|
package/dist/kit/Text.js
CHANGED
|
@@ -2,6 +2,16 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import styled, { css } from "styled-components";
|
|
3
3
|
import { Link } from "react-router-dom";
|
|
4
4
|
import { v } from "../theme/tokens.js";
|
|
5
|
+
// A verdict applied to running text or a figure, rather than to a pill. A
|
|
6
|
+
// table cell holding "2.4%" in an error-rate column is a verdict, but a pill
|
|
7
|
+
// there would be a row's worth of width for one number — so the number itself
|
|
8
|
+
// carries the tone. Only the tones that mean something as *text* are mapped:
|
|
9
|
+
// a figure tinted with the product brand reads as a link, and `run` has no
|
|
10
|
+
// meaning for a value that is already measured.
|
|
11
|
+
const textTones = {
|
|
12
|
+
ok: v.success, warn: v.warning, crit: v.danger, info: v.info, mut: v.muted, data: v.data,
|
|
13
|
+
};
|
|
14
|
+
const toneColour = (t, fallback) => (t ? textTones[t] : fallback);
|
|
5
15
|
// Text primitives every list and detail screen needs. These replace the
|
|
6
16
|
// MonoId / NameTxt / SubEnv / MutedNote / Num styled spans that each product
|
|
7
17
|
// screen had grown its own copy of.
|
|
@@ -10,14 +20,14 @@ export const Mono = styled.span `
|
|
|
10
20
|
font-family: ${v.mono};
|
|
11
21
|
font-size: ${(p) => p.$size ?? 12}px;
|
|
12
22
|
font-weight: ${(p) => p.$weight ?? "inherit"};
|
|
13
|
-
color: ${(p) => (p.$dim ? v.muted : v.text)};
|
|
23
|
+
color: ${(p) => toneColour(p.$tone, p.$dim ? v.muted : v.text)};
|
|
14
24
|
${(p) => p.$truncate && css `display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom;`}
|
|
15
25
|
`;
|
|
16
26
|
/** Num: a tabular figure, right-aligned in tables. */
|
|
17
27
|
export const Num = styled.span `
|
|
18
28
|
font-variant-numeric: tabular-nums;
|
|
19
29
|
${(p) => p.$mono && css `font-family: ${v.mono}; font-size: 12px;`}
|
|
20
|
-
color: ${(p) => (p.$faint ? v.faint : p.$dim ? v.muted : v.text)};
|
|
30
|
+
color: ${(p) => toneColour(p.$tone, p.$faint ? v.faint : p.$dim ? v.muted : v.text)};
|
|
21
31
|
`;
|
|
22
32
|
/** Hint: secondary explanatory text under a control or a block. */
|
|
23
33
|
export const Hint = styled.p `
|