@0001-labs/design-system-1 0.3.0-alpha.27 → 0.3.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/DS1/0-face/button-label.ts +28 -0
- package/DS1/0-face/calendar.ts +6 -4
- package/DS1/0-face/carousel.ts +70 -0
- package/DS1/0-face/constraint-panel.ts +422 -0
- package/DS1/0-face/constraint-site.ts +200 -0
- package/DS1/0-face/constraints.ts +281 -0
- package/DS1/0-face/copy-text.ts +1 -1
- package/DS1/0-face/cut-fade.ts +312 -0
- package/DS1/0-face/define.ts +30 -2
- package/DS1/0-face/face-correction.ts +96 -0
- package/DS1/0-face/failures.ts +32 -0
- package/DS1/0-face/feedback-overlays.ts +5 -3
- package/DS1/0-face/feedback.ts +3 -0
- package/DS1/0-face/focus-vision.swift +31 -0
- package/DS1/0-face/focus.ts +181 -0
- package/DS1/0-face/google-face-metrics.json +102 -0
- package/DS1/0-face/grid.ts +61 -4
- package/DS1/0-face/i18n.ts +36 -18
- package/DS1/0-face/layout-inspector.ts +124 -98
- package/DS1/0-face/preference-options.ts +4 -0
- package/DS1/0-face/scaling.ts +21 -3
- package/DS1/0-face/shape.ts +43 -0
- package/DS1/0-face/text-contrast.ts +164 -0
- package/DS1/0-face/theme-bootstrap.js +43 -0
- package/DS1/0-face/toast-queue.ts +7 -1
- package/DS1/0-face/translations/da.json +10 -1
- package/DS1/0-face/translations/de.json +10 -1
- package/DS1/0-face/translations/en.json +10 -1
- package/DS1/0-face/translations/es.json +10 -1
- package/DS1/0-face/translations/fi.json +10 -1
- package/DS1/0-face/translations/fr.json +10 -1
- package/DS1/0-face/translations/is.json +10 -1
- package/DS1/0-face/translations/it.json +10 -1
- package/DS1/0-face/translations/ja.json +10 -1
- package/DS1/0-face/translations/ko.json +10 -1
- package/DS1/0-face/translations/nb.json +10 -1
- package/DS1/0-face/translations/pt-BR.json +10 -1
- package/DS1/0-face/translations/pt.json +10 -1
- package/DS1/0-face/translations/sv.json +10 -1
- package/DS1/0-face/translations/zh.json +10 -1
- package/DS1/0-face/word-wrap.ts +113 -0
- package/DS1/1-root/card.css +47 -20
- package/DS1/1-root/carousel.css +7 -0
- package/DS1/1-root/cjk.css +1 -1
- package/DS1/1-root/component-tokens.css +3 -2
- package/DS1/1-root/context.css +44 -6
- package/DS1/1-root/controls.css +99 -8
- package/DS1/1-root/document.css +9 -1
- package/DS1/1-root/empty.css +46 -5
- package/DS1/1-root/figures.css +50 -3
- package/DS1/1-root/fonts.css +1 -1
- package/DS1/1-root/footer.css +147 -16
- package/DS1/1-root/foundation.ts +60 -0
- package/DS1/1-root/guide.css +35 -0
- package/DS1/1-root/header.css +30 -9
- package/DS1/1-root/library-tokens.ts +1 -2
- package/DS1/1-root/material.css +67 -0
- package/DS1/1-root/notice.css +10 -2
- package/DS1/1-root/one.css +14 -7
- package/DS1/1-root/palette.ts +3 -3
- package/DS1/1-root/progress.css +9 -1
- package/DS1/1-root/row.css +68 -2
- package/DS1/1-root/table.css +47 -4
- package/DS1/1-root/text.css +26 -0
- package/DS1/2-core/button-split.ts +10 -5
- package/DS1/2-core/chart/chart.css +71 -2
- package/DS1/2-core/chart/grid-chart.ts +2 -1
- package/DS1/2-core/ds-activity.ts +32 -0
- package/DS1/2-core/ds-app-chrome.ts +1 -0
- package/DS1/2-core/ds-avatar.ts +35 -6
- package/DS1/2-core/ds-badge.ts +8 -1
- package/DS1/2-core/ds-button.ts +7 -1
- package/DS1/2-core/ds-chart.ts +184 -49
- package/DS1/2-core/ds-cycle.ts +27 -186
- package/DS1/2-core/ds-device-bezel.ts +1 -0
- package/DS1/2-core/ds-empty.ts +6 -4
- package/DS1/2-core/ds-input.ts +23 -3
- package/DS1/2-core/ds-message.ts +22 -0
- package/DS1/2-core/ds-number.ts +349 -0
- package/DS1/2-core/ds-progress.ts +3 -0
- package/DS1/2-core/ds-radio.ts +3 -0
- package/DS1/2-core/ds-stat.ts +3 -0
- package/DS1/2-core/ds-switch.ts +5 -1
- package/DS1/2-core/ds-tag.ts +9 -2
- package/DS1/2-core/ds-text.ts +7 -0
- package/DS1/2-core/ds-token.ts +3 -0
- package/DS1/2-core/ds-tooltip.ts +17 -2
- package/DS1/2-core/ds-window.ts +1 -0
- package/DS1/2-core/generated/ds-icon-map.ts +47 -5
- package/DS1/2-core/generated/icons-extra.ts +24 -3
- package/DS1/2-core/generated/icons-immediate.ts +3 -3
- package/DS1/2-core/number-expression.ts +64 -0
- package/DS1/2-core/styles/ds-activity.css +16 -0
- package/DS1/2-core/styles/ds-badge.css +4 -1
- package/DS1/2-core/styles/ds-button-host.css +45 -12
- package/DS1/2-core/styles/ds-button-split.css +8 -0
- package/DS1/2-core/styles/ds-button.css +92 -19
- package/DS1/2-core/styles/ds-card.css +6 -0
- package/DS1/2-core/styles/ds-checkbox.css +20 -8
- package/DS1/2-core/styles/ds-image.css +2 -1
- package/DS1/2-core/styles/ds-input.css +37 -4
- package/DS1/2-core/styles/ds-number.css +127 -0
- package/DS1/2-core/styles/ds-radio.css +4 -1
- package/DS1/2-core/styles/ds-switch.css +34 -4
- package/DS1/2-core/styles/ds-tag.css +32 -5
- package/DS1/2-core/styles/ds-text.css +13 -4
- package/DS1/2-core/styles/ds-token.css +4 -1
- package/DS1/2-core/styles/ds-tooltip.css +13 -7
- package/DS1/3-unit/calendar-base.ts +5 -2
- package/DS1/3-unit/ds-calendar.ts +711 -37
- package/DS1/3-unit/ds-carousel.ts +13 -1
- package/DS1/3-unit/ds-context.ts +40 -2
- package/DS1/3-unit/ds-form.ts +45 -10
- package/DS1/3-unit/ds-list.ts +31 -3
- package/DS1/3-unit/ds-matrix.ts +3 -0
- package/DS1/3-unit/ds-menu.ts +9 -5
- package/DS1/3-unit/ds-row.ts +17 -2
- package/DS1/3-unit/ds-select.ts +1 -1
- package/DS1/3-unit/ds-sidebar.ts +18 -3
- package/DS1/3-unit/ds-table-of-contents.ts +166 -0
- package/DS1/3-unit/ds-tabs.ts +40 -2
- package/DS1/3-unit/styles/ds-calendar.css +356 -42
- package/DS1/3-unit/styles/ds-context.css +38 -0
- package/DS1/3-unit/styles/ds-list.css +26 -1
- package/DS1/3-unit/styles/ds-matrix.css +4 -1
- package/DS1/3-unit/styles/ds-row.css +39 -0
- package/DS1/3-unit/styles/ds-select.css +22 -12
- package/DS1/3-unit/styles/ds-sidebar.css +16 -2
- package/DS1/3-unit/styles/ds-table-of-contents.css +40 -0
- package/DS1/3-unit/styles/ds-tabs.css +95 -0
- package/DS1/4-page/ds-document.ts +3 -0
- package/DS1/4-page/ds-footer.ts +93 -18
- package/DS1/4-page/ds-header.ts +5 -1
- package/DS1/4-page/ds-overlay.ts +8 -3
- package/DS1/4-page/ds-page.ts +22 -1
- package/DS1/4-page/email.ts +7 -4
- package/DS1/4-page/styles/ds-container.css +0 -1
- package/DS1/4-page/styles/ds-overlay.css +7 -0
- package/DS1/4-page/styles/ds-page.css +10 -0
- package/DS1/5-visual-kit/app-chrome.ts +129 -0
- package/DS1/5-visual-kit/bezels.ts +394 -0
- package/DS1/5-visual-kit/browser-icons.LICENSE +53 -0
- package/DS1/5-visual-kit/browser-icons.ts +47 -0
- package/DS1/5-visual-kit/browser-styles.ts +53 -0
- package/DS1/5-visual-kit/device-bezel.ts +55 -0
- package/DS1/5-visual-kit/instagram-frame.ts +15 -0
- package/DS1/5-visual-kit/instagram.ts +41 -0
- package/DS1/5-visual-kit/mobile-chrome.ts +25 -0
- package/DS1/5-visual-kit/native-icon-paths.ts +145 -0
- package/DS1/5-visual-kit/window.ts +22 -0
- package/DS1/components.ts +1 -0
- package/DS1/index.ts +14 -1
- package/DS1/react/choice.ts +4 -2
- package/DS1/react/context.ts +11 -6
- package/DS1/react/empty.ts +2 -2
- package/DS1/react/footer.ts +5 -5
- package/DS1/react/header.ts +1 -1
- package/DS1/react/message.ts +4 -2
- package/DS1/react/number.ts +53 -0
- package/DS1/react/sidebar.ts +4 -2
- package/DS1/react/table-of-contents.ts +28 -0
- package/DS1/x-flag/LICENSE.md +26 -0
- package/DS1/x-flag/ac.svg +1 -0
- package/DS1/x-flag/ad.svg +1 -0
- package/DS1/x-flag/ae.svg +1 -0
- package/DS1/x-flag/af.svg +1 -0
- package/DS1/x-flag/ag.svg +1 -0
- package/DS1/x-flag/ai.svg +1 -0
- package/DS1/x-flag/al.svg +1 -0
- package/DS1/x-flag/am.svg +1 -0
- package/DS1/x-flag/ao.svg +1 -0
- package/DS1/x-flag/aq.svg +1 -0
- package/DS1/x-flag/ar.svg +1 -0
- package/DS1/x-flag/as.svg +1 -0
- package/DS1/x-flag/at.svg +1 -0
- package/DS1/x-flag/au.svg +1 -0
- package/DS1/x-flag/aw.svg +1 -0
- package/DS1/x-flag/ax.svg +1 -0
- package/DS1/x-flag/az.svg +1 -0
- package/DS1/x-flag/ba.svg +1 -0
- package/DS1/x-flag/bb.svg +1 -0
- package/DS1/x-flag/bd.svg +1 -0
- package/DS1/x-flag/be.svg +1 -0
- package/DS1/x-flag/bf.svg +1 -0
- package/DS1/x-flag/bg.svg +1 -0
- package/DS1/x-flag/bh.svg +1 -0
- package/DS1/x-flag/bi.svg +1 -0
- package/DS1/x-flag/bj.svg +1 -0
- package/DS1/x-flag/bl.svg +1 -0
- package/DS1/x-flag/bm.svg +1 -0
- package/DS1/x-flag/bn.svg +1 -0
- package/DS1/x-flag/bo.svg +1 -0
- package/DS1/x-flag/bq-bo.svg +1 -0
- package/DS1/x-flag/bq-sa.svg +1 -0
- package/DS1/x-flag/bq-se.svg +1 -0
- package/DS1/x-flag/bq.svg +1 -0
- package/DS1/x-flag/br.svg +1 -0
- package/DS1/x-flag/bs.svg +1 -0
- package/DS1/x-flag/bt.svg +1 -0
- package/DS1/x-flag/bv.svg +1 -0
- package/DS1/x-flag/bw.svg +1 -0
- package/DS1/x-flag/by.svg +1 -0
- package/DS1/x-flag/bz.svg +1 -0
- package/DS1/x-flag/ca.svg +1 -0
- package/DS1/x-flag/cc.svg +1 -0
- package/DS1/x-flag/cd.svg +1 -0
- package/DS1/x-flag/cf.svg +1 -0
- package/DS1/x-flag/cg.svg +1 -0
- package/DS1/x-flag/ch.svg +1 -0
- package/DS1/x-flag/ci.svg +1 -0
- package/DS1/x-flag/ck.svg +1 -0
- package/DS1/x-flag/cl.svg +1 -0
- package/DS1/x-flag/cm.svg +1 -0
- package/DS1/x-flag/cn.svg +1 -0
- package/DS1/x-flag/co.svg +1 -0
- package/DS1/x-flag/cr.svg +1 -0
- package/DS1/x-flag/cu.svg +1 -0
- package/DS1/x-flag/cv.svg +1 -0
- package/DS1/x-flag/cw.svg +1 -0
- package/DS1/x-flag/cx.svg +1 -0
- package/DS1/x-flag/cy.svg +1 -0
- package/DS1/x-flag/cz.svg +1 -0
- package/DS1/x-flag/de.svg +1 -0
- package/DS1/x-flag/dj.svg +1 -0
- package/DS1/x-flag/dk.svg +1 -0
- package/DS1/x-flag/dm.svg +1 -0
- package/DS1/x-flag/do.svg +1 -0
- package/DS1/x-flag/dz.svg +1 -0
- package/DS1/x-flag/ec.svg +1 -0
- package/DS1/x-flag/ee.svg +1 -0
- package/DS1/x-flag/eg.svg +1 -0
- package/DS1/x-flag/eh.svg +1 -0
- package/DS1/x-flag/er.svg +1 -0
- package/DS1/x-flag/es-ct.svg +1 -0
- package/DS1/x-flag/es.svg +1 -0
- package/DS1/x-flag/et.svg +1 -0
- package/DS1/x-flag/eu.svg +1 -0
- package/DS1/x-flag/fi.svg +1 -0
- package/DS1/x-flag/fj.svg +1 -0
- package/DS1/x-flag/fk.svg +1 -0
- package/DS1/x-flag/fm.svg +1 -0
- package/DS1/x-flag/fo.svg +1 -0
- package/DS1/x-flag/fr.svg +1 -0
- package/DS1/x-flag/ga.svg +1 -0
- package/DS1/x-flag/gb-eng.svg +1 -0
- package/DS1/x-flag/gb-nir.svg +1 -0
- package/DS1/x-flag/gb-sct.svg +1 -0
- package/DS1/x-flag/gb-wls.svg +1 -0
- package/DS1/x-flag/gb.svg +1 -0
- package/DS1/x-flag/gd.svg +1 -0
- package/DS1/x-flag/ge.svg +1 -0
- package/DS1/x-flag/gf.svg +1 -0
- package/DS1/x-flag/gg.svg +1 -0
- package/DS1/x-flag/gh.svg +1 -0
- package/DS1/x-flag/gi.svg +1 -0
- package/DS1/x-flag/gl.svg +1 -0
- package/DS1/x-flag/gm.svg +1 -0
- package/DS1/x-flag/gn.svg +1 -0
- package/DS1/x-flag/gp.svg +1 -0
- package/DS1/x-flag/gq.svg +1 -0
- package/DS1/x-flag/gr.svg +1 -0
- package/DS1/x-flag/gs.svg +1 -0
- package/DS1/x-flag/gt.svg +1 -0
- package/DS1/x-flag/gu.svg +1 -0
- package/DS1/x-flag/gw.svg +1 -0
- package/DS1/x-flag/gy.svg +1 -0
- package/DS1/x-flag/hk.svg +1 -0
- package/DS1/x-flag/hm.svg +1 -0
- package/DS1/x-flag/hn.svg +1 -0
- package/DS1/x-flag/hr.svg +1 -0
- package/DS1/x-flag/ht.svg +1 -0
- package/DS1/x-flag/hu.svg +1 -0
- package/DS1/x-flag/ic.svg +1 -0
- package/DS1/x-flag/id.svg +1 -0
- package/DS1/x-flag/ie.svg +1 -0
- package/DS1/x-flag/il.svg +1 -0
- package/DS1/x-flag/im.svg +1 -0
- package/DS1/x-flag/in.svg +1 -0
- package/DS1/x-flag/io.svg +1 -0
- package/DS1/x-flag/iq.svg +1 -0
- package/DS1/x-flag/ir.svg +1 -0
- package/DS1/x-flag/is.svg +1 -0
- package/DS1/x-flag/it.svg +1 -0
- package/DS1/x-flag/je.svg +1 -0
- package/DS1/x-flag/jm.svg +1 -0
- package/DS1/x-flag/jo.svg +1 -0
- package/DS1/x-flag/jp.svg +1 -0
- package/DS1/x-flag/ke.svg +1 -0
- package/DS1/x-flag/kg.svg +1 -0
- package/DS1/x-flag/kh.svg +1 -0
- package/DS1/x-flag/ki.svg +1 -0
- package/DS1/x-flag/km.svg +1 -0
- package/DS1/x-flag/kn.svg +1 -0
- package/DS1/x-flag/kp.svg +1 -0
- package/DS1/x-flag/kr.svg +1 -0
- package/DS1/x-flag/kw.svg +1 -0
- package/DS1/x-flag/ky.svg +1 -0
- package/DS1/x-flag/kz.svg +1 -0
- package/DS1/x-flag/la.svg +1 -0
- package/DS1/x-flag/lb.svg +1 -0
- package/DS1/x-flag/lc.svg +1 -0
- package/DS1/x-flag/li.svg +1 -0
- package/DS1/x-flag/lk.svg +1 -0
- package/DS1/x-flag/lr.svg +1 -0
- package/DS1/x-flag/ls.svg +1 -0
- package/DS1/x-flag/lt.svg +1 -0
- package/DS1/x-flag/lu.svg +1 -0
- package/DS1/x-flag/lv.svg +1 -0
- package/DS1/x-flag/ly.svg +1 -0
- package/DS1/x-flag/ma.svg +1 -0
- package/DS1/x-flag/mc.svg +1 -0
- package/DS1/x-flag/md.svg +1 -0
- package/DS1/x-flag/me.svg +1 -0
- package/DS1/x-flag/mf.svg +1 -0
- package/DS1/x-flag/mg.svg +1 -0
- package/DS1/x-flag/mh.svg +1 -0
- package/DS1/x-flag/mk.svg +1 -0
- package/DS1/x-flag/ml.svg +1 -0
- package/DS1/x-flag/mm.svg +1 -0
- package/DS1/x-flag/mn.svg +1 -0
- package/DS1/x-flag/mo.svg +1 -0
- package/DS1/x-flag/mp.svg +1 -0
- package/DS1/x-flag/mq.svg +1 -0
- package/DS1/x-flag/mr.svg +1 -0
- package/DS1/x-flag/ms.svg +1 -0
- package/DS1/x-flag/mt.svg +1 -0
- package/DS1/x-flag/mu.svg +1 -0
- package/DS1/x-flag/mv.svg +1 -0
- package/DS1/x-flag/mw.svg +1 -0
- package/DS1/x-flag/mx.svg +1 -0
- package/DS1/x-flag/my.svg +1 -0
- package/DS1/x-flag/mz.svg +1 -0
- package/DS1/x-flag/na.svg +1 -0
- package/DS1/x-flag/nc.svg +1 -0
- package/DS1/x-flag/ne.svg +1 -0
- package/DS1/x-flag/nf.svg +1 -0
- package/DS1/x-flag/ng.svg +1 -0
- package/DS1/x-flag/ni.svg +1 -0
- package/DS1/x-flag/nl.svg +1 -0
- package/DS1/x-flag/no.svg +1 -0
- package/DS1/x-flag/np.svg +1 -0
- package/DS1/x-flag/nr.svg +1 -0
- package/DS1/x-flag/nu.svg +1 -0
- package/DS1/x-flag/nz.svg +1 -0
- package/DS1/x-flag/om.svg +1 -0
- package/DS1/x-flag/pa.svg +1 -0
- package/DS1/x-flag/pe.svg +1 -0
- package/DS1/x-flag/pf.svg +1 -0
- package/DS1/x-flag/pg.svg +1 -0
- package/DS1/x-flag/ph.svg +1 -0
- package/DS1/x-flag/pk.svg +1 -0
- package/DS1/x-flag/pl.svg +1 -0
- package/DS1/x-flag/pm.svg +1 -0
- package/DS1/x-flag/pn.svg +1 -0
- package/DS1/x-flag/pr.svg +1 -0
- package/DS1/x-flag/ps.svg +1 -0
- package/DS1/x-flag/pt.svg +1 -0
- package/DS1/x-flag/pw.svg +1 -0
- package/DS1/x-flag/py.svg +1 -0
- package/DS1/x-flag/qa.svg +1 -0
- package/DS1/x-flag/re.svg +1 -0
- package/DS1/x-flag/ro.svg +1 -0
- package/DS1/x-flag/rs.svg +1 -0
- package/DS1/x-flag/ru.svg +1 -0
- package/DS1/x-flag/rw.svg +1 -0
- package/DS1/x-flag/sa.svg +1 -0
- package/DS1/x-flag/sb.svg +1 -0
- package/DS1/x-flag/sc.svg +1 -0
- package/DS1/x-flag/sd.svg +1 -0
- package/DS1/x-flag/se.svg +1 -0
- package/DS1/x-flag/sg.svg +1 -0
- package/DS1/x-flag/sh.svg +1 -0
- package/DS1/x-flag/si.svg +1 -0
- package/DS1/x-flag/sj.svg +1 -0
- package/DS1/x-flag/sk.svg +1 -0
- package/DS1/x-flag/sl.svg +1 -0
- package/DS1/x-flag/sm.svg +1 -0
- package/DS1/x-flag/sn.svg +1 -0
- package/DS1/x-flag/so.svg +1 -0
- package/DS1/x-flag/sr.svg +1 -0
- package/DS1/x-flag/ss.svg +1 -0
- package/DS1/x-flag/st.svg +1 -0
- package/DS1/x-flag/sv.svg +1 -0
- package/DS1/x-flag/sx.svg +1 -0
- package/DS1/x-flag/sy.svg +1 -0
- package/DS1/x-flag/sz.svg +1 -0
- package/DS1/x-flag/ta.svg +1 -0
- package/DS1/x-flag/tc.svg +1 -0
- package/DS1/x-flag/td.svg +1 -0
- package/DS1/x-flag/tf.svg +1 -0
- package/DS1/x-flag/tg.svg +1 -0
- package/DS1/x-flag/th.svg +1 -0
- package/DS1/x-flag/tj.svg +1 -0
- package/DS1/x-flag/tk.svg +1 -0
- package/DS1/x-flag/tl.svg +1 -0
- package/DS1/x-flag/tm.svg +1 -0
- package/DS1/x-flag/tn.svg +1 -0
- package/DS1/x-flag/to.svg +1 -0
- package/DS1/x-flag/tr.svg +1 -0
- package/DS1/x-flag/tt.svg +1 -0
- package/DS1/x-flag/tv.svg +1 -0
- package/DS1/x-flag/tw.svg +1 -0
- package/DS1/x-flag/tz.svg +1 -0
- package/DS1/x-flag/ua.svg +1 -0
- package/DS1/x-flag/ug.svg +1 -0
- package/DS1/x-flag/um.svg +1 -0
- package/DS1/x-flag/us.svg +1 -0
- package/DS1/x-flag/uy.svg +1 -0
- package/DS1/x-flag/uz.svg +1 -0
- package/DS1/x-flag/va.svg +1 -0
- package/DS1/x-flag/vc.svg +1 -0
- package/DS1/x-flag/ve.svg +1 -0
- package/DS1/x-flag/vg.svg +1 -0
- package/DS1/x-flag/vi.svg +1 -0
- package/DS1/x-flag/vn.svg +1 -0
- package/DS1/x-flag/vu.svg +1 -0
- package/DS1/x-flag/wf.svg +1 -0
- package/DS1/x-flag/ws.svg +1 -0
- package/DS1/x-flag/xk.svg +1 -0
- package/DS1/x-flag/ye.svg +1 -0
- package/DS1/x-flag/yt.svg +1 -0
- package/DS1/x-flag/za.svg +1 -0
- package/DS1/x-flag/zm.svg +1 -0
- package/DS1/x-flag/zw.svg +1 -0
- package/DS1/x-icon/android.svg +9 -0
- package/DS1/x-icon/arrange-check.svg +1 -1
- package/DS1/x-icon/arrange-page.svg +1 -1
- package/DS1/x-icon/chrome.svg +7 -0
- package/DS1/x-icon/edge-brand.svg +6 -0
- package/DS1/x-icon/firefox.svg +4 -0
- package/DS1/x-icon/health.svg +3 -0
- package/DS1/x-icon/left.svg +2 -3
- package/DS1/x-icon/linux.svg +1 -0
- package/DS1/x-icon/material.svg +1 -0
- package/DS1/x-icon/milestone-planned.svg +3 -0
- package/DS1/x-icon/milestone.svg +3 -0
- package/DS1/x-icon/more.svg +1 -5
- package/DS1/x-icon/network.svg +3 -0
- package/DS1/x-icon/opera.svg +4 -0
- package/DS1/x-icon/prediction.svg +3 -0
- package/DS1/x-icon/priority-high.svg +3 -0
- package/DS1/x-icon/priority-low.svg +3 -0
- package/DS1/x-icon/priority-medium.svg +3 -0
- package/DS1/x-icon/project.svg +3 -0
- package/DS1/x-icon/redo.svg +2 -2
- package/DS1/x-icon/repeat-small.svg +3 -0
- package/DS1/x-icon/safari.svg +4 -0
- package/DS1/x-icon/scaling.svg +3 -0
- package/DS1/x-icon/tabs.svg +4 -0
- package/DS1/x-icon/windows.svg +5 -0
- package/README.md +10 -6
- package/dist/0-face/button-label.d.ts +5 -0
- package/dist/0-face/button-label.d.ts.map +1 -0
- package/dist/0-face/button-label.js +31 -0
- package/dist/0-face/calendar.d.ts +1 -1
- package/dist/0-face/calendar.d.ts.map +1 -1
- package/dist/0-face/calendar.js +6 -3
- package/dist/0-face/carousel.d.ts +9 -0
- package/dist/0-face/carousel.d.ts.map +1 -1
- package/dist/0-face/carousel.js +80 -0
- package/dist/0-face/constraint-panel.d.ts +43 -0
- package/dist/0-face/constraint-panel.d.ts.map +1 -0
- package/dist/0-face/constraint-panel.js +429 -0
- package/dist/0-face/constraint-site.d.ts +72 -0
- package/dist/0-face/constraint-site.d.ts.map +1 -0
- package/dist/0-face/constraint-site.js +185 -0
- package/dist/0-face/constraints.d.ts +47 -0
- package/dist/0-face/constraints.d.ts.map +1 -0
- package/dist/0-face/constraints.js +247 -0
- package/dist/0-face/copy-text.js +1 -1
- package/dist/0-face/cut-fade.d.ts +112 -0
- package/dist/0-face/cut-fade.d.ts.map +1 -0
- package/dist/0-face/cut-fade.js +274 -0
- package/dist/0-face/define.d.ts.map +1 -1
- package/dist/0-face/define.js +24 -3
- package/dist/0-face/face-correction.d.ts +51 -0
- package/dist/0-face/face-correction.d.ts.map +1 -0
- package/dist/0-face/face-correction.js +80 -0
- package/dist/0-face/failures.d.ts +16 -0
- package/dist/0-face/failures.d.ts.map +1 -0
- package/dist/0-face/failures.js +21 -0
- package/dist/0-face/feedback-overlays.d.ts.map +1 -1
- package/dist/0-face/feedback-overlays.js +5 -3
- package/dist/0-face/feedback.d.ts +2 -0
- package/dist/0-face/feedback.d.ts.map +1 -1
- package/dist/0-face/feedback.js +1 -0
- package/dist/0-face/focus.d.ts +71 -0
- package/dist/0-face/focus.d.ts.map +1 -0
- package/dist/0-face/focus.js +196 -0
- package/dist/0-face/grid.d.ts +11 -1
- package/dist/0-face/grid.d.ts.map +1 -1
- package/dist/0-face/grid.js +90 -4
- package/dist/0-face/i18n.d.ts.map +1 -1
- package/dist/0-face/i18n.js +38 -16
- package/dist/0-face/layout-inspector.d.ts +5 -1
- package/dist/0-face/layout-inspector.d.ts.map +1 -1
- package/dist/0-face/layout-inspector.js +130 -104
- package/dist/0-face/preference-options.d.ts +4 -0
- package/dist/0-face/preference-options.d.ts.map +1 -1
- package/dist/0-face/scaling.d.ts +8 -1
- package/dist/0-face/scaling.d.ts.map +1 -1
- package/dist/0-face/scaling.js +19 -2
- package/dist/0-face/shape.d.ts +35 -0
- package/dist/0-face/shape.d.ts.map +1 -0
- package/dist/0-face/shape.js +23 -0
- package/dist/0-face/text-contrast.d.ts +22 -0
- package/dist/0-face/text-contrast.d.ts.map +1 -0
- package/dist/0-face/text-contrast.js +178 -0
- package/dist/0-face/theme-bootstrap.js +56 -0
- package/dist/0-face/toast-queue.d.ts +4 -0
- package/dist/0-face/toast-queue.d.ts.map +1 -1
- package/dist/0-face/toast-queue.js +4 -1
- package/dist/0-face/translations/da.json +10 -1
- package/dist/0-face/translations/de.json +10 -1
- package/dist/0-face/translations/en.json +10 -1
- package/dist/0-face/translations/es.json +10 -1
- package/dist/0-face/translations/fi.json +10 -1
- package/dist/0-face/translations/fr.json +10 -1
- package/dist/0-face/translations/is.json +10 -1
- package/dist/0-face/translations/it.json +10 -1
- package/dist/0-face/translations/ja.json +10 -1
- package/dist/0-face/translations/ko.json +10 -1
- package/dist/0-face/translations/nb.json +10 -1
- package/dist/0-face/translations/pt-BR.json +10 -1
- package/dist/0-face/translations/pt.json +10 -1
- package/dist/0-face/translations/sv.json +10 -1
- package/dist/0-face/translations/zh.json +10 -1
- package/dist/0-face/word-wrap.d.ts +6 -0
- package/dist/0-face/word-wrap.d.ts.map +1 -0
- package/dist/0-face/word-wrap.js +119 -0
- package/dist/1-root/foundation.d.ts +12 -0
- package/dist/1-root/foundation.d.ts.map +1 -0
- package/dist/1-root/foundation.js +59 -0
- package/dist/1-root/library-tokens.d.ts.map +1 -1
- package/dist/1-root/library-tokens.js +1 -2
- package/dist/1-root/palette.d.ts +2 -2
- package/dist/1-root/palette.d.ts.map +1 -1
- package/dist/1-root/palette.js +3 -3
- package/dist/2-core/button-split.d.ts +1 -0
- package/dist/2-core/button-split.d.ts.map +1 -1
- package/dist/2-core/button-split.js +9 -4
- package/dist/2-core/chart/grid-chart.d.ts +2 -0
- package/dist/2-core/chart/grid-chart.d.ts.map +1 -1
- package/dist/2-core/chart/grid-chart.js +2 -1
- package/dist/2-core/ds-activity.d.ts +25 -0
- package/dist/2-core/ds-activity.d.ts.map +1 -0
- package/dist/2-core/ds-activity.js +28 -0
- package/dist/2-core/ds-app-chrome.d.ts +2 -0
- package/dist/2-core/ds-app-chrome.d.ts.map +1 -0
- package/dist/2-core/ds-app-chrome.js +1 -0
- package/dist/2-core/ds-avatar.d.ts +7 -0
- package/dist/2-core/ds-avatar.d.ts.map +1 -1
- package/dist/2-core/ds-avatar.js +41 -6
- package/dist/2-core/ds-badge.d.ts +7 -1
- package/dist/2-core/ds-badge.d.ts.map +1 -1
- package/dist/2-core/ds-badge.js +8 -1
- package/dist/2-core/ds-button.d.ts +12 -0
- package/dist/2-core/ds-button.d.ts.map +1 -1
- package/dist/2-core/ds-button.js +4 -0
- package/dist/2-core/ds-chart.d.ts +28 -3
- package/dist/2-core/ds-chart.d.ts.map +1 -1
- package/dist/2-core/ds-chart.js +110 -130
- package/dist/2-core/ds-cycle.d.ts +2 -2
- package/dist/2-core/ds-cycle.d.ts.map +1 -1
- package/dist/2-core/ds-cycle.js +36 -171
- package/dist/2-core/ds-device-bezel.d.ts +2 -0
- package/dist/2-core/ds-device-bezel.d.ts.map +1 -0
- package/dist/2-core/ds-device-bezel.js +1 -0
- package/dist/2-core/ds-empty.d.ts +2 -2
- package/dist/2-core/ds-empty.d.ts.map +1 -1
- package/dist/2-core/ds-empty.js +6 -4
- package/dist/2-core/ds-input.d.ts +7 -0
- package/dist/2-core/ds-input.d.ts.map +1 -1
- package/dist/2-core/ds-input.js +23 -3
- package/dist/2-core/ds-message.d.ts +11 -0
- package/dist/2-core/ds-message.d.ts.map +1 -1
- package/dist/2-core/ds-message.js +18 -0
- package/dist/2-core/ds-number.d.ts +86 -0
- package/dist/2-core/ds-number.d.ts.map +1 -0
- package/dist/2-core/ds-number.js +326 -0
- package/dist/2-core/ds-progress.d.ts +3 -0
- package/dist/2-core/ds-progress.d.ts.map +1 -1
- package/dist/2-core/ds-progress.js +3 -0
- package/dist/2-core/ds-radio.d.ts +3 -0
- package/dist/2-core/ds-radio.d.ts.map +1 -1
- package/dist/2-core/ds-radio.js +10 -1
- package/dist/2-core/ds-stat.d.ts +3 -0
- package/dist/2-core/ds-stat.d.ts.map +1 -1
- package/dist/2-core/ds-stat.js +3 -0
- package/dist/2-core/ds-switch.d.ts +14 -1
- package/dist/2-core/ds-switch.d.ts.map +1 -1
- package/dist/2-core/ds-switch.js +3 -1
- package/dist/2-core/ds-tag.d.ts +8 -1
- package/dist/2-core/ds-tag.d.ts.map +1 -1
- package/dist/2-core/ds-tag.js +12 -2
- package/dist/2-core/ds-text.d.ts +7 -0
- package/dist/2-core/ds-text.d.ts.map +1 -1
- package/dist/2-core/ds-text.js +7 -0
- package/dist/2-core/ds-token.d.ts +3 -0
- package/dist/2-core/ds-token.d.ts.map +1 -1
- package/dist/2-core/ds-token.js +3 -0
- package/dist/2-core/ds-tooltip.d.ts.map +1 -1
- package/dist/2-core/ds-tooltip.js +23 -2
- package/dist/2-core/ds-window.d.ts +2 -0
- package/dist/2-core/ds-window.d.ts.map +1 -0
- package/dist/2-core/ds-window.js +1 -0
- package/dist/2-core/generated/ds-icon-map.d.ts +27 -6
- package/dist/2-core/generated/ds-icon-map.d.ts.map +1 -1
- package/dist/2-core/generated/ds-icon-map.js +47 -5
- package/dist/2-core/generated/icons-extra.d.ts.map +1 -1
- package/dist/2-core/generated/icons-extra.js +24 -3
- package/dist/2-core/generated/icons-immediate.d.ts +1 -1
- package/dist/2-core/generated/icons-immediate.d.ts.map +1 -1
- package/dist/2-core/generated/icons-immediate.js +3 -3
- package/dist/2-core/number-expression.d.ts +12 -0
- package/dist/2-core/number-expression.d.ts.map +1 -0
- package/dist/2-core/number-expression.js +82 -0
- package/dist/3-unit/calendar-base.d.ts +5 -0
- package/dist/3-unit/calendar-base.d.ts.map +1 -1
- package/dist/3-unit/calendar-base.js +3 -2
- package/dist/3-unit/ds-calendar.d.ts +197 -4
- package/dist/3-unit/ds-calendar.d.ts.map +1 -1
- package/dist/3-unit/ds-calendar.js +687 -45
- package/dist/3-unit/ds-carousel.d.ts +3 -0
- package/dist/3-unit/ds-carousel.d.ts.map +1 -1
- package/dist/3-unit/ds-carousel.js +13 -1
- package/dist/3-unit/ds-context.d.ts +18 -1
- package/dist/3-unit/ds-context.d.ts.map +1 -1
- package/dist/3-unit/ds-context.js +37 -1
- package/dist/3-unit/ds-form.d.ts +9 -0
- package/dist/3-unit/ds-form.d.ts.map +1 -1
- package/dist/3-unit/ds-form.js +50 -10
- package/dist/3-unit/ds-list.d.ts +20 -1
- package/dist/3-unit/ds-list.d.ts.map +1 -1
- package/dist/3-unit/ds-list.js +31 -3
- package/dist/3-unit/ds-matrix.d.ts +3 -0
- package/dist/3-unit/ds-matrix.d.ts.map +1 -1
- package/dist/3-unit/ds-matrix.js +3 -0
- package/dist/3-unit/ds-menu.d.ts.map +1 -1
- package/dist/3-unit/ds-menu.js +17 -1
- package/dist/3-unit/ds-row.d.ts +13 -0
- package/dist/3-unit/ds-row.d.ts.map +1 -1
- package/dist/3-unit/ds-row.js +15 -2
- package/dist/3-unit/ds-select.js +1 -1
- package/dist/3-unit/ds-sidebar.d.ts +17 -0
- package/dist/3-unit/ds-sidebar.d.ts.map +1 -1
- package/dist/3-unit/ds-sidebar.js +14 -3
- package/dist/3-unit/ds-table-of-contents.d.ts +68 -0
- package/dist/3-unit/ds-table-of-contents.d.ts.map +1 -0
- package/dist/3-unit/ds-table-of-contents.js +190 -0
- package/dist/3-unit/ds-tabs.d.ts +32 -1
- package/dist/3-unit/ds-tabs.d.ts.map +1 -1
- package/dist/3-unit/ds-tabs.js +39 -1
- package/dist/4-page/ds-document.d.ts +3 -0
- package/dist/4-page/ds-document.d.ts.map +1 -1
- package/dist/4-page/ds-document.js +3 -0
- package/dist/4-page/ds-footer.d.ts +47 -7
- package/dist/4-page/ds-footer.d.ts.map +1 -1
- package/dist/4-page/ds-footer.js +58 -14
- package/dist/4-page/ds-header.d.ts +6 -0
- package/dist/4-page/ds-header.d.ts.map +1 -1
- package/dist/4-page/ds-header.js +4 -1
- package/dist/4-page/ds-overlay.d.ts +2 -2
- package/dist/4-page/ds-overlay.d.ts.map +1 -1
- package/dist/4-page/ds-overlay.js +8 -3
- package/dist/4-page/ds-page.d.ts +12 -0
- package/dist/4-page/ds-page.d.ts.map +1 -1
- package/dist/4-page/ds-page.js +19 -1
- package/dist/4-page/email.d.ts +2 -0
- package/dist/4-page/email.d.ts.map +1 -1
- package/dist/4-page/email.js +5 -4
- package/dist/5-visual-kit/app-chrome.d.ts +98 -0
- package/dist/5-visual-kit/app-chrome.d.ts.map +1 -0
- package/dist/5-visual-kit/app-chrome.js +119 -0
- package/dist/5-visual-kit/bezels.d.ts +30 -0
- package/dist/5-visual-kit/bezels.d.ts.map +1 -0
- package/dist/5-visual-kit/bezels.js +388 -0
- package/dist/5-visual-kit/browser-icons.d.ts +5 -0
- package/dist/5-visual-kit/browser-icons.d.ts.map +1 -0
- package/dist/5-visual-kit/browser-icons.js +51 -0
- package/dist/5-visual-kit/browser-styles.d.ts +3 -0
- package/dist/5-visual-kit/browser-styles.d.ts.map +1 -0
- package/dist/5-visual-kit/browser-styles.js +52 -0
- package/dist/5-visual-kit/device-bezel.d.ts +84 -0
- package/dist/5-visual-kit/device-bezel.d.ts.map +1 -0
- package/dist/5-visual-kit/device-bezel.js +56 -0
- package/dist/5-visual-kit/instagram-frame.d.ts +8 -0
- package/dist/5-visual-kit/instagram-frame.d.ts.map +1 -0
- package/dist/5-visual-kit/instagram-frame.js +13 -0
- package/dist/5-visual-kit/instagram.d.ts +18 -0
- package/dist/5-visual-kit/instagram.d.ts.map +1 -0
- package/dist/5-visual-kit/instagram.js +39 -0
- package/dist/5-visual-kit/mobile-chrome.d.ts +4 -0
- package/dist/5-visual-kit/mobile-chrome.d.ts.map +1 -0
- package/dist/5-visual-kit/mobile-chrome.js +24 -0
- package/dist/5-visual-kit/native-icon-paths.d.ts +146 -0
- package/dist/5-visual-kit/native-icon-paths.d.ts.map +1 -0
- package/dist/5-visual-kit/native-icon-paths.js +145 -0
- package/dist/5-visual-kit/window.d.ts +51 -0
- package/dist/5-visual-kit/window.d.ts.map +1 -0
- package/dist/5-visual-kit/window.js +20 -0
- package/dist/browser-icons-BFbS1tIx.js +56 -0
- package/dist/browser-icons-BFbS1tIx.js.map +1 -0
- package/dist/browser-icons-CT8qU77Z.js +48 -0
- package/dist/browser-icons-CT8qU77Z.js.map +1 -0
- package/dist/components.d.ts +1 -0
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +1 -0
- package/dist/design-system-1.bundle.js +5505 -2068
- package/dist/design-system-1.bundle.js.map +1 -1
- package/dist/design-system-1.bundle.min.js +7026 -4628
- package/dist/design-system-1.bundle.min.js.map +1 -1
- package/dist/design-system-1.css +1 -1
- package/dist/feedback.js +197 -167
- package/dist/feedback.js.map +1 -1
- package/dist/{icons-extra-CRxxWFjX.js → icons-extra-BMPvmQPI.js} +25 -4
- package/dist/icons-extra-BMPvmQPI.js.map +1 -0
- package/dist/{icons-extra-H5pqCM_R.js → icons-extra-BfYOw-cR.js} +83 -5
- package/dist/icons-extra-BfYOw-cR.js.map +1 -0
- package/dist/index.d.ts +12 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/instagram-CKofs55A.js +50 -0
- package/dist/instagram-CKofs55A.js.map +1 -0
- package/dist/instagram-CcYf5oiM.js +48 -0
- package/dist/instagram-CcYf5oiM.js.map +1 -0
- package/dist/lit-Ce_uWYM4.js +612 -0
- package/dist/lit-Ce_uWYM4.js.map +1 -0
- package/dist/lit-DGUVm1Ce.js +557 -0
- package/dist/lit-DGUVm1Ce.js.map +1 -0
- package/dist/native-icon-paths-CB9evXBM.js +93 -0
- package/dist/native-icon-paths-CB9evXBM.js.map +1 -0
- package/dist/native-icon-paths-zay-3g_n.js +150 -0
- package/dist/native-icon-paths-zay-3g_n.js.map +1 -0
- package/dist/react/avatar.d.ts +1 -1
- package/dist/react/choice.d.ts +4 -0
- package/dist/react/choice.d.ts.map +1 -1
- package/dist/react/choice.js +2 -2
- package/dist/react/context.d.ts +19 -4
- package/dist/react/context.d.ts.map +1 -1
- package/dist/react/context.js +4 -4
- package/dist/react/empty.d.ts +2 -2
- package/dist/react/empty.d.ts.map +1 -1
- package/dist/react/empty.js +1 -1
- package/dist/react/footer.d.ts +5 -5
- package/dist/react/footer.d.ts.map +1 -1
- package/dist/react/footer.js +2 -2
- package/dist/react/header.d.ts +2 -2
- package/dist/react/header.d.ts.map +1 -1
- package/dist/react/message.d.ts +4 -0
- package/dist/react/message.d.ts.map +1 -1
- package/dist/react/message.js +2 -2
- package/dist/react/number.d.ts +53 -0
- package/dist/react/number.d.ts.map +1 -0
- package/dist/react/number.js +25 -0
- package/dist/react/page.d.ts +1 -1
- package/dist/react/sidebar.d.ts +4 -0
- package/dist/react/sidebar.d.ts.map +1 -1
- package/dist/react/sidebar.js +2 -2
- package/dist/react/table-of-contents.d.ts +19 -0
- package/dist/react/table-of-contents.d.ts.map +1 -0
- package/dist/react/table-of-contents.js +28 -0
- package/dist/{shared-words-CdMDVtXx.js → shared-words-C5cjxMjZ.js} +151 -16
- package/dist/shared-words-C5cjxMjZ.js.map +1 -0
- package/dist/{shared-words-BtRee8xR.js → shared-words-Cdm7xd-_.js} +163 -28
- package/dist/shared-words-Cdm7xd-_.js.map +1 -0
- package/package.json +24 -13
- package/DS1/1-root/one.semantic.css +0 -735
- package/DS1/3-unit/ds-calendar-large.ts +0 -353
- package/DS1/3-unit/styles/ds-calendar-large.css +0 -178
- package/dist/3-unit/ds-calendar-large.d.ts +0 -142
- package/dist/3-unit/ds-calendar-large.d.ts.map +0 -1
- package/dist/3-unit/ds-calendar-large.js +0 -308
- package/dist/icons-extra-CRxxWFjX.js.map +0 -1
- package/dist/icons-extra-H5pqCM_R.js.map +0 -1
- package/dist/shared-words-BtRee8xR.js.map +0 -1
- package/dist/shared-words-CdMDVtXx.js.map +0 -1
package/dist/2-core/ds-cycle.js
CHANGED
|
@@ -3,6 +3,7 @@ import { define } from "../0-face/define";
|
|
|
3
3
|
import { translate, currentLanguage, getAvailableLanguagesSync, getLanguageDisplayName, setLanguage, } from "../0-face/i18n";
|
|
4
4
|
import { LANGUAGE_METADATA, isLanguage, normalizeLanguage } from "../0-face/languages";
|
|
5
5
|
import { currentThemeMode, setThemeMode, THEME_MODES } from "../0-face/theme";
|
|
6
|
+
import { getShape, setShape, SHAPES } from "../0-face/shape";
|
|
6
7
|
import { savePreferences } from "../0-face/preferences";
|
|
7
8
|
import "./ds-button";
|
|
8
9
|
import "./ds-icon";
|
|
@@ -19,20 +20,6 @@ const applyAccentColor = () => {
|
|
|
19
20
|
const color = getAccentColor();
|
|
20
21
|
document.documentElement.style.setProperty("--accent-color", `var(${color})`);
|
|
21
22
|
};
|
|
22
|
-
// Notes style medium utilities
|
|
23
|
-
const saveNotesStyleMedium = (style) => {
|
|
24
|
-
localStorage.setItem("notesStyleMedium", style);
|
|
25
|
-
};
|
|
26
|
-
const getNotesStyleMedium = () => {
|
|
27
|
-
return localStorage.getItem("notesStyleMedium") || "note"; // Default to note
|
|
28
|
-
};
|
|
29
|
-
// Note behavior utilities
|
|
30
|
-
const savePageStyle = (style) => {
|
|
31
|
-
localStorage.setItem("pageStyle", style);
|
|
32
|
-
};
|
|
33
|
-
const getPageStyle = () => {
|
|
34
|
-
return localStorage.getItem("pageStyle") || "note"; // Default to note
|
|
35
|
-
};
|
|
36
23
|
// App width utilities removed
|
|
37
24
|
// The settings a cycle knows by name. Any other cycle steps through its own
|
|
38
25
|
// `values` and reports each step as a `change` event.
|
|
@@ -50,7 +37,7 @@ export function nativeLanguageName(code) {
|
|
|
50
37
|
return LANGUAGE_METADATA[member].nativeLabel;
|
|
51
38
|
return getLanguageDisplayName(code, { locale: code });
|
|
52
39
|
}
|
|
53
|
-
const SETTINGS = new Set(["language", "theme", "
|
|
40
|
+
const SETTINGS = new Set(["language", "theme", "shape", "accent-color"]);
|
|
54
41
|
// Use a regular class with proper TypeScript type declarations and JSDoc comments
|
|
55
42
|
export class Cycle extends LitElement {
|
|
56
43
|
// Define reactive properties using Lit's property system
|
|
@@ -76,6 +63,11 @@ export class Cycle extends LitElement {
|
|
|
76
63
|
}
|
|
77
64
|
constructor() {
|
|
78
65
|
super();
|
|
66
|
+
/** Another control, or another tab, chose a shape. */
|
|
67
|
+
this.onShapeChanged = () => {
|
|
68
|
+
if (this.type === "shape")
|
|
69
|
+
this.setupInitialValue();
|
|
70
|
+
};
|
|
79
71
|
if (typeof this.attachInternals === "function")
|
|
80
72
|
this.attachInternals();
|
|
81
73
|
this._fieldsetDisabled = false;
|
|
@@ -98,7 +90,6 @@ export class Cycle extends LitElement {
|
|
|
98
90
|
handleLanguageChanged: this.handleLanguageChanged.bind(this),
|
|
99
91
|
handleThemeChanged: this.handleThemeChanged.bind(this),
|
|
100
92
|
handleAccentColorChanged: this.handleAccentColorChanged.bind(this),
|
|
101
|
-
handleNoteBehaviorChanged: this.handleNoteBehaviorChanged.bind(this),
|
|
102
93
|
};
|
|
103
94
|
}
|
|
104
95
|
formDisabledCallback(disabled) { this._fieldsetDisabled = disabled; }
|
|
@@ -109,8 +100,8 @@ export class Cycle extends LitElement {
|
|
|
109
100
|
window.addEventListener("translations-loaded", this.boundHandlers.translationsLoaded);
|
|
110
101
|
window.addEventListener("language-changed", this.boundHandlers.languageChanged);
|
|
111
102
|
window.addEventListener("theme-changed", this.boundHandlers.handleThemeChanged);
|
|
103
|
+
window.addEventListener("shape-changed", this.onShapeChanged);
|
|
112
104
|
window.addEventListener("accent-color-changed", this.boundHandlers.handleAccentColorChanged);
|
|
113
|
-
window.addEventListener("page-style-changed", this.boundHandlers.handleNoteBehaviorChanged);
|
|
114
105
|
// Initialize the component
|
|
115
106
|
this.initializeValues();
|
|
116
107
|
}
|
|
@@ -127,6 +118,11 @@ export class Cycle extends LitElement {
|
|
|
127
118
|
this.values = [...THEME_MODES];
|
|
128
119
|
this.currentValue = currentThemeMode.get();
|
|
129
120
|
}
|
|
121
|
+
else if (this.type === "shape") {
|
|
122
|
+
// Square, rounded and circular, the stored choice
|
|
123
|
+
this.values = [...SHAPES];
|
|
124
|
+
this.currentValue = getShape();
|
|
125
|
+
}
|
|
130
126
|
else if (this.type === "accent-color") {
|
|
131
127
|
// Set up accent color cycling
|
|
132
128
|
this.values = [
|
|
@@ -145,29 +141,6 @@ export class Cycle extends LitElement {
|
|
|
145
141
|
// Apply the accent color to ensure it's active
|
|
146
142
|
applyAccentColor();
|
|
147
143
|
}
|
|
148
|
-
else if (this.type === "notes-style-medium") {
|
|
149
|
-
// Set up notes style medium cycling
|
|
150
|
-
this.values = ["default", "big", "gallery"];
|
|
151
|
-
// Set initial value based on current notes style medium
|
|
152
|
-
const currentNotesStyle = getNotesStyleMedium();
|
|
153
|
-
this.currentValue = currentNotesStyle;
|
|
154
|
-
// Check if this should be disabled based on note behavior
|
|
155
|
-
const currentPageStyle = getPageStyle();
|
|
156
|
-
this.disabled = currentPageStyle === "note";
|
|
157
|
-
}
|
|
158
|
-
else if (this.type === "page-style") {
|
|
159
|
-
// Set up page style cycling
|
|
160
|
-
this.values = ["note", "page"];
|
|
161
|
-
// Set initial value based on current page style
|
|
162
|
-
const currentPageStyle = getPageStyle();
|
|
163
|
-
this.currentValue = currentPageStyle;
|
|
164
|
-
}
|
|
165
|
-
else if (this.type === "icon-only") {
|
|
166
|
-
// Set up icon-only cycling (no label)
|
|
167
|
-
this.values = ["note", "page"];
|
|
168
|
-
// Set initial value
|
|
169
|
-
this.currentValue = this.values[0];
|
|
170
|
-
}
|
|
171
144
|
// Request update to re-render with new values
|
|
172
145
|
this.requestUpdate();
|
|
173
146
|
}
|
|
@@ -188,6 +161,9 @@ export class Cycle extends LitElement {
|
|
|
188
161
|
// The stored choice, which may be the system's
|
|
189
162
|
this.currentValue = currentThemeMode.get();
|
|
190
163
|
}
|
|
164
|
+
else if (this.type === "shape") {
|
|
165
|
+
this.currentValue = getShape();
|
|
166
|
+
}
|
|
191
167
|
else if (this.type === "accent-color") {
|
|
192
168
|
// Get current accent color
|
|
193
169
|
const currentAccentColor = getAccentColor();
|
|
@@ -195,24 +171,6 @@ export class Cycle extends LitElement {
|
|
|
195
171
|
// Apply the accent color to ensure it's active
|
|
196
172
|
applyAccentColor();
|
|
197
173
|
}
|
|
198
|
-
else if (this.type === "notes-style-medium") {
|
|
199
|
-
// Get current notes style medium
|
|
200
|
-
const currentNotesStyle = getNotesStyleMedium();
|
|
201
|
-
this.currentValue = currentNotesStyle;
|
|
202
|
-
// Check if this should be disabled based on note behavior
|
|
203
|
-
const currentPageStyle = getPageStyle();
|
|
204
|
-
this.disabled = currentPageStyle === "note";
|
|
205
|
-
}
|
|
206
|
-
else if (this.type === "page-style") {
|
|
207
|
-
// Get current page style
|
|
208
|
-
const currentPageStyle = getPageStyle();
|
|
209
|
-
this.currentValue = currentPageStyle;
|
|
210
|
-
}
|
|
211
|
-
else if (this.type === "icon-only") {
|
|
212
|
-
// Get current page style for icon-only
|
|
213
|
-
const currentPageStyle = getPageStyle();
|
|
214
|
-
this.currentValue = currentPageStyle;
|
|
215
|
-
}
|
|
216
174
|
this.requestUpdate();
|
|
217
175
|
}
|
|
218
176
|
handleSettingsChanges() {
|
|
@@ -225,8 +183,8 @@ export class Cycle extends LitElement {
|
|
|
225
183
|
window.removeEventListener("translations-loaded", this.boundHandlers.translationsLoaded);
|
|
226
184
|
window.removeEventListener("language-changed", this.boundHandlers.languageChanged);
|
|
227
185
|
window.removeEventListener("theme-changed", this.boundHandlers.handleThemeChanged);
|
|
186
|
+
window.removeEventListener("shape-changed", this.onShapeChanged);
|
|
228
187
|
window.removeEventListener("accent-color-changed", this.boundHandlers.handleAccentColorChanged);
|
|
229
|
-
window.removeEventListener("page-style-changed", this.boundHandlers.handleNoteBehaviorChanged);
|
|
230
188
|
}
|
|
231
189
|
handleButtonClick(e) {
|
|
232
190
|
e.preventDefault();
|
|
@@ -267,6 +225,12 @@ export class Cycle extends LitElement {
|
|
|
267
225
|
savePreferences({ theme: newTheme });
|
|
268
226
|
// Theme helper already emits the change event, so no manual dispatch here
|
|
269
227
|
}
|
|
228
|
+
else if (this.type === "shape") {
|
|
229
|
+
const next = this.values[(this.values.indexOf(this.currentValue) + 1) % this.values.length];
|
|
230
|
+
this.currentValue = next;
|
|
231
|
+
// The runtime stores it, marks the root and emits shape-changed
|
|
232
|
+
setShape(next);
|
|
233
|
+
}
|
|
270
234
|
else if (this.type === "accent-color") {
|
|
271
235
|
// Cycle through accent colors
|
|
272
236
|
const currentIndex = this.values.indexOf(this.currentValue);
|
|
@@ -285,54 +249,6 @@ export class Cycle extends LitElement {
|
|
|
285
249
|
detail: { color: newColor },
|
|
286
250
|
}));
|
|
287
251
|
}
|
|
288
|
-
else if (this.type === "notes-style-medium") {
|
|
289
|
-
// Cycle through notes style medium options
|
|
290
|
-
const currentIndex = this.values.indexOf(this.currentValue);
|
|
291
|
-
const nextIndex = (currentIndex + 1) % this.values.length;
|
|
292
|
-
const newStyle = this.values[nextIndex];
|
|
293
|
-
// Update current value
|
|
294
|
-
this.currentValue = newStyle;
|
|
295
|
-
// Save the new notes style medium
|
|
296
|
-
saveNotesStyleMedium(newStyle);
|
|
297
|
-
// Save preferences
|
|
298
|
-
savePreferences({ notesStyleMedium: newStyle });
|
|
299
|
-
// Dispatch notes style medium change event
|
|
300
|
-
window.dispatchEvent(new CustomEvent("notes-style-medium-changed", {
|
|
301
|
-
detail: { style: newStyle },
|
|
302
|
-
}));
|
|
303
|
-
}
|
|
304
|
-
else if (this.type === "page-style") {
|
|
305
|
-
// Cycle through note behavior options
|
|
306
|
-
const currentIndex = this.values.indexOf(this.currentValue);
|
|
307
|
-
const nextIndex = (currentIndex + 1) % this.values.length;
|
|
308
|
-
const newBehavior = this.values[nextIndex];
|
|
309
|
-
// Update current value
|
|
310
|
-
this.currentValue = newBehavior;
|
|
311
|
-
// Save the new note behavior
|
|
312
|
-
savePageStyle(newBehavior);
|
|
313
|
-
// Save preferences
|
|
314
|
-
savePreferences({ pageStyle: newBehavior });
|
|
315
|
-
// Dispatch note behavior change event
|
|
316
|
-
window.dispatchEvent(new CustomEvent("page-style-changed", {
|
|
317
|
-
detail: { behavior: newBehavior },
|
|
318
|
-
}));
|
|
319
|
-
}
|
|
320
|
-
else if (this.type === "icon-only") {
|
|
321
|
-
// Cycle through icon-only options (note/page)
|
|
322
|
-
const currentIndex = this.values.indexOf(this.currentValue);
|
|
323
|
-
const nextIndex = (currentIndex + 1) % this.values.length;
|
|
324
|
-
const newIconOnlyValue = this.values[nextIndex];
|
|
325
|
-
// Update current value
|
|
326
|
-
this.currentValue = newIconOnlyValue;
|
|
327
|
-
// Save the new page style
|
|
328
|
-
savePageStyle(newIconOnlyValue);
|
|
329
|
-
// Save preferences
|
|
330
|
-
savePreferences({ pageStyle: newIconOnlyValue });
|
|
331
|
-
// Dispatch page style change event
|
|
332
|
-
window.dispatchEvent(new CustomEvent("page-style-changed", {
|
|
333
|
-
detail: { behavior: newIconOnlyValue },
|
|
334
|
-
}));
|
|
335
|
-
}
|
|
336
252
|
else if (!SETTINGS.has(this.type)) {
|
|
337
253
|
const next = this.values[(this.values.indexOf(this.currentValue) + 1) % this.values.length];
|
|
338
254
|
this.currentValue = this.value = next;
|
|
@@ -345,6 +261,12 @@ export class Cycle extends LitElement {
|
|
|
345
261
|
if (this.type === "language") {
|
|
346
262
|
return nativeLanguageName(value);
|
|
347
263
|
}
|
|
264
|
+
else if (this.type === "shape") {
|
|
265
|
+
// Square, Rounded or Circular, in the shared words
|
|
266
|
+
const word = value.charAt(0).toUpperCase() + value.slice(1);
|
|
267
|
+
const translated = this.translationsReady ? translate(word) : "";
|
|
268
|
+
return translated && translated !== word ? translated : word;
|
|
269
|
+
}
|
|
348
270
|
else if (this.type === "theme") {
|
|
349
271
|
// Try to get translated theme name
|
|
350
272
|
if (this.translationsReady) {
|
|
@@ -360,31 +282,6 @@ export class Cycle extends LitElement {
|
|
|
360
282
|
// Get color name from CSS variable
|
|
361
283
|
return this.getColorName(value);
|
|
362
284
|
}
|
|
363
|
-
else if (this.type === "notes-style-medium") {
|
|
364
|
-
// Return SVG icon for notes style medium
|
|
365
|
-
return this.getNotesStyleIcon(value);
|
|
366
|
-
}
|
|
367
|
-
else if (this.type === "page-style") {
|
|
368
|
-
// Return translated text for note behavior
|
|
369
|
-
if (this.translationsReady) {
|
|
370
|
-
const translatedText = translate(value === "note" ? "Note" : "Page");
|
|
371
|
-
if (translatedText &&
|
|
372
|
-
translatedText !== (value === "note" ? "Note" : "Page")) {
|
|
373
|
-
return translatedText;
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
return value;
|
|
377
|
-
}
|
|
378
|
-
else if (this.type === "icon-only") {
|
|
379
|
-
// Return SVG icon for icon-only type (note/page icons)
|
|
380
|
-
if (value === "note") {
|
|
381
|
-
return html `<ds-icon type="note"></ds-icon>`;
|
|
382
|
-
}
|
|
383
|
-
else if (value === "page") {
|
|
384
|
-
return html `<ds-icon type="page"></ds-icon>`;
|
|
385
|
-
}
|
|
386
|
-
return html `<span>${value}</span>`;
|
|
387
|
-
}
|
|
388
285
|
return value;
|
|
389
286
|
}
|
|
390
287
|
getColorKey(colorVar) {
|
|
@@ -423,24 +320,6 @@ export class Cycle extends LitElement {
|
|
|
423
320
|
// Fallback to simple name conversion
|
|
424
321
|
return colorVar.replace("--", "").replace("-", " ");
|
|
425
322
|
}
|
|
426
|
-
getNotesStyleIcon(style) {
|
|
427
|
-
if (style === "page") {
|
|
428
|
-
return html `<ds-icon type="page"></ds-icon>`;
|
|
429
|
-
}
|
|
430
|
-
else if (style === "note") {
|
|
431
|
-
return html `<ds-icon type="note"></ds-icon>`;
|
|
432
|
-
}
|
|
433
|
-
else if (style === "default") {
|
|
434
|
-
return html `<ds-icon type="default"></ds-icon>`;
|
|
435
|
-
}
|
|
436
|
-
else if (style === "big") {
|
|
437
|
-
return html `<ds-icon type="big"></ds-icon>`;
|
|
438
|
-
}
|
|
439
|
-
else if (style === "gallery") {
|
|
440
|
-
return html `<ds-icon type="gallery"></ds-icon>`;
|
|
441
|
-
}
|
|
442
|
-
return html `<span>${style}</span>`;
|
|
443
|
-
}
|
|
444
323
|
/**
|
|
445
324
|
* A cycle without a stated look takes the one its type has always had: the
|
|
446
325
|
* language and theme cycles are grey chips, every other one, the accent
|
|
@@ -476,8 +355,6 @@ export class Cycle extends LitElement {
|
|
|
476
355
|
return translate(value === "light" ? "Light" : value === "dark" ? "Dark" : "System");
|
|
477
356
|
if (this.type === "accent-color")
|
|
478
357
|
return translate(this.getColorKey(value));
|
|
479
|
-
if (this.type === "page-style" || this.type === "icon-only")
|
|
480
|
-
return translate(value === "note" ? "Note" : "Page");
|
|
481
358
|
return value;
|
|
482
359
|
}
|
|
483
360
|
/** "Size: 40" when the cycle has a label, so the control is named while its face shows the value alone. */
|
|
@@ -519,28 +396,19 @@ export class Cycle extends LitElement {
|
|
|
519
396
|
?disabled=${this.disabled || this._fieldsetDisabled}
|
|
520
397
|
@click=${this.handleButtonClick}
|
|
521
398
|
>
|
|
522
|
-
${this.type === "
|
|
523
|
-
? html `<
|
|
524
|
-
style="display: inline-flex; align-items: center; gap: var(--025)"
|
|
525
|
-
>${this.getValueDisplay(this.currentValue)}</span
|
|
526
|
-
>`
|
|
527
|
-
: this.type === "language"
|
|
528
|
-
? html `<ds-text
|
|
399
|
+
${this.type === "language"
|
|
400
|
+
? html `<ds-text
|
|
529
401
|
literal text=${this.getValueDisplay(this.currentValue)}
|
|
530
402
|
></ds-text>`
|
|
531
|
-
|
|
532
|
-
|
|
403
|
+
: this.type === "theme"
|
|
404
|
+
? html `<ds-text
|
|
533
405
|
text=${this.currentValue === "light" ? "Light" : this.currentValue === "dark" ? "Dark" : "System"}
|
|
534
406
|
></ds-text>`
|
|
535
|
-
|
|
536
|
-
|
|
407
|
+
: this.type === "accent-color"
|
|
408
|
+
? html `<ds-text
|
|
537
409
|
text=${this.getColorKey(this.currentValue)}
|
|
538
410
|
></ds-text>`
|
|
539
|
-
|
|
540
|
-
? html `<ds-text
|
|
541
|
-
text=${this.currentValue === "note" ? "Note" : "Page"}
|
|
542
|
-
></ds-text>`
|
|
543
|
-
: html `<ds-text
|
|
411
|
+
: html `<ds-text
|
|
544
412
|
literal text=${this.getValueDisplay(this.currentValue)}
|
|
545
413
|
></ds-text>`}
|
|
546
414
|
</ds-button>
|
|
@@ -565,9 +433,6 @@ export class Cycle extends LitElement {
|
|
|
565
433
|
handleAccentColorChanged() {
|
|
566
434
|
this.setupInitialValue();
|
|
567
435
|
}
|
|
568
|
-
handleNoteBehaviorChanged() {
|
|
569
|
-
this.setupInitialValue();
|
|
570
|
-
}
|
|
571
436
|
}
|
|
572
437
|
Cycle.formAssociated = true;
|
|
573
438
|
Cycle.styles = unsafeCSS(styles);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ds-device-bezel.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-device-bezel.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../5-visual-kit/device-bezel';
|
|
@@ -8,8 +8,8 @@ export declare const EMPTY_HEADING = "Nothing here yet";
|
|
|
8
8
|
* stand with `literal`. Unset, the shared words' "Nothing here yet".
|
|
9
9
|
* @prop {string} text - The line under it: a translation key, or literal words.
|
|
10
10
|
* @prop {boolean} literal - Show `heading` and `text` as written, never looked up.
|
|
11
|
-
* @prop {string} icon - An icon from the library
|
|
12
|
-
* @prop {boolean} centered - Centre the words in the space the element stands in.
|
|
11
|
+
* @prop {string} icon - An icon from the library inline before the title.
|
|
12
|
+
* @prop {boolean} centered - Centre the words in the space the element stands in (the default).
|
|
13
13
|
* @prop {number} level - Make the title a heading of this level (1–6).
|
|
14
14
|
* @prop {string} tone - `done`: empty because everything is finished; the
|
|
15
15
|
* check (or `icon`) on a mark in the success green, the title in that green.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-empty.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-empty.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAA4B,MAAM,KAAK,CAAC;AAG3D,OAAO,WAAW,CAAC;AAKnB,2EAA2E;AAC3E,eAAO,MAAM,aAAa,qBAAqB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,KAAM,SAAQ,UAAU;IACnC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;MAQf;IAEF,MAAM,CAAC,MAAM,4BAA6D;IAElE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;;IAQtD,iBAAiB;IAMjB,oBAAoB;IAMpB,OAAO,CAAC,KAAK;IAKb;;;;;OAKG;IACH,OAAO,CAAC,OAAO;IAMf,MAAM;
|
|
1
|
+
{"version":3,"file":"ds-empty.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-empty.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAA4B,MAAM,KAAK,CAAC;AAG3D,OAAO,WAAW,CAAC;AAKnB,2EAA2E;AAC3E,eAAO,MAAM,aAAa,qBAAqB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,KAAM,SAAQ,UAAU;IACnC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;MAQf;IAEF,MAAM,CAAC,MAAM,4BAA6D;IAElE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;;IAQtD,iBAAiB;IAMjB,oBAAoB;IAMpB,OAAO,CAAC,KAAK;IAKb;;;;;OAKG;IACH,OAAO,CAAC,OAAO;IAMf,MAAM;CAwBP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,KAAK,CAAC;KACnB;CACF"}
|
package/dist/2-core/ds-empty.js
CHANGED
|
@@ -16,8 +16,8 @@ export const EMPTY_HEADING = "Nothing here yet";
|
|
|
16
16
|
* stand with `literal`. Unset, the shared words' "Nothing here yet".
|
|
17
17
|
* @prop {string} text - The line under it: a translation key, or literal words.
|
|
18
18
|
* @prop {boolean} literal - Show `heading` and `text` as written, never looked up.
|
|
19
|
-
* @prop {string} icon - An icon from the library
|
|
20
|
-
* @prop {boolean} centered - Centre the words in the space the element stands in.
|
|
19
|
+
* @prop {string} icon - An icon from the library inline before the title.
|
|
20
|
+
* @prop {boolean} centered - Centre the words in the space the element stands in (the default).
|
|
21
21
|
* @prop {number} level - Make the title a heading of this level (1–6).
|
|
22
22
|
* @prop {string} tone - `done`: empty because everything is finished; the
|
|
23
23
|
* check (or `icon`) on a mark in the success green, the title in that green.
|
|
@@ -37,7 +37,7 @@ export class Empty extends LitElement {
|
|
|
37
37
|
super();
|
|
38
38
|
this.relabel = () => this.requestUpdate();
|
|
39
39
|
this.literal = false;
|
|
40
|
-
this.centered =
|
|
40
|
+
this.centered = true;
|
|
41
41
|
}
|
|
42
42
|
connectedCallback() {
|
|
43
43
|
super.connectedCallback();
|
|
@@ -76,13 +76,15 @@ export class Empty extends LitElement {
|
|
|
76
76
|
const hasActions = this.slotted("actions");
|
|
77
77
|
const level = this.level && this.level >= 1 && this.level <= 6 ? Math.round(this.level) : undefined;
|
|
78
78
|
const changed = () => this.requestUpdate();
|
|
79
|
-
return html `<div class="ds-empty${this.centered ? " ds-empty--centered" : ""}${done ? " ds-empty--done" : ""}" part="empty">
|
|
79
|
+
return html `<div class="ds-empty${this.centered ? " ds-empty--centered" : " ds-empty--start"}${done ? " ds-empty--done" : ""}" part="empty">
|
|
80
|
+
<div class="ds-empty__heading" part="heading">
|
|
80
81
|
<div class="ds-empty__icon" part="icon" aria-hidden="true" ?hidden=${!hasIcon}>
|
|
81
82
|
<slot name="icon" @slotchange=${changed}>${icon ? html `<ds-icon size=${done ? "small" : "large"} .type=${icon}></ds-icon>` : nothing}</slot>
|
|
82
83
|
</div>
|
|
83
84
|
<div class="ds-empty__title" part="title" role=${level ? "heading" : nothing} aria-level=${level ?? nothing}>
|
|
84
85
|
<slot name="heading" @slotchange=${changed}>${heading}</slot>
|
|
85
86
|
</div>
|
|
87
|
+
</div>
|
|
86
88
|
<div class="ds-empty__text" part="text" ?hidden=${!hasText}><slot @slotchange=${changed}></slot>${slottedText ? nothing : text}</div>
|
|
87
89
|
<div class="ds-empty__actions" part="actions" ?hidden=${!hasActions}><slot name="actions" @slotchange=${changed}></slot></div>
|
|
88
90
|
</div>`;
|
|
@@ -98,6 +98,13 @@ export declare class Input extends LitElement {
|
|
|
98
98
|
formDisabledCallback(disabled: boolean): void;
|
|
99
99
|
formResetCallback(): void;
|
|
100
100
|
formStateRestoreCallback(state: string | File | FormData): void;
|
|
101
|
+
/**
|
|
102
|
+
* What the browser may fill in. Without `autocomplete` an email, phone,
|
|
103
|
+
* web address or password field says what it holds (a sign-up's password
|
|
104
|
+
* sets "new-password"), and any other field is left to the browser, as a
|
|
105
|
+
* native input is; "off" still turns it off.
|
|
106
|
+
*/
|
|
107
|
+
protected resolvedAutocomplete(): string | undefined;
|
|
101
108
|
protected accessibleLabel(): string | undefined;
|
|
102
109
|
private togglePassword;
|
|
103
110
|
private handleKeyDown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-input.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-input.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAmB,KAAK,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,KAAK,CAAC;AAQlG,OAAO,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ds-input.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-input.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAmB,KAAK,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,KAAK,CAAC;AAQlG,OAAO,WAAW,CAAC;AAWnB,qBAAa,KAAM,SAAQ,UAAU;IACnC,MAAM,CAAC,cAAc,UAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAE7B;IACF,OAAO,CAAC,SAAS,CAA8E;IAC/F,OAAO,CAAC,YAAY,CAAqB;IACzC,MAAM,CAAC,UAAU,EAAE,oBAAoB,CA4CrC;IAEM,IAAI,EACR,MAAM,GACN,UAAU,GACV,OAAO,GACP,QAAQ,GACR,KAAK,GACL,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,gBAAgB,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACtC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IACrD,SAAS,EAAE,MAAM,CAAC;IAC1B,mGAAmG;IAC3F,YAAY,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACK,IAAI,EAAE,MAAM,CAAC;IACrB,+EAA+E;IACvE,WAAW,EAAE,SAAS,CAAC,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IAC7E,OAAO,CAAC,YAAY,CAAC,CAAmB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,aAAa,CAAqC;;IAyD1D,MAAM,CAAC,MAAM,EAAE,cAAc,CAAqB;IAElD,iBAAiB;IAyBjB,oBAAoB;IAYpB,YAAY,IAAI,IAAI;IAQpB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAK/C,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAa/C,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,WAAW;IASnB,8EAA8E;IAC9E,SAAS,CAAC,iBAAiB,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE;IAMlE,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE;IAMxE,SAAS,KAAK,KAAK,IAAI,gBAAgB,GAAG,mBAAmB,GAAG,IAAI,CAEnE;IACD,SAAS,KAAK,WAAW,IAAI,OAAO,CAEnC;IACD,IAAI,cAAc,IAAI,MAAM,GAAG,IAAI,CAElC;IACD,IAAI,YAAY,IAAI,MAAM,GAAG,IAAI,CAEhC;IACD,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,IAAI;IAGhG,IAAI,aAAa,IAAI,MAAM,CAG1B;IACD,IAAI,MAAM,IAAI,QAAQ,GAAG,SAAS,CAEjC;IACD,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;IACD,IAAI,QAAQ,IAAI,aAAa,GAAG,SAAS,CAExC;IACD,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IACD,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,OAAO,CAAC,QAAQ;IAShB,aAAa,IAAI,OAAO;IAIxB,cAAc,IAAI,OAAO;IAIzB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAO7C,iBAAiB,IAAI,IAAI;IAMzB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI;IAO/D;;;;;OAKG;IACH,SAAS,CAAC,oBAAoB,IAAI,MAAM,GAAG,SAAS;IAMpD,SAAS,CAAC,eAAe,IAAI,MAAM,GAAG,SAAS;IAsB/C,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,aAAa;IAiDrB,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAO1C,OAAO,CAAC,gBAAgB;IAkBxB,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAatC,SAAS,CAAC,YAAY,IAAI,IAAI;IAK9B,SAAS,CAAC,WAAW,IAAI,IAAI;IAK7B;;OAEG;IACH,0EAA0E;IAC1E,SAAS,IAAI,IAAI;IAEjB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAInC;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACH,MAAM,IAAI,IAAI;IAId,uEAAuE;IACvE,OAAO,CAAC,eAAe;IAyBvB,gEAAgE;IAChE,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM;IAgChE,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM;IAqC9D,MAAM;CA+DP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,KAAK,CAAC;KACnB;CACF"}
|
package/dist/2-core/ds-input.js
CHANGED
|
@@ -10,6 +10,13 @@ import unseeIcon from "../x-icon/password-unsee.svg?url";
|
|
|
10
10
|
import { getText, currentLanguage } from "../0-face/i18n";
|
|
11
11
|
import "./ds-text";
|
|
12
12
|
import styles from "./styles/ds-input.css?inline";
|
|
13
|
+
/** The autofill a field's type implies when it names none of its own. */
|
|
14
|
+
const TYPE_AUTOCOMPLETE = {
|
|
15
|
+
email: "email",
|
|
16
|
+
tel: "tel",
|
|
17
|
+
url: "url",
|
|
18
|
+
password: "current-password",
|
|
19
|
+
};
|
|
13
20
|
export class Input extends LitElement {
|
|
14
21
|
constructor() {
|
|
15
22
|
super();
|
|
@@ -50,7 +57,7 @@ export class Input extends LitElement {
|
|
|
50
57
|
this.readonly = false;
|
|
51
58
|
this.required = false;
|
|
52
59
|
this.autofocus = false;
|
|
53
|
-
this.autocomplete = "
|
|
60
|
+
this.autocomplete = "";
|
|
54
61
|
this.pattern = "";
|
|
55
62
|
this.minlength = 0;
|
|
56
63
|
this.maxlength = -1;
|
|
@@ -234,6 +241,19 @@ export class Input extends LitElement {
|
|
|
234
241
|
this.internals?.setFormValue(state);
|
|
235
242
|
}
|
|
236
243
|
}
|
|
244
|
+
/**
|
|
245
|
+
* What the browser may fill in. Without `autocomplete` an email, phone,
|
|
246
|
+
* web address or password field says what it holds (a sign-up's password
|
|
247
|
+
* sets "new-password"), and any other field is left to the browser, as a
|
|
248
|
+
* native input is; "off" still turns it off.
|
|
249
|
+
*/
|
|
250
|
+
resolvedAutocomplete() {
|
|
251
|
+
if (this.autocomplete)
|
|
252
|
+
return this.autocomplete;
|
|
253
|
+
if (this.multiline)
|
|
254
|
+
return undefined;
|
|
255
|
+
return TYPE_AUTOCOMPLETE[this.type];
|
|
256
|
+
}
|
|
237
257
|
accessibleLabel() {
|
|
238
258
|
if (this.ariaLabel)
|
|
239
259
|
return this.ariaLabel;
|
|
@@ -415,7 +435,7 @@ export class Input extends LitElement {
|
|
|
415
435
|
?readonly=${this.readonly}
|
|
416
436
|
?required=${this.required}
|
|
417
437
|
?autofocus=${this.autofocus}
|
|
418
|
-
autocomplete=${this.
|
|
438
|
+
autocomplete=${ifDefined(this.resolvedAutocomplete())}
|
|
419
439
|
minlength=${ifDefined(this.minlength || undefined)}
|
|
420
440
|
maxlength=${ifDefined(this.maxlength >= 0 ? this.maxlength : undefined)}
|
|
421
441
|
rows=${rows}
|
|
@@ -450,7 +470,7 @@ export class Input extends LitElement {
|
|
|
450
470
|
?readonly=${this.readonly}
|
|
451
471
|
?required=${this.required}
|
|
452
472
|
?autofocus=${this.autofocus}
|
|
453
|
-
autocomplete=${this.
|
|
473
|
+
autocomplete=${ifDefined(this.resolvedAutocomplete())}
|
|
454
474
|
pattern=${ifDefined(this.pattern || undefined)}
|
|
455
475
|
minlength=${ifDefined(this.minlength || undefined)}
|
|
456
476
|
maxlength=${ifDefined(this.maxlength >= 0 ? this.maxlength : undefined)}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { type Failure } from "../0-face/failures";
|
|
1
2
|
import { LitElement, nothing, type PropertyValues } from "lit";
|
|
3
|
+
import { CutFades } from "../0-face/cut-fade";
|
|
2
4
|
import "./ds-icon";
|
|
3
5
|
import "./ds-toast";
|
|
4
6
|
import type { ToastPosition } from "../0-face/toast-queue";
|
|
@@ -57,6 +59,9 @@ export interface MessageDismissDetail {
|
|
|
57
59
|
*/
|
|
58
60
|
export declare class Message extends LitElement {
|
|
59
61
|
static properties: {
|
|
62
|
+
failure: {
|
|
63
|
+
attribute: boolean;
|
|
64
|
+
};
|
|
60
65
|
expand: {
|
|
61
66
|
type: BooleanConstructor;
|
|
62
67
|
};
|
|
@@ -139,6 +144,11 @@ export declare class Message extends LitElement {
|
|
|
139
144
|
};
|
|
140
145
|
};
|
|
141
146
|
static styles: import("lit").CSSResult[];
|
|
147
|
+
/** Words cut short fade over their last square, never an ellipsis: marks them `data-cut="end"` while they do not fit. */
|
|
148
|
+
protected readonly cuts: CutFades;
|
|
149
|
+
/** Authored diagnostic for a real failure; never derived from slotted user content. */
|
|
150
|
+
failure: Failure | undefined;
|
|
151
|
+
private reportedFailure;
|
|
142
152
|
expand: boolean;
|
|
143
153
|
visibleToasts: number;
|
|
144
154
|
richColors: boolean;
|
|
@@ -174,6 +184,7 @@ export declare class Message extends LitElement {
|
|
|
174
184
|
connectedCallback(): void;
|
|
175
185
|
disconnectedCallback(): void;
|
|
176
186
|
protected willUpdate(changed: PropertyValues<this>): void;
|
|
187
|
+
protected updated(changed: PropertyValues<this>): void;
|
|
177
188
|
private get app();
|
|
178
189
|
/** Decides where the app banner shows, before it draws, so it never pops in after the page. */
|
|
179
190
|
private place;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-message.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-message.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAQ,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGhF,OAAO,WAAW,CAAC;AACnB,OAAO,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,YAAY,IAAI,cAAc,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClG,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,KAAK,CAAC;AAK9E,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEvE,qEAAqE;AACrE,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAK/D,CAAC;AAEF,kGAAkG;AAClG,MAAM,WAAW,oBAAoB;IAAG,IAAI,EAAE,WAAW,CAAA;CAAE;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBAAa,OAAQ,SAAQ,UAAU;IACrC,MAAM,CAAC,UAAU
|
|
1
|
+
{"version":3,"file":"ds-message.d.ts","sourceRoot":"","sources":["../../DS1/2-core/ds-message.ts"],"names":[],"mappings":"AAOA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAQ,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGhF,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,WAAW,CAAC;AACnB,OAAO,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,YAAY,IAAI,cAAc,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClG,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,KAAK,CAAC;AAK9E,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEvE,qEAAqE;AACrE,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAK/D,CAAC;AAEF,kGAAkG;AAClG,MAAM,WAAW,oBAAoB;IAAG,IAAI,EAAE,WAAW,CAAA;CAAE;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBAAa,OAAQ,SAAQ,UAAU;IACrC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAyBf;IAEF,MAAM,CAAC,MAAM,4BAAgE;IAC7E,yHAAyH;IACzH,SAAS,CAAC,QAAQ,CAAC,IAAI,WAA2E;IAElG,uFAAuF;IAC/E,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,eAAe,CAAM;IAErB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,YAAY,SAAwB;IAEtC,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACzB,oEAAoE;IACpE,OAAO,CAAC,SAAS,CAA8B;IAE/C,8EAA8E;IAC9E,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;;IAqBtD,6DAA6D;IAC7D,IAAI,YAAY,IAAI,WAAW,CAE9B;IAED,iBAAiB;IAOjB,oBAAoB;IAMpB,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;IAOlD,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;IAa/C,OAAO,KAAK,GAAG,GAEd;IAED,+FAA+F;IAC/F,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,KAAK;IAKb;;;;;OAKG;IACH,OAAO,CAAC,OAAO;IAMf,qFAAqF;IACrF,OAAO,IAAI,OAAO;IAWlB,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,SAAS;IAiBjB,MAAM;CAyBP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,OAAO,CAAC;KACvB;CACF"}
|
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
// its positioning context instead; with `form="app"`, a row at the top of the
|
|
5
5
|
// page leading to the site's iPhone app (0-face/app-banner.ts decides where).
|
|
6
6
|
// Drawn by 1-root/notice.css, the same classes a page without scripts writes.
|
|
7
|
+
import { reportFailure } from "../0-face/failures";
|
|
7
8
|
import { LitElement, html, nothing, unsafeCSS } from "lit";
|
|
8
9
|
import { getText } from "../0-face/i18n";
|
|
9
10
|
import { define } from "../0-face/define";
|
|
11
|
+
import { CutFades } from "../0-face/cut-fade";
|
|
10
12
|
import "./ds-icon";
|
|
11
13
|
import "./ds-toast";
|
|
12
14
|
import { appBannerPlacement, appStoreUrl, closeAppBanner, ensureSmartAppBanner, openApp } from "../0-face/app-banner";
|
|
@@ -68,6 +70,9 @@ export const MESSAGE_ICONS = {
|
|
|
68
70
|
export class Message extends LitElement {
|
|
69
71
|
constructor() {
|
|
70
72
|
super();
|
|
73
|
+
/** Words cut short fade over their last square, never an ellipsis: marks them `data-cut="end"` while they do not fit. */
|
|
74
|
+
this.cuts = new CutFades(this, { selector: ".ds-notice__title, .ds-notice__text" });
|
|
75
|
+
this.reportedFailure = "";
|
|
71
76
|
this.dismissEvent = "ds-message-dismiss";
|
|
72
77
|
/** (app) Where this device shows it, decided before each render. */
|
|
73
78
|
this.placement = "none";
|
|
@@ -114,6 +119,18 @@ export class Message extends LitElement {
|
|
|
114
119
|
else if (changed.get("form") === "app")
|
|
115
120
|
this.hidden = false;
|
|
116
121
|
}
|
|
122
|
+
updated(changed) {
|
|
123
|
+
super.updated(changed);
|
|
124
|
+
if (!this.failure || this.hidden || this.form === "toast" || this.form === "app") {
|
|
125
|
+
this.reportedFailure = "";
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const key = JSON.stringify(this.failure);
|
|
129
|
+
if (key !== this.reportedFailure) {
|
|
130
|
+
this.reportedFailure = key;
|
|
131
|
+
reportFailure(this.failure);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
117
134
|
get app() {
|
|
118
135
|
return { appId: this.appId, appUrl: this.appUrl, open: this.open, key: this.remember };
|
|
119
136
|
}
|
|
@@ -217,6 +234,7 @@ export class Message extends LitElement {
|
|
|
217
234
|
}
|
|
218
235
|
}
|
|
219
236
|
Message.properties = {
|
|
237
|
+
failure: { attribute: false },
|
|
220
238
|
expand: { type: Boolean },
|
|
221
239
|
visibleToasts: { type: Number, attribute: "visible-toasts" },
|
|
222
240
|
richColors: { type: Boolean, attribute: "rich-colors" },
|