@goodandready/dsh-tts 0.3.2 → 0.3.3

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 (2) hide show
  1. package/lib/client.js +39 -17
  2. package/package.json +1 -1
package/lib/client.js CHANGED
@@ -42,7 +42,20 @@ window.__ModuleLoader__.load({
42
42
  '.dts-bad{font-size:12px;color:var(--dsw-alias-state-error-primary)}' +
43
43
  '.dts-badge{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);white-space:nowrap}' +
44
44
  '.dts-badge-on{color:var(--dsw-alias-state-success-primary);border-color:currentColor}' +
45
- '.dts-link{background:none;border:none;color:var(--dsw-alias-label-secondary);cursor:pointer;font-size:12px;padding:0}'
45
+ '.dts-link{background:none;border:none;color:var(--dsw-alias-label-secondary);cursor:pointer;font-size:12px;padding:0}' +
46
+ // Карточка во вкладке «Настройки плагинов» — как у соседних
47
+ // плагинов: li в списке ядра, шапка со сбросом темы, шеврон.
48
+ '.dts-card{list-style:none;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-3);border-radius:12px;transition:border-color .16s,background .16s}' +
49
+ '.dts-card:hover{border-color:var(--dsw-alias-label-dimmed)}' +
50
+ '.dts-cardOpen{background:var(--dsw-alias-bg-layer-2);border-color:var(--dsw-alias-label-dimmed)}' +
51
+ '.dts-cardHead{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}' +
52
+ '.dts-cardHead:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}' +
53
+ '.dts-headText{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}' +
54
+ '.dts-name{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:600;line-height:1.4}' +
55
+ '.dts-descr{color:var(--dsw-alias-label-tertiary);font-size:13px;line-height:1.5}' +
56
+ '.dts-chev{color:var(--dsw-alias-label-tertiary);flex:none;transition:transform .16s}' +
57
+ '.dts-chevOpen{transform:rotate(180deg)}' +
58
+ '.dts-cardBody{border-top:1px solid var(--dsw-alias-border-l2);margin:0 16px;padding:16px 0 8px}'
46
59
 
47
60
  const setCssId = 'dsh-tts/settings.module.css'
48
61
  if (typeof document !== 'undefined' && !document.querySelector('style[data-plugin-css="' + setCssId + '"]')) {
@@ -568,28 +581,37 @@ window.__ModuleLoader__.load({
568
581
  }
569
582
 
570
583
 
571
- // Карточка настроек во вкладке «Плагины»: заголовок, пояснение и
572
- // сворачивание рисуем сами — ядро даёт только рамку списка.
584
+ // Карточка во вкладке «Настройки плагинов» — та же структура, что у
585
+ // ядра и соседних плагинов: li в списке, шапка-кнопка со сбросом
586
+ // темы (иначе браузерный стиль кнопки красит её фирменным акцентом),
587
+ // шеврон, тело с формой.
573
588
  function TtsCard(props) {
574
589
  const t = (props && props.t) || ((key) => key)
575
590
  const [open, setOpen] = React.useState(false)
576
- return React.createElement('div',
577
- {
578
- className: 'dts-wrap',
579
- style: { border: '1px solid var(--dsw-alias-border-l2)', borderRadius: '8px', marginBottom: '10px' },
591
+ return React.createElement('li', { className: 'dts-card' + (open ? ' dts-cardOpen' : '') },
592
+ React.createElement('button', {
593
+ type: 'button',
594
+ className: 'dts-cardHead',
595
+ onClick: () => setOpen(!open),
596
+ 'aria-expanded': open,
580
597
  },
581
- React.createElement('button',
582
- {
583
- type: 'button',
584
- 'aria-expanded': open ? 'true' : 'false',
585
- onClick: () => setOpen((v) => !v),
586
- style: { display: 'flex', width: '100%', gap: '8px', alignItems: 'baseline', background: 'none', border: 'none', padding: '10px 12px', cursor: 'pointer', textAlign: 'left' },
598
+ React.createElement('div', { className: 'dts-headText' },
599
+ React.createElement('div', { className: 'dts-name' }, t('title')),
600
+ React.createElement('div', { className: 'dts-descr' }, t('cardHint')),
601
+ ),
602
+ React.createElement('svg', {
603
+ className: 'dts-chev' + (open ? ' dts-chevOpen' : ''),
604
+ width: 16, height: 16, viewBox: '0 0 16 16', fill: 'none',
587
605
  },
588
- React.createElement('strong', null, t('title')),
589
- React.createElement('span', { className: 'dts-sub' }, t('cardHint')),
590
- React.createElement('span', { style: { marginLeft: 'auto', color: 'var(--dsw-alias-label-secondary)' } }, open ? '\u25be' : '\u25b8'),
606
+ React.createElement('path', {
607
+ d: 'M4 6l4 4 4-4', stroke: 'currentColor', 'stroke-width': 1.5,
608
+ 'stroke-linecap': 'round', 'stroke-linejoin': 'round',
609
+ }),
610
+ ),
591
611
  ),
592
- open ? React.createElement(TtsSection, props) : null,
612
+ open ? React.createElement('div', { className: 'dts-cardBody' },
613
+ React.createElement(TtsSection, props),
614
+ ) : null,
593
615
  )
594
616
  }
595
617
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goodandready/dsh-tts",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "Text-to-speech for DeepSeek Harness: speak agent replies in the Web UI with a provider fallback chain (OpenAI, ElevenLabs, Google, Azure, Groq, Deepgram, OpenRouter, Edge, Piper, eSpeak).",
5
5
  "license": "MIT",
6
6
  "type": "module",