@k2b/ui 0.1.0 → 0.2.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.
Files changed (56) hide show
  1. package/README.md +77 -312
  2. package/dist/browser/actions/Dropdown.js +6 -3
  3. package/dist/browser/actions/Dropdown.js.map +1 -1
  4. package/dist/browser/chat/ChatPrimitives.js +44 -41
  5. package/dist/browser/chat/ChatPrimitives.js.map +1 -1
  6. package/dist/browser/chat/ChatTimeline.js +3 -1
  7. package/dist/browser/chat/ChatTimeline.js.map +1 -1
  8. package/dist/browser/chat/types.js.map +1 -1
  9. package/dist/browser/content/MarkdownView.js +14 -3
  10. package/dist/browser/content/MarkdownView.js.map +1 -1
  11. package/dist/browser/feedback/Tooltip.js +6 -2
  12. package/dist/browser/feedback/Tooltip.js.map +1 -1
  13. package/dist/browser/feedback/dialog-core.js +22 -3
  14. package/dist/browser/feedback/dialog-core.js.map +1 -1
  15. package/dist/browser/feedback/tooltip-position.js +15 -0
  16. package/dist/browser/feedback/tooltip-position.js.map +1 -1
  17. package/dist/browser/inputs/ChoiceInputs.js +47 -38
  18. package/dist/browser/inputs/ChoiceInputs.js.map +1 -1
  19. package/dist/browser/internal/portal.js +1 -1
  20. package/dist/browser/internal/portal.js.map +1 -1
  21. package/dist/browser/layout/DetailPanel.js +194 -81
  22. package/dist/browser/layout/DetailPanel.js.map +1 -1
  23. package/dist/browser/layout/PanelDialog.js +14 -5
  24. package/dist/browser/layout/PanelDialog.js.map +1 -1
  25. package/dist/ssr/actions/Dropdown.js +1 -1
  26. package/dist/ssr/actions/Dropdown.js.map +1 -1
  27. package/dist/ssr/chat/ChatPrimitives.js +1 -1
  28. package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
  29. package/dist/ssr/chat/ChatTimeline.js +3 -1
  30. package/dist/ssr/chat/ChatTimeline.js.map +1 -1
  31. package/dist/ssr/chat/types.js.map +1 -1
  32. package/dist/ssr/content/MarkdownView.js +14 -3
  33. package/dist/ssr/content/MarkdownView.js.map +1 -1
  34. package/dist/ssr/feedback/Tooltip.js +6 -4
  35. package/dist/ssr/feedback/Tooltip.js.map +1 -1
  36. package/dist/ssr/feedback/dialog-core.js +22 -3
  37. package/dist/ssr/feedback/dialog-core.js.map +1 -1
  38. package/dist/ssr/feedback/tooltip-position.js +15 -0
  39. package/dist/ssr/feedback/tooltip-position.js.map +1 -1
  40. package/dist/ssr/inputs/ChoiceInputs.js +9 -6
  41. package/dist/ssr/inputs/ChoiceInputs.js.map +1 -1
  42. package/dist/ssr/internal/portal.js +1 -1
  43. package/dist/ssr/internal/portal.js.map +1 -1
  44. package/dist/ssr/layout/DetailPanel.js +86 -15
  45. package/dist/ssr/layout/DetailPanel.js.map +1 -1
  46. package/dist/ssr/layout/PanelDialog.js +1 -1
  47. package/dist/ssr/layout/PanelDialog.js.map +1 -1
  48. package/dist/styles.css +1 -1
  49. package/dist/types/actions/Dropdown.d.ts +3 -1
  50. package/dist/types/chat/types.d.ts +2 -0
  51. package/dist/types/content/MarkdownView.d.ts +6 -1
  52. package/dist/types/feedback/dialog-core.d.ts +2 -0
  53. package/dist/types/feedback/tooltip-position.d.ts +1 -1
  54. package/dist/types/inputs/ChoiceInputs.d.ts +3 -0
  55. package/dist/types/layout/DetailPanel.d.ts +6 -0
  56. package/package.json +5 -5
@@ -14,7 +14,7 @@ import { spread as _$spread } from "solid-js/web";
14
14
  import { mergeProps as _$mergeProps } from "solid-js/web";
15
15
  import { memo as _$memo } from "solid-js/web";
16
16
  var _tmpl$ = /*#__PURE__*/_$template(`<div class=k2b-pin-input role=group>`),
17
- _tmpl$2 = /*#__PURE__*/_$template(`<input class="k2b-control k2b-pin-input__digit"type=text inputmode=numeric autocomplete=off pattern=[0-9] maxlength=1>`),
17
+ _tmpl$2 = /*#__PURE__*/_$template(`<input class="k2b-control k2b-pin-input__digit"inputmode=numeric autocomplete=off pattern=[0-9] maxlength=1>`),
18
18
  _tmpl$3 = /*#__PURE__*/_$template(`<input type=hidden>`),
19
19
  _tmpl$4 = /*#__PURE__*/_$template(`<output>`),
20
20
  _tmpl$5 = /*#__PURE__*/_$template(`<div class=k2b-slider><input><!$><!/>`),
@@ -37,7 +37,7 @@ export function PinInput(props) {
37
37
  if (value.length === length()) props.onValueCommit?.(value);
38
38
  };
39
39
  const updateDigit = (index, input) => {
40
- if (props.disabled) return;
40
+ if (props.disabled || props.readOnly) return;
41
41
  const digit = input.replace(/\D/g, "").slice(-1);
42
42
  const current = digits();
43
43
  emit(`${current.slice(0, index)}${digit}${current.slice(index + 1)}`);
@@ -47,8 +47,11 @@ export function PinInput(props) {
47
47
  }
48
48
  };
49
49
  const handleKeyDown = (index, event) => {
50
- if (props.disabled) return;
51
- if (event.key === "ArrowLeft" && index > 0) {
50
+ if (props.disabled || props.readOnly) return;
51
+ if (event.key === "Enter" && props.onSubmit && !event.shiftKey && !event.metaKey) {
52
+ event.preventDefault();
53
+ props.onSubmit();
54
+ } else if (event.key === "ArrowLeft" && index > 0) {
52
55
  event.preventDefault();
53
56
  inputs[index - 1]?.focus();
54
57
  inputs[index - 1]?.select();
@@ -65,7 +68,7 @@ export function PinInput(props) {
65
68
  }
66
69
  };
67
70
  const handlePaste = event => {
68
- if (props.disabled) return;
71
+ if (props.disabled || props.readOnly) return;
69
72
  const pasted = event.clipboardData?.getData("text").replace(/\D/g, "");
70
73
  if (!pasted) return;
71
74
  event.preventDefault();
@@ -128,22 +131,28 @@ export function PinInput(props) {
128
131
  }, _el$2);
129
132
  _$effect(_p$ => {
130
133
  var _v$ = digits()[index()] ? "true" : undefined,
131
- _v$2 = props.required,
132
- _v$3 = props.disabled,
133
- _v$4 = messages().pinDigit({
134
+ _v$2 = props.password ? "password" : "text",
135
+ _v$3 = props.required,
136
+ _v$4 = props.disabled,
137
+ _v$5 = props.readOnly,
138
+ _v$6 = messages().pinDigit({
134
139
  index: index() + 1,
135
140
  total: length()
136
141
  });
137
142
  _v$ !== _p$.e && _$setAttribute(_el$2, "data-filled", _p$.e = _v$);
138
- _v$2 !== _p$.t && _$setProperty(_el$2, "required", _p$.t = _v$2);
139
- _v$3 !== _p$.a && _$setProperty(_el$2, "disabled", _p$.a = _v$3);
140
- _v$4 !== _p$.o && _$setAttribute(_el$2, "aria-label", _p$.o = _v$4);
143
+ _v$2 !== _p$.t && _$setAttribute(_el$2, "type", _p$.t = _v$2);
144
+ _v$3 !== _p$.a && _$setProperty(_el$2, "required", _p$.a = _v$3);
145
+ _v$4 !== _p$.o && _$setProperty(_el$2, "disabled", _p$.o = _v$4);
146
+ _v$5 !== _p$.i && _$setProperty(_el$2, "readOnly", _p$.i = _v$5);
147
+ _v$6 !== _p$.n && _$setAttribute(_el$2, "aria-label", _p$.n = _v$6);
141
148
  return _p$;
142
149
  }, {
143
150
  e: undefined,
144
151
  t: undefined,
145
152
  a: undefined,
146
- o: undefined
153
+ o: undefined,
154
+ i: undefined,
155
+ n: undefined
147
156
  });
148
157
  _$effect(() => _$setProperty(_el$2, "value", digits()[index()] ?? ""));
149
158
  _$runHydrationEvents();
@@ -278,12 +287,12 @@ export function ColorInput(props) {
278
287
  var _ref$ = picker;
279
288
  typeof _ref$ === "function" ? _$use(_ref$, _el$1) : picker = _el$1;
280
289
  _$effect(_p$ => {
281
- var _v$5 = meta.controlId,
282
- _v$6 = props.name,
283
- _v$7 = props.disabled;
284
- _v$5 !== _p$.e && _$setAttribute(_el$1, "id", _p$.e = _v$5);
285
- _v$6 !== _p$.t && _$setAttribute(_el$1, "name", _p$.t = _v$6);
286
- _v$7 !== _p$.a && _$setProperty(_el$1, "disabled", _p$.a = _v$7);
290
+ var _v$7 = meta.controlId,
291
+ _v$8 = props.name,
292
+ _v$9 = props.disabled;
293
+ _v$7 !== _p$.e && _$setAttribute(_el$1, "id", _p$.e = _v$7);
294
+ _v$8 !== _p$.t && _$setAttribute(_el$1, "name", _p$.t = _v$8);
295
+ _v$9 !== _p$.a && _$setProperty(_el$1, "disabled", _p$.a = _v$9);
287
296
  return _p$;
288
297
  }, {
289
298
  e: undefined,
@@ -320,12 +329,12 @@ export function ColorInput(props) {
320
329
  var _el$14 = _$getNextElement(_tmpl$7);
321
330
  _el$14.$$click = () => props.onTransparentValueChange?.(!isTransparent());
322
331
  _$effect(_p$ => {
323
- var _v$8 = isTransparent() ? messages().useColor : messages().useTransparent,
324
- _v$9 = isTransparent(),
325
- _v$0 = props.disabled;
326
- _v$8 !== _p$.e && _$setAttribute(_el$14, "aria-label", _p$.e = _v$8);
327
- _v$9 !== _p$.t && _$setAttribute(_el$14, "aria-pressed", _p$.t = _v$9);
328
- _v$0 !== _p$.a && _$setProperty(_el$14, "disabled", _p$.a = _v$0);
332
+ var _v$0 = isTransparent() ? messages().useColor : messages().useTransparent,
333
+ _v$1 = isTransparent(),
334
+ _v$10 = props.disabled;
335
+ _v$0 !== _p$.e && _$setAttribute(_el$14, "aria-label", _p$.e = _v$0);
336
+ _v$1 !== _p$.t && _$setAttribute(_el$14, "aria-pressed", _p$.t = _v$1);
337
+ _v$10 !== _p$.a && _$setProperty(_el$14, "disabled", _p$.a = _v$10);
329
338
  return _p$;
330
339
  }, {
331
340
  e: undefined,
@@ -341,22 +350,22 @@ export function ColorInput(props) {
341
350
  var _ref$2 = picker;
342
351
  typeof _ref$2 === "function" ? _$use(_ref$2, _el$15) : picker = _el$15;
343
352
  _$effect(_p$ => {
344
- var _v$1 = props.disabled || isTransparent() ? "true" : undefined,
345
- _v$10 = error() ? "true" : undefined,
346
- _v$11 = isTransparent() ? "true" : undefined,
347
- _v$12 = isTransparent() ? undefined : {
353
+ var _v$11 = props.disabled || isTransparent() ? "true" : undefined,
354
+ _v$12 = error() ? "true" : undefined,
355
+ _v$13 = isTransparent() ? "true" : undefined,
356
+ _v$14 = isTransparent() ? undefined : {
348
357
  "background-color": currentColor()
349
358
  },
350
- _v$13 = meta.controlId,
351
- _v$14 = props.name,
352
- _v$15 = props.disabled || isTransparent();
353
- _v$1 !== _p$.e && _$setAttribute(_el$10, "data-disabled", _p$.e = _v$1);
354
- _v$10 !== _p$.t && _$setAttribute(_el$10, "data-invalid", _p$.t = _v$10);
355
- _v$11 !== _p$.a && _$setAttribute(_el$12, "data-transparent", _p$.a = _v$11);
356
- _p$.o = _$style(_el$12, _v$12, _p$.o);
357
- _v$13 !== _p$.i && _$setAttribute(_el$15, "id", _p$.i = _v$13);
358
- _v$14 !== _p$.n && _$setAttribute(_el$15, "name", _p$.n = _v$14);
359
- _v$15 !== _p$.s && _$setProperty(_el$15, "disabled", _p$.s = _v$15);
359
+ _v$15 = meta.controlId,
360
+ _v$16 = props.name,
361
+ _v$17 = props.disabled || isTransparent();
362
+ _v$11 !== _p$.e && _$setAttribute(_el$10, "data-disabled", _p$.e = _v$11);
363
+ _v$12 !== _p$.t && _$setAttribute(_el$10, "data-invalid", _p$.t = _v$12);
364
+ _v$13 !== _p$.a && _$setAttribute(_el$12, "data-transparent", _p$.a = _v$13);
365
+ _p$.o = _$style(_el$12, _v$14, _p$.o);
366
+ _v$15 !== _p$.i && _$setAttribute(_el$15, "id", _p$.i = _v$15);
367
+ _v$16 !== _p$.n && _$setAttribute(_el$15, "name", _p$.n = _v$16);
368
+ _v$17 !== _p$.s && _$setProperty(_el$15, "disabled", _p$.s = _v$17);
360
369
  return _p$;
361
370
  }, {
362
371
  e: undefined,
@@ -1 +1 @@
1
- {"version":3,"names":["For","Show","splitProps","createFieldMeta","Field","fieldControlAria","useUiMessages","commitFieldValue","resolveMaybeAccessor","PinInput","props","messages","meta","id","length","Math","max","inputs","digits","value","replace","slice","error","emit","onValueChange","onValueCommit","updateDigit","index","input","disabled","digit","current","focus","select","handleKeyDown","event","key","preventDefault","handlePaste","pasted","clipboardData","getData","focused","indexOf","document","activeElement","start","insert","next","min","_$createComponent","class","label","description","labelFor","required","children","_el$","_$getNextElement","_tmpl$","_$spread","_$mergeProps","controlId","data-stretch","stretch","undefined","_$insert","each","Array","from","_","_el$2","_tmpl$2","addEventListener","currentTarget","$$keydown","$$input","_$use","element","_$effect","_p$","_v$","_v$2","_v$3","_v$4","pinDigit","total","e","_$setAttribute","t","_$setProperty","a","o","_$runHydrationEvents","when","name","_el$3","_tmpl$3","Slider","local","rest","Number","percentage","span","track","position","center","low","high","resetValue","defaultValue","_el$4","_tmpl$5","_el$5","firstChild","_el$7","nextSibling","_el$8","_co$","_$getNextMarker","style","background","valueAsNumber","onDblClick","showValue","_el$6","_tmpl$4","formatValue","ColorInput","currentColor","isTransparent","transparentValue","compact","picker","control","_el$9","_tmpl$6","_el$0","_el$1","onClick","click","_ref$","_v$5","_v$6","_v$7","_el$10","_tmpl$8","_el$11","_el$12","_el$13","_el$16","_el$17","_co$2","_el$15","_c$","_$memo","toUpperCase","transparent","_el$14","_tmpl$7","$$click","onTransparentValueChange","_v$8","useColor","useTransparent","_v$9","_v$0","_ref$2","_v$1","_v$10","_v$11","_v$12","_v$13","_v$14","_v$15","_$style","i","n","s","_$delegateEvents"],"sources":["inputs/ChoiceInputs.tsx"],"sourcesContent":["import { For, type JSX, Show, splitProps } from \"solid-js\";\nimport { createFieldMeta, Field, fieldControlAria } from \"../internal/field\";\nimport { useUiMessages } from \"../intl/messages\";\nimport type { FieldProps, MaybeAccessor, ValueFieldProps } from \"./field-contract\";\nimport { commitFieldValue, resolveMaybeAccessor } from \"./field-contract\";\n\nexport type PinInputProps = ValueFieldProps<string> & {\n length?: number;\n name?: string;\n stretch?: boolean;\n};\n\nexport function PinInput(props: PinInputProps): JSX.Element {\n const messages = useUiMessages();\n const meta = createFieldMeta(props.id);\n const length = () => Math.max(1, props.length ?? 6);\n let inputs: HTMLInputElement[] = [];\n const digits = () => (resolveMaybeAccessor(props.value) ?? \"\").replace(/\\D/g, \"\").slice(0, length());\n const error = () => resolveMaybeAccessor(props.error);\n const emit = (value: string) => {\n props.onValueChange?.(value);\n if (value.length === length()) props.onValueCommit?.(value);\n };\n\n const updateDigit = (index: number, input: string) => {\n if (props.disabled) return;\n const digit = input.replace(/\\D/g, \"\").slice(-1);\n const current = digits();\n emit(`${current.slice(0, index)}${digit}${current.slice(index + 1)}`);\n if (digit && index < length() - 1) {\n inputs[index + 1]?.focus();\n inputs[index + 1]?.select();\n }\n };\n\n const handleKeyDown = (index: number, event: KeyboardEvent) => {\n if (props.disabled) return;\n if (event.key === \"ArrowLeft\" && index > 0) {\n event.preventDefault();\n inputs[index - 1]?.focus();\n inputs[index - 1]?.select();\n } else if (event.key === \"ArrowRight\" && index < length() - 1) {\n event.preventDefault();\n inputs[index + 1]?.focus();\n inputs[index + 1]?.select();\n } else if (event.key === \"Backspace\" && !digits()[index] && index > 0) {\n event.preventDefault();\n const current = digits();\n emit(`${current.slice(0, index - 1)}${current.slice(index)}`);\n inputs[index - 1]?.focus();\n inputs[index - 1]?.select();\n }\n };\n\n const handlePaste = (event: ClipboardEvent) => {\n if (props.disabled) return;\n const pasted = event.clipboardData?.getData(\"text\").replace(/\\D/g, \"\");\n if (!pasted) return;\n event.preventDefault();\n const focused = inputs.indexOf(document.activeElement as HTMLInputElement);\n const start = focused >= 0 ? focused : 0;\n const insert = pasted.slice(0, length() - start);\n const current = digits();\n emit(`${current.slice(0, start)}${insert}${current.slice(start + insert.length)}`.slice(0, length()));\n const next = Math.min(start + insert.length, length() - 1);\n inputs[next]?.focus();\n inputs[next]?.select();\n };\n\n return (\n <Field\n class={props.class}\n label={props.label}\n description={props.description}\n error={error()}\n meta={meta}\n labelFor={false}\n required={props.required}\n disabled={props.disabled}\n >\n <div\n class=\"k2b-pin-input\"\n id={meta.controlId}\n data-stretch={props.stretch ? \"true\" : undefined}\n role=\"group\"\n {...fieldControlAria(meta, props)}\n onPaste={handlePaste}\n >\n <For each={Array.from({ length: length() })}>\n {(_, index) => (\n <input\n ref={(element) => {\n inputs[index()] = element;\n }}\n class=\"k2b-control k2b-pin-input__digit\"\n data-filled={digits()[index()] ? \"true\" : undefined}\n type=\"text\"\n inputmode=\"numeric\"\n autocomplete=\"off\"\n pattern=\"[0-9]\"\n maxlength={1}\n value={digits()[index()] ?? \"\"}\n required={props.required}\n disabled={props.disabled}\n aria-label={messages().pinDigit({ index: index() + 1, total: length() })}\n onInput={(event) => updateDigit(index(), event.currentTarget.value)}\n onKeyDown={(event) => handleKeyDown(index(), event)}\n onFocus={(event) => event.currentTarget.select()}\n />\n )}\n </For>\n </div>\n <Show when={props.name}>{(name) => <input type=\"hidden\" name={name()} value={digits()} />}</Show>\n </Field>\n );\n}\n\nexport type SliderProps = FieldProps &\n Omit<JSX.InputHTMLAttributes<HTMLInputElement>, \"type\" | \"value\" | \"onInput\" | \"onChange\" | keyof FieldProps> &\n ValueFieldProps<number> & {\n value: MaybeAccessor<number>;\n formatValue?: (value: number) => string;\n showValue?: boolean;\n center?: boolean;\n defaultValue?: number;\n };\n\nexport function Slider(props: SliderProps): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"aria-describedby\",\n \"aria-label\",\n \"center\",\n \"class\",\n \"defaultValue\",\n \"description\",\n \"error\",\n \"id\",\n \"label\",\n \"onValueChange\",\n \"onValueCommit\",\n \"required\",\n \"showValue\",\n \"value\",\n \"formatValue\",\n ]);\n const meta = createFieldMeta(local.id);\n const min = () => Number(rest.min ?? 0);\n const max = () => Number(rest.max ?? 100);\n const value = () => resolveMaybeAccessor(local.value) ?? min();\n const error = () => resolveMaybeAccessor(local.error);\n const percentage = () => {\n const span = max() - min();\n return span <= 0 ? 0 : Math.min(100, Math.max(0, ((value() - min()) / span) * 100));\n };\n const track = () => {\n const position = percentage();\n if (local.center) {\n const low = Math.min(50, position);\n const high = Math.max(50, position);\n return `linear-gradient(to right, var(--k2b-surface-muted) 0 ${low}%, var(--k2b-action) ${low}% ${high}%, var(--k2b-surface-muted) ${high}% 100%)`;\n }\n return `linear-gradient(to right, var(--k2b-action) 0 ${position}%, var(--k2b-surface-muted) ${position}% 100%)`;\n };\n const resetValue = () => local.defaultValue ?? (local.center ? (min() + max()) / 2 : min());\n\n return (\n <Field\n class={local.class}\n label={local.label}\n description={local.description}\n error={error()}\n meta={meta}\n required={local.required}\n disabled={rest.disabled}\n >\n <div class=\"k2b-slider\">\n <input\n {...rest}\n id={meta.controlId}\n type=\"range\"\n value={value()}\n style={{ background: track() }}\n {...fieldControlAria(meta, local)}\n onInput={(event) => local.onValueChange?.(event.currentTarget.valueAsNumber)}\n onChange={(event) => local.onValueCommit?.(event.currentTarget.valueAsNumber)}\n onDblClick={() => {\n const next = resetValue();\n commitFieldValue(local, next);\n }}\n />\n <Show when={local.showValue ?? true}>\n <output for={meta.controlId}>{local.formatValue?.(value()) ?? value()}</output>\n </Show>\n </div>\n </Field>\n );\n}\n\nexport type ColorInputProps = ValueFieldProps<string> & {\n name?: string;\n compact?: boolean;\n transparent?: boolean;\n transparentValue?: MaybeAccessor<boolean>;\n onTransparentValueChange?: (value: boolean) => void;\n};\n\nexport function ColorInput(props: ColorInputProps): JSX.Element {\n const messages = useUiMessages();\n const meta = createFieldMeta(props.id);\n const currentColor = () => resolveMaybeAccessor(props.value) || \"#3b82f6\";\n const isTransparent = () => resolveMaybeAccessor(props.transparentValue) ?? false;\n const error = () => resolveMaybeAccessor(props.error);\n const compact = () => props.compact ?? !props.label;\n let picker: HTMLInputElement | undefined;\n\n const control = () =>\n compact() ? (\n <span class=\"k2b-color-input k2b-color-input--compact\">\n <button\n type=\"button\"\n class=\"k2b-color-input__swatch\"\n style={{ \"background-color\": currentColor() }}\n disabled={props.disabled}\n {...fieldControlAria(meta, props)}\n onClick={() => picker?.click()}\n />\n <input\n ref={picker}\n id={meta.controlId}\n class=\"k2b-color-input__native\"\n type=\"color\"\n name={props.name}\n value={currentColor()}\n disabled={props.disabled}\n onInput={(event) => props.onValueChange?.(event.currentTarget.value)}\n onChange={(event) => props.onValueCommit?.(event.currentTarget.value)}\n />\n </span>\n ) : (\n <div\n class=\"k2b-color-input\"\n data-disabled={props.disabled || isTransparent() ? \"true\" : undefined}\n data-invalid={error() ? \"true\" : undefined}\n >\n <button\n type=\"button\"\n class=\"k2b-color-input__value\"\n disabled={props.disabled || isTransparent()}\n {...fieldControlAria(meta, props)}\n onClick={() => picker?.click()}\n >\n <span\n class=\"k2b-color-input__swatch\"\n data-transparent={isTransparent() ? \"true\" : undefined}\n style={isTransparent() ? undefined : { \"background-color\": currentColor() }}\n />\n <code>{isTransparent() ? \"transparent\" : currentColor().toUpperCase()}</code>\n </button>\n <Show when={props.transparent}>\n <button\n type=\"button\"\n class=\"k2b-color-input__transparent\"\n aria-label={isTransparent() ? messages().useColor : messages().useTransparent}\n aria-pressed={isTransparent()}\n disabled={props.disabled}\n onClick={() => props.onTransparentValueChange?.(!isTransparent())}\n >\n <i class=\"ti ti-grid-dots\" aria-hidden=\"true\" />\n </button>\n </Show>\n <input\n ref={picker}\n id={meta.controlId}\n class=\"k2b-color-input__native\"\n type=\"color\"\n name={props.name}\n value={currentColor()}\n disabled={props.disabled || isTransparent()}\n onInput={(event) => props.onValueChange?.(event.currentTarget.value)}\n onChange={(event) => props.onValueCommit?.(event.currentTarget.value)}\n />\n </div>\n );\n\n return (\n <Field\n class={props.class}\n label={props.label}\n description={props.description}\n error={error()}\n meta={meta}\n required={props.required}\n disabled={props.disabled}\n >\n {control()}\n </Field>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["For","Show","splitProps","createFieldMeta","Field","fieldControlAria","useUiMessages","commitFieldValue","resolveMaybeAccessor","PinInput","props","messages","meta","id","length","Math","max","inputs","digits","value","replace","slice","error","emit","onValueChange","onValueCommit","updateDigit","index","input","disabled","readOnly","digit","current","focus","select","handleKeyDown","event","key","onSubmit","shiftKey","metaKey","preventDefault","handlePaste","pasted","clipboardData","getData","focused","indexOf","document","activeElement","start","insert","next","min","_$createComponent","class","label","description","labelFor","required","children","_el$","_$getNextElement","_tmpl$","_$spread","_$mergeProps","controlId","data-stretch","stretch","undefined","_$insert","each","Array","from","_","_el$2","_tmpl$2","addEventListener","currentTarget","$$keydown","$$input","_$use","element","_$effect","_p$","_v$","_v$2","password","_v$3","_v$4","_v$5","_v$6","pinDigit","total","e","_$setAttribute","t","a","_$setProperty","o","i","n","_$runHydrationEvents","when","name","_el$3","_tmpl$3","Slider","local","rest","Number","percentage","span","track","position","center","low","high","resetValue","defaultValue","_el$4","_tmpl$5","_el$5","firstChild","_el$7","nextSibling","_el$8","_co$","_$getNextMarker","style","background","valueAsNumber","onDblClick","showValue","_el$6","_tmpl$4","formatValue","ColorInput","currentColor","isTransparent","transparentValue","compact","picker","control","_el$9","_tmpl$6","_el$0","_el$1","onClick","click","_ref$","_v$7","_v$8","_v$9","_el$10","_tmpl$8","_el$11","_el$12","_el$13","_el$16","_el$17","_co$2","_el$15","_c$","_$memo","toUpperCase","transparent","_el$14","_tmpl$7","$$click","onTransparentValueChange","_v$0","useColor","useTransparent","_v$1","_v$10","_ref$2","_v$11","_v$12","_v$13","_v$14","_v$15","_v$16","_v$17","_$style","s","_$delegateEvents"],"sources":["inputs/ChoiceInputs.tsx"],"sourcesContent":["import { For, type JSX, Show, splitProps } from \"solid-js\";\nimport { createFieldMeta, Field, fieldControlAria } from \"../internal/field\";\nimport { useUiMessages } from \"../intl/messages\";\nimport type { FieldProps, MaybeAccessor, ValueFieldProps } from \"./field-contract\";\nimport { commitFieldValue, resolveMaybeAccessor } from \"./field-contract\";\n\nexport type PinInputProps = ValueFieldProps<string> & {\n length?: number;\n name?: string;\n stretch?: boolean;\n password?: boolean;\n readOnly?: boolean;\n onSubmit?: () => void;\n};\n\nexport function PinInput(props: PinInputProps): JSX.Element {\n const messages = useUiMessages();\n const meta = createFieldMeta(props.id);\n const length = () => Math.max(1, props.length ?? 6);\n let inputs: HTMLInputElement[] = [];\n const digits = () => (resolveMaybeAccessor(props.value) ?? \"\").replace(/\\D/g, \"\").slice(0, length());\n const error = () => resolveMaybeAccessor(props.error);\n const emit = (value: string) => {\n props.onValueChange?.(value);\n if (value.length === length()) props.onValueCommit?.(value);\n };\n\n const updateDigit = (index: number, input: string) => {\n if (props.disabled || props.readOnly) return;\n const digit = input.replace(/\\D/g, \"\").slice(-1);\n const current = digits();\n emit(`${current.slice(0, index)}${digit}${current.slice(index + 1)}`);\n if (digit && index < length() - 1) {\n inputs[index + 1]?.focus();\n inputs[index + 1]?.select();\n }\n };\n\n const handleKeyDown = (index: number, event: KeyboardEvent) => {\n if (props.disabled || props.readOnly) return;\n if (event.key === \"Enter\" && props.onSubmit && !event.shiftKey && !event.metaKey) {\n event.preventDefault();\n props.onSubmit();\n } else if (event.key === \"ArrowLeft\" && index > 0) {\n event.preventDefault();\n inputs[index - 1]?.focus();\n inputs[index - 1]?.select();\n } else if (event.key === \"ArrowRight\" && index < length() - 1) {\n event.preventDefault();\n inputs[index + 1]?.focus();\n inputs[index + 1]?.select();\n } else if (event.key === \"Backspace\" && !digits()[index] && index > 0) {\n event.preventDefault();\n const current = digits();\n emit(`${current.slice(0, index - 1)}${current.slice(index)}`);\n inputs[index - 1]?.focus();\n inputs[index - 1]?.select();\n }\n };\n\n const handlePaste = (event: ClipboardEvent) => {\n if (props.disabled || props.readOnly) return;\n const pasted = event.clipboardData?.getData(\"text\").replace(/\\D/g, \"\");\n if (!pasted) return;\n event.preventDefault();\n const focused = inputs.indexOf(document.activeElement as HTMLInputElement);\n const start = focused >= 0 ? focused : 0;\n const insert = pasted.slice(0, length() - start);\n const current = digits();\n emit(`${current.slice(0, start)}${insert}${current.slice(start + insert.length)}`.slice(0, length()));\n const next = Math.min(start + insert.length, length() - 1);\n inputs[next]?.focus();\n inputs[next]?.select();\n };\n\n return (\n <Field\n class={props.class}\n label={props.label}\n description={props.description}\n error={error()}\n meta={meta}\n labelFor={false}\n required={props.required}\n disabled={props.disabled}\n >\n <div\n class=\"k2b-pin-input\"\n id={meta.controlId}\n data-stretch={props.stretch ? \"true\" : undefined}\n role=\"group\"\n {...fieldControlAria(meta, props)}\n onPaste={handlePaste}\n >\n <For each={Array.from({ length: length() })}>\n {(_, index) => (\n <input\n ref={(element) => {\n inputs[index()] = element;\n }}\n class=\"k2b-control k2b-pin-input__digit\"\n data-filled={digits()[index()] ? \"true\" : undefined}\n type={props.password ? \"password\" : \"text\"}\n inputmode=\"numeric\"\n autocomplete=\"off\"\n pattern=\"[0-9]\"\n maxlength={1}\n value={digits()[index()] ?? \"\"}\n required={props.required}\n disabled={props.disabled}\n readOnly={props.readOnly}\n aria-label={messages().pinDigit({ index: index() + 1, total: length() })}\n onInput={(event) => updateDigit(index(), event.currentTarget.value)}\n onKeyDown={(event) => handleKeyDown(index(), event)}\n onFocus={(event) => event.currentTarget.select()}\n />\n )}\n </For>\n </div>\n <Show when={props.name}>{(name) => <input type=\"hidden\" name={name()} value={digits()} />}</Show>\n </Field>\n );\n}\n\nexport type SliderProps = FieldProps &\n Omit<JSX.InputHTMLAttributes<HTMLInputElement>, \"type\" | \"value\" | \"onInput\" | \"onChange\" | keyof FieldProps> &\n ValueFieldProps<number> & {\n value: MaybeAccessor<number>;\n formatValue?: (value: number) => string;\n showValue?: boolean;\n center?: boolean;\n defaultValue?: number;\n };\n\nexport function Slider(props: SliderProps): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"aria-describedby\",\n \"aria-label\",\n \"center\",\n \"class\",\n \"defaultValue\",\n \"description\",\n \"error\",\n \"id\",\n \"label\",\n \"onValueChange\",\n \"onValueCommit\",\n \"required\",\n \"showValue\",\n \"value\",\n \"formatValue\",\n ]);\n const meta = createFieldMeta(local.id);\n const min = () => Number(rest.min ?? 0);\n const max = () => Number(rest.max ?? 100);\n const value = () => resolveMaybeAccessor(local.value) ?? min();\n const error = () => resolveMaybeAccessor(local.error);\n const percentage = () => {\n const span = max() - min();\n return span <= 0 ? 0 : Math.min(100, Math.max(0, ((value() - min()) / span) * 100));\n };\n const track = () => {\n const position = percentage();\n if (local.center) {\n const low = Math.min(50, position);\n const high = Math.max(50, position);\n return `linear-gradient(to right, var(--k2b-surface-muted) 0 ${low}%, var(--k2b-action) ${low}% ${high}%, var(--k2b-surface-muted) ${high}% 100%)`;\n }\n return `linear-gradient(to right, var(--k2b-action) 0 ${position}%, var(--k2b-surface-muted) ${position}% 100%)`;\n };\n const resetValue = () => local.defaultValue ?? (local.center ? (min() + max()) / 2 : min());\n\n return (\n <Field\n class={local.class}\n label={local.label}\n description={local.description}\n error={error()}\n meta={meta}\n required={local.required}\n disabled={rest.disabled}\n >\n <div class=\"k2b-slider\">\n <input\n {...rest}\n id={meta.controlId}\n type=\"range\"\n value={value()}\n style={{ background: track() }}\n {...fieldControlAria(meta, local)}\n onInput={(event) => local.onValueChange?.(event.currentTarget.valueAsNumber)}\n onChange={(event) => local.onValueCommit?.(event.currentTarget.valueAsNumber)}\n onDblClick={() => {\n const next = resetValue();\n commitFieldValue(local, next);\n }}\n />\n <Show when={local.showValue ?? true}>\n <output for={meta.controlId}>{local.formatValue?.(value()) ?? value()}</output>\n </Show>\n </div>\n </Field>\n );\n}\n\nexport type ColorInputProps = ValueFieldProps<string> & {\n name?: string;\n compact?: boolean;\n transparent?: boolean;\n transparentValue?: MaybeAccessor<boolean>;\n onTransparentValueChange?: (value: boolean) => void;\n};\n\nexport function ColorInput(props: ColorInputProps): JSX.Element {\n const messages = useUiMessages();\n const meta = createFieldMeta(props.id);\n const currentColor = () => resolveMaybeAccessor(props.value) || \"#3b82f6\";\n const isTransparent = () => resolveMaybeAccessor(props.transparentValue) ?? false;\n const error = () => resolveMaybeAccessor(props.error);\n const compact = () => props.compact ?? !props.label;\n let picker: HTMLInputElement | undefined;\n\n const control = () =>\n compact() ? (\n <span class=\"k2b-color-input k2b-color-input--compact\">\n <button\n type=\"button\"\n class=\"k2b-color-input__swatch\"\n style={{ \"background-color\": currentColor() }}\n disabled={props.disabled}\n {...fieldControlAria(meta, props)}\n onClick={() => picker?.click()}\n />\n <input\n ref={picker}\n id={meta.controlId}\n class=\"k2b-color-input__native\"\n type=\"color\"\n name={props.name}\n value={currentColor()}\n disabled={props.disabled}\n onInput={(event) => props.onValueChange?.(event.currentTarget.value)}\n onChange={(event) => props.onValueCommit?.(event.currentTarget.value)}\n />\n </span>\n ) : (\n <div\n class=\"k2b-color-input\"\n data-disabled={props.disabled || isTransparent() ? \"true\" : undefined}\n data-invalid={error() ? \"true\" : undefined}\n >\n <button\n type=\"button\"\n class=\"k2b-color-input__value\"\n disabled={props.disabled || isTransparent()}\n {...fieldControlAria(meta, props)}\n onClick={() => picker?.click()}\n >\n <span\n class=\"k2b-color-input__swatch\"\n data-transparent={isTransparent() ? \"true\" : undefined}\n style={isTransparent() ? undefined : { \"background-color\": currentColor() }}\n />\n <code>{isTransparent() ? \"transparent\" : currentColor().toUpperCase()}</code>\n </button>\n <Show when={props.transparent}>\n <button\n type=\"button\"\n class=\"k2b-color-input__transparent\"\n aria-label={isTransparent() ? messages().useColor : messages().useTransparent}\n aria-pressed={isTransparent()}\n disabled={props.disabled}\n onClick={() => props.onTransparentValueChange?.(!isTransparent())}\n >\n <i class=\"ti ti-grid-dots\" aria-hidden=\"true\" />\n </button>\n </Show>\n <input\n ref={picker}\n id={meta.controlId}\n class=\"k2b-color-input__native\"\n type=\"color\"\n name={props.name}\n value={currentColor()}\n disabled={props.disabled || isTransparent()}\n onInput={(event) => props.onValueChange?.(event.currentTarget.value)}\n onChange={(event) => props.onValueCommit?.(event.currentTarget.value)}\n />\n </div>\n );\n\n return (\n <Field\n class={props.class}\n label={props.label}\n description={props.description}\n error={error()}\n meta={meta}\n required={props.required}\n disabled={props.disabled}\n >\n {control()}\n </Field>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,7 @@ export const getK2bPortalRoot = scope => {
10
10
  const root = document.createElement("div");
11
11
  root.setAttribute(PORTAL_ATTRIBUTE, "");
12
12
  root.classList.add("k2b-ui-portal");
13
- if (owner === document.body) root.classList.add("k2b-ui");
13
+ if (owner === document.body && !owner.classList.contains("k2b-ui")) root.classList.add("k2b-ui");
14
14
  owner.appendChild(root);
15
15
  return root;
16
16
  };
@@ -1 +1 @@
1
- {"version":3,"names":["PORTAL_ATTRIBUTE","activeScope","active","document","activeElement","Element","closest","undefined","getK2bPortalRoot","scope","owner","querySelector","body","existing","Array","from","children","find","child","HTMLElement","hasAttribute","root","createElement","setAttribute","classList","add","appendChild"],"sources":["internal/portal.ts"],"sourcesContent":["const PORTAL_ATTRIBUTE = \"data-k2b-ui-portal\";\n\nconst activeScope = (): HTMLElement | undefined => {\n const active = document.activeElement;\n return active instanceof Element ? ((active.closest(\".k2b-ui\") as HTMLElement | null) ?? undefined) : undefined;\n};\n\nexport const getK2bPortalRoot = (scope?: HTMLElement | null): HTMLElement => {\n const owner = scope ?? activeScope() ?? document.querySelector<HTMLElement>(\".k2b-ui\") ?? document.body;\n const existing = Array.from(owner.children).find((child) => child instanceof HTMLElement && child.hasAttribute(PORTAL_ATTRIBUTE));\n if (existing instanceof HTMLElement) return existing;\n\n const root = document.createElement(\"div\");\n root.setAttribute(PORTAL_ATTRIBUTE, \"\");\n root.classList.add(\"k2b-ui-portal\");\n if (owner === document.body) root.classList.add(\"k2b-ui\");\n owner.appendChild(root);\n return root;\n};\n"],"mappings":"AAAA,MAAMA,gBAAgB,GAAG,oBAAoB;AAE7C,MAAMC,WAAW,GAAGA,CAAA,KAA+B;EACjD,MAAMC,MAAM,GAAGC,QAAQ,CAACC,aAAa;EACrC,OAAOF,MAAM,YAAYG,OAAO,GAAKH,MAAM,CAACI,OAAO,CAAC,SAAS,CAAC,IAA2BC,SAAS,GAAIA,SAAS;AACjH,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAIC,KAA0B,IAAkB;EAC3E,MAAMC,KAAK,GAAGD,KAAK,IAAIR,WAAW,CAAC,CAAC,IAAIE,QAAQ,CAACQ,aAAa,CAAc,SAAS,CAAC,IAAIR,QAAQ,CAACS,IAAI;EACvG,MAAMC,QAAQ,GAAGC,KAAK,CAACC,IAAI,CAACL,KAAK,CAACM,QAAQ,CAAC,CAACC,IAAI,CAAEC,KAAK,IAAKA,KAAK,YAAYC,WAAW,IAAID,KAAK,CAACE,YAAY,CAACpB,gBAAgB,CAAC,CAAC;EACjI,IAAIa,QAAQ,YAAYM,WAAW,EAAE,OAAON,QAAQ;EAEpD,MAAMQ,IAAI,GAAGlB,QAAQ,CAACmB,aAAa,CAAC,KAAK,CAAC;EAC1CD,IAAI,CAACE,YAAY,CAACvB,gBAAgB,EAAE,EAAE,CAAC;EACvCqB,IAAI,CAACG,SAAS,CAACC,GAAG,CAAC,eAAe,CAAC;EACnC,IAAIf,KAAK,KAAKP,QAAQ,CAACS,IAAI,EAAES,IAAI,CAACG,SAAS,CAACC,GAAG,CAAC,QAAQ,CAAC;EACzDf,KAAK,CAACgB,WAAW,CAACL,IAAI,CAAC;EACvB,OAAOA,IAAI;AACb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["PORTAL_ATTRIBUTE","activeScope","active","document","activeElement","Element","closest","undefined","getK2bPortalRoot","scope","owner","querySelector","body","existing","Array","from","children","find","child","HTMLElement","hasAttribute","root","createElement","setAttribute","classList","add","contains","appendChild"],"sources":["internal/portal.ts"],"sourcesContent":["const PORTAL_ATTRIBUTE = \"data-k2b-ui-portal\";\n\nconst activeScope = (): HTMLElement | undefined => {\n const active = document.activeElement;\n return active instanceof Element ? ((active.closest(\".k2b-ui\") as HTMLElement | null) ?? undefined) : undefined;\n};\n\nexport const getK2bPortalRoot = (scope?: HTMLElement | null): HTMLElement => {\n const owner = scope ?? activeScope() ?? document.querySelector<HTMLElement>(\".k2b-ui\") ?? document.body;\n const existing = Array.from(owner.children).find((child) => child instanceof HTMLElement && child.hasAttribute(PORTAL_ATTRIBUTE));\n if (existing instanceof HTMLElement) return existing;\n\n const root = document.createElement(\"div\");\n root.setAttribute(PORTAL_ATTRIBUTE, \"\");\n root.classList.add(\"k2b-ui-portal\");\n if (owner === document.body && !owner.classList.contains(\"k2b-ui\")) root.classList.add(\"k2b-ui\");\n owner.appendChild(root);\n return root;\n};\n"],"mappings":"AAAA,MAAMA,gBAAgB,GAAG,oBAAoB;AAE7C,MAAMC,WAAW,GAAGA,CAAA,KAA+B;EACjD,MAAMC,MAAM,GAAGC,QAAQ,CAACC,aAAa;EACrC,OAAOF,MAAM,YAAYG,OAAO,GAAKH,MAAM,CAACI,OAAO,CAAC,SAAS,CAAC,IAA2BC,SAAS,GAAIA,SAAS;AACjH,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAIC,KAA0B,IAAkB;EAC3E,MAAMC,KAAK,GAAGD,KAAK,IAAIR,WAAW,CAAC,CAAC,IAAIE,QAAQ,CAACQ,aAAa,CAAc,SAAS,CAAC,IAAIR,QAAQ,CAACS,IAAI;EACvG,MAAMC,QAAQ,GAAGC,KAAK,CAACC,IAAI,CAACL,KAAK,CAACM,QAAQ,CAAC,CAACC,IAAI,CAAEC,KAAK,IAAKA,KAAK,YAAYC,WAAW,IAAID,KAAK,CAACE,YAAY,CAACpB,gBAAgB,CAAC,CAAC;EACjI,IAAIa,QAAQ,YAAYM,WAAW,EAAE,OAAON,QAAQ;EAEpD,MAAMQ,IAAI,GAAGlB,QAAQ,CAACmB,aAAa,CAAC,KAAK,CAAC;EAC1CD,IAAI,CAACE,YAAY,CAACvB,gBAAgB,EAAE,EAAE,CAAC;EACvCqB,IAAI,CAACG,SAAS,CAACC,GAAG,CAAC,eAAe,CAAC;EACnC,IAAIf,KAAK,KAAKP,QAAQ,CAACS,IAAI,IAAI,CAACF,KAAK,CAACc,SAAS,CAACE,QAAQ,CAAC,QAAQ,CAAC,EAAEL,IAAI,CAACG,SAAS,CAACC,GAAG,CAAC,QAAQ,CAAC;EAChGf,KAAK,CAACiB,WAAW,CAACN,IAAI,CAAC;EACvB,OAAOA,IAAI;AACb,CAAC","ignoreList":[]}