@0001-labs/design-system-1 0.3.0-alpha.28 → 0.3.1
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 +443 -0
- package/DS1/0-face/constraint-site.ts +201 -0
- package/DS1/0-face/constraints.ts +308 -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/fault-lines.ts +159 -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/material.css +67 -0
- package/DS1/1-root/notice.css +10 -2
- package/DS1/1-root/one.css +15 -7
- 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 +75 -7
- 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 +47 -13
- package/DS1/2-core/styles/ds-button-split.css +8 -0
- package/DS1/2-core/styles/ds-button.css +94 -20
- 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 +34 -6
- 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/context-trigger.ts +29 -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 +47 -11
- 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-table.ts +2 -1
- 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-container.ts +2 -1
- 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 +3 -3
- 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 +451 -0
- package/dist/0-face/constraint-site.d.ts +73 -0
- package/dist/0-face/constraint-site.d.ts.map +1 -0
- package/dist/0-face/constraint-site.js +186 -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 +274 -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/fault-lines.d.ts +20 -0
- package/dist/0-face/fault-lines.d.ts.map +1 -0
- package/dist/0-face/fault-lines.js +172 -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/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 +12 -0
- package/dist/2-core/ds-avatar.d.ts.map +1 -1
- package/dist/2-core/ds-avatar.js +86 -7
- 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/context-trigger.d.ts.map +1 -1
- package/dist/3-unit/context-trigger.js +32 -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 +52 -11
- 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-table.d.ts.map +1 -1
- package/dist/3-unit/ds-table.js +2 -1
- 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-container.d.ts.map +1 -1
- package/dist/4-page/ds-container.js +2 -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 +5874 -2097
- package/dist/design-system-1.bundle.js.map +1 -1
- package/dist/design-system-1.bundle.min.js +7332 -4682
- 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 +25 -12
- 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
|
@@ -130,6 +130,8 @@ export declare class Carousel extends LitElement {
|
|
|
130
130
|
paused: boolean;
|
|
131
131
|
/** The strip's drive: the bleed's measures, the loop's copies and autoplay. */
|
|
132
132
|
private drive;
|
|
133
|
+
/** Stops the strip's drag (dragTrack); started with the track, again when the element comes back to a page. */
|
|
134
|
+
private undrag;
|
|
133
135
|
/** Attributes this element wrote, so what the page wrote is left alone. */
|
|
134
136
|
private readonly own;
|
|
135
137
|
/** A slide asked for by `current`, a dot or a button, kept until its scroll stops. */
|
|
@@ -149,6 +151,7 @@ export declare class Carousel extends LitElement {
|
|
|
149
151
|
private get track();
|
|
150
152
|
/** The slide in view, inside the count. */
|
|
151
153
|
private get index();
|
|
154
|
+
private startDrag;
|
|
152
155
|
connectedCallback(): void;
|
|
153
156
|
disconnectedCallback(): void;
|
|
154
157
|
private words;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-carousel.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-carousel.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAA4B,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAIhF,OAAO,mBAAmB,CAAC;AAC3B,OAAO,uBAAuB,CAAC;AAO/B,uEAAuE;AACvE,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBAAa,QAAS,SAAQ,UAAU;IACtC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCASU,MAAM,GAAG,IAAI;qCACf,MAAM,GAAG,MAAM,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAUlD;IAEF,MAAM,CAAC,MAAM,4BAAqF;IAE1F,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACxC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IACxB,+EAA+E;IAC/E,OAAO,CAAC,KAAK,CAA8B;
|
|
1
|
+
{"version":3,"file":"ds-carousel.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-carousel.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { LitElement, html, nothing, unsafeCSS } from "lit";
|
|
9
9
|
import { getText } from "../0-face/i18n";
|
|
10
10
|
import { define } from "../0-face/define";
|
|
11
|
-
import { COPY, autoplayInterval, bleedOf, driveCarousel, nearestSlide, prefersReducedMotion, scrollToSlide } from "../0-face/carousel";
|
|
11
|
+
import { COPY, autoplayInterval, bleedOf, dragTrack, driveCarousel, nearestSlide, prefersReducedMotion, scrollToSlide } from "../0-face/carousel";
|
|
12
12
|
import "../2-core/ds-icon";
|
|
13
13
|
import "../2-core/ds-progress";
|
|
14
14
|
import metrics from "../1-root/component-metrics.css?inline";
|
|
@@ -128,8 +128,16 @@ export class Carousel extends LitElement {
|
|
|
128
128
|
const current = Number.isFinite(this.current) ? Math.floor(this.current) : 0;
|
|
129
129
|
return Math.max(0, Math.min(this.count - 1, current));
|
|
130
130
|
}
|
|
131
|
+
startDrag() {
|
|
132
|
+
const track = this.track;
|
|
133
|
+
if (track && !this.undrag)
|
|
134
|
+
this.undrag = dragTrack(track, () => { if (!this.loop)
|
|
135
|
+
this.move(nearestSlide(track, this.slides, this.index)); });
|
|
136
|
+
}
|
|
131
137
|
connectedCallback() {
|
|
132
138
|
super.connectedCallback();
|
|
139
|
+
if (this.hasUpdated)
|
|
140
|
+
this.startDrag();
|
|
133
141
|
window.addEventListener("language-changed", this.relabel);
|
|
134
142
|
window.addEventListener("translations-loaded", this.relabel);
|
|
135
143
|
}
|
|
@@ -140,6 +148,8 @@ export class Carousel extends LitElement {
|
|
|
140
148
|
clearTimeout(this.settle);
|
|
141
149
|
this.drive?.stop();
|
|
142
150
|
this.drive = null;
|
|
151
|
+
this.undrag?.();
|
|
152
|
+
this.undrag = undefined;
|
|
143
153
|
super.disconnectedCallback();
|
|
144
154
|
}
|
|
145
155
|
words(value, fallback, params) {
|
|
@@ -192,6 +202,8 @@ export class Carousel extends LitElement {
|
|
|
192
202
|
firstUpdated() {
|
|
193
203
|
// The strip's drive starts once, from the options the element was given.
|
|
194
204
|
const track = this.track;
|
|
205
|
+
// A mouse drags the strip, and a press that ends a drag or a swipe chooses nothing (dragTrack).
|
|
206
|
+
this.startDrag();
|
|
195
207
|
const bleed = bleedOf(this.bleed);
|
|
196
208
|
if (track && (bleed !== "none" || this.loop || this.every > 0)) {
|
|
197
209
|
this.drive = driveCarousel(this, track, this, { bleed, loop: this.loop, autoplay: this.every });
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type PropertyValues } from "lit";
|
|
2
|
-
import { Menu, type MenuCloseReason } from "./ds-menu";
|
|
2
|
+
import { Menu, type MenuAnchor, type MenuCloseReason } from "./ds-menu";
|
|
3
3
|
/**
|
|
4
4
|
* Context: the menu that opens where the pointer is. A right click, the
|
|
5
5
|
* ContextMenu key or Shift+F10, or a touch held half a second on the element
|
|
@@ -17,6 +17,13 @@ import { Menu, type MenuCloseReason } from "./ds-menu";
|
|
|
17
17
|
* says `data-keep-open` or its click was prevented. `pending` holds every row
|
|
18
18
|
* and the menu open while an answer is awaited; `refuse(row)` shows a refused
|
|
19
19
|
* change on its row.
|
|
20
|
+
*
|
|
21
|
+
* `bar` lays the same rows side by side, the context bar over what is
|
|
22
|
+
* selected: one row high, the cells a pixel apart and groups two, a cell
|
|
23
|
+
* holding only an icon one square, a cell with words 4px in. It stands half a
|
|
24
|
+
* square above its anchor (below when there is no room), its start at the
|
|
25
|
+
* anchor's, and opens without taking the focus, so the writing keeps the
|
|
26
|
+
* caret: `openOver(rect)`. ← and → move along it.
|
|
20
27
|
*/
|
|
21
28
|
export declare class Context extends Menu {
|
|
22
29
|
static properties: {
|
|
@@ -24,6 +31,10 @@ export declare class Context extends Menu {
|
|
|
24
31
|
type: BooleanConstructor;
|
|
25
32
|
reflect: boolean;
|
|
26
33
|
};
|
|
34
|
+
bar: {
|
|
35
|
+
type: BooleanConstructor;
|
|
36
|
+
reflect: boolean;
|
|
37
|
+
};
|
|
27
38
|
compact: {
|
|
28
39
|
type: BooleanConstructor;
|
|
29
40
|
reflect: boolean;
|
|
@@ -80,6 +91,8 @@ export declare class Context extends Menu {
|
|
|
80
91
|
static styles: import("lit").CSSResult[];
|
|
81
92
|
/** Hold every row and keep the menu open while a chosen change is awaited. */
|
|
82
93
|
pending: boolean;
|
|
94
|
+
/** The context bar: the rows side by side, over what is selected. */
|
|
95
|
+
bar: boolean;
|
|
83
96
|
private quietObserver;
|
|
84
97
|
constructor();
|
|
85
98
|
connectedCallback(): void;
|
|
@@ -92,6 +105,10 @@ export declare class Context extends Menu {
|
|
|
92
105
|
select(): void;
|
|
93
106
|
/** Show that a chosen change was refused: its row turns red a moment. */
|
|
94
107
|
refuse(row: HTMLElement): void;
|
|
108
|
+
/** Open the bar over what is selected (a rectangle, or an element), keeping the focus where it is. */
|
|
109
|
+
openOver(anchor: MenuAnchor): void;
|
|
110
|
+
/** In a bar, a cell holding only an icon is one square. */
|
|
111
|
+
private markIcons;
|
|
95
112
|
/** Groups without rows leave no gap: a separator first, last or after another is quiet. */
|
|
96
113
|
private quietSeparators;
|
|
97
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-context.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAIrD,OAAO,EAAE,IAAI,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ds-context.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAIrD,OAAO,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAMxE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,OAAQ,SAAQ,IAAI;IAC/B,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAIf;IACF,MAAM,CAAC,MAAM,4BAA8C;IAC3D,8EAA8E;IACtE,OAAO,EAAE,OAAO,CAAC;IACzB,qEAAqE;IAC7D,GAAG,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,aAAa,CAAsD;;IAU3E,iBAAiB;IAMjB,oBAAoB;IAIpB,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc;IAkB5C,OAAO;IAWP,iEAAiE;IACjE,YAAY,CAAC,MAAM,EAAE,eAAe;IAIpC,4DAA4D;IAC5D,MAAM;IAEN,yEAAyE;IACzE,MAAM,CAAC,GAAG,EAAE,WAAW;IAKvB,sGAAsG;IACtG,QAAQ,CAAC,MAAM,EAAE,UAAU;IAK3B,2DAA2D;IAC3D,OAAO,CAAC,SAAS;IAOjB,2FAA2F;IAC3F,OAAO,CAAC,eAAe;CAYxB;AAGD,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,YAAY,EAAE,OAAO,CAAA;KAAE;CAAE"}
|
|
@@ -23,12 +23,20 @@ const REFUSED = 1400;
|
|
|
23
23
|
* says `data-keep-open` or its click was prevented. `pending` holds every row
|
|
24
24
|
* and the menu open while an answer is awaited; `refuse(row)` shows a refused
|
|
25
25
|
* change on its row.
|
|
26
|
+
*
|
|
27
|
+
* `bar` lays the same rows side by side, the context bar over what is
|
|
28
|
+
* selected: one row high, the cells a pixel apart and groups two, a cell
|
|
29
|
+
* holding only an icon one square, a cell with words 4px in. It stands half a
|
|
30
|
+
* square above its anchor (below when there is no room), its start at the
|
|
31
|
+
* anchor's, and opens without taking the focus, so the writing keeps the
|
|
32
|
+
* caret: `openOver(rect)`. ← and → move along it.
|
|
26
33
|
*/
|
|
27
34
|
export class Context extends Menu {
|
|
28
35
|
constructor() {
|
|
29
36
|
super();
|
|
30
37
|
this.quietObserver = new MutationObserver(() => this.quietSeparators());
|
|
31
38
|
this.pending = false;
|
|
39
|
+
this.bar = false;
|
|
32
40
|
this.triggerMode = "context";
|
|
33
41
|
this.floating = true;
|
|
34
42
|
this.closesOnChoice = true;
|
|
@@ -48,11 +56,24 @@ export class Context extends Menu {
|
|
|
48
56
|
// Always a context menu, always floating.
|
|
49
57
|
this.triggerMode = "context";
|
|
50
58
|
this.floating = true;
|
|
51
|
-
|
|
59
|
+
// A menu hugs its words in whole squares; a bar is as long as its cells.
|
|
60
|
+
this.toggleAttribute("data-ds-hug", !this.bar);
|
|
61
|
+
if (this.bar) {
|
|
62
|
+
this.setAttribute("aria-orientation", "horizontal");
|
|
63
|
+
this.placement = "top";
|
|
64
|
+
// The writing under a bar keeps the caret; the page moves the focus in with a key of its own.
|
|
65
|
+
this.focusOnOpen = false;
|
|
66
|
+
}
|
|
67
|
+
else if (changed.has("bar")) {
|
|
68
|
+
this.removeAttribute("aria-orientation");
|
|
69
|
+
this.placement = "bottom";
|
|
70
|
+
this.focusOnOpen = true;
|
|
71
|
+
}
|
|
52
72
|
super.willUpdate(changed);
|
|
53
73
|
}
|
|
54
74
|
updated() {
|
|
55
75
|
super.updated();
|
|
76
|
+
this.markIcons();
|
|
56
77
|
// Pending holds the rows that were free, and frees only those again.
|
|
57
78
|
for (const row of this.querySelectorAll(ROW)) {
|
|
58
79
|
if (this.pending && row.getAttribute("aria-disabled") !== "true") {
|
|
@@ -80,8 +101,22 @@ export class Context extends Menu {
|
|
|
80
101
|
row.setAttribute("data-ds-refused", "");
|
|
81
102
|
setTimeout(() => row.removeAttribute("data-ds-refused"), REFUSED);
|
|
82
103
|
}
|
|
104
|
+
/** Open the bar over what is selected (a rectangle, or an element), keeping the focus where it is. */
|
|
105
|
+
openOver(anchor) {
|
|
106
|
+
this.anchor = anchor;
|
|
107
|
+
this.open = true;
|
|
108
|
+
}
|
|
109
|
+
/** In a bar, a cell holding only an icon is one square. */
|
|
110
|
+
markIcons() {
|
|
111
|
+
for (const row of this.querySelectorAll(ROW)) {
|
|
112
|
+
if (row.closest("ds-context") !== this)
|
|
113
|
+
continue;
|
|
114
|
+
row.toggleAttribute("data-ds-context-icon", this.bar && !(row.textContent ?? "").trim() && !!row.querySelector("ds-icon, svg, img"));
|
|
115
|
+
}
|
|
116
|
+
}
|
|
83
117
|
/** Groups without rows leave no gap: a separator first, last or after another is quiet. */
|
|
84
118
|
quietSeparators() {
|
|
119
|
+
this.markIcons();
|
|
85
120
|
let previousWasGap = true;
|
|
86
121
|
const children = [...this.children];
|
|
87
122
|
const visible = children.filter(child => !child.hidden);
|
|
@@ -99,6 +134,7 @@ export class Context extends Menu {
|
|
|
99
134
|
Context.properties = {
|
|
100
135
|
...Menu.properties,
|
|
101
136
|
pending: { type: Boolean, reflect: true },
|
|
137
|
+
bar: { type: Boolean, reflect: true },
|
|
102
138
|
};
|
|
103
139
|
Context.styles = [unsafeCSS(menuStyles), unsafeCSS(styles)];
|
|
104
140
|
define("ds-context", Context);
|
package/dist/3-unit/ds-form.d.ts
CHANGED
|
@@ -59,6 +59,15 @@ export declare class Form extends LitElement {
|
|
|
59
59
|
*/
|
|
60
60
|
submit(): Promise<void>;
|
|
61
61
|
private _handleSubmit;
|
|
62
|
+
connectedCallback(): void;
|
|
63
|
+
disconnectedCallback(): void;
|
|
64
|
+
/**
|
|
65
|
+
* The form is drawn in this element's shadow, so a submit or reset button
|
|
66
|
+
* put inside it belongs to no form of its own. Its click does what it would
|
|
67
|
+
* in a form: a native button (bare or in `ds-button control="slotted"`), or
|
|
68
|
+
* `<ds-button type="submit">`. A button in a real <form> is left to that form.
|
|
69
|
+
*/
|
|
70
|
+
private _handleButtonClick;
|
|
62
71
|
private _handleKeydown;
|
|
63
72
|
render(): import("lit").TemplateResult<1>;
|
|
64
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-form.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-form.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ds-form.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-form.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACnC;AAKD,qBAAa,IAAK,SAAQ,UAAU;IAClC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;MAOf;IAEM,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,IAAI,GAAG,KAAK,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;;IAY/B,MAAM,CAAC,MAAM,0BAyBX;IAEF;;OAEG;IACH,WAAW,IAAI,QAAQ;IAYvB,OAAO,CAAC,gBAAgB;IA8BxB;;OAEG;IACH,QAAQ,IAAI,oBAAoB;IAoBhC,OAAO,CAAC,gBAAgB;IAmCxB;;OAEG;IACH,KAAK,IAAI,IAAI;IAWb,OAAO,CAAC,aAAa;IA0BrB;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAyD7B,OAAO,CAAC,aAAa;IAMrB,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;IAM5B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB,CAcxB;IAEF,OAAO,CAAC,cAAc,CAQpB;IAEF,MAAM;CAcP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,IAAI,CAAC;KACjB;CACF"}
|
package/dist/3-unit/ds-form.js
CHANGED
|
@@ -1,9 +1,51 @@
|
|
|
1
|
+
import { define } from "../0-face/define";
|
|
1
2
|
// ds-form.ts
|
|
2
3
|
// Form component for handling form submissions and validation
|
|
3
4
|
import { LitElement, html, css } from "lit";
|
|
5
|
+
/** Inputs Enter does not submit from: it presses or toggles them instead. */
|
|
6
|
+
const IMPLICIT_SUBMIT_SKIPS = new Set(["button", "submit", "reset", "image", "checkbox", "radio", "file", "color", "range"]);
|
|
4
7
|
export class Form extends LitElement {
|
|
5
8
|
constructor() {
|
|
6
9
|
super();
|
|
10
|
+
/**
|
|
11
|
+
* The form is drawn in this element's shadow, so a submit or reset button
|
|
12
|
+
* put inside it belongs to no form of its own. Its click does what it would
|
|
13
|
+
* in a form: a native button (bare or in `ds-button control="slotted"`), or
|
|
14
|
+
* `<ds-button type="submit">`. A button in a real <form> is left to that form.
|
|
15
|
+
*/
|
|
16
|
+
this._handleButtonClick = (e) => {
|
|
17
|
+
if (e.defaultPrevented)
|
|
18
|
+
return;
|
|
19
|
+
const control = e.target?.closest?.("button, input, ds-button[type]");
|
|
20
|
+
if (!control || !this.contains(control))
|
|
21
|
+
return;
|
|
22
|
+
let type;
|
|
23
|
+
if (control instanceof HTMLButtonElement || control instanceof HTMLInputElement) {
|
|
24
|
+
if (control.form || control.disabled)
|
|
25
|
+
return;
|
|
26
|
+
type = control.type;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
if (control.hasAttribute("disabled") || control.hasAttribute("href"))
|
|
30
|
+
return;
|
|
31
|
+
type = control.getAttribute("type");
|
|
32
|
+
}
|
|
33
|
+
if (type === "submit")
|
|
34
|
+
void this.submit();
|
|
35
|
+
else if (type === "reset")
|
|
36
|
+
this.reset();
|
|
37
|
+
};
|
|
38
|
+
this._handleKeydown = (e) => {
|
|
39
|
+
if (e.key !== "Enter" || e.shiftKey || e.defaultPrevented)
|
|
40
|
+
return;
|
|
41
|
+
// Enter submits from a field, as in a form: on a button it presses that
|
|
42
|
+
// button, and in a textarea (a multiline ds-input's too) it starts a line.
|
|
43
|
+
const origin = e.composedPath()[0];
|
|
44
|
+
if (!(origin instanceof HTMLInputElement) || origin.form || IMPLICIT_SUBMIT_SKIPS.has(origin.type))
|
|
45
|
+
return;
|
|
46
|
+
e.preventDefault();
|
|
47
|
+
void this.submit();
|
|
48
|
+
};
|
|
7
49
|
this.action = "";
|
|
8
50
|
this.method = "post";
|
|
9
51
|
this.name = "";
|
|
@@ -179,15 +221,15 @@ export class Form extends LitElement {
|
|
|
179
221
|
// submit() reports a failed request itself, as form-error.
|
|
180
222
|
void this.submit();
|
|
181
223
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
224
|
+
connectedCallback() {
|
|
225
|
+
super.connectedCallback();
|
|
226
|
+
this.addEventListener("click", this._handleButtonClick);
|
|
227
|
+
this.addEventListener("keydown", this._handleKeydown);
|
|
228
|
+
}
|
|
229
|
+
disconnectedCallback() {
|
|
230
|
+
this.removeEventListener("click", this._handleButtonClick);
|
|
231
|
+
this.removeEventListener("keydown", this._handleKeydown);
|
|
232
|
+
super.disconnectedCallback();
|
|
191
233
|
}
|
|
192
234
|
render() {
|
|
193
235
|
return html `
|
|
@@ -198,7 +240,6 @@ export class Form extends LitElement {
|
|
|
198
240
|
?novalidate=${this.novalidate}
|
|
199
241
|
autocomplete=${this.autocomplete}
|
|
200
242
|
@submit=${this._handleSubmit}
|
|
201
|
-
@keydown=${this._handleKeydown}
|
|
202
243
|
>
|
|
203
244
|
<slot></slot>
|
|
204
245
|
</form>
|
|
@@ -239,4 +280,4 @@ Form.styles = css `
|
|
|
239
280
|
pointer-events: none;
|
|
240
281
|
}
|
|
241
282
|
`;
|
|
242
|
-
|
|
283
|
+
define("ds-form", Form);
|
package/dist/3-unit/ds-list.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
+
import { CutFades } from "../0-face/cut-fade";
|
|
2
3
|
/**
|
|
3
4
|
* A vertical stack of rows.
|
|
4
5
|
*
|
|
@@ -7,8 +8,15 @@ import { LitElement } from "lit";
|
|
|
7
8
|
* A link, button or other control directly inside keeps its own role: wrap it
|
|
8
9
|
* in a row (or another element) to make it an item.
|
|
9
10
|
*
|
|
11
|
+
* `heading` names the group on the square above its rows (a day, a month),
|
|
12
|
+
* the words in the muted ink: the list takes it as its accessible name, so
|
|
13
|
+
* the drawn words are hidden from assistive technology and a page that
|
|
14
|
+
* writes its own `aria-label` keeps it.
|
|
15
|
+
*
|
|
10
16
|
* @element ds-list
|
|
11
17
|
* @attr columns - Lay the items out in this many equal columns.
|
|
18
|
+
* @attr heading - The group's name, drawn on the square above the rows and given to the list as its name.
|
|
19
|
+
* @csspart heading - The heading's line.
|
|
12
20
|
*/
|
|
13
21
|
export declare class List extends LitElement {
|
|
14
22
|
static properties: {
|
|
@@ -16,17 +24,28 @@ export declare class List extends LitElement {
|
|
|
16
24
|
type: NumberConstructor;
|
|
17
25
|
reflect: boolean;
|
|
18
26
|
};
|
|
27
|
+
heading: {
|
|
28
|
+
type: StringConstructor;
|
|
29
|
+
reflect: boolean;
|
|
30
|
+
};
|
|
19
31
|
};
|
|
20
32
|
columns: number | undefined;
|
|
33
|
+
heading: string | undefined;
|
|
21
34
|
static styles: import("lit").CSSResult;
|
|
35
|
+
/** Words cut short fade over their last square, never an ellipsis: marks them `data-cut="end"` while they do not fit. */
|
|
36
|
+
protected readonly cuts: CutFades;
|
|
22
37
|
/** The items this element gave a role, so roles the page wrote are left alone. */
|
|
23
38
|
private ownItems;
|
|
24
39
|
private ownRole;
|
|
40
|
+
/** Whether the list's `aria-label` is its heading, so the page's own name is never replaced. */
|
|
41
|
+
private ownLabel;
|
|
25
42
|
connectedCallback(): void;
|
|
26
43
|
disconnectedCallback(): void;
|
|
27
44
|
private syncItems;
|
|
28
45
|
firstUpdated(): void;
|
|
29
|
-
updated(): void;
|
|
46
|
+
updated(changed: Map<string, unknown>): void;
|
|
47
|
+
/** The heading names the list, unless the page wrote a name of its own. */
|
|
48
|
+
private nameByHeading;
|
|
30
49
|
render(): import("lit").TemplateResult<1>;
|
|
31
50
|
}
|
|
32
51
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-list.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"ds-list.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,MAAM,KAAK,CAAC;AAG3D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAO9C;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,IAAK,SAAQ,UAAU;IAClC,MAAM,CAAC,UAAU;;;;;;;;;MAGf;IAEM,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC,MAAM,CAAC,MAAM,0BAAqB;IAClC,yHAAyH;IACzH,SAAS,CAAC,QAAQ,CAAC,IAAI,WAAgD;IAEvE,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAS;IAEzB,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,IAAI,IAAI;IAM5B,OAAO,CAAC,SAAS,CAgBf;IAEF,YAAY,IAAI,IAAI;IAIpB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM5C,2EAA2E;IAC3E,OAAO,CAAC,aAAa;IAWrB,MAAM;CAIP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,IAAI,CAAC;KACjB;CACF"}
|
package/dist/3-unit/ds-list.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { LitElement, html, unsafeCSS } from "lit";
|
|
1
|
+
import { LitElement, html, nothing, unsafeCSS } from "lit";
|
|
2
2
|
import styles from "./styles/ds-list.css?inline";
|
|
3
3
|
import { define } from "../0-face/define";
|
|
4
|
+
import { CutFades } from "../0-face/cut-fade";
|
|
4
5
|
/** Children that are never items of the list. */
|
|
5
6
|
const NOT_ITEMS = new Set(["template", "script", "style", "slot"]);
|
|
6
7
|
/** Controls keep their own role: a link or a button that became a list item would no longer be announced as one. */
|
|
@@ -13,15 +14,26 @@ const CONTROLS = new Set(["a", "button", "input", "select", "textarea", "summary
|
|
|
13
14
|
* A link, button or other control directly inside keeps its own role: wrap it
|
|
14
15
|
* in a row (or another element) to make it an item.
|
|
15
16
|
*
|
|
17
|
+
* `heading` names the group on the square above its rows (a day, a month),
|
|
18
|
+
* the words in the muted ink: the list takes it as its accessible name, so
|
|
19
|
+
* the drawn words are hidden from assistive technology and a page that
|
|
20
|
+
* writes its own `aria-label` keeps it.
|
|
21
|
+
*
|
|
16
22
|
* @element ds-list
|
|
17
23
|
* @attr columns - Lay the items out in this many equal columns.
|
|
24
|
+
* @attr heading - The group's name, drawn on the square above the rows and given to the list as its name.
|
|
25
|
+
* @csspart heading - The heading's line.
|
|
18
26
|
*/
|
|
19
27
|
export class List extends LitElement {
|
|
20
28
|
constructor() {
|
|
21
29
|
super(...arguments);
|
|
30
|
+
/** Words cut short fade over their last square, never an ellipsis: marks them `data-cut="end"` while they do not fit. */
|
|
31
|
+
this.cuts = new CutFades(this, { selector: ".heading" });
|
|
22
32
|
/** The items this element gave a role, so roles the page wrote are left alone. */
|
|
23
33
|
this.ownItems = new Set();
|
|
24
34
|
this.ownRole = false;
|
|
35
|
+
/** Whether the list's `aria-label` is its heading, so the page's own name is never replaced. */
|
|
36
|
+
this.ownLabel = false;
|
|
25
37
|
this.syncItems = () => {
|
|
26
38
|
const slot = this.shadowRoot?.querySelector("slot");
|
|
27
39
|
// Items only where the element is a list: a listbox or a page's own role
|
|
@@ -59,18 +71,34 @@ export class List extends LitElement {
|
|
|
59
71
|
firstUpdated() {
|
|
60
72
|
this.syncItems();
|
|
61
73
|
}
|
|
62
|
-
updated() {
|
|
74
|
+
updated(changed) {
|
|
63
75
|
if (typeof this.columns === "number" && Number.isInteger(this.columns) && this.columns > 0)
|
|
64
76
|
this.style.setProperty("--ds-list-columns", String(this.columns));
|
|
65
77
|
else
|
|
66
78
|
this.style.removeProperty("--ds-list-columns");
|
|
79
|
+
if (changed.has("heading"))
|
|
80
|
+
this.nameByHeading();
|
|
81
|
+
}
|
|
82
|
+
/** The heading names the list, unless the page wrote a name of its own. */
|
|
83
|
+
nameByHeading() {
|
|
84
|
+
const heading = this.heading?.trim();
|
|
85
|
+
if (heading && (this.ownLabel || !this.hasAttribute("aria-label"))) {
|
|
86
|
+
this.setAttribute("aria-label", heading);
|
|
87
|
+
this.ownLabel = true;
|
|
88
|
+
}
|
|
89
|
+
else if (!heading && this.ownLabel) {
|
|
90
|
+
this.removeAttribute("aria-label");
|
|
91
|
+
this.ownLabel = false;
|
|
92
|
+
}
|
|
67
93
|
}
|
|
68
94
|
render() {
|
|
69
|
-
|
|
95
|
+
const heading = this.heading?.trim();
|
|
96
|
+
return html `${heading ? html `<span class="heading" part="heading" aria-hidden="true">${heading}</span>` : nothing}<slot @slotchange=${this.syncItems}></slot>`;
|
|
70
97
|
}
|
|
71
98
|
}
|
|
72
99
|
List.properties = {
|
|
73
100
|
columns: { type: Number, reflect: true },
|
|
101
|
+
heading: { type: String, reflect: true },
|
|
74
102
|
};
|
|
75
103
|
List.styles = unsafeCSS(styles);
|
|
76
104
|
define("ds-list", List);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { LitElement, type PropertyValues } from "lit";
|
|
2
|
+
import { CutFades } from "../0-face/cut-fade";
|
|
2
3
|
/** How a square is drawn. */
|
|
3
4
|
export type MatrixMarkKind = "fill" | "outline" | "stripes" | "dot" | "triangle" | "dash";
|
|
4
5
|
/** A row or a column. A column may stand in a group. */
|
|
@@ -102,6 +103,8 @@ export declare class Matrix extends LitElement {
|
|
|
102
103
|
};
|
|
103
104
|
};
|
|
104
105
|
static styles: import("lit").CSSResult[];
|
|
106
|
+
/** Words cut short fade over their last square, never an ellipsis: marks them `data-cut="end"` while they do not fit. */
|
|
107
|
+
protected readonly cuts: CutFades;
|
|
105
108
|
rows: MatrixAxis[];
|
|
106
109
|
columns: MatrixAxis[];
|
|
107
110
|
groups: MatrixGroup[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-matrix.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-matrix.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAA4B,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"ds-matrix.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-matrix.ts"],"names":[],"mappings":"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"}
|
package/dist/3-unit/ds-matrix.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
// and column meet, and the legend below names the marks.
|
|
7
7
|
import { LitElement, html, nothing, unsafeCSS } from "lit";
|
|
8
8
|
import { define } from "../0-face/define";
|
|
9
|
+
import { CutFades } from "../0-face/cut-fade";
|
|
9
10
|
import { getText } from "../0-face/i18n";
|
|
10
11
|
import metrics from "../1-root/component-metrics.css?inline";
|
|
11
12
|
import styles from "./styles/ds-matrix.css?inline";
|
|
@@ -49,6 +50,8 @@ export function orderColumns(columns, groups) {
|
|
|
49
50
|
export class Matrix extends LitElement {
|
|
50
51
|
constructor() {
|
|
51
52
|
super();
|
|
53
|
+
/** Words cut short fade over their last square, never an ellipsis: marks them `data-cut="end"` while they do not fit. */
|
|
54
|
+
this.cuts = new CutFades(this, { selector: ".name" });
|
|
52
55
|
this.relabel = () => this.requestUpdate();
|
|
53
56
|
this.onKeyDown = (event) => {
|
|
54
57
|
const cell = event.composedPath()[0].closest?.(".cell[data-row]");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-menu.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEvE,OAAO,qBAAqB,CAAC;AAC7B,OAAO,0BAA0B,CAAC;AAClC,OAAO,mBAAmB,CAAC;AAQ3B,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAClF,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AACzE,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAChH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC;AAIvH;6EAC6E;AAC7E,qBAAa,IAAK,SAAQ,UAAU;IAClC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAqB;IAClD,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAef;IACM,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACtB,4EAA4E;IACpE,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC/C,WAAW,EAAE,eAAe,CAAC;IACrC,sEAAsE;IAC9D,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,mJAAmJ;IAC3I,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,cAAc,CAAC,CAA4C;IACnE,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,UAAU,CAAK;IACvB,8KAA8K;IAC9K,WAAW,UAAQ;IACnB,OAAO,CAAC,UAAU,CAAC,CAAgC;IACnD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,CAAiB;IAClC,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,eAAe,CAA4B;IACnD,+HAA+H;IAC/H,SAAS,CAAC,cAAc,UAAS;IACjC,OAAO,KAAK,UAAU,GAA4E;IAClG,OAAO,KAAK,QAAQ,GAAsD;;IAkB1E,iBAAiB;IAKjB,oBAAoB;IAQpB,qFAAqF;IACrF,OAAO,KAAK,aAAa,GAGxB;IACD,mEAAmE;IACnE,SAAS,KAAK,SAAS,IAAI,WAAW,GAAG,IAAI,CAK5C;IACD,OAAO;IA2BP,+DAA+D;IAC/D,SAAS;IACT,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,iBAAiB;IAKzB,4FAA4F;IAC5F,MAAM,CAAC,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,eAAe,qBAAe,EAAE,EAAE,KAAY,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;IAclH;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAOd;IACF,6EAA6E;IAC7E,MAAM;IACN,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"ds-menu.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEvE,OAAO,qBAAqB,CAAC;AAC7B,OAAO,0BAA0B,CAAC;AAClC,OAAO,mBAAmB,CAAC;AAQ3B,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAClF,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AACzE,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAChH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC;AAIvH;6EAC6E;AAC7E,qBAAa,IAAK,SAAQ,UAAU;IAClC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAqB;IAClD,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAef;IACM,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACtB,4EAA4E;IACpE,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC/C,WAAW,EAAE,eAAe,CAAC;IACrC,sEAAsE;IAC9D,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,mJAAmJ;IAC3I,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,cAAc,CAAC,CAA4C;IACnE,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,UAAU,CAAK;IACvB,8KAA8K;IAC9K,WAAW,UAAQ;IACnB,OAAO,CAAC,UAAU,CAAC,CAAgC;IACnD,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,CAAiB;IAClC,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,eAAe,CAA4B;IACnD,+HAA+H;IAC/H,SAAS,CAAC,cAAc,UAAS;IACjC,OAAO,KAAK,UAAU,GAA4E;IAClG,OAAO,KAAK,QAAQ,GAAsD;;IAkB1E,iBAAiB;IAKjB,oBAAoB;IAQpB,qFAAqF;IACrF,OAAO,KAAK,aAAa,GAGxB;IACD,mEAAmE;IACnE,SAAS,KAAK,SAAS,IAAI,WAAW,GAAG,IAAI,CAK5C;IACD,OAAO;IA2BP,+DAA+D;IAC/D,SAAS;IACT,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,iBAAiB;IAKzB,4FAA4F;IAC5F,MAAM,CAAC,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,eAAe,qBAAe,EAAE,EAAE,KAAY,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;IAclH;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAOd;IACF,6EAA6E;IAC7E,MAAM;IACN,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,cAAc,CAOpB;IACF,OAAO,CAAC,YAAY,CAclB;IACF,OAAO,CAAC,YAAY,CAIlB;IACF,OAAO,CAAC,YAAY,CAQlB;IACF,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,OAAO;IAGf,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,gBAAgB,CAKtB;IACF,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,IAAI;IAiCZ,OAAO,CAAC,IAAI;IA0BZ,YAAY,CAAC,MAAM,EAAE,eAAe;IAMpC,OAAO,CAAC,QAAQ,CAId;IACF,OAAO,CAAC,SAAS,CAMf;IACF,OAAO,CAAC,eAAe,CAIrB;IACF,OAAO,CAAC,gBAAgB,CAEtB;IACF,KAAK,aA6CH;IACF,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,QAAQ;IAyChB,OAAO,CAAC,WAAW;IACnB,6EAA6E;IAC7E,OAAO,CAAC,QAAQ;IAsBhB,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,eAAe,CAAwD;IAC/E,OAAO,CAAC,SAAS,CASf;IACF,MAAM;CACP;AAED,OAAO,CAAC,MAAM,CAAC;IAAE,UAAU,qBAAqB;QAAG,SAAS,EAAE,IAAI,CAAA;KAAE;CAAE"}
|
package/dist/3-unit/ds-menu.js
CHANGED
|
@@ -57,7 +57,8 @@ export class Menu extends LitElement {
|
|
|
57
57
|
this.onTriggerClick = (event) => {
|
|
58
58
|
if (this.triggerMode === "context" || this.triggerMode === "manual" || event.defaultPrevented)
|
|
59
59
|
return;
|
|
60
|
-
|
|
60
|
+
// A hover menu's trigger that is a link (`a href`, `ds-button href`) follows its link when pressed.
|
|
61
|
+
if (this.hover && this.trigger?.matches("a[href], ds-button[href]"))
|
|
61
62
|
return;
|
|
62
63
|
this.focusOnOpen = true;
|
|
63
64
|
this.openingEdge = "first";
|
|
@@ -529,20 +530,35 @@ export class Menu extends LitElement {
|
|
|
529
530
|
return;
|
|
530
531
|
const current = external ? items.findIndex(item => item.id === this.activeId) : items.findIndex(item => event.composedPath().includes(item));
|
|
531
532
|
const columns = Math.max(1, Math.floor(this.columns || 1));
|
|
533
|
+
// A menu laid out in one line (Context's bar) steps sideways, in the reading direction.
|
|
534
|
+
const across = this.getAttribute("aria-orientation") === "horizontal";
|
|
535
|
+
const forward = this.ownerDocument.defaultView?.getComputedStyle(this).direction === "rtl" ? -1 : 1;
|
|
532
536
|
let next;
|
|
533
537
|
switch (event.key) {
|
|
534
538
|
case "ArrowDown":
|
|
539
|
+
if (across)
|
|
540
|
+
return;
|
|
535
541
|
next = columns > 1 ? this.gridStep(items, current, columns, 1) : this.step(items, current, 1, 1);
|
|
536
542
|
break;
|
|
537
543
|
case "ArrowUp":
|
|
544
|
+
if (across)
|
|
545
|
+
return;
|
|
538
546
|
next = columns > 1 ? this.gridStep(items, current, columns, -1) : this.step(items, current, 1, -1);
|
|
539
547
|
break;
|
|
540
548
|
case "ArrowRight":
|
|
549
|
+
if (across) {
|
|
550
|
+
next = this.step(items, current, 1, forward);
|
|
551
|
+
break;
|
|
552
|
+
}
|
|
541
553
|
if (columns === 1 || external)
|
|
542
554
|
return;
|
|
543
555
|
next = this.step(items, current, 1, 1);
|
|
544
556
|
break;
|
|
545
557
|
case "ArrowLeft":
|
|
558
|
+
if (across) {
|
|
559
|
+
next = this.step(items, current, 1, -forward);
|
|
560
|
+
break;
|
|
561
|
+
}
|
|
546
562
|
if (columns === 1 || external)
|
|
547
563
|
return;
|
|
548
564
|
next = this.step(items, current, 1, -1);
|
package/dist/3-unit/ds-row.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
+
import { CutFades } from "../0-face/cut-fade";
|
|
2
3
|
/**
|
|
3
4
|
* A horizontal run of elements one row (`--ds-row-height`) tall.
|
|
4
5
|
*
|
|
@@ -23,6 +24,14 @@ import { LitElement } from "lit";
|
|
|
23
24
|
* @attr label - The accessible name, when the row's words do not say it.
|
|
24
25
|
* @attr target - Where a link opens (`_blank`, …).
|
|
25
26
|
* @attr rel - The link's relationship (`noopener`, …).
|
|
27
|
+
* A record's row puts its parts in classes: `ds-row__name` for the words,
|
|
28
|
+
* which hug and give way first, and `ds-row__value` for the figure or date at
|
|
29
|
+
* the row's end; a 16px picture (an avatar tile, a large icon) before the
|
|
30
|
+
* name stands on its square with the row's gap putting the words on the next.
|
|
31
|
+
* The element measures each name and marks it `data-cut="end"` while its
|
|
32
|
+
* words do not fit, so the stylesheet fades them over the last square, never
|
|
33
|
+
* an ellipsis; a `ds-text literal` name fades the same way.
|
|
34
|
+
*
|
|
26
35
|
* @slot - The row's content, inside its press target.
|
|
27
36
|
* @slot end - Controls of their own after the content, outside the press target.
|
|
28
37
|
* @fires ds-row-press - `{ href }`: the row was pressed. Cancel it to route a link yourself; a modified click on a link is left to the browser.
|
|
@@ -100,6 +109,10 @@ export declare class Row extends LitElement {
|
|
|
100
109
|
rel: string | undefined;
|
|
101
110
|
constructor();
|
|
102
111
|
static styles: import("lit").CSSResult;
|
|
112
|
+
/** Marks each `.ds-row__name` `data-cut="end"` while its words are wider than its box, measured again as they resize or change. */
|
|
113
|
+
protected readonly cuts: CutFades;
|
|
114
|
+
/** Measures the names again, as when the slotted content changes. */
|
|
115
|
+
private measureNames;
|
|
103
116
|
/** The `aria-current` value, or none. */
|
|
104
117
|
private get currentValue();
|
|
105
118
|
/** Focuses the press target, so `row.focus()` lands on the link or button. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-row.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-row.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"ds-row.d.ts","sourceRoot":"","sources":["../../DS1/3-unit/ds-row.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAIlD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAK9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,GAAI,SAAQ,UAAU;IACjC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAef;IAEM,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;;IAoBhC,MAAM,CAAC,MAAM,0BAAqB;IAElC,mIAAmI;IACnI,SAAS,CAAC,QAAQ,CAAC,IAAI,WAAsG;IAE7H,qEAAqE;IACrE,OAAO,CAAC,YAAY,CAA6B;IAEjD,yCAAyC;IACzC,OAAO,KAAK,YAAY,GAIvB;IAED,8EAA8E;IAC9E,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY;IAM5B,OAAO,CAAC,KAAK;IAQb,MAAM;CAcP;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,QAAQ,EAAE,GAAG,CAAC;KACf;CACF"}
|