@latty-ds/web 0.10.1 → 0.10.4
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/custom-elements.json +9 -9
- package/dist/components/alert/index.js +3 -4
- package/dist/components/badge/index.js +1 -1
- package/dist/components/breadcrumb/breadcrumb.d.ts +1 -0
- package/dist/components/breadcrumb/index.js +8 -5
- package/dist/components/button/index.js +3 -3
- package/dist/components/calendar/index.js +2 -2
- package/dist/components/combobox/index.js +1 -1
- package/dist/components/date-input/index.js +2 -2
- package/dist/components/dialog/index.js +3 -4
- package/dist/components/dropdown/dropdown-item.d.ts +1 -1
- package/dist/components/header/index.js +1 -1
- package/dist/components/icon-button/index.js +3 -4
- package/dist/components/list/index.js +15 -28
- package/dist/components/list/list-item.d.ts +9 -4
- package/dist/components/list/list.d.ts +8 -1
- package/dist/components/pagination/index.js +4 -4
- package/dist/components/sidepanel/index.js +3 -4
- package/dist/index.cjs +38 -49
- package/dist/index.js +38 -49
- package/dist/manifest.json +2 -0
- package/package.json +4 -4
package/custom-elements.json
CHANGED
|
@@ -598,7 +598,7 @@
|
|
|
598
598
|
{
|
|
599
599
|
"kind": "variable",
|
|
600
600
|
"name": "badgeStyles",
|
|
601
|
-
"default": "css` :host { display: inline-flex; font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif); vertical-align: middle; } span[part='base'] { align-items: center; background: var(--lt-badge-bg); border-radius: 999px; /* Badges are even smaller than chips (as short as 18px at size=\"sm\") — a \"thick\" (4px) themed border reads as compressed, so cap what the badge actually renders at \"medium\" (2px) regardless of the theme's configured border width. */ border: min(var(--lt-border-width, 1px), 2px) solid var(--lt-badge-border-color, transparent); color: var(--lt-badge-color); box-sizing: border-box; display: inline-flex; font-weight: 600; gap: var(--lt-spacing-1); line-height: 1; user-select: none; white-space: nowrap; } .dot { border-radius: 50%; flex-shrink: 0; } /* ── Sizes ──────────────────────────────────────────────────────────── */ :host([size='sm']) span[part='base'] { font-size: 0.6875rem; height: 18px; padding-inline: var(--lt-spacing-2); } :host([size='sm']) .dot { height: 6px; width: 6px; } :host([size='md']) span[part='base'] { font-size: 0.75rem; height: 22px; padding-inline: var(--lt-spacing-2); } :host([size='md']) .dot { height: 7px; width: 7px; } :host([size='lg']) span[part='base'] { font-size: 0.8125rem; height: 26px; padding-inline: var(--lt-spacing-3); } :host([size='lg']) .dot { height: 8px; width: 8px; } /* When dot is the only content, fill it to the circle size */ :host([dot][content='']) .dot, :host([dot]:not([content])) .dot { height: 40%; width: 40%; } /* ── Empty = perfect circle (covers content=\"\" and absent attribute) */ :host([content='']) span[part='base'], :host(:not([content])) span[part='base'] { aspect-ratio: 1; justify-content: center; padding: 0; } /* ── Filled (tinted bg, colored border, dark text) ───────────────── */ :host([appearance='filled'][variant='primary']) span[part='base'] { background: var(--lt-bg-primary-subtle); border-color: var(--lt-border-primary); color: var(--lt-text-primary); } :host([appearance='filled'][variant='secondary']) span[part='base'] { background: var(--lt-bg-secondary-subtle); border-color: var(--lt-border-secondary); color: var(--lt-text-secondary); } :host([appearance='filled'][variant='success']) span[part='base'] { background: var(--lt-bg-success-subtle); border-color: var(--lt-border-success); color: var(--lt-text-success); } :host([appearance='filled'][variant='warning']) span[part='base'] { background: var(--lt-bg-warning-subtle); border-color: var(--lt-border-warning); color: var(--lt-text-warning); } :host([appearance='filled'][variant='error']) span[part='base'] { background: var(--lt-bg-error-subtle); border-color: var(--lt-border-error); color: var(--lt-text-error); } :host([appearance='filled'][variant='neutral']) span[part='base'] { background: var(--lt-bg-surface); border-color: var(--lt-border-default); color: var(--lt-text-neutral); } /* ── Outlined (transparent bg, colored border and text) ──────────── */ :host([appearance='outlined'][variant='primary']) span[part='base'] { background: transparent; border-color: var(--lt-border-primary-strong); color: var(--lt-text-primary); } :host([appearance='outlined'][variant='secondary']) span[part='base'] { background: transparent; border-color: var(--lt-border-secondary-strong); color: var(--lt-text-secondary); } :host([appearance='outlined'][variant='success']) span[part='base'] { background: transparent; border-color: var(--lt-border-success-strong); color: var(--lt-text-success); } :host([appearance='outlined'][variant='warning']) span[part='base'] { background: transparent; border-color: var(--lt-border-warning-strong); color: var(--lt-text-warning); } :host([appearance='outlined'][variant='error']) span[part='base'] { background: transparent; border-color: var(--lt-border-error-strong); color: var(--lt-text-error); } :host([appearance='outlined'][variant='neutral']) span[part='base'] { background: transparent; border-color: var(--lt-border-strong); color: var(--lt-text-neutral); } /* ── Solid (full-color bg, white text) ───────────────────────────── */ :host([appearance='solid'][variant='primary']) span[part='base'] { background: var(--lt-interactive-primary-bg); border-color: transparent; color: var(--lt-text-on-primary); } :host([appearance='solid'][variant='secondary']) span[part='base'] { background: var(--lt-interactive-secondary-bg); border-color: transparent; color: var(--lt-text-on-secondary); } :host([appearance='solid'][variant='success']) span[part='base'] { background: var(--lt-interactive-success-bg); border-color: transparent; color: var(--lt-text-on-success); } :host([appearance='solid'][variant='warning']) span[part='base'] { background: var(--lt-interactive-warning-bg); border-color: transparent; color: var(--lt-text-on-warning); } :host([appearance='solid'][variant='error']) span[part='base'] { background: var(--lt-interactive-error-bg); border-color: transparent; color: var(--lt-text-on-error); } :host([appearance='solid'][variant='neutral']) span[part='base'] { background: var(--lt-
|
|
601
|
+
"default": "css` :host { display: inline-flex; font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif); vertical-align: middle; } span[part='base'] { align-items: center; background: var(--lt-badge-bg); border-radius: 999px; /* Badges are even smaller than chips (as short as 18px at size=\"sm\") — a \"thick\" (4px) themed border reads as compressed, so cap what the badge actually renders at \"medium\" (2px) regardless of the theme's configured border width. */ border: min(var(--lt-border-width, 1px), 2px) solid var(--lt-badge-border-color, transparent); color: var(--lt-badge-color); box-sizing: border-box; display: inline-flex; font-weight: 600; gap: var(--lt-spacing-1); line-height: 1; user-select: none; white-space: nowrap; } .dot { border-radius: 50%; flex-shrink: 0; } /* ── Sizes ──────────────────────────────────────────────────────────── */ :host([size='sm']) span[part='base'] { font-size: 0.6875rem; height: 18px; padding-inline: var(--lt-spacing-2); } :host([size='sm']) .dot { height: 6px; width: 6px; } :host([size='md']) span[part='base'] { font-size: 0.75rem; height: 22px; padding-inline: var(--lt-spacing-2); } :host([size='md']) .dot { height: 7px; width: 7px; } :host([size='lg']) span[part='base'] { font-size: 0.8125rem; height: 26px; padding-inline: var(--lt-spacing-3); } :host([size='lg']) .dot { height: 8px; width: 8px; } /* When dot is the only content, fill it to the circle size */ :host([dot][content='']) .dot, :host([dot]:not([content])) .dot { height: 40%; width: 40%; } /* ── Empty = perfect circle (covers content=\"\" and absent attribute) */ :host([content='']) span[part='base'], :host(:not([content])) span[part='base'] { aspect-ratio: 1; justify-content: center; padding: 0; } /* ── Filled (tinted bg, colored border, dark text) ───────────────── */ :host([appearance='filled'][variant='primary']) span[part='base'] { background: var(--lt-bg-primary-subtle); border-color: var(--lt-border-primary); color: var(--lt-text-primary); } :host([appearance='filled'][variant='secondary']) span[part='base'] { background: var(--lt-bg-secondary-subtle); border-color: var(--lt-border-secondary); color: var(--lt-text-secondary); } :host([appearance='filled'][variant='success']) span[part='base'] { background: var(--lt-bg-success-subtle); border-color: var(--lt-border-success); color: var(--lt-text-success); } :host([appearance='filled'][variant='warning']) span[part='base'] { background: var(--lt-bg-warning-subtle); border-color: var(--lt-border-warning); color: var(--lt-text-warning); } :host([appearance='filled'][variant='error']) span[part='base'] { background: var(--lt-bg-error-subtle); border-color: var(--lt-border-error); color: var(--lt-text-error); } :host([appearance='filled'][variant='neutral']) span[part='base'] { background: var(--lt-bg-surface); border-color: var(--lt-border-default); color: var(--lt-text-neutral); } /* ── Outlined (transparent bg, colored border and text) ──────────── */ :host([appearance='outlined'][variant='primary']) span[part='base'] { background: transparent; border-color: var(--lt-border-primary-strong); color: var(--lt-text-primary); } :host([appearance='outlined'][variant='secondary']) span[part='base'] { background: transparent; border-color: var(--lt-border-secondary-strong); color: var(--lt-text-secondary); } :host([appearance='outlined'][variant='success']) span[part='base'] { background: transparent; border-color: var(--lt-border-success-strong); color: var(--lt-text-success); } :host([appearance='outlined'][variant='warning']) span[part='base'] { background: transparent; border-color: var(--lt-border-warning-strong); color: var(--lt-text-warning); } :host([appearance='outlined'][variant='error']) span[part='base'] { background: transparent; border-color: var(--lt-border-error-strong); color: var(--lt-text-error); } :host([appearance='outlined'][variant='neutral']) span[part='base'] { background: transparent; border-color: var(--lt-border-strong); color: var(--lt-text-neutral); } /* ── Solid (full-color bg, white text) ───────────────────────────── */ :host([appearance='solid'][variant='primary']) span[part='base'] { background: var(--lt-interactive-primary-bg); border-color: transparent; color: var(--lt-text-on-primary); } :host([appearance='solid'][variant='secondary']) span[part='base'] { background: var(--lt-interactive-secondary-bg); border-color: transparent; color: var(--lt-text-on-secondary); } :host([appearance='solid'][variant='success']) span[part='base'] { background: var(--lt-interactive-success-bg); border-color: transparent; color: var(--lt-text-on-success); } :host([appearance='solid'][variant='warning']) span[part='base'] { background: var(--lt-interactive-warning-bg); border-color: transparent; color: var(--lt-text-on-warning); } :host([appearance='solid'][variant='error']) span[part='base'] { background: var(--lt-interactive-error-bg); border-color: transparent; color: var(--lt-text-on-error); } :host([appearance='solid'][variant='neutral']) span[part='base'] { background: var(--lt-interactive-neutral-bg); border-color: transparent; color: var(--lt-color-white); } /* ── Dot color inherits text color ───────────────────────────────── */ .dot { background: currentColor; } `"
|
|
602
602
|
}
|
|
603
603
|
],
|
|
604
604
|
"exports": [
|
|
@@ -742,7 +742,7 @@
|
|
|
742
742
|
{
|
|
743
743
|
"kind": "variable",
|
|
744
744
|
"name": "breadcrumbStyles",
|
|
745
|
-
"default": "css` :host { display: block; } [part='list'] { align-items: center; display: flex; flex-wrap: wrap; gap: 0;
|
|
745
|
+
"default": "css` :host { display: block; } [part='list'] { align-items: center; display: flex; flex-wrap: wrap; gap: 0; margin: 0; padding: 0; } `"
|
|
746
746
|
},
|
|
747
747
|
{
|
|
748
748
|
"kind": "variable",
|
|
@@ -925,7 +925,7 @@
|
|
|
925
925
|
{
|
|
926
926
|
"kind": "variable",
|
|
927
927
|
"name": "buttonStyles",
|
|
928
|
-
"default": "css` :host { display: inline-block; font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif); /* Internal state props — set per variant/appearance below */ --_color: var(--lt-text-on-primary); --_bg: var(--lt-interactive-primary-bg); --_border-color: transparent; --_hover-bg: var(--lt-interactive-primary-bg-hover); --_active-bg: var(--lt-interactive-primary-bg-active); } :host([full-width]) { display: block; width: 100%; } :host([full-width]) [part='base'] { width: 100%; } [part='base'] { align-items: center; background: var(--lt-button-bg, var(--_bg)); border-radius: var(--lt-border-radius); border: var(--lt-border-width, 1px) solid var(--lt-button-border-color, var(--_border-color)); box-sizing: border-box; color: var(--lt-button-color, var(--_color)); cursor: pointer; display: inline-flex; font-family: inherit; font-weight: 400; gap: var(--lt-spacing-2); justify-content: center; line-height: 1; min-width: var(--lt-button-min-width, 88px); user-select: none; transition: background-color 120ms ease, border-color 120ms ease, transform 50ms ease; } [part='base']:active { transform: translateY(1px); } [part='base']:focus-visible { outline: 3px solid var(--lt-border-focus); outline-offset: 2px; } [part='base'][disabled], [part='base'][aria-disabled='true'] { cursor: not-allowed; opacity: 0.6; pointer-events: none; transform: none; } /* anchor reset — browsers apply link color + underline by default */ a[part='base'] { text-decoration: none; } /* sizes */ :host([size='sm']) [part='base'] { font-size: 0.875rem; height: 32px; padding-inline: var(--lt-spacing-3); } :host([size='md']) [part='base'] { font-size: 1rem; height: 40px; padding-inline: var(--lt-spacing-4); } :host([size='lg']) [part='base'] { font-size: 1.0625rem; height: 48px; padding-inline: var(--lt-spacing-5); } /* variants — solid */ :host([variant='primary']) { --_bg: var(--lt-interactive-primary-bg); --_color: var(--lt-text-on-primary); --_hover-bg: var(--lt-interactive-primary-bg-hover); --_active-bg: var(--lt-interactive-primary-bg-active); } :host([variant='secondary']) { --_bg: var(--lt-interactive-secondary-bg); --_color: var(--lt-text-on-secondary); --_hover-bg: var(--lt-interactive-secondary-bg-hover); --_active-bg: var(--lt-interactive-secondary-bg-active); } :host([variant='neutral']) { --_bg: var(--lt-
|
|
928
|
+
"default": "css` :host { display: inline-block; font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif); /* Internal state props — set per variant/appearance below */ --_color: var(--lt-text-on-primary); --_bg: var(--lt-interactive-primary-bg); --_border-color: transparent; --_hover-bg: var(--lt-interactive-primary-bg-hover); --_active-bg: var(--lt-interactive-primary-bg-active); } :host([full-width]) { display: block; width: 100%; } :host([full-width]) [part='base'] { width: 100%; } [part='base'] { align-items: center; background: var(--lt-button-bg, var(--_bg)); border-radius: var(--lt-border-radius); border: var(--lt-border-width, 1px) solid var(--lt-button-border-color, var(--_border-color)); box-sizing: border-box; color: var(--lt-button-color, var(--_color)); cursor: pointer; display: inline-flex; font-family: inherit; font-weight: 400; gap: var(--lt-spacing-2); justify-content: center; line-height: 1; min-width: var(--lt-button-min-width, 88px); user-select: none; transition: background-color 120ms ease, border-color 120ms ease, transform 50ms ease; } [part='base']:active { transform: translateY(1px); } [part='base']:focus-visible { outline: 3px solid var(--lt-border-focus); outline-offset: 2px; } [part='base'][disabled], [part='base'][aria-disabled='true'] { cursor: not-allowed; opacity: 0.6; pointer-events: none; transform: none; } /* anchor reset — browsers apply link color + underline by default */ a[part='base'] { text-decoration: none; } /* sizes */ :host([size='sm']) [part='base'] { font-size: 0.875rem; height: 32px; padding-inline: var(--lt-spacing-3); } :host([size='md']) [part='base'] { font-size: 1rem; height: 40px; padding-inline: var(--lt-spacing-4); } :host([size='lg']) [part='base'] { font-size: 1.0625rem; height: 48px; padding-inline: var(--lt-spacing-5); } /* variants — solid */ :host([variant='primary']) { --_bg: var(--lt-interactive-primary-bg); --_color: var(--lt-text-on-primary); --_hover-bg: var(--lt-interactive-primary-bg-hover); --_active-bg: var(--lt-interactive-primary-bg-active); } :host([variant='secondary']) { --_bg: var(--lt-interactive-secondary-bg); --_color: var(--lt-text-on-secondary); --_hover-bg: var(--lt-interactive-secondary-bg-hover); --_active-bg: var(--lt-interactive-secondary-bg-active); } :host([variant='neutral']) { --_bg: var(--lt-interactive-neutral-bg); --_color: var(--lt-color-neutral-50); --_hover-bg: var(--lt-interactive-neutral-bg-hover); --_active-bg: var(--lt-interactive-neutral-bg-active); } :host([variant='success']) { --_bg: var(--lt-interactive-success-bg); --_color: var(--lt-text-on-success); --_hover-bg: var(--lt-interactive-success-bg-hover); --_active-bg: var(--lt-interactive-success-bg-active); } :host([variant='warning']) { --_bg: var(--lt-interactive-warning-bg); --_color: var(--lt-text-on-warning); --_hover-bg: var(--lt-interactive-warning-bg-hover); --_active-bg: var(--lt-interactive-warning-bg-active); } :host([variant='error']) { --_bg: var(--lt-interactive-error-bg); --_color: var(--lt-text-on-error); --_hover-bg: var(--lt-interactive-error-bg-hover); --_active-bg: var(--lt-interactive-error-bg-active); } :host([variant='info']) { --_bg: var(--lt-interactive-info-bg); --_color: var(--lt-text-on-info); --_hover-bg: var(--lt-interactive-info-bg-hover); --_active-bg: var(--lt-interactive-info-bg-active); } [part='base']:hover:not([disabled]):not([aria-disabled='true']) { background: var(--lt-button-bg, var(--_hover-bg)); } [part='base']:active:not([disabled]):not([aria-disabled='true']) { background: var(--lt-button-bg, var(--_active-bg)); } /* outlined appearance */ :host([appearance='outlined'][variant='primary']) { --_bg: transparent; --_color: var(--lt-text-primary); --_border-color: var(--lt-border-primary-strong); --_hover-bg: var(--lt-bg-primary-subtle); --_active-bg: var(--lt-bg-primary-subtle); } :host([appearance='outlined'][variant='secondary']) { --_bg: transparent; --_color: var(--lt-text-secondary); --_border-color: var(--lt-border-secondary-strong); --_hover-bg: var(--lt-bg-secondary-subtle); --_active-bg: var(--lt-bg-secondary-subtle); } :host([appearance='outlined'][variant='neutral']) { --_bg: transparent; --_color: var(--lt-text-neutral); --_border-color: var(--lt-border-strong); --_hover-bg: var(--lt-bg-subtle); --_active-bg: var(--lt-bg-surface); } :host([appearance='outlined'][variant='success']) { --_bg: transparent; --_color: var(--lt-text-success); --_border-color: var(--lt-border-success-strong); --_hover-bg: var(--lt-bg-success-subtle); --_active-bg: var(--lt-bg-success-subtle); } :host([appearance='outlined'][variant='warning']) { --_bg: transparent; --_color: var(--lt-text-warning); --_border-color: var(--lt-border-warning-strong); --_hover-bg: var(--lt-bg-warning-subtle); --_active-bg: var(--lt-bg-warning-subtle); } :host([appearance='outlined'][variant='error']) { --_bg: transparent; --_color: var(--lt-text-error); --_border-color: var(--lt-border-error-strong); --_hover-bg: var(--lt-bg-error-subtle); --_active-bg: var(--lt-bg-error-subtle); } :host([appearance='outlined'][variant='info']) { --_bg: transparent; --_color: var(--lt-text-info); --_border-color: var(--lt-border-info-strong); --_hover-bg: var(--lt-bg-info-subtle); --_active-bg: var(--lt-bg-info-subtle); } /* ghost appearance — transparent background, no border, low-emphasis text button */ :host([appearance='ghost'][variant='primary']) { --_bg: transparent; --_color: var(--lt-text-primary); --_hover-bg: var(--lt-bg-primary-subtle); --_active-bg: var(--lt-bg-primary-subtle); } :host([appearance='ghost'][variant='secondary']) { --_bg: transparent; --_color: var(--lt-text-secondary); --_hover-bg: var(--lt-bg-secondary-subtle); --_active-bg: var(--lt-bg-secondary-subtle); } :host([appearance='ghost'][variant='neutral']) { --_bg: transparent; --_color: var(--lt-text-neutral); --_hover-bg: var(--lt-bg-subtle); --_active-bg: var(--lt-bg-surface); } :host([appearance='ghost'][variant='success']) { --_bg: transparent; --_color: var(--lt-text-success); --_hover-bg: var(--lt-bg-success-subtle); --_active-bg: var(--lt-bg-success-subtle); } :host([appearance='ghost'][variant='warning']) { --_bg: transparent; --_color: var(--lt-text-warning); --_hover-bg: var(--lt-bg-warning-subtle); --_active-bg: var(--lt-bg-warning-subtle); } :host([appearance='ghost'][variant='error']) { --_bg: transparent; --_color: var(--lt-text-error); --_hover-bg: var(--lt-bg-error-subtle); --_active-bg: var(--lt-bg-error-subtle); } :host([appearance='ghost'][variant='info']) { --_bg: transparent; --_color: var(--lt-text-info); --_hover-bg: var(--lt-bg-info-subtle); --_active-bg: var(--lt-bg-info-subtle); } :host([appearance='outlined']) [part='base']:active:not([disabled]):not([aria-disabled='true']), :host([appearance='ghost']) [part='base']:active:not([disabled]):not([aria-disabled='true']) { opacity: 0.8; } /* bordered — adds a border on top of whatever appearance is active; a no-op on outlined, which already sets the same border color. */ :host([bordered][variant='primary']) { --_border-color: var(--lt-border-primary-strong); } :host([bordered][variant='secondary']) { --_border-color: var(--lt-border-secondary-strong); } :host([bordered][variant='neutral']) { --_border-color: var(--lt-border-strong); } :host([bordered][variant='success']) { --_border-color: var(--lt-border-success-strong); } :host([bordered][variant='warning']) { --_border-color: var(--lt-border-warning-strong); } :host([bordered][variant='error']) { --_border-color: var(--lt-border-error-strong); } :host([bordered][variant='info']) { --_border-color: var(--lt-border-info-strong); } /* loading */ .spinner { animation: spin 700ms linear infinite; border-radius: 999px; border-right-color: transparent; border: 2px solid currentColor; height: 1em; width: 1em; } @keyframes spin { to { transform: rotate(360deg); } } .icon, .end { align-items: center; display: inline-flex; justify-content: center; } :host([uppercase]) [part='base'] { font-variant-caps: small-caps; letter-spacing: 0.05rem; text-transform: lowercase; } `"
|
|
929
929
|
}
|
|
930
930
|
],
|
|
931
931
|
"exports": [
|
|
@@ -1199,7 +1199,7 @@
|
|
|
1199
1199
|
{
|
|
1200
1200
|
"kind": "variable",
|
|
1201
1201
|
"name": "calendarStyles",
|
|
1202
|
-
"default": "css` :host { display: inline-block; font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif); } .calendar { background: var(--lt-bg-default); border-radius: var(--lt-border-radius); border: var(--lt-border-width, 1px) solid var(--lt-border-default); display: flex; flex-direction: column; gap: var(--lt-spacing-2); padding: var(--lt-spacing-3); width: 17.25rem; } /* ── Header ── */ .header { align-items: center; display: flex; justify-content: space-between; } .month-label-btn { align-items: center; background: transparent; border-radius: var(--lt-border-radius); border: 1px solid transparent; color: var(--lt-text-default); cursor: pointer; display: inline-flex; font-family: inherit; font-size: 0.9375rem; font-weight: 600; gap: var(--lt-spacing-1); letter-spacing: 0.01em; padding: var(--lt-spacing-1) var(--lt-spacing-2); transition: background 120ms ease, border-color 120ms ease; } .month-label-btn:hover:not(:disabled) { background: var(--lt-bg-neutral-subtle); border-color: var(--lt-border-default); } .month-label-btn--open { background: var(--lt-bg-neutral-subtle); border-color: var(--lt-border-default); } .month-label-btn:disabled { cursor: not-allowed; opacity: 0.6; } .picker-chevron { color: var(--lt-text-subtle); transition: transform 150ms ease; } .month-label-btn--open .picker-chevron { transform: rotate(180deg); } .nav-btn { align-items: center; background: transparent; border-radius: var(--lt-border-radius); border: 1px solid transparent; color: var(--lt-text-subtle); cursor: pointer; display: inline-flex; height: 2rem; justify-content: center; padding: 0; transition: background 120ms ease, border-color 120ms ease, color 120ms ease; width: 2rem; } .nav-btn:hover:not(:disabled) { background: var(--lt-bg-neutral-subtle); border-color: var(--lt-border-default); color: var(--lt-text-default); } .nav-btn:disabled { color: var(--lt-text-disabled); cursor: not-allowed; } /* ── Weekday headers ── */ .weekdays { column-gap: 0; display: grid; grid-template-columns: repeat(7, 1fr); } .weekday { color: var(--lt-text-muted); font-size: 0.75rem; font-weight: 500; text-align: center; } /* ── Day grid ── */ .grid { column-gap: 0; display: grid; grid-template-columns: repeat(7, 1fr); row-gap: var(--lt-spacing-1); } [role='row'] { display: contents; } /* Day button — strip layer in range mode */ .day { align-items: center; background: transparent; border: none; color: var(--lt-text-default); cursor: pointer; display: inline-flex; font-family: inherit; font-size: 0.8125rem; font-weight: 400; height: 2.25rem; justify-content: center; outline: none; padding: 0; transition: background 100ms ease; width: 100%; } .day:disabled { cursor: not-allowed; } /* Day inner — the visible circle */ .day__inner { align-items: center; background: transparent; border: 2px solid transparent; border-radius: 50%; color: inherit; display: inline-flex; font-size: inherit; font-weight: inherit; height: 2.25rem; justify-content: center; transition: background 100ms ease, border-color 100ms ease, color 100ms ease; width: 2.25rem; } .day:hover:not(:disabled) .day__inner { background: var(--lt-bg-neutral-subtle); } .day:focus-visible .day__inner { outline: 2px solid var(--lt-border-focus); outline-offset: 1px; } /* Today ring */ .day--today .day__inner { border-color: var(--lt-border-primary); font-weight: 600; } /* Single-mode selected */ .day--selected .day__inner { background: var(--lt-interactive-primary-bg); border-color: transparent; color: var(--lt-text-on-primary); font-weight: 600; } .day--selected:hover:not(:disabled) .day__inner { background: var(--lt-interactive-primary-bg-hover); } /* Outside days */ .day--outside { color: var(--lt-text-muted);
|
|
1202
|
+
"default": "css` :host { display: inline-block; font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif); } .calendar { background: var(--lt-bg-default); border-radius: var(--lt-border-radius); border: var(--lt-border-width, 1px) solid var(--lt-border-default); display: flex; flex-direction: column; gap: var(--lt-spacing-2); padding: var(--lt-spacing-3); width: 17.25rem; } /* ── Header ── */ .header { align-items: center; display: flex; justify-content: space-between; } .month-label-btn { align-items: center; background: transparent; border-radius: var(--lt-border-radius); border: 1px solid transparent; color: var(--lt-text-default); cursor: pointer; display: inline-flex; font-family: inherit; font-size: 0.9375rem; font-weight: 600; gap: var(--lt-spacing-1); letter-spacing: 0.01em; padding: var(--lt-spacing-1) var(--lt-spacing-2); transition: background 120ms ease, border-color 120ms ease; } .month-label-btn:hover:not(:disabled) { background: var(--lt-bg-neutral-subtle); border-color: var(--lt-border-default); } .month-label-btn--open { background: var(--lt-bg-neutral-subtle); border-color: var(--lt-border-default); } .month-label-btn:disabled { cursor: not-allowed; opacity: 0.6; } .picker-chevron { color: var(--lt-text-subtle); transition: transform 150ms ease; } .month-label-btn--open .picker-chevron { transform: rotate(180deg); } .nav-btn { align-items: center; background: transparent; border-radius: var(--lt-border-radius); border: 1px solid transparent; color: var(--lt-text-subtle); cursor: pointer; display: inline-flex; height: 2rem; justify-content: center; padding: 0; transition: background 120ms ease, border-color 120ms ease, color 120ms ease; width: 2rem; } .nav-btn:hover:not(:disabled) { background: var(--lt-bg-neutral-subtle); border-color: var(--lt-border-default); color: var(--lt-text-default); } .nav-btn:disabled { color: var(--lt-text-disabled); cursor: not-allowed; } /* ── Weekday headers ── */ .weekdays { column-gap: 0; display: grid; grid-template-columns: repeat(7, 1fr); } .weekday { color: var(--lt-text-muted); font-size: 0.75rem; font-weight: 500; text-align: center; } /* ── Day grid ── */ .grid { column-gap: 0; display: grid; grid-template-columns: repeat(7, 1fr); row-gap: var(--lt-spacing-1); } [role='row'] { display: contents; } /* Day button — strip layer in range mode */ .day { align-items: center; background: transparent; border: none; color: var(--lt-text-default); cursor: pointer; display: inline-flex; font-family: inherit; font-size: 0.8125rem; font-weight: 400; height: 2.25rem; justify-content: center; outline: none; padding: 0; transition: background 100ms ease; width: 100%; } .day:disabled { cursor: not-allowed; } /* Day inner — the visible circle */ .day__inner { align-items: center; background: transparent; border: 2px solid transparent; border-radius: 50%; color: inherit; display: inline-flex; font-size: inherit; font-weight: inherit; height: 2.25rem; justify-content: center; transition: background 100ms ease, border-color 100ms ease, color 100ms ease; width: 2.25rem; } .day:hover:not(:disabled) .day__inner { background: var(--lt-bg-neutral-subtle); } .day:focus-visible .day__inner { outline: 2px solid var(--lt-border-focus); outline-offset: 1px; } /* Today ring */ .day--today .day__inner { border-color: var(--lt-border-primary); font-weight: 600; } /* Single-mode selected */ .day--selected .day__inner { background: var(--lt-interactive-primary-bg); border-color: transparent; color: var(--lt-text-on-primary); font-weight: 600; } .day--selected:hover:not(:disabled) .day__inner { background: var(--lt-interactive-primary-bg-hover); } /* Outside days — dimmed by the muted text color alone. They're enabled, clickable buttons, and a 0.5 opacity on top of muted text took them to ~2:1 (WCAG AA needs 4.5:1). */ .day--outside { color: var(--lt-text-muted); } /* Empty filler cell */ .day--empty { background: transparent; border: none; cursor: default; pointer-events: none; } .day:disabled .day__inner { color: var(--lt-text-disabled); opacity: 0.4; } /* ── Range strips (on .day button = strip layer) ── */ /* Start: transparent on left, strip on right */ .day--range-left { background: linear-gradient(to right, transparent 50%, var(--lt-bg-primary-subtle) 50%); } /* End: strip on left, transparent on right */ .day--range-right { background: linear-gradient(to right, var(--lt-bg-primary-subtle) 50%, transparent 50%); } /* Same-day start+end — no strip needed */ .day--range-left.day--range-right { background: transparent; } /* Days between confirmed endpoints */ .day--in-range { background: var(--lt-bg-primary-subtle); } .day--in-range:hover:not(:disabled) .day__inner { background: var(--lt-bg-neutral-subtle); } /* Days between hover preview endpoints */ .day--in-hover-range { background: var(--lt-bg-primary-subtle); opacity: 0.45; } /* Confirmed range endpoint circle */ .day--range-confirmed .day__inner { background: var(--lt-interactive-primary-bg); border-color: transparent; color: var(--lt-text-on-primary); font-weight: 600; } .day--range-confirmed:hover:not(:disabled) .day__inner { background: var(--lt-interactive-primary-bg-hover); } /* Hover preview endpoint circle (semi-transparent) */ .day--range-hover .day__inner { background: var(--lt-interactive-primary-bg); border-color: transparent; color: var(--lt-text-on-primary); opacity: 0.5; } /* ── Multi-month layout ── */ .calendar--multi { width: auto; } .month-label-row { display: flex; flex: 1; justify-content: space-around; } .month-label { color: var(--lt-text-default); font-size: 0.9375rem; font-weight: 600; letter-spacing: 0.01em; text-align: center; } .month-panels { display: flex; gap: var(--lt-spacing-4); } .month-col { width: 17.25rem; } /* ── Month/year picker ── */ .picker-months { display: grid; gap: var(--lt-spacing-1); grid-template-columns: repeat(3, 1fr); } .picker-month-btn { background: transparent; border-radius: var(--lt-border-radius); border: 1px solid transparent; color: var(--lt-text-default); cursor: pointer; font-family: inherit; font-size: 0.8125rem; font-weight: 400; padding: var(--lt-spacing-2) 0; text-align: center; transition: background 100ms ease, border-color 100ms ease; } .picker-month-btn:hover:not(:disabled) { background: var(--lt-bg-neutral-subtle); border-color: var(--lt-border-default); } .picker-month-btn--current { background: var(--lt-interactive-primary-bg); border-color: transparent; color: var(--lt-text-on-primary); font-weight: 600; } .picker-month-btn--current:hover:not(:disabled) { background: var(--lt-interactive-primary-bg-hover); } .picker-month-btn:disabled { color: var(--lt-text-disabled); cursor: not-allowed; opacity: 0.5; } /* ── Footer ── */ .footer { border-top: 1px solid var(--lt-border-subtle); display: flex; justify-content: flex-end; padding-top: var(--lt-spacing-1); } .today-btn { background: transparent; border-radius: var(--lt-border-radius); border: var(--lt-border-width, 1px) solid var(--lt-border-default); color: var(--lt-text-subtle); cursor: pointer; font-family: inherit; font-size: 0.75rem; font-weight: 500; padding: var(--lt-spacing-1) var(--lt-spacing-2); transition: background 120ms ease, border-color 120ms ease, color 120ms ease; } .today-btn:hover:not(:disabled) { background: var(--lt-bg-neutral-subtle); border-color: var(--lt-border-strong); color: var(--lt-text-default); } .today-btn:disabled { color: var(--lt-text-disabled); cursor: not-allowed; opacity: 0.5; } `"
|
|
1203
1203
|
}
|
|
1204
1204
|
],
|
|
1205
1205
|
"exports": [
|
|
@@ -4128,7 +4128,7 @@
|
|
|
4128
4128
|
{
|
|
4129
4129
|
"kind": "variable",
|
|
4130
4130
|
"name": "headerStyles",
|
|
4131
|
-
"default": "css` :host { display: block; position: sticky; top: 0; z-index: 100; box-shadow: var(--lt-elevation-1); } :host([background='primary']) { background: var(--lt-bg-primary); color: var(--lt-text-
|
|
4131
|
+
"default": "css` :host { display: block; position: sticky; top: 0; z-index: 100; box-shadow: var(--lt-elevation-1); } :host([background='primary']) { background: var(--lt-bg-primary); color: var(--lt-text-on-primary); } :host([background='surface']) { background: var(--lt-bg-default); color: var(--lt-text-default); } header { display: flex; align-items: center; gap: var(--lt-spacing-2); padding: 0 var(--lt-spacing-4); min-height: var(--lt-spacing-px-16); box-sizing: border-box; color: inherit; } .content { flex: 1; display: flex; align-items: center; } `"
|
|
4132
4132
|
}
|
|
4133
4133
|
],
|
|
4134
4134
|
"exports": [
|
|
@@ -4238,7 +4238,7 @@
|
|
|
4238
4238
|
{
|
|
4239
4239
|
"kind": "variable",
|
|
4240
4240
|
"name": "iconButtonStyles",
|
|
4241
|
-
"default": "css` :host { display: inline-flex; /* Internal state props — set per variant/appearance below */ --_color: var(--lt-text-subtle); --_bg: transparent; --_border-color: transparent; --_hover-bg: var(--lt-bg-subtle); --_hover-color: var(--lt-text-default); --_active-bg: var(--lt-bg-subtle); } [part='base'] { align-items: center; background: var(--lt-icon-button-bg, var(--_bg)); border-radius: var(--lt-border-radius); border: var(--lt-border-width, 1px) solid var(--lt-icon-button-border-color, var(--_border-color)); box-sizing: border-box; color: var(--lt-icon-button-color, var(--_color)); cursor: pointer; display: inline-flex; justify-content: center; padding: 0; transition: background-color 120ms ease, border-color 120ms ease, transform 50ms ease; user-select: none; } [part='base']:hover:not([disabled]) { background: var(--lt-icon-button-hover-bg, var(--_hover-bg)); color: var(--lt-icon-button-hover-color, var(--lt-icon-button-color, var(--_hover-color))); } [part='base']:active { transform: translateY(1px); } [part='base']:active:not([disabled]) { background: var(--lt-icon-button-hover-bg, var(--_active-bg)); } [part='base']:focus-visible { outline: 3px solid var(--lt-border-focus); outline-offset: 2px; } [part='base'][disabled] { cursor: not-allowed; opacity: 0.5; pointer-events: none; transform: none; } a[part='base'] { text-decoration: none;
|
|
4241
|
+
"default": "css` :host { display: inline-flex; /* Internal state props — set per variant/appearance below */ --_color: var(--lt-text-subtle); --_bg: transparent; --_border-color: transparent; --_hover-bg: var(--lt-bg-subtle); --_hover-color: var(--lt-text-default); --_active-bg: var(--lt-bg-subtle); } [part='base'] { align-items: center; background: var(--lt-icon-button-bg, var(--_bg)); border-radius: var(--lt-border-radius); border: var(--lt-border-width, 1px) solid var(--lt-icon-button-border-color, var(--_border-color)); box-sizing: border-box; color: var(--lt-icon-button-color, var(--_color)); cursor: pointer; display: inline-flex; justify-content: center; padding: 0; transition: background-color 120ms ease, border-color 120ms ease, transform 50ms ease; user-select: none; } [part='base']:hover:not([disabled]) { background: var(--lt-icon-button-hover-bg, var(--_hover-bg)); color: var(--lt-icon-button-hover-color, var(--lt-icon-button-color, var(--_hover-color))); } [part='base']:active { transform: translateY(1px); } [part='base']:active:not([disabled]) { background: var(--lt-icon-button-hover-bg, var(--_active-bg)); } [part='base']:focus-visible { outline: 3px solid var(--lt-border-focus); outline-offset: 2px; } [part='base'][disabled] { cursor: not-allowed; opacity: 0.5; pointer-events: none; transform: none; } a[part='base'] { text-decoration: none; } /* sizes */ :host([size='sm']) [part='base'] { height: 28px; width: 28px; } :host([size='md']) [part='base'] { height: 36px; width: 36px; } :host([size='lg']) [part='base'] { height: 44px; width: 44px; } /* ── ghost ────────────────────────────────────────────────── */ :host([appearance='ghost'][variant='primary']) { --_color: var(--lt-text-primary); --_hover-bg: var(--lt-bg-primary-subtle); --_hover-color: var(--lt-text-primary); --_active-bg: var(--lt-bg-primary-subtle); } :host([appearance='ghost'][variant='secondary']) { --_color: var(--lt-text-secondary); --_hover-bg: var(--lt-bg-secondary-subtle); --_hover-color: var(--lt-text-secondary); --_active-bg: var(--lt-bg-secondary-subtle); } :host([appearance='ghost'][variant='success']) { --_color: var(--lt-text-success); --_hover-bg: var(--lt-bg-success-subtle); --_hover-color: var(--lt-text-success); --_active-bg: var(--lt-bg-success-subtle); } :host([appearance='ghost'][variant='warning']) { --_color: var(--lt-text-warning); --_hover-bg: var(--lt-bg-warning-subtle); --_hover-color: var(--lt-text-warning); --_active-bg: var(--lt-bg-warning-subtle); } :host([appearance='ghost'][variant='error']) { --_color: var(--lt-text-error); --_hover-bg: var(--lt-bg-error-subtle); --_hover-color: var(--lt-text-error); --_active-bg: var(--lt-bg-error-subtle); } :host([appearance='ghost'][variant='info']) { --_color: var(--lt-text-info); --_hover-bg: var(--lt-bg-info-subtle); --_hover-color: var(--lt-text-info); --_active-bg: var(--lt-bg-info-subtle); } /* ── filled ───────────────────────────────────────────────── */ :host([appearance='filled'][variant='primary']) { --_bg: var(--lt-interactive-primary-bg); --_color: var(--lt-text-on-primary); --_hover-bg: var(--lt-interactive-primary-bg-hover); --_hover-color: var(--lt-text-on-primary); --_active-bg: var(--lt-interactive-primary-bg-active); } :host([appearance='filled'][variant='secondary']) { --_bg: var(--lt-interactive-secondary-bg); --_color: var(--lt-text-on-secondary); --_hover-bg: var(--lt-interactive-secondary-bg-hover); --_hover-color: var(--lt-text-on-secondary); --_active-bg: var(--lt-interactive-secondary-bg-active); } :host([appearance='filled'][variant='neutral']) { --_bg: var(--lt-interactive-neutral-bg); --_color: var(--lt-color-neutral-50); --_hover-bg: var(--lt-interactive-neutral-bg-hover); --_hover-color: var(--lt-color-neutral-50); --_active-bg: var(--lt-interactive-neutral-bg-active); } :host([appearance='filled'][variant='success']) { --_bg: var(--lt-interactive-success-bg); --_color: var(--lt-text-on-success); --_hover-bg: var(--lt-interactive-success-bg-hover); --_hover-color: var(--lt-text-on-success); --_active-bg: var(--lt-interactive-success-bg-active); } :host([appearance='filled'][variant='warning']) { --_bg: var(--lt-interactive-warning-bg); --_color: var(--lt-text-on-warning); --_hover-bg: var(--lt-interactive-warning-bg-hover); --_hover-color: var(--lt-text-on-warning); --_active-bg: var(--lt-interactive-warning-bg-active); } :host([appearance='filled'][variant='error']) { --_bg: var(--lt-interactive-error-bg); --_color: var(--lt-text-on-error); --_hover-bg: var(--lt-interactive-error-bg-hover); --_hover-color: var(--lt-text-on-error); --_active-bg: var(--lt-interactive-error-bg-active); } :host([appearance='filled'][variant='info']) { --_bg: var(--lt-interactive-info-bg); --_color: var(--lt-text-on-info); --_hover-bg: var(--lt-interactive-info-bg-hover); --_hover-color: var(--lt-text-on-info); --_active-bg: var(--lt-interactive-info-bg-active); } /* ── outlined ─────────────────────────────────────────────── */ :host([appearance='outlined'][variant='primary']) { --_color: var(--lt-text-primary); --_border-color: var(--lt-border-primary-strong); --_hover-bg: var(--lt-bg-primary-subtle); --_hover-color: var(--lt-text-primary); --_active-bg: var(--lt-bg-primary-subtle); } :host([appearance='outlined'][variant='secondary']) { --_color: var(--lt-text-secondary); --_border-color: var(--lt-border-secondary-strong); --_hover-bg: var(--lt-bg-secondary-subtle); --_hover-color: var(--lt-text-secondary); --_active-bg: var(--lt-bg-secondary-subtle); } :host([appearance='outlined'][variant='neutral']) { --_color: var(--lt-text-neutral); --_border-color: var(--lt-border-strong); --_hover-bg: var(--lt-bg-subtle); --_hover-color: var(--lt-text-default); --_active-bg: var(--lt-bg-subtle); } :host([appearance='outlined'][variant='success']) { --_color: var(--lt-text-success); --_border-color: var(--lt-border-success-strong); --_hover-bg: var(--lt-bg-success-subtle); --_hover-color: var(--lt-text-success); --_active-bg: var(--lt-bg-success-subtle); } :host([appearance='outlined'][variant='warning']) { --_color: var(--lt-text-warning); --_border-color: var(--lt-border-warning-strong); --_hover-bg: var(--lt-bg-warning-subtle); --_hover-color: var(--lt-text-warning); --_active-bg: var(--lt-bg-warning-subtle); } :host([appearance='outlined'][variant='error']) { --_color: var(--lt-text-error); --_border-color: var(--lt-border-error-strong); --_hover-bg: var(--lt-bg-error-subtle); --_hover-color: var(--lt-text-error); --_active-bg: var(--lt-bg-error-subtle); } :host([appearance='outlined'][variant='info']) { --_color: var(--lt-text-info); --_border-color: var(--lt-border-info-strong); --_hover-bg: var(--lt-bg-info-subtle); --_hover-color: var(--lt-text-info); --_active-bg: var(--lt-bg-info-subtle); } /* bordered — adds a border on top of whatever appearance is active; a no-op on outlined, which already sets the same border color. */ :host([bordered][variant='primary']) { --_border-color: var(--lt-border-primary-strong); } :host([bordered][variant='secondary']) { --_border-color: var(--lt-border-secondary-strong); } :host([bordered][variant='neutral']) { --_border-color: var(--lt-border-strong); } :host([bordered][variant='success']) { --_border-color: var(--lt-border-success-strong); } :host([bordered][variant='warning']) { --_border-color: var(--lt-border-warning-strong); } :host([bordered][variant='error']) { --_border-color: var(--lt-border-error-strong); } :host([bordered][variant='info']) { --_border-color: var(--lt-border-info-strong); } /* round shape */ :host([round]) [part='base'] { border-radius: 50%; } `"
|
|
4242
4242
|
}
|
|
4243
4243
|
],
|
|
4244
4244
|
"exports": [
|
|
@@ -4783,7 +4783,7 @@
|
|
|
4783
4783
|
"declarations": [
|
|
4784
4784
|
{
|
|
4785
4785
|
"kind": "class",
|
|
4786
|
-
"description": "A list item
|
|
4786
|
+
"description": "A list item that behaves like a native `<li>` without literally being one.\nThe host sets `display: list-item` and `role=\"listitem\"` on itself (a\ncustom element's tag can never actually be `<li>`), so it still renders a\nnative marker/counter via inherited `list-style-type`/`-position` and\nreads correctly to assistive tech, inside `lt-list`'s `<div role=\"list\">`.\n\nThis also solves the HTML parser issue where nesting a real `<li>` through\na `<lt-list>` boundary auto-closes a still-open ancestor `<li>` (see\n`lt-list`'s own tests) — `<lt-list-item>` isn't `<li>` at the raw-HTML-tag\nlevel, so it never triggers that parser behavior in the first place.\n\nItems can also be interactive: set `clickable` to render the row as a native\n`<button>` (picker rows, settings rows), or `href` to render it as an `<a>`.\nInteractive rows get hover/active/focus states and a disabled state.",
|
|
4787
4787
|
"name": "ListItem",
|
|
4788
4788
|
"cssParts": [
|
|
4789
4789
|
{
|
|
@@ -4898,7 +4898,7 @@
|
|
|
4898
4898
|
{
|
|
4899
4899
|
"kind": "variable",
|
|
4900
4900
|
"name": "listStyles",
|
|
4901
|
-
"default": "css` :host { display: block; font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif); --list-marker-color: var(--lt-color-neutral-500); }
|
|
4901
|
+
"default": "css` :host { display: block; font-family: var(--lt-typography-fontFamilyPrimary, 'Hanken Grotesk', sans-serif); --list-marker-color: var(--lt-color-neutral-500); } [part='list'] { margin: 0; padding: 0 0 0 var(--lt-spacing-5); list-style-position: outside; list-style-type: disc; color: var(--lt-text-default); } :host([type='ordered']) [part='list'] { list-style-type: decimal; } ::slotted(li), ::slotted(lt-list-item) { margin-bottom: var(--lt-spacing-2); } ::slotted(li:last-child), ::slotted(lt-list-item:last-child) { margin-bottom: 0; } ::slotted(lt-list) { display: block; margin-top: var(--lt-spacing-2); margin-bottom: var(--lt-spacing-2); padding-left: var(--lt-spacing-5); font-size: 0.9em; } /* No marker */ :host([no-marker]) [part='list'] { list-style: none; padding-left: 0; } /* Divider */ :host([divider]) ::slotted(lt-list-item) { border-bottom: 1px solid var(--lt-border-default); padding-bottom: var(--lt-spacing-2); } :host([divider]) ::slotted(lt-list-item:last-child) { border-bottom: none; padding-bottom: 0; } ::slotted(lt-list:first-child) { margin-top: var(--lt-spacing-2); } ::slotted(lt-list:last-child) { margin-bottom: 0; } [part='list'] ::slotted(li)::marker { color: var(--list-marker-color); } /* Size variants */ :host([size='sm']) [part='list'] { font-size: 0.875rem; line-height: 1.5; } :host([size='sm']) ::slotted(li), :host([size='sm']) ::slotted(lt-list-item) { margin-bottom: var(--lt-spacing-1); } :host([size='md']) [part='list'] { font-size: 1rem; line-height: 1.6; } :host([size='md']) ::slotted(li), :host([size='md']) ::slotted(lt-list-item) { margin-bottom: var(--lt-spacing-2); } :host([size='lg']) [part='list'] { font-size: 1.125rem; line-height: 1.7; } :host([size='lg']) ::slotted(li), :host([size='lg']) ::slotted(lt-list-item) { margin-bottom: var(--lt-spacing-3); } `"
|
|
4902
4902
|
}
|
|
4903
4903
|
],
|
|
4904
4904
|
"exports": [
|
|
@@ -4928,7 +4928,7 @@
|
|
|
4928
4928
|
],
|
|
4929
4929
|
"cssParts": [
|
|
4930
4930
|
{
|
|
4931
|
-
"description": "The underlying `<ul>`
|
|
4931
|
+
"description": "The underlying list container. Renders as a `<div role=\"list\">` rather than a real `<ul>`/`<ol>` — a custom element like `<lt-list-item>` can never itself be a valid `<li>`, so a real `<ul>`/`<ol>` around one fails HTML's list content model (only `<li>`/`<script>`/`<template>` may be direct children). `list-style-type` is still set here and inherited down, so real `<li>` children (and `<lt-list-item>`, which sets `display: list-item` on itself) render their native marker/counter exactly as they would inside a real list.",
|
|
4932
4932
|
"name": "list"
|
|
4933
4933
|
}
|
|
4934
4934
|
],
|
|
@@ -249,7 +249,6 @@ var iconButtonStyles = css2`
|
|
|
249
249
|
|
|
250
250
|
a[part='base'] {
|
|
251
251
|
text-decoration: none;
|
|
252
|
-
color: inherit;
|
|
253
252
|
}
|
|
254
253
|
|
|
255
254
|
/* sizes */
|
|
@@ -322,11 +321,11 @@ var iconButtonStyles = css2`
|
|
|
322
321
|
--_active-bg: var(--lt-interactive-secondary-bg-active);
|
|
323
322
|
}
|
|
324
323
|
:host([appearance='filled'][variant='neutral']) {
|
|
325
|
-
--_bg: var(--lt-
|
|
324
|
+
--_bg: var(--lt-interactive-neutral-bg);
|
|
326
325
|
--_color: var(--lt-color-neutral-50);
|
|
327
|
-
--_hover-bg: var(--lt-
|
|
326
|
+
--_hover-bg: var(--lt-interactive-neutral-bg-hover);
|
|
328
327
|
--_hover-color: var(--lt-color-neutral-50);
|
|
329
|
-
--_active-bg: var(--lt-
|
|
328
|
+
--_active-bg: var(--lt-interactive-neutral-bg-active);
|
|
330
329
|
}
|
|
331
330
|
:host([appearance='filled'][variant='success']) {
|
|
332
331
|
--_bg: var(--lt-interactive-success-bg);
|
|
@@ -230,7 +230,7 @@ var badgeStyles = css`
|
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
:host([appearance='solid'][variant='neutral']) span[part='base'] {
|
|
233
|
-
background: var(--lt-
|
|
233
|
+
background: var(--lt-interactive-neutral-bg);
|
|
234
234
|
border-color: transparent;
|
|
235
235
|
color: var(--lt-color-white);
|
|
236
236
|
}
|
|
@@ -49,7 +49,6 @@ var breadcrumbStyles = css`
|
|
|
49
49
|
display: flex;
|
|
50
50
|
flex-wrap: wrap;
|
|
51
51
|
gap: 0;
|
|
52
|
-
list-style: none;
|
|
53
52
|
margin: 0;
|
|
54
53
|
padding: 0;
|
|
55
54
|
}
|
|
@@ -112,9 +111,9 @@ var Breadcrumb = class extends ThemeableElement {
|
|
|
112
111
|
render() {
|
|
113
112
|
return html`
|
|
114
113
|
<nav aria-label="breadcrumb">
|
|
115
|
-
<
|
|
114
|
+
<div part="list" role="list">
|
|
116
115
|
<slot></slot>
|
|
117
|
-
</
|
|
116
|
+
</div>
|
|
118
117
|
</nav>
|
|
119
118
|
`;
|
|
120
119
|
}
|
|
@@ -133,17 +132,21 @@ var BreadcrumbItem = class extends ThemeableElement {
|
|
|
133
132
|
this.current = false;
|
|
134
133
|
this.separator = "";
|
|
135
134
|
}
|
|
135
|
+
connectedCallback() {
|
|
136
|
+
super.connectedCallback();
|
|
137
|
+
this.setAttribute("role", "listitem");
|
|
138
|
+
}
|
|
136
139
|
render() {
|
|
137
140
|
const hasSeparatorOverride = this.separator !== null && this.separator !== void 0 && this.separator !== "";
|
|
138
141
|
return html`
|
|
139
|
-
<
|
|
142
|
+
<div part="item">
|
|
140
143
|
${this.current || !this.href ? html`<span part="text" aria-current=${this.current ? "page" : "false"}><slot></slot></span>` : html`<a part="link" href=${this.href}><slot></slot></a>`}
|
|
141
144
|
<span
|
|
142
145
|
part="separator"
|
|
143
146
|
aria-hidden="true"
|
|
144
147
|
style=${hasSeparatorOverride ? `--lt-breadcrumb-separator: "${this.separator}"` : ""}
|
|
145
148
|
></span>
|
|
146
|
-
</
|
|
149
|
+
</div>
|
|
147
150
|
`;
|
|
148
151
|
}
|
|
149
152
|
};
|
|
@@ -139,10 +139,10 @@ var buttonStyles = css`
|
|
|
139
139
|
--_active-bg: var(--lt-interactive-secondary-bg-active);
|
|
140
140
|
}
|
|
141
141
|
:host([variant='neutral']) {
|
|
142
|
-
--_bg: var(--lt-
|
|
142
|
+
--_bg: var(--lt-interactive-neutral-bg);
|
|
143
143
|
--_color: var(--lt-color-neutral-50);
|
|
144
|
-
--_hover-bg: var(--lt-
|
|
145
|
-
--_active-bg: var(--lt-
|
|
144
|
+
--_hover-bg: var(--lt-interactive-neutral-bg-hover);
|
|
145
|
+
--_active-bg: var(--lt-interactive-neutral-bg-active);
|
|
146
146
|
}
|
|
147
147
|
:host([variant='success']) {
|
|
148
148
|
--_bg: var(--lt-interactive-success-bg);
|
|
@@ -234,10 +234,10 @@ var calendarStyles = css`
|
|
|
234
234
|
background: var(--lt-interactive-primary-bg-hover);
|
|
235
235
|
}
|
|
236
236
|
|
|
237
|
-
/* Outside days
|
|
237
|
+
/* Outside days — dimmed by the muted text color alone. They're enabled, clickable buttons, and a 0.5
|
|
238
|
+
opacity on top of muted text took them to ~2:1 (WCAG AA needs 4.5:1). */
|
|
238
239
|
.day--outside {
|
|
239
240
|
color: var(--lt-text-muted);
|
|
240
|
-
opacity: 0.5;
|
|
241
241
|
}
|
|
242
242
|
|
|
243
243
|
/* Empty filler cell */
|
|
@@ -1963,7 +1963,7 @@ var Combobox = class extends ThemeableElement {
|
|
|
1963
1963
|
@input=${this.handleInput}
|
|
1964
1964
|
@keydown=${this.handleKeydown}
|
|
1965
1965
|
/>
|
|
1966
|
-
<lt-icon class="chevron" name="
|
|
1966
|
+
<lt-icon class="chevron" name="caret-down" size="sm"></lt-icon>
|
|
1967
1967
|
</div>
|
|
1968
1968
|
`;
|
|
1969
1969
|
return html2`
|
|
@@ -239,10 +239,10 @@ var calendarStyles = css`
|
|
|
239
239
|
background: var(--lt-interactive-primary-bg-hover);
|
|
240
240
|
}
|
|
241
241
|
|
|
242
|
-
/* Outside days
|
|
242
|
+
/* Outside days — dimmed by the muted text color alone. They're enabled, clickable buttons, and a 0.5
|
|
243
|
+
opacity on top of muted text took them to ~2:1 (WCAG AA needs 4.5:1). */
|
|
243
244
|
.day--outside {
|
|
244
245
|
color: var(--lt-text-muted);
|
|
245
|
-
opacity: 0.5;
|
|
246
246
|
}
|
|
247
247
|
|
|
248
248
|
/* Empty filler cell */
|
|
@@ -241,7 +241,6 @@ var iconButtonStyles = css3`
|
|
|
241
241
|
|
|
242
242
|
a[part='base'] {
|
|
243
243
|
text-decoration: none;
|
|
244
|
-
color: inherit;
|
|
245
244
|
}
|
|
246
245
|
|
|
247
246
|
/* sizes */
|
|
@@ -314,11 +313,11 @@ var iconButtonStyles = css3`
|
|
|
314
313
|
--_active-bg: var(--lt-interactive-secondary-bg-active);
|
|
315
314
|
}
|
|
316
315
|
:host([appearance='filled'][variant='neutral']) {
|
|
317
|
-
--_bg: var(--lt-
|
|
316
|
+
--_bg: var(--lt-interactive-neutral-bg);
|
|
318
317
|
--_color: var(--lt-color-neutral-50);
|
|
319
|
-
--_hover-bg: var(--lt-
|
|
318
|
+
--_hover-bg: var(--lt-interactive-neutral-bg-hover);
|
|
320
319
|
--_hover-color: var(--lt-color-neutral-50);
|
|
321
|
-
--_active-bg: var(--lt-
|
|
320
|
+
--_active-bg: var(--lt-interactive-neutral-bg-active);
|
|
322
321
|
}
|
|
323
322
|
:host([appearance='filled'][variant='success']) {
|
|
324
323
|
--_bg: var(--lt-interactive-success-bg);
|
|
@@ -11,7 +11,7 @@ export declare class DropdownItem extends ThemeableElement {
|
|
|
11
11
|
static shadowRootOptions: {
|
|
12
12
|
delegatesFocus: boolean;
|
|
13
13
|
clonable?: boolean;
|
|
14
|
-
customElementRegistry?: CustomElementRegistry;
|
|
14
|
+
customElementRegistry?: CustomElementRegistry | null;
|
|
15
15
|
mode: ShadowRootMode;
|
|
16
16
|
serializable?: boolean;
|
|
17
17
|
slotAssignment?: SlotAssignmentMode;
|
|
@@ -96,7 +96,6 @@ var iconButtonStyles = css`
|
|
|
96
96
|
|
|
97
97
|
a[part='base'] {
|
|
98
98
|
text-decoration: none;
|
|
99
|
-
color: inherit;
|
|
100
99
|
}
|
|
101
100
|
|
|
102
101
|
/* sizes */
|
|
@@ -169,11 +168,11 @@ var iconButtonStyles = css`
|
|
|
169
168
|
--_active-bg: var(--lt-interactive-secondary-bg-active);
|
|
170
169
|
}
|
|
171
170
|
:host([appearance='filled'][variant='neutral']) {
|
|
172
|
-
--_bg: var(--lt-
|
|
171
|
+
--_bg: var(--lt-interactive-neutral-bg);
|
|
173
172
|
--_color: var(--lt-color-neutral-50);
|
|
174
|
-
--_hover-bg: var(--lt-
|
|
173
|
+
--_hover-bg: var(--lt-interactive-neutral-bg-hover);
|
|
175
174
|
--_hover-color: var(--lt-color-neutral-50);
|
|
176
|
-
--_active-bg: var(--lt-
|
|
175
|
+
--_active-bg: var(--lt-interactive-neutral-bg-active);
|
|
177
176
|
}
|
|
178
177
|
:host([appearance='filled'][variant='success']) {
|
|
179
178
|
--_bg: var(--lt-interactive-success-bg);
|
|
@@ -47,20 +47,16 @@ var listStyles = css`
|
|
|
47
47
|
--list-marker-color: var(--lt-color-neutral-500);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
ol {
|
|
50
|
+
[part='list'] {
|
|
52
51
|
margin: 0;
|
|
53
|
-
padding: 0;
|
|
52
|
+
padding: 0 0 0 var(--lt-spacing-5);
|
|
54
53
|
list-style-position: outside;
|
|
54
|
+
list-style-type: disc;
|
|
55
55
|
color: var(--lt-text-default);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
ol {
|
|
63
|
-
padding-left: var(--lt-spacing-5);
|
|
58
|
+
:host([type='ordered']) [part='list'] {
|
|
59
|
+
list-style-type: decimal;
|
|
64
60
|
}
|
|
65
61
|
|
|
66
62
|
::slotted(li),
|
|
@@ -82,8 +78,7 @@ var listStyles = css`
|
|
|
82
78
|
}
|
|
83
79
|
|
|
84
80
|
/* No marker */
|
|
85
|
-
:host([no-marker])
|
|
86
|
-
:host([no-marker]) ol {
|
|
81
|
+
:host([no-marker]) [part='list'] {
|
|
87
82
|
list-style: none;
|
|
88
83
|
padding-left: 0;
|
|
89
84
|
}
|
|
@@ -107,17 +102,12 @@ var listStyles = css`
|
|
|
107
102
|
margin-bottom: 0;
|
|
108
103
|
}
|
|
109
104
|
|
|
110
|
-
|
|
111
|
-
color: var(--list-marker-color);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
ol ::slotted(li)::marker {
|
|
105
|
+
[part='list'] ::slotted(li)::marker {
|
|
115
106
|
color: var(--list-marker-color);
|
|
116
107
|
}
|
|
117
108
|
|
|
118
109
|
/* Size variants */
|
|
119
|
-
:host([size='sm'])
|
|
120
|
-
:host([size='sm']) ol {
|
|
110
|
+
:host([size='sm']) [part='list'] {
|
|
121
111
|
font-size: 0.875rem;
|
|
122
112
|
line-height: 1.5;
|
|
123
113
|
}
|
|
@@ -127,8 +117,7 @@ var listStyles = css`
|
|
|
127
117
|
margin-bottom: var(--lt-spacing-1);
|
|
128
118
|
}
|
|
129
119
|
|
|
130
|
-
:host([size='md'])
|
|
131
|
-
:host([size='md']) ol {
|
|
120
|
+
:host([size='md']) [part='list'] {
|
|
132
121
|
font-size: 1rem;
|
|
133
122
|
line-height: 1.6;
|
|
134
123
|
}
|
|
@@ -138,8 +127,7 @@ var listStyles = css`
|
|
|
138
127
|
margin-bottom: var(--lt-spacing-2);
|
|
139
128
|
}
|
|
140
129
|
|
|
141
|
-
:host([size='lg'])
|
|
142
|
-
:host([size='lg']) ol {
|
|
130
|
+
:host([size='lg']) [part='list'] {
|
|
143
131
|
font-size: 1.125rem;
|
|
144
132
|
line-height: 1.7;
|
|
145
133
|
}
|
|
@@ -307,13 +295,12 @@ var List = class extends ThemeableElement {
|
|
|
307
295
|
this.noMarker = false;
|
|
308
296
|
}
|
|
309
297
|
render() {
|
|
310
|
-
const isOrdered = this.type === "ordered";
|
|
311
298
|
const styles = this.markerColor ? { "--list-marker-color": this.markerColor } : {};
|
|
312
|
-
return
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
299
|
+
return html2`
|
|
300
|
+
<div part="list" role="list" style=${styleMap(styles)}>
|
|
301
|
+
<slot></slot>
|
|
302
|
+
</div>
|
|
303
|
+
`;
|
|
317
304
|
}
|
|
318
305
|
};
|
|
319
306
|
List.styles = listStyles;
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { ThemeableElement } from '../../base';
|
|
2
2
|
import '@latty-ds/icons';
|
|
3
3
|
/**
|
|
4
|
-
* A list item
|
|
4
|
+
* A list item that behaves like a native `<li>` without literally being one.
|
|
5
|
+
* The host sets `display: list-item` and `role="listitem"` on itself (a
|
|
6
|
+
* custom element's tag can never actually be `<li>`), so it still renders a
|
|
7
|
+
* native marker/counter via inherited `list-style-type`/`-position` and
|
|
8
|
+
* reads correctly to assistive tech, inside `lt-list`'s `<div role="list">`.
|
|
5
9
|
*
|
|
6
|
-
* This
|
|
7
|
-
*
|
|
8
|
-
*
|
|
10
|
+
* This also solves the HTML parser issue where nesting a real `<li>` through
|
|
11
|
+
* a `<lt-list>` boundary auto-closes a still-open ancestor `<li>` (see
|
|
12
|
+
* `lt-list`'s own tests) — `<lt-list-item>` isn't `<li>` at the raw-HTML-tag
|
|
13
|
+
* level, so it never triggers that parser behavior in the first place.
|
|
9
14
|
*
|
|
10
15
|
* Items can also be interactive: set `clickable` to render the row as a native
|
|
11
16
|
* `<button>` (picker rows, settings rows), or `href` to render it as an `<a>`.
|
|
@@ -8,7 +8,14 @@ import './list-item';
|
|
|
8
8
|
*
|
|
9
9
|
* @slot - Default slot for list items (`<li>` elements)
|
|
10
10
|
*
|
|
11
|
-
* @csspart list - The underlying
|
|
11
|
+
* @csspart list - The underlying list container. Renders as a `<div
|
|
12
|
+
* role="list">` rather than a real `<ul>`/`<ol>` — a custom element like
|
|
13
|
+
* `<lt-list-item>` can never itself be a valid `<li>`, so a real
|
|
14
|
+
* `<ul>`/`<ol>` around one fails HTML's list content model (only
|
|
15
|
+
* `<li>`/`<script>`/`<template>` may be direct children). `list-style-type`
|
|
16
|
+
* is still set here and inherited down, so real `<li>` children (and
|
|
17
|
+
* `<lt-list-item>`, which sets `display: list-item` on itself) render
|
|
18
|
+
* their native marker/counter exactly as they would inside a real list.
|
|
12
19
|
*
|
|
13
20
|
* @cssprop --list-marker-color - Color of the bullet points or numbers (default: neutral-500)
|
|
14
21
|
*
|
|
@@ -158,14 +158,14 @@ var Pagination = class extends ThemeableElement {
|
|
|
158
158
|
return html`
|
|
159
159
|
<nav aria-label="Pagination">
|
|
160
160
|
<button aria-label="First page" ?disabled=${atFirst || this.disabled} @click=${() => this._go(1)}>
|
|
161
|
-
<lt-icon name="double-
|
|
161
|
+
<lt-icon name="double-caret-left" size="sm"></lt-icon>
|
|
162
162
|
</button>
|
|
163
163
|
<button
|
|
164
164
|
aria-label="Previous page"
|
|
165
165
|
?disabled=${atFirst || this.disabled}
|
|
166
166
|
@click=${() => this._go(this.page - 1)}
|
|
167
167
|
>
|
|
168
|
-
<lt-icon name="
|
|
168
|
+
<lt-icon name="caret-left" size="sm"></lt-icon>
|
|
169
169
|
</button>
|
|
170
170
|
|
|
171
171
|
${pages.map(
|
|
@@ -180,10 +180,10 @@ var Pagination = class extends ThemeableElement {
|
|
|
180
180
|
)}
|
|
181
181
|
|
|
182
182
|
<button aria-label="Next page" ?disabled=${atLast || this.disabled} @click=${() => this._go(this.page + 1)}>
|
|
183
|
-
<lt-icon name="
|
|
183
|
+
<lt-icon name="caret-right" size="sm"></lt-icon>
|
|
184
184
|
</button>
|
|
185
185
|
<button aria-label="Last page" ?disabled=${atLast || this.disabled} @click=${() => this._go(this.totalPages)}>
|
|
186
|
-
<lt-icon name="double-
|
|
186
|
+
<lt-icon name="double-caret-right" size="sm"></lt-icon>
|
|
187
187
|
</button>
|
|
188
188
|
</nav>
|
|
189
189
|
`;
|
|
@@ -228,7 +228,6 @@ var iconButtonStyles = css3`
|
|
|
228
228
|
|
|
229
229
|
a[part='base'] {
|
|
230
230
|
text-decoration: none;
|
|
231
|
-
color: inherit;
|
|
232
231
|
}
|
|
233
232
|
|
|
234
233
|
/* sizes */
|
|
@@ -301,11 +300,11 @@ var iconButtonStyles = css3`
|
|
|
301
300
|
--_active-bg: var(--lt-interactive-secondary-bg-active);
|
|
302
301
|
}
|
|
303
302
|
:host([appearance='filled'][variant='neutral']) {
|
|
304
|
-
--_bg: var(--lt-
|
|
303
|
+
--_bg: var(--lt-interactive-neutral-bg);
|
|
305
304
|
--_color: var(--lt-color-neutral-50);
|
|
306
|
-
--_hover-bg: var(--lt-
|
|
305
|
+
--_hover-bg: var(--lt-interactive-neutral-bg-hover);
|
|
307
306
|
--_hover-color: var(--lt-color-neutral-50);
|
|
308
|
-
--_active-bg: var(--lt-
|
|
307
|
+
--_active-bg: var(--lt-interactive-neutral-bg-active);
|
|
309
308
|
}
|
|
310
309
|
:host([appearance='filled'][variant='success']) {
|
|
311
310
|
--_bg: var(--lt-interactive-success-bg);
|
package/dist/index.cjs
CHANGED
|
@@ -1913,10 +1913,10 @@ var buttonStyles = i`
|
|
|
1913
1913
|
--_active-bg: var(--lt-interactive-secondary-bg-active);
|
|
1914
1914
|
}
|
|
1915
1915
|
:host([variant='neutral']) {
|
|
1916
|
-
--_bg: var(--lt-
|
|
1916
|
+
--_bg: var(--lt-interactive-neutral-bg);
|
|
1917
1917
|
--_color: var(--lt-color-neutral-50);
|
|
1918
|
-
--_hover-bg: var(--lt-
|
|
1919
|
-
--_active-bg: var(--lt-
|
|
1918
|
+
--_hover-bg: var(--lt-interactive-neutral-bg-hover);
|
|
1919
|
+
--_active-bg: var(--lt-interactive-neutral-bg-active);
|
|
1920
1920
|
}
|
|
1921
1921
|
:host([variant='success']) {
|
|
1922
1922
|
--_bg: var(--lt-interactive-success-bg);
|
|
@@ -3129,7 +3129,6 @@ var iconButtonStyles = i`
|
|
|
3129
3129
|
|
|
3130
3130
|
a[part='base'] {
|
|
3131
3131
|
text-decoration: none;
|
|
3132
|
-
color: inherit;
|
|
3133
3132
|
}
|
|
3134
3133
|
|
|
3135
3134
|
/* sizes */
|
|
@@ -3202,11 +3201,11 @@ var iconButtonStyles = i`
|
|
|
3202
3201
|
--_active-bg: var(--lt-interactive-secondary-bg-active);
|
|
3203
3202
|
}
|
|
3204
3203
|
:host([appearance='filled'][variant='neutral']) {
|
|
3205
|
-
--_bg: var(--lt-
|
|
3204
|
+
--_bg: var(--lt-interactive-neutral-bg);
|
|
3206
3205
|
--_color: var(--lt-color-neutral-50);
|
|
3207
|
-
--_hover-bg: var(--lt-
|
|
3206
|
+
--_hover-bg: var(--lt-interactive-neutral-bg-hover);
|
|
3208
3207
|
--_hover-color: var(--lt-color-neutral-50);
|
|
3209
|
-
--_active-bg: var(--lt-
|
|
3208
|
+
--_active-bg: var(--lt-interactive-neutral-bg-active);
|
|
3210
3209
|
}
|
|
3211
3210
|
:host([appearance='filled'][variant='success']) {
|
|
3212
3211
|
--_bg: var(--lt-interactive-success-bg);
|
|
@@ -3662,20 +3661,16 @@ var listStyles = i`
|
|
|
3662
3661
|
--list-marker-color: var(--lt-color-neutral-500);
|
|
3663
3662
|
}
|
|
3664
3663
|
|
|
3665
|
-
|
|
3666
|
-
ol {
|
|
3664
|
+
[part='list'] {
|
|
3667
3665
|
margin: 0;
|
|
3668
|
-
padding: 0;
|
|
3666
|
+
padding: 0 0 0 var(--lt-spacing-5);
|
|
3669
3667
|
list-style-position: outside;
|
|
3668
|
+
list-style-type: disc;
|
|
3670
3669
|
color: var(--lt-text-default);
|
|
3671
3670
|
}
|
|
3672
3671
|
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
}
|
|
3676
|
-
|
|
3677
|
-
ol {
|
|
3678
|
-
padding-left: var(--lt-spacing-5);
|
|
3672
|
+
:host([type='ordered']) [part='list'] {
|
|
3673
|
+
list-style-type: decimal;
|
|
3679
3674
|
}
|
|
3680
3675
|
|
|
3681
3676
|
::slotted(li),
|
|
@@ -3697,8 +3692,7 @@ var listStyles = i`
|
|
|
3697
3692
|
}
|
|
3698
3693
|
|
|
3699
3694
|
/* No marker */
|
|
3700
|
-
:host([no-marker])
|
|
3701
|
-
:host([no-marker]) ol {
|
|
3695
|
+
:host([no-marker]) [part='list'] {
|
|
3702
3696
|
list-style: none;
|
|
3703
3697
|
padding-left: 0;
|
|
3704
3698
|
}
|
|
@@ -3722,17 +3716,12 @@ var listStyles = i`
|
|
|
3722
3716
|
margin-bottom: 0;
|
|
3723
3717
|
}
|
|
3724
3718
|
|
|
3725
|
-
|
|
3726
|
-
color: var(--list-marker-color);
|
|
3727
|
-
}
|
|
3728
|
-
|
|
3729
|
-
ol ::slotted(li)::marker {
|
|
3719
|
+
[part='list'] ::slotted(li)::marker {
|
|
3730
3720
|
color: var(--list-marker-color);
|
|
3731
3721
|
}
|
|
3732
3722
|
|
|
3733
3723
|
/* Size variants */
|
|
3734
|
-
:host([size='sm'])
|
|
3735
|
-
:host([size='sm']) ol {
|
|
3724
|
+
:host([size='sm']) [part='list'] {
|
|
3736
3725
|
font-size: 0.875rem;
|
|
3737
3726
|
line-height: 1.5;
|
|
3738
3727
|
}
|
|
@@ -3742,8 +3731,7 @@ var listStyles = i`
|
|
|
3742
3731
|
margin-bottom: var(--lt-spacing-1);
|
|
3743
3732
|
}
|
|
3744
3733
|
|
|
3745
|
-
:host([size='md'])
|
|
3746
|
-
:host([size='md']) ol {
|
|
3734
|
+
:host([size='md']) [part='list'] {
|
|
3747
3735
|
font-size: 1rem;
|
|
3748
3736
|
line-height: 1.6;
|
|
3749
3737
|
}
|
|
@@ -3753,8 +3741,7 @@ var listStyles = i`
|
|
|
3753
3741
|
margin-bottom: var(--lt-spacing-2);
|
|
3754
3742
|
}
|
|
3755
3743
|
|
|
3756
|
-
:host([size='lg'])
|
|
3757
|
-
:host([size='lg']) ol {
|
|
3744
|
+
:host([size='lg']) [part='list'] {
|
|
3758
3745
|
font-size: 1.125rem;
|
|
3759
3746
|
line-height: 1.7;
|
|
3760
3747
|
}
|
|
@@ -3916,13 +3903,12 @@ var List = class extends ThemeableElement {
|
|
|
3916
3903
|
this.noMarker = false;
|
|
3917
3904
|
}
|
|
3918
3905
|
render() {
|
|
3919
|
-
const isOrdered = this.type === "ordered";
|
|
3920
3906
|
const styles = this.markerColor ? { "--list-marker-color": this.markerColor } : {};
|
|
3921
|
-
return
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3907
|
+
return T`
|
|
3908
|
+
<div part="list" role="list" style=${o9(styles)}>
|
|
3909
|
+
<slot></slot>
|
|
3910
|
+
</div>
|
|
3911
|
+
`;
|
|
3926
3912
|
}
|
|
3927
3913
|
};
|
|
3928
3914
|
List.styles = listStyles;
|
|
@@ -8422,7 +8408,7 @@ var badgeStyles = i`
|
|
|
8422
8408
|
}
|
|
8423
8409
|
|
|
8424
8410
|
:host([appearance='solid'][variant='neutral']) span[part='base'] {
|
|
8425
|
-
background: var(--lt-
|
|
8411
|
+
background: var(--lt-interactive-neutral-bg);
|
|
8426
8412
|
border-color: transparent;
|
|
8427
8413
|
color: var(--lt-color-white);
|
|
8428
8414
|
}
|
|
@@ -9604,7 +9590,7 @@ var headerStyles = i`
|
|
|
9604
9590
|
|
|
9605
9591
|
:host([background='primary']) {
|
|
9606
9592
|
background: var(--lt-bg-primary);
|
|
9607
|
-
color: var(--lt-text-
|
|
9593
|
+
color: var(--lt-text-on-primary);
|
|
9608
9594
|
}
|
|
9609
9595
|
|
|
9610
9596
|
:host([background='surface']) {
|
|
@@ -10047,7 +10033,6 @@ var breadcrumbStyles = i`
|
|
|
10047
10033
|
display: flex;
|
|
10048
10034
|
flex-wrap: wrap;
|
|
10049
10035
|
gap: 0;
|
|
10050
|
-
list-style: none;
|
|
10051
10036
|
margin: 0;
|
|
10052
10037
|
padding: 0;
|
|
10053
10038
|
}
|
|
@@ -10110,9 +10095,9 @@ var Breadcrumb = class extends ThemeableElement {
|
|
|
10110
10095
|
render() {
|
|
10111
10096
|
return T`
|
|
10112
10097
|
<nav aria-label="breadcrumb">
|
|
10113
|
-
<
|
|
10098
|
+
<div part="list" role="list">
|
|
10114
10099
|
<slot></slot>
|
|
10115
|
-
</
|
|
10100
|
+
</div>
|
|
10116
10101
|
</nav>
|
|
10117
10102
|
`;
|
|
10118
10103
|
}
|
|
@@ -10131,17 +10116,21 @@ var BreadcrumbItem = class extends ThemeableElement {
|
|
|
10131
10116
|
this.current = false;
|
|
10132
10117
|
this.separator = "";
|
|
10133
10118
|
}
|
|
10119
|
+
connectedCallback() {
|
|
10120
|
+
super.connectedCallback();
|
|
10121
|
+
this.setAttribute("role", "listitem");
|
|
10122
|
+
}
|
|
10134
10123
|
render() {
|
|
10135
10124
|
const hasSeparatorOverride = this.separator !== null && this.separator !== void 0 && this.separator !== "";
|
|
10136
10125
|
return T`
|
|
10137
|
-
<
|
|
10126
|
+
<div part="item">
|
|
10138
10127
|
${this.current || !this.href ? T`<span part="text" aria-current=${this.current ? "page" : "false"}><slot></slot></span>` : T`<a part="link" href=${this.href}><slot></slot></a>`}
|
|
10139
10128
|
<span
|
|
10140
10129
|
part="separator"
|
|
10141
10130
|
aria-hidden="true"
|
|
10142
10131
|
style=${hasSeparatorOverride ? `--lt-breadcrumb-separator: "${this.separator}"` : ""}
|
|
10143
10132
|
></span>
|
|
10144
|
-
</
|
|
10133
|
+
</div>
|
|
10145
10134
|
`;
|
|
10146
10135
|
}
|
|
10147
10136
|
};
|
|
@@ -10930,14 +10919,14 @@ var Pagination = class extends ThemeableElement {
|
|
|
10930
10919
|
return T`
|
|
10931
10920
|
<nav aria-label="Pagination">
|
|
10932
10921
|
<button aria-label="First page" ?disabled=${atFirst || this.disabled} @click=${() => this._go(1)}>
|
|
10933
|
-
<lt-icon name="double-
|
|
10922
|
+
<lt-icon name="double-caret-left" size="sm"></lt-icon>
|
|
10934
10923
|
</button>
|
|
10935
10924
|
<button
|
|
10936
10925
|
aria-label="Previous page"
|
|
10937
10926
|
?disabled=${atFirst || this.disabled}
|
|
10938
10927
|
@click=${() => this._go(this.page - 1)}
|
|
10939
10928
|
>
|
|
10940
|
-
<lt-icon name="
|
|
10929
|
+
<lt-icon name="caret-left" size="sm"></lt-icon>
|
|
10941
10930
|
</button>
|
|
10942
10931
|
|
|
10943
10932
|
${pages.map(
|
|
@@ -10952,10 +10941,10 @@ var Pagination = class extends ThemeableElement {
|
|
|
10952
10941
|
)}
|
|
10953
10942
|
|
|
10954
10943
|
<button aria-label="Next page" ?disabled=${atLast || this.disabled} @click=${() => this._go(this.page + 1)}>
|
|
10955
|
-
<lt-icon name="
|
|
10944
|
+
<lt-icon name="caret-right" size="sm"></lt-icon>
|
|
10956
10945
|
</button>
|
|
10957
10946
|
<button aria-label="Last page" ?disabled=${atLast || this.disabled} @click=${() => this._go(this.totalPages)}>
|
|
10958
|
-
<lt-icon name="double-
|
|
10947
|
+
<lt-icon name="double-caret-right" size="sm"></lt-icon>
|
|
10959
10948
|
</button>
|
|
10960
10949
|
</nav>
|
|
10961
10950
|
`;
|
|
@@ -11398,10 +11387,10 @@ var calendarStyles = i`
|
|
|
11398
11387
|
background: var(--lt-interactive-primary-bg-hover);
|
|
11399
11388
|
}
|
|
11400
11389
|
|
|
11401
|
-
/* Outside days
|
|
11390
|
+
/* Outside days — dimmed by the muted text color alone. They're enabled, clickable buttons, and a 0.5
|
|
11391
|
+
opacity on top of muted text took them to ~2:1 (WCAG AA needs 4.5:1). */
|
|
11402
11392
|
.day--outside {
|
|
11403
11393
|
color: var(--lt-text-muted);
|
|
11404
|
-
opacity: 0.5;
|
|
11405
11394
|
}
|
|
11406
11395
|
|
|
11407
11396
|
/* Empty filler cell */
|
|
@@ -12778,7 +12767,7 @@ var Combobox = class extends ThemeableElement {
|
|
|
12778
12767
|
@input=${this.handleInput}
|
|
12779
12768
|
@keydown=${this.handleKeydown}
|
|
12780
12769
|
/>
|
|
12781
|
-
<lt-icon class="chevron" name="
|
|
12770
|
+
<lt-icon class="chevron" name="caret-down" size="sm"></lt-icon>
|
|
12782
12771
|
</div>
|
|
12783
12772
|
`;
|
|
12784
12773
|
return T`
|
package/dist/index.js
CHANGED
|
@@ -604,10 +604,10 @@ var buttonStyles = css3`
|
|
|
604
604
|
--_active-bg: var(--lt-interactive-secondary-bg-active);
|
|
605
605
|
}
|
|
606
606
|
:host([variant='neutral']) {
|
|
607
|
-
--_bg: var(--lt-
|
|
607
|
+
--_bg: var(--lt-interactive-neutral-bg);
|
|
608
608
|
--_color: var(--lt-color-neutral-50);
|
|
609
|
-
--_hover-bg: var(--lt-
|
|
610
|
-
--_active-bg: var(--lt-
|
|
609
|
+
--_hover-bg: var(--lt-interactive-neutral-bg-hover);
|
|
610
|
+
--_active-bg: var(--lt-interactive-neutral-bg-active);
|
|
611
611
|
}
|
|
612
612
|
:host([variant='success']) {
|
|
613
613
|
--_bg: var(--lt-interactive-success-bg);
|
|
@@ -1799,7 +1799,6 @@ var iconButtonStyles = css9`
|
|
|
1799
1799
|
|
|
1800
1800
|
a[part='base'] {
|
|
1801
1801
|
text-decoration: none;
|
|
1802
|
-
color: inherit;
|
|
1803
1802
|
}
|
|
1804
1803
|
|
|
1805
1804
|
/* sizes */
|
|
@@ -1872,11 +1871,11 @@ var iconButtonStyles = css9`
|
|
|
1872
1871
|
--_active-bg: var(--lt-interactive-secondary-bg-active);
|
|
1873
1872
|
}
|
|
1874
1873
|
:host([appearance='filled'][variant='neutral']) {
|
|
1875
|
-
--_bg: var(--lt-
|
|
1874
|
+
--_bg: var(--lt-interactive-neutral-bg);
|
|
1876
1875
|
--_color: var(--lt-color-neutral-50);
|
|
1877
|
-
--_hover-bg: var(--lt-
|
|
1876
|
+
--_hover-bg: var(--lt-interactive-neutral-bg-hover);
|
|
1878
1877
|
--_hover-color: var(--lt-color-neutral-50);
|
|
1879
|
-
--_active-bg: var(--lt-
|
|
1878
|
+
--_active-bg: var(--lt-interactive-neutral-bg-active);
|
|
1880
1879
|
}
|
|
1881
1880
|
:host([appearance='filled'][variant='success']) {
|
|
1882
1881
|
--_bg: var(--lt-interactive-success-bg);
|
|
@@ -2344,20 +2343,16 @@ var listStyles = css11`
|
|
|
2344
2343
|
--list-marker-color: var(--lt-color-neutral-500);
|
|
2345
2344
|
}
|
|
2346
2345
|
|
|
2347
|
-
|
|
2348
|
-
ol {
|
|
2346
|
+
[part='list'] {
|
|
2349
2347
|
margin: 0;
|
|
2350
|
-
padding: 0;
|
|
2348
|
+
padding: 0 0 0 var(--lt-spacing-5);
|
|
2351
2349
|
list-style-position: outside;
|
|
2350
|
+
list-style-type: disc;
|
|
2352
2351
|
color: var(--lt-text-default);
|
|
2353
2352
|
}
|
|
2354
2353
|
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
}
|
|
2358
|
-
|
|
2359
|
-
ol {
|
|
2360
|
-
padding-left: var(--lt-spacing-5);
|
|
2354
|
+
:host([type='ordered']) [part='list'] {
|
|
2355
|
+
list-style-type: decimal;
|
|
2361
2356
|
}
|
|
2362
2357
|
|
|
2363
2358
|
::slotted(li),
|
|
@@ -2379,8 +2374,7 @@ var listStyles = css11`
|
|
|
2379
2374
|
}
|
|
2380
2375
|
|
|
2381
2376
|
/* No marker */
|
|
2382
|
-
:host([no-marker])
|
|
2383
|
-
:host([no-marker]) ol {
|
|
2377
|
+
:host([no-marker]) [part='list'] {
|
|
2384
2378
|
list-style: none;
|
|
2385
2379
|
padding-left: 0;
|
|
2386
2380
|
}
|
|
@@ -2404,17 +2398,12 @@ var listStyles = css11`
|
|
|
2404
2398
|
margin-bottom: 0;
|
|
2405
2399
|
}
|
|
2406
2400
|
|
|
2407
|
-
|
|
2408
|
-
color: var(--list-marker-color);
|
|
2409
|
-
}
|
|
2410
|
-
|
|
2411
|
-
ol ::slotted(li)::marker {
|
|
2401
|
+
[part='list'] ::slotted(li)::marker {
|
|
2412
2402
|
color: var(--list-marker-color);
|
|
2413
2403
|
}
|
|
2414
2404
|
|
|
2415
2405
|
/* Size variants */
|
|
2416
|
-
:host([size='sm'])
|
|
2417
|
-
:host([size='sm']) ol {
|
|
2406
|
+
:host([size='sm']) [part='list'] {
|
|
2418
2407
|
font-size: 0.875rem;
|
|
2419
2408
|
line-height: 1.5;
|
|
2420
2409
|
}
|
|
@@ -2424,8 +2413,7 @@ var listStyles = css11`
|
|
|
2424
2413
|
margin-bottom: var(--lt-spacing-1);
|
|
2425
2414
|
}
|
|
2426
2415
|
|
|
2427
|
-
:host([size='md'])
|
|
2428
|
-
:host([size='md']) ol {
|
|
2416
|
+
:host([size='md']) [part='list'] {
|
|
2429
2417
|
font-size: 1rem;
|
|
2430
2418
|
line-height: 1.6;
|
|
2431
2419
|
}
|
|
@@ -2435,8 +2423,7 @@ var listStyles = css11`
|
|
|
2435
2423
|
margin-bottom: var(--lt-spacing-2);
|
|
2436
2424
|
}
|
|
2437
2425
|
|
|
2438
|
-
:host([size='lg'])
|
|
2439
|
-
:host([size='lg']) ol {
|
|
2426
|
+
:host([size='lg']) [part='list'] {
|
|
2440
2427
|
font-size: 1.125rem;
|
|
2441
2428
|
line-height: 1.7;
|
|
2442
2429
|
}
|
|
@@ -2604,13 +2591,12 @@ var List = class extends ThemeableElement {
|
|
|
2604
2591
|
this.noMarker = false;
|
|
2605
2592
|
}
|
|
2606
2593
|
render() {
|
|
2607
|
-
const isOrdered = this.type === "ordered";
|
|
2608
2594
|
const styles = this.markerColor ? { "--list-marker-color": this.markerColor } : {};
|
|
2609
|
-
return
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2595
|
+
return html11`
|
|
2596
|
+
<div part="list" role="list" style=${styleMap3(styles)}>
|
|
2597
|
+
<slot></slot>
|
|
2598
|
+
</div>
|
|
2599
|
+
`;
|
|
2614
2600
|
}
|
|
2615
2601
|
};
|
|
2616
2602
|
List.styles = listStyles;
|
|
@@ -7062,7 +7048,7 @@ var badgeStyles = css24`
|
|
|
7062
7048
|
}
|
|
7063
7049
|
|
|
7064
7050
|
:host([appearance='solid'][variant='neutral']) span[part='base'] {
|
|
7065
|
-
background: var(--lt-
|
|
7051
|
+
background: var(--lt-interactive-neutral-bg);
|
|
7066
7052
|
border-color: transparent;
|
|
7067
7053
|
color: var(--lt-color-white);
|
|
7068
7054
|
}
|
|
@@ -8281,7 +8267,7 @@ var headerStyles = css31`
|
|
|
8281
8267
|
|
|
8282
8268
|
:host([background='primary']) {
|
|
8283
8269
|
background: var(--lt-bg-primary);
|
|
8284
|
-
color: var(--lt-text-
|
|
8270
|
+
color: var(--lt-text-on-primary);
|
|
8285
8271
|
}
|
|
8286
8272
|
|
|
8287
8273
|
:host([background='surface']) {
|
|
@@ -8739,7 +8725,6 @@ var breadcrumbStyles = css34`
|
|
|
8739
8725
|
display: flex;
|
|
8740
8726
|
flex-wrap: wrap;
|
|
8741
8727
|
gap: 0;
|
|
8742
|
-
list-style: none;
|
|
8743
8728
|
margin: 0;
|
|
8744
8729
|
padding: 0;
|
|
8745
8730
|
}
|
|
@@ -8802,9 +8787,9 @@ var Breadcrumb = class extends ThemeableElement {
|
|
|
8802
8787
|
render() {
|
|
8803
8788
|
return html33`
|
|
8804
8789
|
<nav aria-label="breadcrumb">
|
|
8805
|
-
<
|
|
8790
|
+
<div part="list" role="list">
|
|
8806
8791
|
<slot></slot>
|
|
8807
|
-
</
|
|
8792
|
+
</div>
|
|
8808
8793
|
</nav>
|
|
8809
8794
|
`;
|
|
8810
8795
|
}
|
|
@@ -8823,17 +8808,21 @@ var BreadcrumbItem = class extends ThemeableElement {
|
|
|
8823
8808
|
this.current = false;
|
|
8824
8809
|
this.separator = "";
|
|
8825
8810
|
}
|
|
8811
|
+
connectedCallback() {
|
|
8812
|
+
super.connectedCallback();
|
|
8813
|
+
this.setAttribute("role", "listitem");
|
|
8814
|
+
}
|
|
8826
8815
|
render() {
|
|
8827
8816
|
const hasSeparatorOverride = this.separator !== null && this.separator !== void 0 && this.separator !== "";
|
|
8828
8817
|
return html33`
|
|
8829
|
-
<
|
|
8818
|
+
<div part="item">
|
|
8830
8819
|
${this.current || !this.href ? html33`<span part="text" aria-current=${this.current ? "page" : "false"}><slot></slot></span>` : html33`<a part="link" href=${this.href}><slot></slot></a>`}
|
|
8831
8820
|
<span
|
|
8832
8821
|
part="separator"
|
|
8833
8822
|
aria-hidden="true"
|
|
8834
8823
|
style=${hasSeparatorOverride ? `--lt-breadcrumb-separator: "${this.separator}"` : ""}
|
|
8835
8824
|
></span>
|
|
8836
|
-
</
|
|
8825
|
+
</div>
|
|
8837
8826
|
`;
|
|
8838
8827
|
}
|
|
8839
8828
|
};
|
|
@@ -9654,14 +9643,14 @@ var Pagination = class extends ThemeableElement {
|
|
|
9654
9643
|
return html39`
|
|
9655
9644
|
<nav aria-label="Pagination">
|
|
9656
9645
|
<button aria-label="First page" ?disabled=${atFirst || this.disabled} @click=${() => this._go(1)}>
|
|
9657
|
-
<lt-icon name="double-
|
|
9646
|
+
<lt-icon name="double-caret-left" size="sm"></lt-icon>
|
|
9658
9647
|
</button>
|
|
9659
9648
|
<button
|
|
9660
9649
|
aria-label="Previous page"
|
|
9661
9650
|
?disabled=${atFirst || this.disabled}
|
|
9662
9651
|
@click=${() => this._go(this.page - 1)}
|
|
9663
9652
|
>
|
|
9664
|
-
<lt-icon name="
|
|
9653
|
+
<lt-icon name="caret-left" size="sm"></lt-icon>
|
|
9665
9654
|
</button>
|
|
9666
9655
|
|
|
9667
9656
|
${pages.map(
|
|
@@ -9676,10 +9665,10 @@ var Pagination = class extends ThemeableElement {
|
|
|
9676
9665
|
)}
|
|
9677
9666
|
|
|
9678
9667
|
<button aria-label="Next page" ?disabled=${atLast || this.disabled} @click=${() => this._go(this.page + 1)}>
|
|
9679
|
-
<lt-icon name="
|
|
9668
|
+
<lt-icon name="caret-right" size="sm"></lt-icon>
|
|
9680
9669
|
</button>
|
|
9681
9670
|
<button aria-label="Last page" ?disabled=${atLast || this.disabled} @click=${() => this._go(this.totalPages)}>
|
|
9682
|
-
<lt-icon name="double-
|
|
9671
|
+
<lt-icon name="double-caret-right" size="sm"></lt-icon>
|
|
9683
9672
|
</button>
|
|
9684
9673
|
</nav>
|
|
9685
9674
|
`;
|
|
@@ -10132,10 +10121,10 @@ var calendarStyles = css42`
|
|
|
10132
10121
|
background: var(--lt-interactive-primary-bg-hover);
|
|
10133
10122
|
}
|
|
10134
10123
|
|
|
10135
|
-
/* Outside days
|
|
10124
|
+
/* Outside days — dimmed by the muted text color alone. They're enabled, clickable buttons, and a 0.5
|
|
10125
|
+
opacity on top of muted text took them to ~2:1 (WCAG AA needs 4.5:1). */
|
|
10136
10126
|
.day--outside {
|
|
10137
10127
|
color: var(--lt-text-muted);
|
|
10138
|
-
opacity: 0.5;
|
|
10139
10128
|
}
|
|
10140
10129
|
|
|
10141
10130
|
/* Empty filler cell */
|
|
@@ -11518,7 +11507,7 @@ var Combobox = class extends ThemeableElement {
|
|
|
11518
11507
|
@input=${this.handleInput}
|
|
11519
11508
|
@keydown=${this.handleKeydown}
|
|
11520
11509
|
/>
|
|
11521
|
-
<lt-icon class="chevron" name="
|
|
11510
|
+
<lt-icon class="chevron" name="caret-down" size="sm"></lt-icon>
|
|
11522
11511
|
</div>
|
|
11523
11512
|
`;
|
|
11524
11513
|
return html43`
|
package/dist/manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@latty-ds/web",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.4",
|
|
4
4
|
"description": "Web Components for the Latty design system — framework-agnostic UI components built with Lit",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -217,15 +217,15 @@
|
|
|
217
217
|
"@custom-elements-manifest/analyzer": "^0.11.0",
|
|
218
218
|
"lit": "^3.2.0",
|
|
219
219
|
"tsup": "^8.5.1",
|
|
220
|
-
"typescript": "^
|
|
220
|
+
"typescript": "^6.0.3"
|
|
221
221
|
},
|
|
222
222
|
"peerDependencies": {
|
|
223
223
|
"lit": "^3.2.0"
|
|
224
224
|
},
|
|
225
225
|
"dependencies": {
|
|
226
226
|
"@floating-ui/dom": "^1.7.6",
|
|
227
|
-
"@latty-ds/icons": "0.10.
|
|
227
|
+
"@latty-ds/icons": "0.10.4"
|
|
228
228
|
},
|
|
229
229
|
"customElements": "custom-elements.json",
|
|
230
|
-
"gitHead": "
|
|
230
|
+
"gitHead": "ce56485456ff6ef71d5c4606bdf484928ae30401"
|
|
231
231
|
}
|