Skip to content

(fix) O3-5842: Match Carbon's control height in the date pickers - #1822

Draft
dkayiwa wants to merge 5 commits into
mainfrom
fix/O3-5842-datepicker-height
Draft

(fix) O3-5842: Match Carbon's control height in the date pickers#1822
dkayiwa wants to merge 5 commits into
mainfrom
fix/O3-5842-datepicker-height

Conversation

@dkayiwa

@dkayiwa dkayiwa commented Jul 31, 2026

Copy link
Copy Markdown
Member

Requirements

  • This PR has a title that briefly describes the work done including the ticket number. If there is a ticket, make sure your PR title includes a conventional commit label. See existing PR titles for inspiration.
  • My work is based on designs, which are linked or shown either in the Jira ticket or the description below. (See also: Styleguide)
  • My work includes tests or is validated by existing tests.
  • I have updated the esm-framework and storybook mocks (mock.tsx, mock-jest.tsx, and storybook mocks) to reflect any API changes. — the mocks do not touch size, so there is nothing to update there. The type signatures are unchanged, but see On the API surface below: the runtime default of size changed, and the generated docs do need a regeneration.

Summary

OpenmrsDatePicker rendered its input group at 41px where Carbon's md-size text inputs are 40px, so a date picker next to a TextInput or ComboBox in a form row put the field bottoms and underlines a pixel apart (reported from the filter row of the audit log app).

Root cause. The height and the 1px bottom border lived on different elements. .inputGroup carried border-block-end: 1px solid but had no height of its own; the height came from the children (.inputWrapperMd / .flatButtonMd, both 2.5rem). With block-size: auto, the border is added on top of the 40px children, so the group measures 41px. Carbon puts the height and the border on the same border-box element — see .cds--text-input (block-size: layout.size('height') + border-block-end: 1px solid $border-strong) and .cds--date-picker__input — so the border sits inside the 40px.

Fix. The group now owns both the height and the border, and its children fill it (block-size: 100%). The height is read from Carbon's layout size tokens via layout.use('size', $default: 'md', $min: 'sm', $max: 'lg') / layout.size('height'), keyed off the cds--layout--size-* class the components set — exactly the mechanism cds--text-input uses (TextInput.js adds [`${prefix}--layout--size-${size}`]: size). Nothing is hardcoded against Carbon's sizing, so a Carbon upgrade that changes those tokens carries over automatically.

This also fixes the sm and lg variants, which were 33px and 49px against Carbon's 32px and 48px, and the same bug in OpenmrsDateRangePicker.

Removed / renamed classes. inputWrapperSm/Md/Lg, inputsWrapperSm/Md/Lg and flatButtonSm/Md/Lg are all gone — the group sizes its own children now. The one rule that had to survive is the calendar popover's previous/next-month buttons, which are a fixed 2.5rem square and deliberately don't track the field size; that rule was renamed flatButtonMd.calendarNavButton so the name stops implying it is the md member of a set that no longer exists. None of the removed classes had consumers outside this directory, and none of them were part of the exported sass surface.

Size is inherited, not defaulted. size no longer defaults to 'md' in the components. Emitting cds--layout--size-md unconditionally would have opted the picker out of any surrounding Carbon layout context: inside a cds--layout--size-sm container an unsized TextInput is 32px, but an unsized picker would have stayed 40px. With no class, the size comes from the ancestor context, falling back to the $default: 'md' in .inputGroup's layout.use() — so an unsized picker outside any layout context is still 40px, and inside one it now matches its neighbours. This mirrors TextInput, which also only emits the class when a size is passed.

Values outside sm/md/lg are treated as "no size" rather than interpolated into the class name. The prop is typed, but plenty of callers are untyped JavaScript, and interpolating whatever arrives produced tokens that look like Carbon classes but match nothing (size={40}cds--layout--size-40), or — for a value containing whitespace — a second class that wins the cascade, so size="md cds--layout--size-lg" rendered at lg.

Measured heights (Chromium, deviceScaleFactor: 1; getBoundingClientRect().height of the picker's [role="group"] against a real Carbon TextInput/ComboBox of the same size rendered in the same document, with the styleguide's _all.scss loaded):

size Carbon TextInput picker before picker after
sm 32 33 32
md 40 41 40
lg 48 49 48
md (OpenmrsDateRangePicker) 40 41 40

Verified three ways with the same numbers:

  1. This repo's Storybook (yarn storybook, Components/DatePicker and Components/DateRangePicker stories, driven with Playwright), in LTR and RTL.
  2. A standalone rspack page rendering the components side by side with Carbon's TextInput and ComboBox.
  3. A running OpenMRS instance. The app shell was built from this branch (yarn run:shell with OMRS_PROXY_TARGET pointed at a local OpenMRS 8081) so the real frontend modules from the instance's own importmap render against this styleguide, then Patient Registration and Appointments were driven with Playwright. On Patient Registration the date-of-birth picker measures 41px on main and 40px with this branch, against the page's cds--text-input fields at 40px; every element below the picker shifts up by exactly 1px between the two builds. The group's computed --cds-layout-size-height-local is clamp(max(0px, 2rem), 2.5rem, min(999999999px, 3rem)) — i.e. the height really is coming from Carbon's layout token, clamped to sm..lg, and not from a hardcoded value.

No regressions found. In the browser, at all three sizes: the calendar opens, renders 35 day cells, a date can be picked, the popover closes and the value lands in the input, and the group height holds after a value is set. The invalid, disabled and default-value stories still render correctly (error outline, warning icon and error text intact); text and the calendar icon remain vertically centred. The popover is portaled, so it cannot inherit the group's layout class.

Screenshots

Not attached — the change is a 1px height correction; the measurements above are the meaningful evidence. Before, in a mixed row, the date picker's underline sat 1px below the neighbouring inputs'; after, all the underlines share a baseline.

Related Issue

https://openmrs.atlassian.net/browse/O3-5842

Other

On the tests. The package runs under vitest with happy-dom, which has no layout engine and cannot report a rendered height, so there is no honest way to assert "40px" in the unit tests. Instead the size prop suites in datepicker.test.tsx and date-range-picker.test.tsx assert the mechanism that produces the height: the group carries cds--layout--size-{sm,md,lg} when a size is given, and carries no cds--layout--size-* class at all when one isn't, so that it inherits the surrounding layout context. The same suites cover the full range an untyped caller can actually pass — null, '', 'xl', 'Md', a number, an object, and a whitespace-injection string — and assert none of it reaches the DOM as a layout class. utils.test.ts covers getLayoutSizeClass directly over the same range. The height itself was verified in a real browser as described above. yarn test for @openmrs/esm-styleguide passes (289 passed, 1 skipped), as do eslint and prettier --check on the changed files.

On the API surface. No exported type changed and no new symbol is exported (getLayoutSizeClass is internal to src/datepicker/ and is not re-exported from datepicker/index.tsx). Two things did change that a reviewer should see explicitly:

  • The runtime default of size (previously always 'md', now inherited — see above). Callers that relied on a picker staying 40px inside a non-md layout context will now see it match that context, which is the intended behaviour.
  • The TSDoc on size in OpenmrsDatePickerProps and OpenmrsDateRangePickerProps, which means the committed API docs are stale for this branch.

The drift check is therefore red on purpose and cannot be cleared from this branch: it requires the Docs / Regenerated check run, which only the bot posts, and the bot only runs after an approving review from a write-access reviewer. Committing regenerated docs by hand does not help — the same check hard-fails on any manual edit under packages/framework/esm-framework/docs/. Please just approve; the bot will push the docs commit and drift will go green. skip-docs would be the wrong lever here, because the docs genuinely do drift.

OpenmrsDatePicker rendered its input group at 41px where Carbon's md-size
inputs are 40px, so a date picker sitting next to a TextInput or ComboBox in a
form row put the field bottoms and underlines a pixel apart.

The height and the 1px bottom border were on different elements: the group
carried the border but had no height of its own, and the height came from the
input wrapper and the trigger button inside it. With auto height, the border
was added on top of the 40px children, giving 41px. Carbon puts both on the
same border-box element (see `.cds--text-input`, `.cds--date-picker__input`),
so the border sits inside the height.

Do the same here: the group now owns the height and the border, and its
children fill it. The height is read from Carbon's layout size tokens through
the `cds--layout--size-*` class the components set, which is how Carbon's own
inputs are sized, so we follow Carbon if those values ever change.

This also fixes the sm and lg variants (33px and 49px against Carbon's 32px
and 48px) and the same problem in OpenmrsDateRangePicker.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VwrMcxXwSx8rPmMZu2VigK
@changeset-bot

changeset-bot Bot commented Jul 31, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 56939fb

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Size Change: -317 kB (-3.9%)

Total Size: 7.81 MB

📦 View Changed
Filename Size Change
packages/shell/esm-app-shell/dist/b34de23444243dd2.js 0 B -267 kB (removed) 🏆
packages/shell/esm-app-shell/dist/ee6829dc73e6d0ba.js 0 B -22.1 kB (removed) 🏆
packages/shell/esm-app-shell/dist/openmrs.12eeefe32473da4c.js 0 B -28 kB (removed) 🏆
ℹ️ View Unchanged
Filename Size Change
packages/apps/esm-devtools-app/dist/116.js 199 kB 0 B
packages/apps/esm-devtools-app/dist/117.js 352 B 0 B
packages/apps/esm-devtools-app/dist/165.js 6.25 kB 0 B
packages/apps/esm-devtools-app/dist/195.js 186 kB 0 B
packages/apps/esm-devtools-app/dist/271.js 195 kB +266 B (+0.14%)
packages/apps/esm-devtools-app/dist/335.js 500 B 0 B
packages/apps/esm-devtools-app/dist/613.js 11 kB 0 B
packages/apps/esm-devtools-app/dist/651.js 5.6 kB 0 B
packages/apps/esm-devtools-app/dist/735.js 42.5 kB 0 B
packages/apps/esm-devtools-app/dist/807.js 2.31 kB 0 B
packages/apps/esm-devtools-app/dist/819.js 2.58 kB 0 B
packages/apps/esm-devtools-app/dist/827.js 11.8 kB 0 B
packages/apps/esm-devtools-app/dist/main.js 25.3 kB 0 B
packages/apps/esm-devtools-app/dist/openmrs-esm-devtools-app.js 25.2 kB 0 B
packages/apps/esm-help-menu-app/dist/20.js 2.09 kB 0 B
packages/apps/esm-help-menu-app/dist/39.js 695 B 0 B
packages/apps/esm-help-menu-app/dist/116.js 42.5 kB 0 B
packages/apps/esm-help-menu-app/dist/117.js 205 B 0 B
packages/apps/esm-help-menu-app/dist/120.js 186 kB 0 B
packages/apps/esm-help-menu-app/dist/165.js 4.93 kB 0 B
packages/apps/esm-help-menu-app/dist/271.js 195 kB +275 B (+0.14%)
packages/apps/esm-help-menu-app/dist/408.js 3.36 kB 0 B
packages/apps/esm-help-menu-app/dist/438.js 10.2 kB 0 B
packages/apps/esm-help-menu-app/dist/613.js 11 kB 0 B
packages/apps/esm-help-menu-app/dist/614.js 197 kB 0 B
packages/apps/esm-help-menu-app/dist/651.js 5.6 kB 0 B
packages/apps/esm-help-menu-app/dist/819.js 2.58 kB 0 B
packages/apps/esm-help-menu-app/dist/878.js 1.64 kB 0 B
packages/apps/esm-help-menu-app/dist/981.js 465 B 0 B
packages/apps/esm-help-menu-app/dist/main.js 30 kB 0 B
packages/apps/esm-help-menu-app/dist/openmrs-esm-help-menu-app.js 25.1 kB 0 B
packages/apps/esm-implementer-tools-app/dist/17be7b1ecff555fb.js 7.04 kB 0 B
packages/apps/esm-implementer-tools-app/dist/195.js 186 kB 0 B
packages/apps/esm-implementer-tools-app/dist/282.js 809 B 0 B
packages/apps/esm-implementer-tools-app/dist/434.js 808 B 0 B
packages/apps/esm-implementer-tools-app/dist/556.js 809 B 0 B
packages/apps/esm-implementer-tools-app/dist/651.js 5.61 kB 0 B
packages/apps/esm-implementer-tools-app/dist/903.js 809 B 0 B
packages/apps/esm-implementer-tools-app/dist/932.js 145 kB 0 B
packages/apps/esm-implementer-tools-app/dist/1389.js 32.3 kB 0 B
packages/apps/esm-implementer-tools-app/dist/1480.js 1.11 kB 0 B
packages/apps/esm-implementer-tools-app/dist/1582.js 3.02 kB 0 B
packages/apps/esm-implementer-tools-app/dist/1646.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/1869.js 809 B 0 B
packages/apps/esm-implementer-tools-app/dist/1877.js 954 B 0 B
packages/apps/esm-implementer-tools-app/dist/2317.js 956 B 0 B
packages/apps/esm-implementer-tools-app/dist/2416.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/2826.js 185 kB 0 B
packages/apps/esm-implementer-tools-app/dist/2881.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/2920.js 4.68 kB 0 B
packages/apps/esm-implementer-tools-app/dist/3038.js 13.4 kB 0 B
packages/apps/esm-implementer-tools-app/dist/3165.js 6.25 kB 0 B
packages/apps/esm-implementer-tools-app/dist/3378.js 809 B 0 B
packages/apps/esm-implementer-tools-app/dist/3963.js 940 B 0 B
packages/apps/esm-implementer-tools-app/dist/4106.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/4111.js 903 B 0 B
packages/apps/esm-implementer-tools-app/dist/4271.js 195 kB +271 B (+0.14%)
packages/apps/esm-implementer-tools-app/dist/4348.js 808 B 0 B
packages/apps/esm-implementer-tools-app/dist/4373.js 4.23 kB 0 B
packages/apps/esm-implementer-tools-app/dist/4383.js 809 B 0 B
packages/apps/esm-implementer-tools-app/dist/4658.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/4928.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/5117.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/5132.js 920 B 0 B
packages/apps/esm-implementer-tools-app/dist/5145.js 972 B 0 B
packages/apps/esm-implementer-tools-app/dist/5503.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/5644.js 1.05 kB 0 B
packages/apps/esm-implementer-tools-app/dist/5819.js 2.58 kB 0 B
packages/apps/esm-implementer-tools-app/dist/5940.js 809 B 0 B
packages/apps/esm-implementer-tools-app/dist/6047.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/6371.js 954 B 0 B
packages/apps/esm-implementer-tools-app/dist/6377.js 809 B 0 B
packages/apps/esm-implementer-tools-app/dist/6444.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/6508.js 968 B 0 B
packages/apps/esm-implementer-tools-app/dist/6724.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/6847.js 481 B 0 B
packages/apps/esm-implementer-tools-app/dist/6904.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/7045.js 1.02 kB 0 B
packages/apps/esm-implementer-tools-app/dist/7175.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/7182.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/7487.js 7.89 kB 0 B
packages/apps/esm-implementer-tools-app/dist/7742.js 1.06 kB 0 B
packages/apps/esm-implementer-tools-app/dist/7912.js 966 B 0 B
packages/apps/esm-implementer-tools-app/dist/7918.js 2.22 kB 0 B
packages/apps/esm-implementer-tools-app/dist/8088.js 91 kB 0 B
packages/apps/esm-implementer-tools-app/dist/8358.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/8359.js 1.3 kB 0 B
packages/apps/esm-implementer-tools-app/dist/8574.js 3.07 kB 0 B
packages/apps/esm-implementer-tools-app/dist/8613.js 11.1 kB 0 B
packages/apps/esm-implementer-tools-app/dist/8695.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/9072.js 810 B 0 B
packages/apps/esm-implementer-tools-app/dist/9116.js 42.5 kB 0 B
packages/apps/esm-implementer-tools-app/dist/9228.js 482 B 0 B
packages/apps/esm-implementer-tools-app/dist/9270.js 2.67 kB 0 B
packages/apps/esm-implementer-tools-app/dist/9806.js 809 B 0 B
packages/apps/esm-implementer-tools-app/dist/main.js 41.8 kB 0 B
packages/apps/esm-implementer-tools-app/dist/openmrs-esm-implementer-tools-app.js 25.5 kB 0 B
packages/apps/esm-login-app/dist/195.js 186 kB 0 B
packages/apps/esm-login-app/dist/282.js 762 B 0 B
packages/apps/esm-login-app/dist/434.js 761 B 0 B
packages/apps/esm-login-app/dist/556.js 762 B 0 B
packages/apps/esm-login-app/dist/651.js 5.6 kB 0 B
packages/apps/esm-login-app/dist/903.js 794 B 0 B
packages/apps/esm-login-app/dist/1480.js 1.03 kB 0 B
packages/apps/esm-login-app/dist/1582.js 3 kB 0 B
packages/apps/esm-login-app/dist/1604.js 6 kB 0 B
packages/apps/esm-login-app/dist/1646.js 763 B 0 B
packages/apps/esm-login-app/dist/1869.js 801 B 0 B
packages/apps/esm-login-app/dist/1877.js 919 B 0 B
packages/apps/esm-login-app/dist/2197.js 29.2 kB 0 B
packages/apps/esm-login-app/dist/2317.js 927 B 0 B
packages/apps/esm-login-app/dist/2416.js 763 B 0 B
packages/apps/esm-login-app/dist/2824.js 4.47 kB 0 B
packages/apps/esm-login-app/dist/2881.js 848 B 0 B
packages/apps/esm-login-app/dist/3378.js 789 B 0 B
packages/apps/esm-login-app/dist/3963.js 923 B 0 B
packages/apps/esm-login-app/dist/4106.js 763 B 0 B
packages/apps/esm-login-app/dist/4111.js 885 B 0 B
packages/apps/esm-login-app/dist/4271.js 194 kB +292 B (+0.15%)
packages/apps/esm-login-app/dist/4348.js 761 B 0 B
packages/apps/esm-login-app/dist/4383.js 763 B 0 B
packages/apps/esm-login-app/dist/4658.js 763 B 0 B
packages/apps/esm-login-app/dist/4928.js 763 B 0 B
packages/apps/esm-login-app/dist/5117.js 833 B 0 B
packages/apps/esm-login-app/dist/5132.js 893 B 0 B
packages/apps/esm-login-app/dist/5145.js 920 B 0 B
packages/apps/esm-login-app/dist/5356.js 189 kB 0 B
packages/apps/esm-login-app/dist/5503.js 763 B 0 B
packages/apps/esm-login-app/dist/5644.js 952 B 0 B
packages/apps/esm-login-app/dist/5819.js 2.58 kB 0 B
packages/apps/esm-login-app/dist/5940.js 1.06 kB 0 B
packages/apps/esm-login-app/dist/6047.js 837 B 0 B
packages/apps/esm-login-app/dist/6371.js 1.04 kB 0 B
packages/apps/esm-login-app/dist/6377.js 763 B 0 B
packages/apps/esm-login-app/dist/6444.js 1.13 kB 0 B
packages/apps/esm-login-app/dist/6508.js 938 B 0 B
packages/apps/esm-login-app/dist/6724.js 763 B 0 B
packages/apps/esm-login-app/dist/6847.js 475 B 0 B
packages/apps/esm-login-app/dist/6904.js 763 B 0 B
packages/apps/esm-login-app/dist/7045.js 1 kB 0 B
packages/apps/esm-login-app/dist/7175.js 763 B 0 B
packages/apps/esm-login-app/dist/7182.js 763 B 0 B
packages/apps/esm-login-app/dist/7742.js 953 B 0 B
packages/apps/esm-login-app/dist/7912.js 898 B 0 B
packages/apps/esm-login-app/dist/7918.js 2.21 kB 0 B
packages/apps/esm-login-app/dist/8031.js 26.6 kB 0 B
packages/apps/esm-login-app/dist/8069.js 22.5 kB 0 B
packages/apps/esm-login-app/dist/8358.js 763 B 0 B
packages/apps/esm-login-app/dist/8359.js 1.13 kB 0 B
packages/apps/esm-login-app/dist/8574.js 3.06 kB 0 B
packages/apps/esm-login-app/dist/8588.js 2.58 kB 0 B
packages/apps/esm-login-app/dist/8613.js 11 kB 0 B
packages/apps/esm-login-app/dist/8695.js 763 B 0 B
packages/apps/esm-login-app/dist/9072.js 852 B 0 B
packages/apps/esm-login-app/dist/9116.js 42.5 kB 0 B
packages/apps/esm-login-app/dist/9228.js 475 B 0 B
packages/apps/esm-login-app/dist/9806.js 785 B 0 B
packages/apps/esm-login-app/dist/9863.js 457 B 0 B
packages/apps/esm-login-app/dist/main.js 78.8 kB 0 B
packages/apps/esm-login-app/dist/openmrs-esm-login-app.js 25.4 kB 0 B
packages/apps/esm-offline-tools-app/dist/282.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/434.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/556.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/591.js 45.2 kB 0 B
packages/apps/esm-offline-tools-app/dist/651.js 5.61 kB 0 B
packages/apps/esm-offline-tools-app/dist/903.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/1480.js 1.38 kB 0 B
packages/apps/esm-offline-tools-app/dist/1582.js 3.01 kB 0 B
packages/apps/esm-offline-tools-app/dist/1646.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/1869.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/1877.js 1.18 kB 0 B
packages/apps/esm-offline-tools-app/dist/2317.js 1.21 kB 0 B
packages/apps/esm-offline-tools-app/dist/2416.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/2881.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/3378.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/3624.js 4.09 kB 0 B
packages/apps/esm-offline-tools-app/dist/3663.js 8.69 kB 0 B
packages/apps/esm-offline-tools-app/dist/3818.js 4.42 kB 0 B
packages/apps/esm-offline-tools-app/dist/3963.js 1.11 kB 0 B
packages/apps/esm-offline-tools-app/dist/4106.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/4111.js 1.16 kB 0 B
packages/apps/esm-offline-tools-app/dist/4271.js 195 kB +284 B (+0.15%)
packages/apps/esm-offline-tools-app/dist/4348.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/4383.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/4658.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/4928.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/5117.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/5132.js 1.17 kB 0 B
packages/apps/esm-offline-tools-app/dist/5145.js 1.2 kB 0 B
packages/apps/esm-offline-tools-app/dist/5167.js 182 kB 0 B
packages/apps/esm-offline-tools-app/dist/5503.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/5644.js 1.19 kB 0 B
packages/apps/esm-offline-tools-app/dist/5819.js 2.58 kB 0 B
packages/apps/esm-offline-tools-app/dist/5940.js 1.1 kB 0 B
packages/apps/esm-offline-tools-app/dist/6047.js 1.1 kB 0 B
packages/apps/esm-offline-tools-app/dist/6371.js 1.3 kB 0 B
packages/apps/esm-offline-tools-app/dist/6377.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/6444.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/6508.js 1.19 kB 0 B
packages/apps/esm-offline-tools-app/dist/6724.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/6725.js 186 kB 0 B
packages/apps/esm-offline-tools-app/dist/6847.js 481 B 0 B
packages/apps/esm-offline-tools-app/dist/6904.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/7045.js 1.3 kB 0 B
packages/apps/esm-offline-tools-app/dist/7175.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/7182.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/7221.js 2.26 kB 0 B
packages/apps/esm-offline-tools-app/dist/7742.js 1.2 kB 0 B
packages/apps/esm-offline-tools-app/dist/7912.js 1.15 kB 0 B
packages/apps/esm-offline-tools-app/dist/7918.js 2.22 kB 0 B
packages/apps/esm-offline-tools-app/dist/8031.js 26.6 kB 0 B
packages/apps/esm-offline-tools-app/dist/8063.js 1.52 kB 0 B
packages/apps/esm-offline-tools-app/dist/8358.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/8359.js 1.41 kB 0 B
packages/apps/esm-offline-tools-app/dist/8574.js 3.07 kB 0 B
packages/apps/esm-offline-tools-app/dist/8613.js 11.1 kB 0 B
packages/apps/esm-offline-tools-app/dist/8695.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/9072.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/9116.js 42.5 kB 0 B
packages/apps/esm-offline-tools-app/dist/9228.js 481 B 0 B
packages/apps/esm-offline-tools-app/dist/9806.js 1.03 kB 0 B
packages/apps/esm-offline-tools-app/dist/main.js 85.5 kB 0 B
packages/apps/esm-offline-tools-app/dist/openmrs-esm-offline-tools-app.js 25.5 kB -1 B (0%)
packages/apps/esm-primary-navigation-app/dist/195.js 186 kB 0 B
packages/apps/esm-primary-navigation-app/dist/282.js 413 B 0 B
packages/apps/esm-primary-navigation-app/dist/434.js 413 B 0 B
packages/apps/esm-primary-navigation-app/dist/556.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/651.js 5.61 kB 0 B
packages/apps/esm-primary-navigation-app/dist/704.js 985 B 0 B
packages/apps/esm-primary-navigation-app/dist/878.js 4.17 kB 0 B
packages/apps/esm-primary-navigation-app/dist/903.js 413 B 0 B
packages/apps/esm-primary-navigation-app/dist/1407.js 189 kB 0 B
packages/apps/esm-primary-navigation-app/dist/1480.js 526 B 0 B
packages/apps/esm-primary-navigation-app/dist/1604.js 4.65 kB 0 B
packages/apps/esm-primary-navigation-app/dist/1646.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/1869.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/1877.js 465 B 0 B
packages/apps/esm-primary-navigation-app/dist/2107.js 1.9 kB 0 B
packages/apps/esm-primary-navigation-app/dist/2317.js 467 B 0 B
packages/apps/esm-primary-navigation-app/dist/2416.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/2881.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/3378.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/3963.js 469 B 0 B
packages/apps/esm-primary-navigation-app/dist/4106.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/4111.js 449 B 0 B
packages/apps/esm-primary-navigation-app/dist/4271.js 195 kB +291 B (+0.15%)
packages/apps/esm-primary-navigation-app/dist/4348.js 413 B 0 B
packages/apps/esm-primary-navigation-app/dist/4383.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/4658.js 415 B 0 B
packages/apps/esm-primary-navigation-app/dist/4928.js 415 B 0 B
packages/apps/esm-primary-navigation-app/dist/5117.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/5132.js 438 B 0 B
packages/apps/esm-primary-navigation-app/dist/5145.js 503 B 0 B
packages/apps/esm-primary-navigation-app/dist/5503.js 415 B 0 B
packages/apps/esm-primary-navigation-app/dist/5644.js 506 B 0 B
packages/apps/esm-primary-navigation-app/dist/5819.js 2.59 kB 0 B
packages/apps/esm-primary-navigation-app/dist/5940.js 483 B 0 B
packages/apps/esm-primary-navigation-app/dist/6047.js 423 B 0 B
packages/apps/esm-primary-navigation-app/dist/6120.js 6.29 kB 0 B
packages/apps/esm-primary-navigation-app/dist/6371.js 469 B 0 B
packages/apps/esm-primary-navigation-app/dist/6377.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/6444.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/6508.js 461 B 0 B
packages/apps/esm-primary-navigation-app/dist/6724.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/6904.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/7044.js 8.43 kB 0 B
packages/apps/esm-primary-navigation-app/dist/7045.js 452 B 0 B
packages/apps/esm-primary-navigation-app/dist/7175.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/7182.js 415 B 0 B
packages/apps/esm-primary-navigation-app/dist/7742.js 507 B 0 B
packages/apps/esm-primary-navigation-app/dist/7786.js 17.7 kB 0 B
packages/apps/esm-primary-navigation-app/dist/7912.js 470 B 0 B
packages/apps/esm-primary-navigation-app/dist/8031.js 26.6 kB 0 B
packages/apps/esm-primary-navigation-app/dist/8358.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/8359.js 601 B 0 B
packages/apps/esm-primary-navigation-app/dist/8613.js 11.1 kB 0 B
packages/apps/esm-primary-navigation-app/dist/8695.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/9072.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/9116.js 42.5 kB 0 B
packages/apps/esm-primary-navigation-app/dist/9806.js 414 B 0 B
packages/apps/esm-primary-navigation-app/dist/main.js 45.7 kB 0 B
packages/apps/esm-primary-navigation-app/dist/openmrs-esm-primary-navigation-app.js 25.3 kB 0 B
packages/framework/esm-api/dist/config-schema.js 580 B 0 B
packages/framework/esm-api/dist/current-user.js 3.3 kB 0 B
packages/framework/esm-api/dist/environment.js 134 B 0 B
packages/framework/esm-api/dist/index.js 119 B 0 B
packages/framework/esm-api/dist/openmrs-backend-dependencies.js 242 B 0 B
packages/framework/esm-api/dist/openmrs-fetch.js 4.04 kB 0 B
packages/framework/esm-api/dist/public.js 201 B 0 B
packages/framework/esm-api/dist/setup.js 188 B 0 B
packages/framework/esm-api/dist/types/concept-resource.js 32 B 0 B
packages/framework/esm-api/dist/types/fetch.js 32 B 0 B
packages/framework/esm-api/dist/types/index.js 92 B 0 B
packages/framework/esm-api/dist/types/openmrs-resource.js 32 B 0 B
packages/framework/esm-api/dist/types/person-resource.js 32 B 0 B
packages/framework/esm-api/dist/types/user-resource.js 92 B 0 B
packages/framework/esm-config/dist/index.js 91 B 0 B
packages/framework/esm-config/dist/module-config/module-config.js 8.73 kB 0 B
packages/framework/esm-config/dist/module-config/state.js 1.34 kB 0 B
packages/framework/esm-config/dist/public.js 147 B 0 B
packages/framework/esm-config/dist/types.js 210 B 0 B
packages/framework/esm-config/dist/validators/type-validators.js 299 B 0 B
packages/framework/esm-config/dist/validators/validator.js 431 B 0 B
packages/framework/esm-config/dist/validators/validators.js 780 B 0 B
packages/framework/esm-context/dist/context.js 1.15 kB 0 B
packages/framework/esm-context/dist/index.js 50 B 0 B
packages/framework/esm-context/dist/public.js 50 B 0 B
packages/framework/esm-dynamic-loading/dist/dynamic-loading.js 2.91 kB 0 B
packages/framework/esm-dynamic-loading/dist/import-maps.js 2.06 kB 0 B
packages/framework/esm-dynamic-loading/dist/index.js 79 B 0 B
packages/framework/esm-dynamic-loading/dist/public.js 67 B 0 B
packages/framework/esm-dynamic-loading/dist/route-maps.js 2.45 kB 0 B
packages/framework/esm-emr-api/dist/attachments.js 1.12 kB 0 B
packages/framework/esm-emr-api/dist/current-patient.js 864 B 0 B
packages/framework/esm-emr-api/dist/events/index.js 406 B 0 B
packages/framework/esm-emr-api/dist/events/types.js 88 B 0 B
packages/framework/esm-emr-api/dist/index.js 115 B 0 B
packages/framework/esm-emr-api/dist/location.js 422 B 0 B
packages/framework/esm-emr-api/dist/public.js 140 B 0 B
packages/framework/esm-emr-api/dist/types/attachments-types.js 32 B 0 B
packages/framework/esm-emr-api/dist/types/diagnosis-resource.js 81 B 0 B
packages/framework/esm-emr-api/dist/types/drug-resource.js 32 B 0 B
packages/framework/esm-emr-api/dist/types/encounter-resource.js 32 B 0 B
packages/framework/esm-emr-api/dist/types/fhir-resource.js 32 B 0 B
packages/framework/esm-emr-api/dist/types/fhir.js 240 B 0 B
packages/framework/esm-emr-api/dist/types/index.js 130 B 0 B
packages/framework/esm-emr-api/dist/types/location-resource.js 32 B 0 B
packages/framework/esm-emr-api/dist/types/obs-resource.js 32 B 0 B
packages/framework/esm-emr-api/dist/types/order-resource.js 32 B 0 B
packages/framework/esm-emr-api/dist/types/patient-resource.js 32 B 0 B
packages/framework/esm-emr-api/dist/types/visit-resource.js 32 B 0 B
packages/framework/esm-emr-api/dist/visit-type.js 513 B 0 B
packages/framework/esm-emr-api/dist/visit-utils.js 1.73 kB 0 B
packages/framework/esm-error-handling/dist/index.js 1.16 kB 0 B
packages/framework/esm-expression-evaluator/dist/evaluator.js 5.07 kB 0 B
packages/framework/esm-expression-evaluator/dist/extractor.js 1.59 kB 0 B
packages/framework/esm-expression-evaluator/dist/globals.js 283 B 0 B
packages/framework/esm-expression-evaluator/dist/index.js 62 B 0 B
packages/framework/esm-expression-evaluator/dist/public.js 136 B 0 B
packages/framework/esm-extensions/dist/extensions.js 3.73 kB 0 B
packages/framework/esm-extensions/dist/helpers.js 165 B 0 B
packages/framework/esm-extensions/dist/index.js 112 B 0 B
packages/framework/esm-extensions/dist/left-nav.js 439 B 0 B
packages/framework/esm-extensions/dist/modals.js 485 B 0 B
packages/framework/esm-extensions/dist/public.js 168 B 0 B
packages/framework/esm-extensions/dist/render.js 806 B 0 B
packages/framework/esm-extensions/dist/store.js 737 B 0 B
packages/framework/esm-extensions/dist/types.js 32 B 0 B
packages/framework/esm-extensions/dist/workspaces.js 1.25 kB 0 B
packages/framework/esm-extensions/dist/workspaces2.js 913 B 0 B
packages/framework/esm-feature-flags/dist/feature-flags.js 1.22 kB 0 B
packages/framework/esm-feature-flags/dist/index.js 56 B 0 B
packages/framework/esm-feature-flags/dist/public.js 80 B 0 B
packages/framework/esm-framework/dist/declarations.d.js 0 B 0 B 🆕
packages/framework/esm-framework/dist/index.js 196 B 0 B
packages/framework/esm-framework/dist/internal.js 189 B 0 B
packages/framework/esm-globals/dist/events.js 579 B 0 B
packages/framework/esm-globals/dist/index.js 65 B 0 B
packages/framework/esm-globals/dist/public.js 159 B 0 B
packages/framework/esm-globals/dist/type-utils.js 452 B 0 B
packages/framework/esm-globals/dist/types.js 130 B 0 B
packages/framework/esm-navigation/dist/breadcrumbs/db.js 391 B 0 B
packages/framework/esm-navigation/dist/breadcrumbs/filter.js 458 B 0 B
packages/framework/esm-navigation/dist/history/history.js 970 B 0 B
packages/framework/esm-navigation/dist/index.js 116 B 0 B
packages/framework/esm-navigation/dist/navigation/interpolate-string.js 841 B 0 B
packages/framework/esm-navigation/dist/navigation/navigate.js 830 B 0 B
packages/framework/esm-navigation/dist/public.js 143 B 0 B
packages/framework/esm-navigation/dist/types.js 68 B 0 B
packages/framework/esm-offline/dist/dynamic-offline-data.js 1.84 kB 0 B
packages/framework/esm-offline/dist/index.js 153 B 0 B
packages/framework/esm-offline/dist/mode.js 645 B 0 B
packages/framework/esm-offline/dist/offline-db.js 657 B 0 B
packages/framework/esm-offline/dist/offline-patient-data.js 615 B 0 B
packages/framework/esm-offline/dist/public.js 245 B 0 B
packages/framework/esm-offline/dist/service-worker-http-headers.js 155 B 0 B
packages/framework/esm-offline/dist/service-worker-messaging.js 381 B 0 B
packages/framework/esm-offline/dist/service-worker.js 658 B 0 B
packages/framework/esm-offline/dist/sync.js 2.52 kB 0 B
packages/framework/esm-offline/dist/uuid-support.js 290 B 0 B
packages/framework/esm-react-utils/dist/ComponentContext.js 165 B 0 B
packages/framework/esm-react-utils/dist/ConfigurableLink.js 689 B 0 B
packages/framework/esm-react-utils/dist/Extension.js 1.09 kB 0 B
packages/framework/esm-react-utils/dist/ExtensionSlot.js 1 kB 0 B
packages/framework/esm-react-utils/dist/getLifecycle.js 952 B 0 B
packages/framework/esm-react-utils/dist/index.js 464 B 0 B
packages/framework/esm-react-utils/dist/openmrsComponentDecorator.js 1.81 kB 0 B
packages/framework/esm-react-utils/dist/OpenmrsContext.js 420 B 0 B
packages/framework/esm-react-utils/dist/public.js 434 B 0 B
packages/framework/esm-react-utils/dist/RenderIfValueIsTruthy.js 404 B 0 B
packages/framework/esm-react-utils/dist/useAbortController.js 490 B 0 B
packages/framework/esm-react-utils/dist/useAppContext.js 521 B 0 B
packages/framework/esm-react-utils/dist/useAssignedExtensionIds.js 413 B 0 B
packages/framework/esm-react-utils/dist/useAssignedExtensions.js 229 B 0 B
packages/framework/esm-react-utils/dist/useAttachments.js 748 B 0 B
packages/framework/esm-react-utils/dist/useBodyScrollLock.js 536 B 0 B
packages/framework/esm-react-utils/dist/useConfig.js 1.24 kB 0 B
packages/framework/esm-react-utils/dist/useConnectedExtensions.js 206 B 0 B
packages/framework/esm-react-utils/dist/useConnectivity.js 489 B 0 B
packages/framework/esm-react-utils/dist/useDebounce.js 600 B 0 B
packages/framework/esm-react-utils/dist/useDefineAppContext.js 1.27 kB 0 B
packages/framework/esm-react-utils/dist/useEmrConfiguration.js 1.24 kB 0 B
packages/framework/esm-react-utils/dist/useExtensionInternalStore.js 162 B 0 B
packages/framework/esm-react-utils/dist/useExtensionSlot.js 423 B 0 B
packages/framework/esm-react-utils/dist/useExtensionSlotMeta.js 270 B 0 B
packages/framework/esm-react-utils/dist/useExtensionSlotStore.js 168 B 0 B
packages/framework/esm-react-utils/dist/useExtensionStore.js 146 B 0 B
packages/framework/esm-react-utils/dist/useFeatureFlag.js 372 B 0 B
packages/framework/esm-react-utils/dist/useFhirFetchAll.js 392 B 0 B
packages/framework/esm-react-utils/dist/useFhirInfinite.js 442 B 0 B
packages/framework/esm-react-utils/dist/useFhirPagination.js 858 B 0 B
packages/framework/esm-react-utils/dist/useForceUpdate.js 169 B 0 B
packages/framework/esm-react-utils/dist/useLayoutType.js 401 B 0 B
packages/framework/esm-react-utils/dist/useLeftNav.js 606 B 0 B
packages/framework/esm-react-utils/dist/useLeftNavStore.js 350 B 0 B
packages/framework/esm-react-utils/dist/useLocations.js 617 B 0 B
packages/framework/esm-react-utils/dist/useOnClickOutside.js 776 B 0 B
packages/framework/esm-react-utils/dist/useOnVisible.js 632 B 0 B
packages/framework/esm-react-utils/dist/useOpenmrsFetchAll.js 714 B 0 B
packages/framework/esm-react-utils/dist/useOpenmrsInfinite.js 1.37 kB 0 B
packages/framework/esm-react-utils/dist/useOpenmrsPagination.js 1.96 kB 0 B
packages/framework/esm-react-utils/dist/useOpenmrsSWR.js 921 B 0 B
packages/framework/esm-react-utils/dist/usePagination.js 724 B 0 B
packages/framework/esm-react-utils/dist/usePaginationInfo.js 346 B 0 B
packages/framework/esm-react-utils/dist/usePatient.js 773 B 0 B
packages/framework/esm-react-utils/dist/usePrimaryIdentifierResource.js 506 B 0 B
packages/framework/esm-react-utils/dist/useRenderableExtensions.js 701 B 0 B
packages/framework/esm-react-utils/dist/UserHasAccess.js 935 B 0 B
packages/framework/esm-react-utils/dist/useSession.js 1.64 kB 0 B
packages/framework/esm-react-utils/dist/useStore.js 716 B 0 B
packages/framework/esm-react-utils/dist/useVisit.js 1.43 kB 0 B
packages/framework/esm-react-utils/dist/useVisitContextStore.js 663 B 0 B
packages/framework/esm-react-utils/dist/useVisitTypes.js 533 B 0 B
packages/framework/esm-routes/dist/index.js 56 B 0 B
packages/framework/esm-routes/dist/loaders/components.js 1.46 kB 0 B
packages/framework/esm-routes/dist/loaders/helpers.js 142 B 0 B
packages/framework/esm-routes/dist/loaders/index.js 128 B 0 B
packages/framework/esm-routes/dist/loaders/load-lifecycles.js 1.41 kB 0 B
packages/framework/esm-routes/dist/loaders/pages.js 2.69 kB 0 B
packages/framework/esm-routes/dist/public.js 0 B 0 B 🆕
packages/framework/esm-state/dist/index.js 48 B 0 B
packages/framework/esm-state/dist/public.js 86 B 0 B
packages/framework/esm-state/dist/state.js 1.18 kB 0 B
packages/framework/esm-state/dist/utils.js 301 B 0 B
packages/framework/esm-styleguide/dist/brand.js 335 B 0 B
packages/framework/esm-styleguide/dist/breakpoints/index.js 415 B 0 B
packages/framework/esm-styleguide/dist/cards/card-header.component.js 389 B 0 B
packages/framework/esm-styleguide/dist/cards/card-header.stories.js 374 B 0 B
packages/framework/esm-styleguide/dist/cards/index.js 74 B 0 B
packages/framework/esm-styleguide/dist/config-schema.js 1.05 kB 0 B
packages/framework/esm-styleguide/dist/custom-overflow-menu/custom-overflow-menu.component.js 1.71 kB 0 B
packages/framework/esm-styleguide/dist/custom-overflow-menu/custom-overflow-menu.stories.js 410 B 0 B
packages/framework/esm-styleguide/dist/custom-overflow-menu/index.js 73 B 0 B
packages/framework/esm-styleguide/dist/dashboard-extension/index.js 832 B 0 B
packages/framework/esm-styleguide/dist/data-table-batch-actions/data-table-batch-actions.component.js 504 B 0 B
packages/framework/esm-styleguide/dist/data-table-batch-actions/index.js 77 B 0 B
packages/framework/esm-styleguide/dist/datepicker/auto-close-dialog.component.js 348 B 0 B
packages/framework/esm-styleguide/dist/datepicker/calendar-popover.component.js 950 B +5 B (+0.53%)
packages/framework/esm-styleguide/dist/datepicker/date-picker-icon.component.js 472 B 0 B
packages/framework/esm-styleguide/dist/datepicker/date-picker-input.component.js 823 B 0 B
packages/framework/esm-styleguide/dist/datepicker/date-range-picker.stories.js 370 B 0 B
packages/framework/esm-styleguide/dist/datepicker/date-segment.component.js 842 B 0 B
packages/framework/esm-styleguide/dist/datepicker/datepicker.stories.js 381 B 0 B
packages/framework/esm-styleguide/dist/datepicker/defaults.js 314 B 0 B
packages/framework/esm-styleguide/dist/datepicker/hooks.js 1.07 kB 0 B
packages/framework/esm-styleguide/dist/datepicker/i18n-wrapper.component.js 240 B 0 B
packages/framework/esm-styleguide/dist/datepicker/index.js 100 B 0 B
packages/framework/esm-styleguide/dist/datepicker/month-year.component.js 999 B 0 B
packages/framework/esm-styleguide/dist/datepicker/openmrs-date-picker.component.js 1.7 kB -49 B (-2.81%)
packages/framework/esm-styleguide/dist/datepicker/openmrs-date-range-picker.component.js 1.83 kB -45 B (-2.4%)
packages/framework/esm-styleguide/dist/datepicker/types.js 101 B 0 B
packages/framework/esm-styleguide/dist/datepicker/utils.js 1.45 kB +888 B (+157.73%) 🆘
packages/framework/esm-styleguide/dist/declarations.d.js 0 B 0 B 🆕
packages/framework/esm-styleguide/dist/diagnosis-tags/diagnosis-tags.component.js 529 B 0 B
packages/framework/esm-styleguide/dist/diagnosis-tags/diagnosis-tags.stories.js 367 B 0 B
packages/framework/esm-styleguide/dist/diagnosis-tags/index.js 67 B 0 B
packages/framework/esm-styleguide/dist/empty-card/empty-card-registration.js 154 B 0 B
packages/framework/esm-styleguide/dist/empty-card/empty-card.component.js 712 B 0 B
packages/framework/esm-styleguide/dist/empty-card/empty-card.stories.js 272 B 0 B
packages/framework/esm-styleguide/dist/empty-card/index.js 87 B 0 B
packages/framework/esm-styleguide/dist/error-state/error-state.component.js 479 B 0 B
packages/framework/esm-styleguide/dist/error-state/error-state.stories.js 282 B 0 B
packages/framework/esm-styleguide/dist/error-state/index.js 64 B 0 B
packages/framework/esm-styleguide/dist/icons/icon-registration.js 1.85 kB 0 B
packages/framework/esm-styleguide/dist/icons/icons.js 3.45 kB 0 B
packages/framework/esm-styleguide/dist/icons/icons.stories.js 733 B 0 B
packages/framework/esm-styleguide/dist/icons/index.js 48 B 0 B
packages/framework/esm-styleguide/dist/index.js 399 B 0 B
packages/framework/esm-styleguide/dist/internal.js 339 B 0 B
packages/framework/esm-styleguide/dist/left-nav/index.js 886 B 0 B
packages/framework/esm-styleguide/dist/location-picker/index.js 68 B 0 B
packages/framework/esm-styleguide/dist/location-picker/location-picker.component.js 1.46 kB 0 B
packages/framework/esm-styleguide/dist/location-picker/location-picker.resource.js 1.38 kB 0 B
packages/framework/esm-styleguide/dist/logo/index.js 340 B 0 B
packages/framework/esm-styleguide/dist/modals/index.js 1.86 kB 0 B
packages/framework/esm-styleguide/dist/notifications/actionable-notification.component.js 465 B 0 B
packages/framework/esm-styleguide/dist/notifications/actionable-notification.stories.js 448 B 0 B
packages/framework/esm-styleguide/dist/notifications/active-actionable-notifications.component.js 436 B 0 B
packages/framework/esm-styleguide/dist/notifications/active-notifications.component.js 396 B 0 B
packages/framework/esm-styleguide/dist/notifications/index.js 902 B 0 B
packages/framework/esm-styleguide/dist/notifications/notification.component.js 288 B 0 B
packages/framework/esm-styleguide/dist/notifications/notification.stories.js 406 B 0 B
packages/framework/esm-styleguide/dist/numeric-observation/index.js 154 B 0 B
packages/framework/esm-styleguide/dist/numeric-observation/interpretation-utils.js 607 B 0 B
packages/framework/esm-styleguide/dist/numeric-observation/numeric-observation.component.js 1.3 kB 0 B
packages/framework/esm-styleguide/dist/numeric-observation/numeric-observation.stories.js 559 B 0 B
packages/framework/esm-styleguide/dist/numeric-observation/use-concept-reference-range.js 512 B 0 B
packages/framework/esm-styleguide/dist/page-header/index.js 64 B 0 B
packages/framework/esm-styleguide/dist/page-header/page-header.component.js 1.08 kB 0 B
packages/framework/esm-styleguide/dist/page-header/page-header.stories.js 293 B 0 B
packages/framework/esm-styleguide/dist/pagination/index.js 63 B 0 B
packages/framework/esm-styleguide/dist/pagination/pagination.component.js 730 B 0 B
packages/framework/esm-styleguide/dist/pagination/pagination.stories.js 500 B 0 B
packages/framework/esm-styleguide/dist/patient-banner/actions-menu/patient-banner-actions-menu.component.js 1.75 kB 0 B
packages/framework/esm-styleguide/dist/patient-banner/contact-details/patient-banner-contact-details.component.js 1.71 kB 0 B
packages/framework/esm-styleguide/dist/patient-banner/contact-details/patient-banner-toggle-contact-details-button.component.js 389 B 0 B
packages/framework/esm-styleguide/dist/patient-banner/contact-details/types.js 32 B 0 B
packages/framework/esm-styleguide/dist/patient-banner/contact-details/usePatientAttributes.js 1.02 kB 0 B
packages/framework/esm-styleguide/dist/patient-banner/contact-details/usePatientListsForPatient.js 381 B 0 B
packages/framework/esm-styleguide/dist/patient-banner/contact-details/useRelationships.js 554 B 0 B
packages/framework/esm-styleguide/dist/patient-banner/index.js 135 B 0 B
packages/framework/esm-styleguide/dist/patient-banner/patient-info/patient-banner-patient-identifiers.component.js 810 B 0 B
packages/framework/esm-styleguide/dist/patient-banner/patient-info/patient-banner-patient-info.component.js 1.1 kB 0 B
packages/framework/esm-styleguide/dist/patient-photo/index.js 80 B 0 B
packages/framework/esm-styleguide/dist/patient-photo/loader-icon.component.js 364 B 0 B
packages/framework/esm-styleguide/dist/patient-photo/patient-photo.component.js 1.16 kB 0 B
packages/framework/esm-styleguide/dist/patient-photo/patient-photo.stories.js 284 B 0 B
packages/framework/esm-styleguide/dist/patient-photo/placeholder-icon.component.js 633 B 0 B
packages/framework/esm-styleguide/dist/patient-photo/usePatientPhoto.js 401 B 0 B
packages/framework/esm-styleguide/dist/pictograms/index.js 53 B 0 B
packages/framework/esm-styleguide/dist/pictograms/pictogram-registration.js 698 B 0 B
packages/framework/esm-styleguide/dist/pictograms/pictograms.js 1.82 kB 0 B
packages/framework/esm-styleguide/dist/pictograms/pictograms.stories.js 682 B 0 B
packages/framework/esm-styleguide/dist/public.js 392 B 0 B
packages/framework/esm-styleguide/dist/responsive-wrapper/index.js 71 B 0 B
packages/framework/esm-styleguide/dist/responsive-wrapper/responsive-wrapper.component.js 518 B 0 B
packages/framework/esm-styleguide/dist/responsive-wrapper/responsive-wrapper.stories.js 446 B 0 B
packages/framework/esm-styleguide/dist/snackbars/active-snackbar.component.js 489 B 0 B
packages/framework/esm-styleguide/dist/snackbars/index.js 639 B 0 B
packages/framework/esm-styleguide/dist/snackbars/snackbar.component.js 881 B 0 B
packages/framework/esm-styleguide/dist/snackbars/snackbar.stories.js 587 B 0 B
packages/framework/esm-styleguide/dist/spinner/index.js 268 B 0 B
packages/framework/esm-styleguide/dist/svg-utils.js 1.07 kB 0 B
packages/framework/esm-styleguide/dist/test-utils.js 284 B 0 B
packages/framework/esm-styleguide/dist/toasts/active-toasts.component.js 481 B 0 B
packages/framework/esm-styleguide/dist/toasts/index.js 685 B 0 B
packages/framework/esm-styleguide/dist/toasts/toast.component.js 398 B 0 B
packages/framework/esm-styleguide/dist/toasts/toast.stories.js 540 B 0 B
packages/framework/esm-styleguide/dist/utils.js 240 B 0 B
packages/framework/esm-styleguide/dist/workspaces/action-menu-button/action-menu-button.component.js 981 B 0 B
packages/framework/esm-styleguide/dist/workspaces/container/action-menu.component.js 709 B 0 B
packages/framework/esm-styleguide/dist/workspaces/container/workspace-container.component.js 3.31 kB 0 B
packages/framework/esm-styleguide/dist/workspaces/container/workspace-renderer.component.js 648 B 0 B
packages/framework/esm-styleguide/dist/workspaces/index.js 120 B 0 B
packages/framework/esm-styleguide/dist/workspaces/notification/workspace-notification.component.js 1.26 kB 0 B
packages/framework/esm-styleguide/dist/workspaces/public.js 148 B 0 B
packages/framework/esm-styleguide/dist/workspaces/workspace-sidebar-store/useWorkspaceGroupStore.js 541 B 0 B
packages/framework/esm-styleguide/dist/workspaces/workspaces.js 4.98 kB 0 B
packages/framework/esm-styleguide/dist/workspaces2/action-menu2/action-menu-button2.component.js 1.46 kB 0 B
packages/framework/esm-styleguide/dist/workspaces2/action-menu2/action-menu2.component.js 747 B 0 B
packages/framework/esm-styleguide/dist/workspaces2/active-workspace-window.component.js 2.03 kB 0 B
packages/framework/esm-styleguide/dist/workspaces2/index.js 91 B 0 B
packages/framework/esm-styleguide/dist/workspaces2/scope-utils.js 579 B 0 B
packages/framework/esm-styleguide/dist/workspaces2/workspace-windows-and-menu.component.js 1.32 kB 0 B
packages/framework/esm-styleguide/dist/workspaces2/workspace2-close-prompt.modal.js 584 B -233 B (-28.52%) 🎉
packages/framework/esm-styleguide/dist/workspaces2/workspace2.component.js 1.78 kB 0 B
packages/framework/esm-styleguide/dist/workspaces2/workspace2.js 5.22 kB -10 B (-0.19%)
packages/framework/esm-translations/dist/index.js 1.23 kB 0 B
packages/framework/esm-translations/dist/public.js 76 B 0 B
packages/framework/esm-translations/dist/translations.js 1.55 kB -47 B (-2.93%)
packages/framework/esm-utils/dist/age-helpers.js 1.14 kB 0 B
packages/framework/esm-utils/dist/dates/date-util.js 5.89 kB 0 B
packages/framework/esm-utils/dist/dates/index.js 52 B 0 B
packages/framework/esm-utils/dist/get-locale.js 301 B 0 B
packages/framework/esm-utils/dist/index.js 171 B 0 B
packages/framework/esm-utils/dist/intl-durationformat.d.js 169 B 0 B
packages/framework/esm-utils/dist/is-online.js 331 B 0 B
packages/framework/esm-utils/dist/match-locale.js 1.8 kB 0 B
packages/framework/esm-utils/dist/patient-helpers.js 1.01 kB 0 B
packages/framework/esm-utils/dist/retry.js 801 B 0 B
packages/framework/esm-utils/dist/shallowEqual.js 511 B 0 B
packages/framework/esm-utils/dist/storage.js 324 B 0 B
packages/framework/esm-utils/dist/test-helpers.js 463 B 0 B
packages/framework/esm-utils/dist/version.js 504 B 0 B
packages/shell/esm-app-shell/dist/0cf6d2fca5bd467d.js 33.1 kB 0 B
packages/shell/esm-app-shell/dist/0db3b903f784a131.js 238 kB 0 B
packages/shell/esm-app-shell/dist/2edd97ba16bad94d.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/2f45a3ddfd50c943.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/3b65aba1b215cece.js 1.74 kB 0 B
packages/shell/esm-app-shell/dist/3de59bfba974b964.js 21.9 kB 0 B
packages/shell/esm-app-shell/dist/5a2f9d1307300413.js 0 B -1.57 kB (removed) 🏆
packages/shell/esm-app-shell/dist/5c7a3484dec63ed2.js 2.04 kB 0 B
packages/shell/esm-app-shell/dist/6caaada0dd55e590.js 7.7 kB 0 B
packages/shell/esm-app-shell/dist/6d466aea5e53d705.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/7c6eca3029fa5a9a.js 1.54 kB 0 B
packages/shell/esm-app-shell/dist/7e17d8151ef1ad94.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/8d9b20644952b178.js 1.69 kB 0 B
packages/shell/esm-app-shell/dist/8ec2628153f15315.js 1.63 kB 0 B
packages/shell/esm-app-shell/dist/8ed0cc8227531777.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/8ee4946c8757f032.js 1.71 kB 0 B
packages/shell/esm-app-shell/dist/64f7917f1a8f8fb4.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/73f66a76cd18204d.js 1.75 kB 0 B
packages/shell/esm-app-shell/dist/74d457f3dd2eb85f.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/98b428008990f466.js 42.8 kB 0 B
packages/shell/esm-app-shell/dist/368c44457fdd04cf.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/457cd6ddd88887ec.js 3.05 kB 0 B
packages/shell/esm-app-shell/dist/597d2113aef375f6.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/732bf759b17b5732.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/746ef0e9f7eb8ac9.js 8.6 kB 0 B
packages/shell/esm-app-shell/dist/790ebb7f7c3a944e.js 11.2 kB 0 B
packages/shell/esm-app-shell/dist/998d1c557f85ca03.js 6.89 kB 0 B
packages/shell/esm-app-shell/dist/2977d80d1391b826.js 26.7 kB 0 B
packages/shell/esm-app-shell/dist/3486eca0da3b88d1.js 2.63 kB 0 B
packages/shell/esm-app-shell/dist/3589f169e541e5a0.js 1.6 kB 0 B
packages/shell/esm-app-shell/dist/5536ca8de39cb7d8.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/7760be96d3727fe2.js 1.46 kB 0 B
packages/shell/esm-app-shell/dist/8324f09d103353b8.js 1.52 kB 0 B
packages/shell/esm-app-shell/dist/00355068084ac8ca.js 15.8 kB 0 B
packages/shell/esm-app-shell/dist/4794819137be3bd8.js 267 kB 0 B
packages/shell/esm-app-shell/dist/6610375530e10884.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/aa19cc3bbe94d915.js 1.88 kB 0 B
packages/shell/esm-app-shell/dist/b0a211dba76847c5.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/b726991c35e41429.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/b9123922ca01a42d.js 1.85 kB 0 B
packages/shell/esm-app-shell/dist/bbe6b27a195b4177.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/bc1bf5960ca6f5c2.js 1.5 kB 0 B
packages/shell/esm-app-shell/dist/bca5f162fad8eca9.js 1.87 kB 0 B
packages/shell/esm-app-shell/dist/bd91ed290a71e9cd.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/c0d7c9cbe921b6e6.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/c1f5ae377b833cf9.js 1.87 kB 0 B
packages/shell/esm-app-shell/dist/c8c144b11053330d.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/c9da4b3d6e2dd2e7.js 1.67 kB 0 B
packages/shell/esm-app-shell/dist/c62d22bb7b3da2b8.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/ca13dd2bc48ab091.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/da0f4000ff8a6308.js 3.17 kB 0 B
packages/shell/esm-app-shell/dist/dc8bae4b1fc21ce6.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/dde52f342e5fc083.js 1.82 kB 0 B
packages/shell/esm-app-shell/dist/e70de7f0da3e9681.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/e113b11e79cf6e27.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/e173aa5eee85c641.js 8.12 kB 0 B
packages/shell/esm-app-shell/dist/e378b076e14e7341.js 1.45 kB 0 B
packages/shell/esm-app-shell/dist/f5e94073baff3906.js 1.79 kB 0 B
packages/shell/esm-app-shell/dist/openmrs.0335ecf8b171c4e8.js 28 kB 0 B
packages/tooling/openmrs/dist/cli.js 3.49 kB 0 B
packages/tooling/openmrs/dist/commands/assemble.js 3.17 kB 0 B
packages/tooling/openmrs/dist/commands/build.js 1.31 kB 0 B
packages/tooling/openmrs/dist/commands/debug.js 520 B 0 B
packages/tooling/openmrs/dist/commands/develop.js 2.4 kB 0 B
packages/tooling/openmrs/dist/commands/index.js 77 B 0 B
packages/tooling/openmrs/dist/commands/start.js 797 B 0 B
packages/tooling/openmrs/dist/index.js 73 B 0 B
packages/tooling/openmrs/dist/runner.js 225 B 0 B
packages/tooling/openmrs/dist/utils/config.js 809 B 0 B
packages/tooling/openmrs/dist/utils/debugger.js 710 B 0 B
packages/tooling/openmrs/dist/utils/dependencies.js 573 B 0 B
packages/tooling/openmrs/dist/utils/devserver.js 396 B 0 B
packages/tooling/openmrs/dist/utils/helpers.js 304 B 0 B
packages/tooling/openmrs/dist/utils/importmap.js 3.2 kB 0 B
packages/tooling/openmrs/dist/utils/index.js 110 B 0 B
packages/tooling/openmrs/dist/utils/logger.js 192 B 0 B
packages/tooling/openmrs/dist/utils/npmConfig.js 680 B 0 B
packages/tooling/openmrs/dist/utils/packages.js 1.28 kB 0 B
packages/tooling/openmrs/dist/utils/port.js 624 B 0 B
packages/tooling/openmrs/dist/utils/types.js 32 B 0 B
packages/tooling/openmrs/dist/utils/untar.js 282 B 0 B
packages/tooling/openmrs/dist/utils/variables.js 126 B 0 B
packages/tooling/rspack-config/dist/index.js 4.24 kB 0 B
packages/tooling/storybook/dist/mocker-runtime-injected.js 13.5 kB 0 B
packages/tooling/storybook/dist/sb-addons/links-1/manager-bundle.js 682 B 0 B
packages/tooling/storybook/dist/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js 139 kB 0 B
packages/tooling/storybook/dist/sb-manager/globals-runtime.js 680 kB 0 B
packages/tooling/storybook/dist/sb-manager/globals.js 409 B 0 B
packages/tooling/storybook/dist/sb-manager/manager-stores.js 225 B 0 B
packages/tooling/storybook/dist/sb-manager/runtime.js 214 kB 0 B
packages/tooling/storybook/dist/sb-preview/globals.js 405 B 0 B
packages/tooling/storybook/dist/sb-preview/runtime.js 312 kB 0 B
packages/tooling/storybook/dist/static/js/360.4282e703.iframe.bundle.js 119 kB 0 B
packages/tooling/storybook/dist/static/js/async/96.63ab87cc.iframe.bundle.js 5.86 kB 0 B
packages/tooling/storybook/dist/static/js/async/96.98553ffe.iframe.bundle.js 0 B -5.9 kB (removed) 🏆
packages/tooling/storybook/dist/static/js/async/116.126a5751.iframe.bundle.js 42.7 kB 0 B
packages/tooling/storybook/dist/static/js/async/125.5adcf429.iframe.bundle.js 2.45 kB 0 B
packages/tooling/storybook/dist/static/js/async/196.5d1e4598.iframe.bundle.js 81.5 kB 0 B
packages/tooling/storybook/dist/static/js/async/593.fc2bd448.iframe.bundle.js 4.37 kB 0 B
packages/tooling/storybook/dist/static/js/async/778.eaf7ed63.iframe.bundle.js 34.8 kB 0 B
packages/tooling/storybook/dist/static/js/async/779.c38c6261.iframe.bundle.js 2.48 kB 0 B
packages/tooling/storybook/dist/static/js/async/788.1b6f9186.iframe.bundle.js 9.06 kB 0 B
packages/tooling/storybook/dist/static/js/async/860.b5f9b0a0.iframe.bundle.js 4.76 kB 0 B
packages/tooling/storybook/dist/static/js/async/871.2f8f98ee.iframe.bundle.js 3.16 kB 0 B
packages/tooling/storybook/dist/static/js/async/972.5cfa2823.iframe.bundle.js 544 B 0 B
packages/tooling/storybook/dist/static/js/async/cards-card-header-stories.7229a5bb.iframe.bundle.js 853 B 0 B
packages/tooling/storybook/dist/static/js/async/custom-overflow-menu-custom-overflow-menu-stories.6bfc7d84.iframe.bundle.js 1.66 kB 0 B
packages/tooling/storybook/dist/static/js/async/datepicker-date-range-picker-stories.14d156cb.iframe.bundle.js 0 B -2.42 kB (removed) 🏆
packages/tooling/storybook/dist/static/js/async/datepicker-date-range-picker-stories.42bfb8b4.iframe.bundle.js 2.41 kB 0 B
packages/tooling/storybook/dist/static/js/async/datepicker-datepicker-stories.8cb768bc.iframe.bundle.js 2.71 kB 0 B
packages/tooling/storybook/dist/static/js/async/datepicker-datepicker-stories.c37172a2.iframe.bundle.js 0 B -2.71 kB (removed) 🏆
packages/tooling/storybook/dist/static/js/async/diagnosis-tags-diagnosis-tags-stories.a7d1b539.iframe.bundle.js 817 B 0 B
packages/tooling/storybook/dist/static/js/async/empty-card-empty-card-stories.8d86c81d.iframe.bundle.js 2.49 kB 0 B
packages/tooling/storybook/dist/static/js/async/empty-card-empty-card-stories.65a5fe34.iframe.bundle.js 0 B -2.54 kB (removed) 🏆
packages/tooling/storybook/dist/static/js/async/error-state-error-state-stories.2ea88542.iframe.bundle.js 2.28 kB 0 B
packages/tooling/storybook/dist/static/js/async/error-state-error-state-stories.9465ff35.iframe.bundle.js 0 B -2.33 kB (removed) 🏆
packages/tooling/storybook/dist/static/js/async/icons-icons-stories.2b915309.iframe.bundle.js 1.02 kB 0 B
packages/tooling/storybook/dist/static/js/async/notifications-actionable-notification-stories.8c24e6c6.iframe.bundle.js 0 B -2.34 kB (removed) 🏆
packages/tooling/storybook/dist/static/js/async/notifications-actionable-notification-stories.d404e85f.iframe.bundle.js 2.29 kB 0 B
packages/tooling/storybook/dist/static/js/async/notifications-notification-stories.501f0bb1.iframe.bundle.js 707 B 0 B
packages/tooling/storybook/dist/static/js/async/numeric-observation-numeric-observation-stories.b2aab97d.iframe.bundle.js 4.42 kB 0 B
packages/tooling/storybook/dist/static/js/async/numeric-observation-numeric-observation-stories.c460eb3d.iframe.bundle.js 0 B -4.46 kB (removed) 🏆
packages/tooling/storybook/dist/static/js/async/page-header-page-header-stories.67d54d1b.iframe.bundle.js 0 B -2.84 kB (removed) 🏆
packages/tooling/storybook/dist/static/js/async/page-header-page-header-stories.540d6d83.iframe.bundle.js 2.79 kB 0 B
packages/tooling/storybook/dist/static/js/async/pagination-pagination-stories.275fff7a.iframe.bundle.js 0 B -2.67 kB (removed) 🏆
packages/tooling/storybook/dist/static/js/async/pagination-pagination-stories.dcbc5e45.iframe.bundle.js 2.62 kB 0 B
packages/tooling/storybook/dist/static/js/async/patient-photo-patient-photo-stories.0adccacc.iframe.bundle.js 3.49 kB 0 B
packages/tooling/storybook/dist/static/js/async/patient-photo-patient-photo-stories.b0868efc.iframe.bundle.js 0 B -3.54 kB (removed) 🏆
packages/tooling/storybook/dist/static/js/async/pictograms-pictograms-stories.b60cb6f7.iframe.bundle.js 588 B 0 B
packages/tooling/storybook/dist/static/js/async/responsive-wrapper-responsive-wrapper-stories.5564100f.iframe.bundle.js 819 B 0 B
packages/tooling/storybook/dist/static/js/async/snackbars-snackbar-stories.38eaa149.iframe.bundle.js 2.61 kB 0 B
packages/tooling/storybook/dist/static/js/async/snackbars-snackbar-stories.c0236363.iframe.bundle.js 0 B -2.65 kB (removed) 🏆
packages/tooling/storybook/dist/static/js/async/toasts-toast-stories.236a5505.iframe.bundle.js 810 B 0 B
packages/tooling/storybook/dist/static/js/main.8e9c84b8.iframe.bundle.js 24.4 kB 0 B
packages/tooling/storybook/dist/static/js/runtime~main.b3b24d50.iframe.bundle.js 0 B -2.72 kB (removed) 🏆
packages/tooling/storybook/dist/static/js/runtime~main.e4e246e5.iframe.bundle.js 2.72 kB 0 B
packages/tooling/typedoc-plugin-file-categories/dist/index.js 573 B 0 B
packages/tooling/webpack-config/dist/index.js 3.71 kB 0 B

compressed-size-action

dkayiwa and others added 3 commits July 31, 2026 14:22
Now that the input group sizes its own trigger button, the only remaining user of
this class is the calendar popover's previous/next month navigation, which is a
fixed 2.5rem square and deliberately does not scale with the field. Keeping "Md"
in the name suggests it is the md variant of a set of per-size classes that no
longer exists, and that it tracks the field's size, which it does not.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VwrMcxXwSx8rPmMZu2VigK
…ntext

The height fix takes the control height from Carbon's layout size tokens, but it
stamped `cds--layout--size-md` on the input group whenever no `size` prop was
given. That class does not just select a size, it *sets* the layout context for
the subtree it is on, so an unconditional class opts the picker out of any
surrounding context. Measured in Chrome: inside a `cds--layout--size-sm`
container an unsized Carbon TextInput is 32px while an unsized picker stayed at
40px, which is the same kind of mixed-row misalignment O3-5842 is about.

Carbon's own TextInput only emits the class when a size is passed, and leaves the
fallback to `layout.use()`'s `$default` in the stylesheet. Do the same: drop the
`md` default from both components and return no class for an absent size. An
unsized picker outside any layout context is still 40px, because `.inputGroup`
already declares `$default: 'md'`; inside a sm context it is now 32px, matching
the Carbon inputs next to it.

This also removes the `size.length === 0` branch, which existed only to force the
md class for an empty size. An empty size is now falsy in exactly the way Carbon
treats it.

Measured in Chrome via Storybook, single and range pickers, LTR and RTL:
sm 32px, md 40px, lg 48px, bottom border on the same y as `.cds--text-input` at
every size; unsized 40px standalone and 32px inside a sm context.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VwrMcxXwSx8rPmMZu2VigK
`getLayoutSizeClass` interpolated whatever it was handed straight into the class
name. The `size` prop is typed `'sm' | 'md' | 'lg'`, but the framework is
consumed from untyped JavaScript, and feeding it the range a caller can actually
pass shows three problems:

  size={40}                        -> cds--layout--size-40
  size="Md"                        -> cds--layout--size-Md
  size="md cds--layout--size-lg"   -> two classes; the picker renders at lg

The first two are inert tokens that read like Carbon classes but match nothing,
so the group silently falls back to the `md` default while the DOM claims
otherwise. The third is worse: a value containing whitespace emits a second
class, and the later `cds--layout--size-*` wins the cascade, so a caller asking
for `md` gets `lg`.

Check the value against the three supported steps instead. In-contract callers
are unaffected; everything else now behaves exactly like an absent size and
inherits the surrounding layout context. Carbon's own `TextInput` interpolates
naively, so `size="xl"` no longer clamps to `lg` via Carbon's `$max` and instead
falls back to the layout context — an off-contract input either way, and the
predictable arm is the better one.

`undefined`, `null` and `''` were already handled and still are; no input
produces a `cds--layout--size-undefined`, and none of them crash.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VwrMcxXwSx8rPmMZu2VigK

@denniskigen denniskigen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks, @dkayiwa. Approving so the docs bot can regenerate and clear drift.

// has to survive whatever a caller actually passes. Nothing outside the three supported steps
// may reach the DOM as a `cds--layout--size-*` token: the group must stay unsized and inherit
// the layout context instead.
it.each([

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: this invalid-input matrix now runs three times: once against getLayoutSizeClass directly in utils.test.ts, and once through a full component render in each picker's test file. Since both components just delegate to the helper, utils.test.ts can own the full matrix and a single representative case here (say, the whitespace-injection one) would prove the wiring. Would cut about 40 lines across the two component test files with no coverage loss. Can be ignored.


// See the note in datepicker.test.tsx: untyped JavaScript callers can pass anything, and none
// of it may reach the DOM as a `cds--layout--size-*` token.
it.each([

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto.

@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants