@thewhatmatters/wmds 0.4.42 → 0.4.45
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/CHANGELOG.md +55 -1
- package/dist/components/atoms/Button/ButtonSpinner.js +1 -1
- package/dist/components/atoms/Button/ButtonStatusButton.d.ts.map +1 -1
- package/dist/components/atoms/Button/ButtonStatusButton.js +57 -38
- package/dist/components/atoms/Button/ButtonStatusContent.d.ts.map +1 -1
- package/dist/components/atoms/Button/ButtonStatusContent.js +10 -10
- package/dist/components/atoms/Button/buttonStatusMotion.d.ts.map +1 -1
- package/dist/components/atoms/Button/buttonStatusMotion.js +2 -2
- package/dist/components/atoms/Button/buttonStatusStyles.d.ts +4 -0
- package/dist/components/atoms/Button/buttonStatusStyles.d.ts.map +1 -1
- package/dist/components/atoms/Button/buttonStatusStyles.js +4 -4
- package/dist/components/atoms/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/atoms/Checkbox/Checkbox.js +41 -40
- package/dist/components/atoms/IconButton/IconButton.d.ts.map +1 -1
- package/dist/components/atoms/IconButton/IconButton.js +75 -74
- package/dist/components/atoms/Input/Input.d.ts +2 -0
- package/dist/components/atoms/Input/Input.d.ts.map +1 -1
- package/dist/components/atoms/Input/Input.js +87 -81
- package/dist/components/atoms/Status/Status.js +1 -1
- package/dist/components/atoms/Status/statusRingStyles.d.ts +1 -1
- package/dist/components/atoms/Status/statusRingStyles.d.ts.map +1 -1
- package/dist/components/atoms/Status/statusRingStyles.js +1 -1
- package/dist/components/atoms/Switch/Switch.d.ts.map +1 -1
- package/dist/components/atoms/Switch/Switch.js +53 -52
- package/dist/components/atoms/TextArea/TextArea.d.ts +2 -0
- package/dist/components/atoms/TextArea/TextArea.d.ts.map +1 -1
- package/dist/components/atoms/TextArea/TextArea.js +59 -49
- package/dist/components/atoms/inputShared/InputTrailingAffordance.d.ts.map +1 -1
- package/dist/components/atoms/inputShared/InputTrailingAffordance.js +16 -14
- package/dist/components/molecules/CalEmbed/CalEmbed.d.ts.map +1 -1
- package/dist/components/molecules/CalEmbed/CalEmbed.js +17 -23
- package/dist/components/molecules/EmptyState/EmptyState.d.ts +41 -0
- package/dist/components/molecules/EmptyState/EmptyState.d.ts.map +1 -0
- package/dist/components/molecules/EmptyState/EmptyState.js +46 -0
- package/dist/components/molecules/EmptyState/emptyStateStyles.d.ts +10 -0
- package/dist/components/molecules/EmptyState/emptyStateStyles.d.ts.map +1 -0
- package/dist/components/molecules/EmptyState/emptyStateStyles.js +11 -0
- package/dist/components/molecules/IndexList/IndexList.d.ts +6 -1
- package/dist/components/molecules/IndexList/IndexList.d.ts.map +1 -1
- package/dist/components/molecules/IndexList/IndexList.js +67 -58
- package/dist/components/molecules/LinkTile/LinkTile.d.ts +4 -2
- package/dist/components/molecules/LinkTile/LinkTile.d.ts.map +1 -1
- package/dist/components/molecules/LinkTile/LinkTile.js +89 -81
- package/dist/components/molecules/LogView/LogView.d.ts.map +1 -1
- package/dist/components/molecules/LogView/LogView.js +68 -63
- package/dist/components/molecules/Progress/Progress.d.ts +38 -0
- package/dist/components/molecules/Progress/Progress.d.ts.map +1 -0
- package/dist/components/molecules/Progress/Progress.js +96 -0
- package/dist/components/molecules/Progress/progressStyles.d.ts +17 -0
- package/dist/components/molecules/Progress/progressStyles.d.ts.map +1 -0
- package/dist/components/molecules/Progress/progressStyles.js +9 -0
- package/dist/components/molecules/Stat/Stat.d.ts.map +1 -1
- package/dist/components/molecules/Stat/Stat.js +65 -61
- package/dist/components/molecules/TaskRows/TaskRowsTable.d.ts.map +1 -1
- package/dist/components/molecules/TaskRows/TaskRowsTable.js +77 -76
- package/dist/components/molecules/TileGrid/TileGrid.d.ts +6 -1
- package/dist/components/molecules/TileGrid/TileGrid.d.ts.map +1 -1
- package/dist/components/molecules/TileGrid/TileGrid.js +52 -47
- package/dist/components/organisms/AppShell/AppShell.d.ts +10 -2
- package/dist/components/organisms/AppShell/AppShell.d.ts.map +1 -1
- package/dist/components/organisms/AppShell/AppShell.js +237 -198
- package/dist/components/organisms/AppShell/appShellStyles.d.ts +11 -0
- package/dist/components/organisms/AppShell/appShellStyles.d.ts.map +1 -1
- package/dist/components/organisms/AppShell/appShellStyles.js +2 -2
- package/dist/components/organisms/Chart/ChartSegmentedRing.d.ts +10 -4
- package/dist/components/organisms/Chart/ChartSegmentedRing.d.ts.map +1 -1
- package/dist/components/organisms/Chart/ChartSegmentedRing.js +7 -2
- package/dist/components/organisms/Chart/chartStyles.d.ts +4 -0
- package/dist/components/organisms/Chart/chartStyles.d.ts.map +1 -1
- package/dist/components/organisms/Chart/chartStyles.js +4 -2
- package/dist/components/organisms/SiteNav/SiteNav.d.ts +8 -1
- package/dist/components/organisms/SiteNav/SiteNav.d.ts.map +1 -1
- package/dist/components/organisms/SiteNav/SiteNav.js +73 -69
- package/dist/components/organisms/SiteNav/siteNavStyles.d.ts +6 -0
- package/dist/components/organisms/SiteNav/siteNavStyles.d.ts.map +1 -1
- package/dist/components/organisms/SiteNav/siteNavStyles.js +6 -6
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +158 -153
- package/dist/lib/useDelayedLoading.d.ts +13 -0
- package/dist/lib/useDelayedLoading.d.ts.map +1 -0
- package/dist/lib/useDelayedLoading.js +27 -0
- package/dist/motion.css +10 -0
- package/dist/styles.css +1 -1
- package/docs/components.md +1 -1
- package/docs/exports.json +26 -1
- package/docs/patterns/components-accordion--flush.tsx +1 -1
- package/docs/patterns/components-appshell--portal-dashboard-pattern.tsx +1 -1
- package/docs/patterns/components-avatar--dropdown-row.tsx +1 -1
- package/docs/patterns/components-badge--outline-tags.tsx +1 -1
- package/docs/patterns/components-badge--status-pill.tsx +1 -1
- package/docs/patterns/components-badge--with-avatar.tsx +1 -1
- package/docs/patterns/components-band--page-in-bands.tsx +1 -1
- package/docs/patterns/components-breadcrumb--editorial.tsx +1 -1
- package/docs/patterns/components-breadcrumb--long-path.tsx +1 -1
- package/docs/patterns/components-breadcrumb--path.tsx +1 -1
- package/docs/patterns/components-breadcrumb--router-links.tsx +1 -1
- package/docs/patterns/components-button-button--copy-button.tsx +1 -1
- package/docs/patterns/components-button-button--destructive-action.tsx +1 -1
- package/docs/patterns/components-button-button--external-link.tsx +1 -1
- package/docs/patterns/components-button-button--ghost-action.tsx +1 -1
- package/docs/patterns/components-button-button--inverse-action.tsx +1 -1
- package/docs/patterns/components-button-button--link-render.tsx +1 -1
- package/docs/patterns/components-button-button--multi-state-badge.tsx +2 -2
- package/docs/patterns/components-button-button--outline-mono.tsx +1 -1
- package/docs/patterns/components-button-button--primary-action.tsx +1 -1
- package/docs/patterns/components-button-button--row-hug.tsx +1 -1
- package/docs/patterns/components-button-button--row-layout.tsx +1 -1
- package/docs/patterns/components-button-button--secondary-action.tsx +1 -1
- package/docs/patterns/components-button-button--suggestion-pills.tsx +1 -1
- package/docs/patterns/components-button-button--with-count.tsx +1 -1
- package/docs/patterns/components-button-button--with-icon.tsx +1 -1
- package/docs/patterns/components-button-floatingactionbutton--vertical-actions.tsx +1 -1
- package/docs/patterns/components-calembed--pattern-skip-above.tsx +1 -1
- package/docs/patterns/components-card-card--body-slot-occupancy-history.tsx +1 -1
- package/docs/patterns/components-card-card--headerless-media.tsx +1 -1
- package/docs/patterns/components-card-card--outlined-layout.tsx +1 -1
- package/docs/patterns/components-card-card--pinned-height.tsx +1 -1
- package/docs/patterns/components-card-card--terminal-frame.tsx +1 -1
- package/docs/patterns/components-card-selectablecard--selectable-cards-pattern.tsx +1 -1
- package/docs/patterns/components-carousel--image-carousel.tsx +1 -1
- package/docs/patterns/components-chart--audience-activity-heatmap.tsx +1 -1
- package/docs/patterns/components-chart--cartesian-no-data-gaps.tsx +1 -1
- package/docs/patterns/components-chart--occupancy-history-in-card.tsx +1 -1
- package/docs/patterns/components-chart--occupancy-in-card.tsx +1 -1
- package/docs/patterns/components-chart--post-reach-distribution.tsx +1 -1
- package/docs/patterns/components-chart--ranked-audience-breakdown.tsx +1 -1
- package/docs/patterns/components-chart--revenue-by-line.tsx +1 -1
- package/docs/patterns/components-chart--segmented-ring-pattern.tsx +1 -1
- package/docs/patterns/components-chart--unit-grid-composition.tsx +1 -1
- package/docs/patterns/components-chatdock--pattern-chat-dock.tsx +1 -1
- package/docs/patterns/components-chatdock--pattern-start-project-gate.tsx +1 -1
- package/docs/patterns/components-chatqa--pattern-qa-with-reply.tsx +1 -1
- package/docs/patterns/components-checkbox-checkbox--default.tsx +1 -1
- package/docs/patterns/components-checkbox-checkbox--with-count.tsx +1 -1
- package/docs/patterns/components-checkbox-checkbox--with-description.tsx +1 -1
- package/docs/patterns/components-checkbox-checkboxgroup--default.tsx +1 -1
- package/docs/patterns/components-checkbox-checkboxgroup--option-counts.tsx +1 -1
- package/docs/patterns/components-copyfield--clipboard-blocked.tsx +1 -1
- package/docs/patterns/components-copyfield--copied.tsx +1 -1
- package/docs/patterns/components-copyfield--copy-key.tsx +1 -1
- package/docs/patterns/components-copyfield--on-navy.tsx +1 -1
- package/docs/patterns/components-descriptionlist--details.tsx +1 -1
- package/docs/patterns/components-descriptionlist--post-metadata.tsx +1 -1
- package/docs/patterns/components-dialog--alert-dialog-destructive.tsx +1 -1
- package/docs/patterns/components-dialog--alert-dialog-typed-confirmation.tsx +1 -1
- package/docs/patterns/components-dialog--default-dialog.tsx +1 -1
- package/docs/patterns/components-dialog--form-dialog.tsx +1 -1
- package/docs/patterns/components-displaycontrols--page-utilities.tsx +1 -1
- package/docs/patterns/components-displaycontrols--theme-switch.tsx +1 -1
- package/docs/patterns/components-errorsummary--contact-form.tsx +1 -1
- package/docs/patterns/components-field--horizontal-input.tsx +1 -1
- package/docs/patterns/components-field--horizontal-text-area.tsx +1 -1
- package/docs/patterns/components-field--multi-control.tsx +1 -1
- package/docs/patterns/components-filterpanel--panel.tsx +1 -1
- package/docs/patterns/components-footerreveal--marketing-hero-pattern.tsx +1 -1
- package/docs/patterns/components-footerreveal--marketing-hero-ruled-pattern.tsx +1 -1
- package/docs/patterns/components-footerreveal--marketing-hero-with-gallery-intro.tsx +1 -1
- package/docs/patterns/components-footerreveal--marketing-page-pattern.tsx +1 -1
- package/docs/patterns/components-footerreveal--ruled-grid-footer-pattern.tsx +1 -1
- package/docs/patterns/components-footerreveal--sequenced-marketing-hero.tsx +1 -1
- package/docs/patterns/components-herointro--two-line-intro.tsx +1 -1
- package/docs/patterns/components-herointro--with-actions.tsx +1 -1
- package/docs/patterns/components-herotilestack--marketing-hero-pattern.tsx +1 -1
- package/docs/patterns/components-herotilestack--marketing-hero-text-sequence.tsx +1 -1
- package/docs/patterns/components-herotilestack--marketing-hero-with-gallery-intro.tsx +1 -1
- package/docs/patterns/components-indexlist--post-index.tsx +1 -1
- package/docs/patterns/components-intakeconfirmation--booked-pattern.tsx +1 -1
- package/docs/patterns/components-intakeconfirmation--emailed-pattern.tsx +1 -1
- package/docs/patterns/components-intakeform--about-you-pattern.tsx +1 -1
- package/docs/patterns/components-intakeform--short-form-pattern.tsx +1 -1
- package/docs/patterns/components-intakemodal--intake-modal-pattern.tsx +1 -1
- package/docs/patterns/components-kbd--command-row.tsx +1 -1
- package/docs/patterns/components-kbd--numbered-choices.tsx +1 -1
- package/docs/patterns/components-kbd--shortcut.tsx +1 -1
- package/docs/patterns/components-linktile--resource-tile.tsx +1 -1
- package/docs/patterns/components-linktile--router-link.tsx +1 -1
- package/docs/patterns/components-logview--detail-pane.tsx +1 -1
- package/docs/patterns/components-logview--log-viewer.tsx +1 -1
- package/docs/patterns/components-moremenu--action-menu.tsx +1 -1
- package/docs/patterns/components-moremenu--in-card-header.tsx +1 -1
- package/docs/patterns/components-navlist--app-sidebar.tsx +1 -1
- package/docs/patterns/components-navlist--side-nav-settings.tsx +1 -1
- package/docs/patterns/components-notice--account-not-connected.tsx +1 -1
- package/docs/patterns/components-notice--holiday-closure.tsx +1 -1
- package/docs/patterns/components-notice--private-buyout.tsx +1 -1
- package/docs/patterns/components-notice--sync-failed.tsx +1 -1
- package/docs/patterns/components-pageheader--app-header-pattern.tsx +1 -1
- package/docs/patterns/components-pageheader--page-section-header.tsx +1 -1
- package/docs/patterns/components-pageheader--toolbar-header.tsx +1 -1
- package/docs/patterns/components-panel--end-detail-rail.tsx +1 -1
- package/docs/patterns/components-pillgroup--pill-group-pattern.tsx +1 -1
- package/docs/patterns/components-progress--upload-pattern.tsx +9 -0
- package/docs/patterns/components-promptbar--pattern-prompt-bar.tsx +1 -1
- package/docs/patterns/components-prose--article-body.tsx +1 -1
- package/docs/patterns/components-radio-radiogroup--default.tsx +1 -1
- package/docs/patterns/components-scrollhorizontal--project-gallery-pattern.tsx +1 -1
- package/docs/patterns/components-scrollhorizontal--with-intro.tsx +1 -1
- package/docs/patterns/components-sectioncaption--column-caption.tsx +1 -1
- package/docs/patterns/components-sectioncaption--with-action.tsx +1 -1
- package/docs/patterns/components-sheet--bottom-sheet.tsx +1 -1
- package/docs/patterns/components-sheet--end-sheet.tsx +1 -1
- package/docs/patterns/components-sheet--side-sheet-header-actions.tsx +1 -1
- package/docs/patterns/components-sheet--side-sheet-url-deep-link.tsx +1 -1
- package/docs/patterns/components-sheet--side-sheet.tsx +1 -1
- package/docs/patterns/components-sitenav--brand-and-cta.tsx +1 -1
- package/docs/patterns/components-sitenav--centered-links.tsx +1 -1
- package/docs/patterns/components-sitenav--compact.tsx +1 -1
- package/docs/patterns/components-sitenav--marketing-header.tsx +1 -1
- package/docs/patterns/components-sitenav--mega-menu.tsx +1 -1
- package/docs/patterns/components-stat--hero-stat.tsx +1 -1
- package/docs/patterns/components-stat--insights-row.tsx +1 -1
- package/docs/patterns/components-stepprogress--step-progress-pattern.tsx +1 -1
- package/docs/patterns/components-switch--default.tsx +1 -1
- package/docs/patterns/components-switch--settings-row.tsx +1 -1
- package/docs/patterns/components-tab--settings-pages.tsx +1 -1
- package/docs/patterns/components-table--approvals-with-sheet.tsx +1 -1
- package/docs/patterns/components-table--approvals.tsx +1 -1
- package/docs/patterns/components-table--basic.tsx +1 -1
- package/docs/patterns/components-taskrows--action-details.tsx +1 -1
- package/docs/patterns/components-taskrows--capsules.tsx +1 -1
- package/docs/patterns/components-taskrows--card-with-status-rows.tsx +1 -1
- package/docs/patterns/components-taskrows--controlled-expand.tsx +1 -1
- package/docs/patterns/components-taskrows--custom-slots.tsx +1 -1
- package/docs/patterns/components-taskrows--needs-you-table.tsx +1 -1
- package/docs/patterns/components-taskrows--status-list.tsx +1 -1
- package/docs/patterns/components-taskrows--tag-chips.tsx +1 -1
- package/docs/patterns/components-textarea--save-status.tsx +1 -1
- package/docs/patterns/components-textlink--external-destination.tsx +1 -1
- package/docs/patterns/components-textlink--inline-prose.tsx +1 -1
- package/docs/patterns/components-textlink--quiet-title.tsx +1 -1
- package/docs/patterns/components-textlink--supporting-copy.tsx +1 -1
- package/docs/patterns/components-textsequence--default.tsx +1 -1
- package/docs/patterns/components-textsequence--reduced-motion.tsx +1 -1
- package/docs/patterns/components-textsequence--shapes.tsx +1 -1
- package/docs/patterns/components-tilegrid--masonry.tsx +1 -1
- package/docs/patterns/components-toast--stacked-notifications.tsx +1 -1
- package/docs/patterns/components-tooltip--controlled.tsx +1 -1
- package/docs/patterns/components-tooltip--disabled-control.tsx +1 -1
- package/docs/patterns/components-tooltip--icon-action.tsx +1 -1
- package/docs/patterns/components-tooltip--keyboard-shortcut.tsx +1 -1
- package/docs/patterns/components-tooltip--placement.tsx +1 -1
- package/docs/patterns/foundations-scroll-fade--horizontal-rail.tsx +1 -1
- package/docs/patterns/foundations-scroll-fade--overflowing-list.tsx +1 -1
- package/docs/patterns/guides-chart-explorations--comparison-gallery.tsx +1 -1
- package/docs/patterns/guides-filter-panel--filtered-grid.tsx +1 -1
- package/docs/patterns/guides-filter-panel--filtered-index.tsx +1 -1
- package/docs/patterns/guides-overlay-flows--notification-preferences.tsx +1 -1
- package/docs/patterns/guides-post-page--post-page.tsx +1 -1
- package/docs/patterns/guides-profile-typography--editorial-profile.tsx +1 -1
- package/docs/patterns/guides-resource-detail--detail.tsx +1 -1
- package/docs/patterns/index.json +9 -1
- package/package.json +2 -1
|
@@ -24,6 +24,8 @@ export interface TextAreaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaE
|
|
|
24
24
|
liveStatus?: string;
|
|
25
25
|
/** Trailing spinner — async validation. */
|
|
26
26
|
loading?: boolean;
|
|
27
|
+
/** Read out while `loading` (Loading states Y4). Default "Checking…". */
|
|
28
|
+
loadingLabel?: string;
|
|
27
29
|
/** Visible row count — default **4**. */
|
|
28
30
|
rows?: number;
|
|
29
31
|
/** Native resize — default **`vertical`**. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextArea.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/TextArea/TextArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,OAAO,CAAC;AAKvE,OAAO,EAqBL,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,oBAAoB,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE1G,sEAAsE;AACtE,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACjE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAqBD;;;GAGG;AACH,eAAO,MAAM,QAAQ,+
|
|
1
|
+
{"version":3,"file":"TextArea.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/TextArea/TextArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,OAAO,CAAC;AAKvE,OAAO,EAqBL,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,oBAAoB,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE1G,sEAAsE;AACtE,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACjE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAqBD;;;GAGG;AACH,eAAO,MAAM,QAAQ,+GAyKnB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn as e } from "../../../lib/cn.js";
|
|
3
3
|
import { typographyClass as t } from "../../../lib/typography.js";
|
|
4
|
-
import { inputAttachedFieldClasses as n, inputCompoundShellClassesFor as r, inputControlStackClasses as i, inputDisabledClasses as a, inputFieldStackClasses as o, inputStatusGapClasses as
|
|
5
|
-
import { InputStatusBanner as
|
|
4
|
+
import { inputAttachedFieldClasses as n, inputCompoundShellClassesFor as r, inputControlStackClasses as i, inputDisabledClasses as a, inputFieldStackClasses as o, inputStatusGapClasses as s } from "../Input/inputShellStyles.js";
|
|
5
|
+
import { InputStatusBanner as c, warnStatusWithoutMessage as ee } from "../inputShared/InputStatusBanner.js";
|
|
6
6
|
import { InputTrailingAffordance as l } from "../inputShared/InputTrailingAffordance.js";
|
|
7
7
|
import { textareaBaseClasses as u, textareaCompoundFieldPaddingClasses as d, textareaCompoundInnerFieldClassesFor as f, textareaFixedPaddingClasses as p, textareaInlineClasses as m, textareaMinHeightClasses as h, textareaResizeClasses as g, textareaResizes as _, textareaShellFieldClasses as v, textareaSoloShellClassesFor as te, textareaStatusBannerClassesFor as y, textareaTrailingInsetClasses as b, textareaTrailingInsetPositionClasses as x } from "./textareaShellStyles.js";
|
|
8
8
|
import { forwardRef as S, useId as C } from "react";
|
|
@@ -14,88 +14,98 @@ function D(e) {
|
|
|
14
14
|
function O(e) {
|
|
15
15
|
e.message != null && e.status == null && console.warn("[WMDS TextArea] `message` requires `status`."), e.inline && (e.label != null || e.description != null || e.liveStatus != null || e.status != null || e.message != null) && console.warn("[WMDS TextArea] `inline` is for PromptBar only — omit label, description, and validation.");
|
|
16
16
|
}
|
|
17
|
-
var k = S(function({ size:
|
|
18
|
-
|
|
19
|
-
let
|
|
17
|
+
var k = S(function({ size: c = "md", label: _, description: y, status: S, message: k, liveStatus: A, messagePosition: j = "bottom", loading: M = !1, loadingLabel: N = "Checking…", rows: P = 4, resize: F = "vertical", inline: I = !1, className: L, disabled: R, id: z, "aria-describedby": B, ...V }, H) {
|
|
18
|
+
ee("TextArea", S, k);
|
|
19
|
+
let U = C(), W = z ?? U;
|
|
20
20
|
D({
|
|
21
21
|
label: _,
|
|
22
|
-
"aria-label":
|
|
23
|
-
"aria-labelledby":
|
|
22
|
+
"aria-label": V["aria-label"],
|
|
23
|
+
"aria-labelledby": V["aria-labelledby"]
|
|
24
24
|
}), O({
|
|
25
25
|
status: S,
|
|
26
26
|
message: k,
|
|
27
|
-
inline:
|
|
27
|
+
inline: I,
|
|
28
28
|
label: _,
|
|
29
29
|
description: y,
|
|
30
30
|
liveStatus: A
|
|
31
31
|
});
|
|
32
|
-
let
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
let G = k != null && k.length > 0 && S != null, K = !G && (M || S != null), q = y == null ? void 0 : `${W}-description`, J = G ? `${W}-message` : void 0, Y = [
|
|
33
|
+
B,
|
|
34
|
+
q,
|
|
35
|
+
J
|
|
36
36
|
].filter(Boolean).join(" ") || void 0;
|
|
37
|
-
if (
|
|
38
|
-
...
|
|
39
|
-
ref:
|
|
40
|
-
id:
|
|
41
|
-
rows:
|
|
42
|
-
disabled:
|
|
37
|
+
if (I) return /* @__PURE__ */ T("textarea", {
|
|
38
|
+
...V,
|
|
39
|
+
ref: H,
|
|
40
|
+
id: W,
|
|
41
|
+
rows: P,
|
|
42
|
+
disabled: R,
|
|
43
43
|
"aria-invalid": S === "error" || void 0,
|
|
44
|
-
"aria-
|
|
45
|
-
|
|
44
|
+
"aria-busy": M || void 0,
|
|
45
|
+
"aria-describedby": Y,
|
|
46
|
+
className: e(a, m, L)
|
|
46
47
|
});
|
|
47
|
-
let
|
|
48
|
-
...
|
|
49
|
-
ref:
|
|
50
|
-
id:
|
|
51
|
-
rows:
|
|
52
|
-
disabled:
|
|
48
|
+
let X = /* @__PURE__ */ T("textarea", {
|
|
49
|
+
...V,
|
|
50
|
+
ref: H,
|
|
51
|
+
id: W,
|
|
52
|
+
rows: P,
|
|
53
|
+
disabled: R,
|
|
53
54
|
"aria-invalid": S === "error" || void 0,
|
|
54
|
-
"aria-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
"aria-busy": M || void 0,
|
|
56
|
+
"aria-describedby": Y,
|
|
57
|
+
className: e(a, g[F], u, p[c], h[c], v, K && s[c], G && e(n, "rounded-none border-0 shadow-none focus-visible:!outline-none focus-visible:!ring-0", "rounded-none"))
|
|
58
|
+
}), re = K ? /* @__PURE__ */ T("span", {
|
|
59
|
+
className: e(b, x[c]),
|
|
58
60
|
children: /* @__PURE__ */ T(l, {
|
|
59
|
-
size:
|
|
61
|
+
size: c,
|
|
60
62
|
status: M ? void 0 : S,
|
|
61
63
|
loading: M
|
|
62
64
|
})
|
|
63
|
-
}) : null, Z = /* @__PURE__ */ E(w, { children: [
|
|
64
|
-
|
|
65
|
+
}) : null, Z = /* @__PURE__ */ E(w, { children: [
|
|
66
|
+
X,
|
|
67
|
+
re,
|
|
68
|
+
M ? /* @__PURE__ */ T("span", {
|
|
69
|
+
role: "status",
|
|
70
|
+
className: "sr-only",
|
|
71
|
+
children: N
|
|
72
|
+
}) : null
|
|
73
|
+
] }), ie = /* @__PURE__ */ T("div", {
|
|
74
|
+
className: e(te(c, S === "success" ? void 0 : S, F), L),
|
|
65
75
|
children: Z
|
|
66
|
-
}),
|
|
67
|
-
className: e("relative w-full", d(
|
|
76
|
+
}), ae = /* @__PURE__ */ T("div", {
|
|
77
|
+
className: e("relative w-full", d(F, c)),
|
|
68
78
|
children: Z
|
|
69
|
-
}), Q =
|
|
79
|
+
}), Q = G && S != null && J != null ? /* @__PURE__ */ T(ne, {
|
|
70
80
|
status: S,
|
|
71
81
|
message: k,
|
|
72
|
-
messageId:
|
|
73
|
-
size:
|
|
82
|
+
messageId: J,
|
|
83
|
+
size: c,
|
|
74
84
|
messagePosition: j
|
|
75
|
-
}) : null, $ =
|
|
76
|
-
className: r(
|
|
85
|
+
}) : null, $ = G && S != null ? /* @__PURE__ */ E("div", {
|
|
86
|
+
className: r(c, S),
|
|
77
87
|
children: [
|
|
78
88
|
j === "top" ? Q : null,
|
|
79
89
|
/* @__PURE__ */ T("div", {
|
|
80
|
-
className: f(
|
|
81
|
-
children:
|
|
90
|
+
className: f(c, S, j),
|
|
91
|
+
children: ae
|
|
82
92
|
}),
|
|
83
93
|
j === "bottom" ? Q : null
|
|
84
94
|
]
|
|
85
95
|
}) : /* @__PURE__ */ T("div", {
|
|
86
96
|
className: i,
|
|
87
|
-
children:
|
|
97
|
+
children: ie
|
|
88
98
|
});
|
|
89
99
|
return _ == null && y == null && A == null ? $ : /* @__PURE__ */ E("div", {
|
|
90
100
|
className: o,
|
|
91
101
|
children: [
|
|
92
102
|
_ == null ? null : /* @__PURE__ */ T("label", {
|
|
93
|
-
htmlFor:
|
|
94
|
-
className: e(t("ui-label"),
|
|
103
|
+
htmlFor: W,
|
|
104
|
+
className: e(t("ui-label"), R && "opacity-50"),
|
|
95
105
|
children: _
|
|
96
106
|
}),
|
|
97
|
-
|
|
98
|
-
id:
|
|
107
|
+
q == null ? null : /* @__PURE__ */ T("p", {
|
|
108
|
+
id: q,
|
|
99
109
|
className: t("caption"),
|
|
100
110
|
children: y
|
|
101
111
|
}),
|
|
@@ -103,7 +113,7 @@ var k = S(function({ size: s = "md", label: _, description: y, status: S, messag
|
|
|
103
113
|
A == null ? null : /* @__PURE__ */ T("p", {
|
|
104
114
|
role: "status",
|
|
105
115
|
"aria-live": "polite",
|
|
106
|
-
id: `${
|
|
116
|
+
id: `${W}-live-status`,
|
|
107
117
|
className: t("caption"),
|
|
108
118
|
children: A
|
|
109
119
|
})
|
|
@@ -111,7 +121,7 @@ var k = S(function({ size: s = "md", label: _, description: y, status: S, messag
|
|
|
111
121
|
});
|
|
112
122
|
});
|
|
113
123
|
function ne({ status: e, message: t, messageId: n, size: r, messagePosition: i }) {
|
|
114
|
-
return /* @__PURE__ */ T(
|
|
124
|
+
return /* @__PURE__ */ T(c, {
|
|
115
125
|
status: e,
|
|
116
126
|
message: t,
|
|
117
127
|
messageId: n,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputTrailingAffordance.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/inputShared/InputTrailingAffordance.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InputTrailingAffordance.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/inputShared/InputTrailingAffordance.tsx"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;AAenC,8EAA8E;AAC9E,wBAAgB,uBAAuB,CAAC,EACtC,IAAI,EACJ,MAAM,EACN,OAAO,GACR,EAAE;IACD,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,sCAsBA"}
|
|
@@ -1,26 +1,28 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn as e } from "../../../lib/cn.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { useDelayedLoading as t } from "../../../lib/useDelayedLoading.js";
|
|
4
|
+
import { inputSpinnerSizeClasses as n, inputStatusIconClasses as r, inputStatusIconSizeClasses as i } from "../Input/inputShellStyles.js";
|
|
5
|
+
import { CheckCircle2 as a, CircleX as o, Loader2 as s, TriangleAlert as c } from "lucide-react";
|
|
6
|
+
import { jsx as l } from "react/jsx-runtime";
|
|
6
7
|
//#region src/components/atoms/inputShared/InputTrailingAffordance.tsx
|
|
7
|
-
function
|
|
8
|
-
let
|
|
9
|
-
return
|
|
10
|
-
className:
|
|
8
|
+
function u({ status: t, size: n }) {
|
|
9
|
+
let s = e(i[n], r[t]);
|
|
10
|
+
return l(t === "error" ? o : t === "warning" ? c : a, {
|
|
11
|
+
className: s,
|
|
11
12
|
strokeWidth: 2,
|
|
12
13
|
"aria-hidden": !0
|
|
13
14
|
});
|
|
14
15
|
}
|
|
15
|
-
function
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
function d({ size: r, status: i, loading: a }) {
|
|
17
|
+
let o = t(a === !0);
|
|
18
|
+
return a ? o ? /* @__PURE__ */ l(s, {
|
|
19
|
+
className: e(n[r], "animate-spin motion-reduce:animate-none stroke-current text-muted"),
|
|
18
20
|
strokeWidth: 2,
|
|
19
21
|
"aria-hidden": !0
|
|
20
|
-
}) :
|
|
21
|
-
status:
|
|
22
|
-
size:
|
|
22
|
+
}) : null : i == null ? null : /* @__PURE__ */ l(u, {
|
|
23
|
+
status: i,
|
|
24
|
+
size: r
|
|
23
25
|
});
|
|
24
26
|
}
|
|
25
27
|
//#endregion
|
|
26
|
-
export {
|
|
28
|
+
export { d as InputTrailingAffordance };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalEmbed.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/CalEmbed/CalEmbed.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,OAAO,CAAC;AAUnD,qCAAqC;AACrC,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE7C,eAAO,MAAM,gBAAgB,WAAW,CAAC;AACzC,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AACvD,eAAO,MAAM,kBAAkB,2CAAsC,CAAC;AACtE,eAAO,MAAM,wBAAwB,4DAAuD,CAAC;AAE7F,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iGAAiG;IACjG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAcD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAA2B,EAC3B,SAA6B,EAC7B,MAAM,EACN,SAAS,GACV,EAAE,iBAAiB,+BAWnB;AAED;;;;GAIG;AACH,iBAAS,YAAY,CAAC,EACpB,QAAQ,EACR,UAA+B,EAC/B,gBAA2C,EAC3C,IAAI,EACJ,QAA2B,EAC3B,SAA6B,EAC7B,MAAM,EACN,SAAS,GACV,EAAE,aAAa,+
|
|
1
|
+
{"version":3,"file":"CalEmbed.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/CalEmbed/CalEmbed.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,OAAO,CAAC;AAUnD,qCAAqC;AACrC,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE7C,eAAO,MAAM,gBAAgB,WAAW,CAAC;AACzC,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AACvD,eAAO,MAAM,kBAAkB,2CAAsC,CAAC;AACtE,eAAO,MAAM,wBAAwB,4DAAuD,CAAC;AAE7F,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iGAAiG;IACjG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAcD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAA2B,EAC3B,SAA6B,EAC7B,MAAM,EACN,SAAS,GACV,EAAE,iBAAiB,+BAWnB;AAED;;;;GAIG;AACH,iBAAS,YAAY,CAAC,EACpB,QAAQ,EACR,UAA+B,EAC/B,gBAA2C,EAC3C,IAAI,EACJ,QAA2B,EAC3B,SAA6B,EAC7B,MAAM,EACN,SAAS,GACV,EAAE,aAAa,+BAoBf;AAED,eAAO,MAAM,QAAQ;;CAEnB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn as e } from "../../../lib/cn.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { TextLink as t } from "../../atoms/TextLink/TextLink.js";
|
|
4
|
+
import { calEmbedClasses as n, calEmbedEmptyClasses as r, calEmbedFrameClasses as i } from "./calEmbedStyles.js";
|
|
5
|
+
import { EmptyState as a } from "../EmptyState/EmptyState.js";
|
|
6
6
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
7
7
|
//#region src/components/molecules/CalEmbed/CalEmbed.tsx
|
|
8
8
|
var c = "#email", l = "Skip, just email me", u = "Booking isn’t available right now", d = "We’ll follow up by email with a few times instead.";
|
|
@@ -12,40 +12,34 @@ function f(e) {
|
|
|
12
12
|
function p(e, t) {
|
|
13
13
|
e != null && (t.preventDefault(), e());
|
|
14
14
|
}
|
|
15
|
-
function m({ skipHref: e = c, skipLabel:
|
|
16
|
-
return /* @__PURE__ */ o(
|
|
15
|
+
function m({ skipHref: e = c, skipLabel: n = l, onSkip: r, className: i }) {
|
|
16
|
+
return /* @__PURE__ */ o(t, {
|
|
17
17
|
href: e,
|
|
18
18
|
className: i,
|
|
19
19
|
"data-cal-embed-skip": "",
|
|
20
20
|
onClick: (e) => p(r, e),
|
|
21
|
-
children:
|
|
21
|
+
children: n
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
|
-
function h({ children:
|
|
25
|
-
let x = f(
|
|
24
|
+
function h({ children: t, emptyTitle: p = u, emptyDescription: h = d, skip: g, skipHref: _ = c, skipLabel: v = l, onSkip: y, className: b }) {
|
|
25
|
+
let x = f(t), S = g === void 0 ? /* @__PURE__ */ o(m, {
|
|
26
26
|
skipHref: _,
|
|
27
27
|
skipLabel: v,
|
|
28
28
|
onSkip: y
|
|
29
29
|
}) : null;
|
|
30
30
|
return /* @__PURE__ */ s("div", {
|
|
31
|
-
className: e(
|
|
31
|
+
className: e(n, b),
|
|
32
32
|
"data-cal-embed": "",
|
|
33
33
|
children: [x ? S : null, /* @__PURE__ */ o("div", {
|
|
34
|
-
className:
|
|
35
|
-
children: x ?
|
|
36
|
-
className:
|
|
34
|
+
className: i,
|
|
35
|
+
children: x ? t : /* @__PURE__ */ o("div", {
|
|
36
|
+
className: r,
|
|
37
37
|
"data-cal-embed-empty": "",
|
|
38
|
-
children:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
/* @__PURE__ */ o("p", {
|
|
44
|
-
className: e(t("caption"), "text-muted"),
|
|
45
|
-
children: h
|
|
46
|
-
}),
|
|
47
|
-
S
|
|
48
|
-
]
|
|
38
|
+
children: /* @__PURE__ */ o(a, {
|
|
39
|
+
title: p,
|
|
40
|
+
description: h,
|
|
41
|
+
action: S
|
|
42
|
+
})
|
|
49
43
|
})
|
|
50
44
|
})]
|
|
51
45
|
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import { type EmptyStateKind } from "./emptyStateStyles";
|
|
3
|
+
export { emptyStateKinds, type EmptyStateKind } from "./emptyStateStyles";
|
|
4
|
+
/** Layout-only — width or margin. */
|
|
5
|
+
export type EmptyStateLayoutClassName = string;
|
|
6
|
+
export interface EmptyStateProps {
|
|
7
|
+
/**
|
|
8
|
+
* - `first-use`: nothing here yet. Say what shows up here and give the main action ("No projects yet" /
|
|
9
|
+
* "Projects you start show up here." / Start a project).
|
|
10
|
+
* - `no-results`: a search or filter found nothing. Name the words or filters ("No work matches Restaurants
|
|
11
|
+
* and Video") and offer Clear filters (`onClearFilters`, required).
|
|
12
|
+
* - `done`: everything is handled ("You’re all caught up"). A short positive line, no action.
|
|
13
|
+
*/
|
|
14
|
+
kind?: EmptyStateKind;
|
|
15
|
+
/** The one line that says what’s going on, in the feature’s words. */
|
|
16
|
+
title: ReactNode;
|
|
17
|
+
/** Optional: what shows up here, or why nothing matched. One sentence. */
|
|
18
|
+
description?: ReactNode;
|
|
19
|
+
/**
|
|
20
|
+
* `first-use`: one way forward, a **Button**. `role="primary"` when the empty state is the page’s main
|
|
21
|
+
* content (nothing else on the page asks for an action); `secondary` only when the page already has a
|
|
22
|
+
* primary (Z3, U7).
|
|
23
|
+
*/
|
|
24
|
+
action?: ReactNode;
|
|
25
|
+
/** `no-results`: clears the search and filters. */
|
|
26
|
+
onClearFilters?: () => void;
|
|
27
|
+
clearFiltersLabel?: string;
|
|
28
|
+
/** At most a quiet "Learn more" **TextLink**. */
|
|
29
|
+
learnMore?: ReactNode;
|
|
30
|
+
/** A 24px glyph that names the thing (Lucide). No illustrations. */
|
|
31
|
+
icon?: ReactNode;
|
|
32
|
+
className?: EmptyStateLayoutClassName;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Empty states (Rule 22): what takes a list’s place when there’s nothing in it. The page around it stays
|
|
36
|
+
* (heading, search, filters). Looks different from loading (Skeleton) and from an error.
|
|
37
|
+
*/
|
|
38
|
+
export declare function EmptyState({ kind, title, description, action, onClearFilters, clearFiltersLabel, learnMore, icon, className, }: EmptyStateProps): import("react").JSX.Element;
|
|
39
|
+
/** A plain string in an `empty` slot becomes an **EmptyState** (Z7); anything else is used as given. */
|
|
40
|
+
export declare function emptySlot(empty: ReactNode, kind?: EmptyStateKind): ReactNode;
|
|
41
|
+
//# sourceMappingURL=EmptyState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE1E,qCAAqC;AACrC,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,sEAAsE;IACtE,KAAK,EAAE,SAAS,CAAC;IACjB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iDAAiD;IACjD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,oEAAoE;IACpE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,yBAAyB,CAAC;CACvC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAkB,EAClB,KAAK,EACL,WAAW,EACX,MAAM,EACN,cAAc,EACd,iBAAmC,EACnC,SAAS,EACT,IAAI,EACJ,SAAS,GACV,EAAE,eAAe,+BA+BjB;AAED,wGAAwG;AACxG,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,GAAE,cAA4B,GAAG,SAAS,CAEzF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "../../../lib/cn.js";
|
|
3
|
+
import { Button as t } from "../../atoms/Button/Button.js";
|
|
4
|
+
import { emptyStateActionsClasses as n, emptyStateClasses as r, emptyStateDescriptionClasses as i, emptyStateIconClasses as a, emptyStateKinds as o, emptyStateTitleClasses as s } from "./emptyStateStyles.js";
|
|
5
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/molecules/EmptyState/EmptyState.tsx
|
|
7
|
+
function u({ kind: o = "first-use", title: u, description: d, action: f, onClearFilters: p, clearFiltersLabel: m = "Clear filters", learnMore: h, icon: g, className: _ }) {
|
|
8
|
+
o === "no-results" && p == null && console.warn("[WMDS EmptyState] `kind=\"no-results\"` needs `onClearFilters` (a way back to everything)."), o === "done" && f != null && console.warn("[WMDS EmptyState] `kind=\"done\"` takes no action: a short positive line is enough.");
|
|
9
|
+
let v = o === "done" ? null : o === "no-results" ? o === "no-results" && p != null ? /* @__PURE__ */ c(t, {
|
|
10
|
+
role: "secondary",
|
|
11
|
+
size: "sm",
|
|
12
|
+
onClick: p,
|
|
13
|
+
children: m
|
|
14
|
+
}) : null : f;
|
|
15
|
+
return /* @__PURE__ */ l("div", {
|
|
16
|
+
className: e(r, _),
|
|
17
|
+
"data-empty-state": o,
|
|
18
|
+
children: [
|
|
19
|
+
g == null ? null : /* @__PURE__ */ c("span", {
|
|
20
|
+
className: a,
|
|
21
|
+
"aria-hidden": !0,
|
|
22
|
+
children: g
|
|
23
|
+
}),
|
|
24
|
+
/* @__PURE__ */ c("p", {
|
|
25
|
+
className: s,
|
|
26
|
+
children: u
|
|
27
|
+
}),
|
|
28
|
+
d == null ? null : /* @__PURE__ */ c("p", {
|
|
29
|
+
className: i,
|
|
30
|
+
children: d
|
|
31
|
+
}),
|
|
32
|
+
v != null || h != null ? /* @__PURE__ */ l("div", {
|
|
33
|
+
className: n,
|
|
34
|
+
children: [v, h]
|
|
35
|
+
}) : null
|
|
36
|
+
]
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
function d(e, t = "first-use") {
|
|
40
|
+
return typeof e == "string" ? /* @__PURE__ */ c(u, {
|
|
41
|
+
kind: t,
|
|
42
|
+
title: e
|
|
43
|
+
}) : e;
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
export { u as EmptyState, d as emptySlot, o as emptyStateKinds };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const emptyStateKinds: readonly ["first-use", "no-results", "done"];
|
|
2
|
+
export type EmptyStateKind = (typeof emptyStateKinds)[number];
|
|
3
|
+
/** Takes the list’s place only: centred, compact, so the action shows without scrolling at 390 (Z9). */
|
|
4
|
+
export declare const emptyStateClasses = "flex w-full flex-col items-center gap-2 px-4 py-8 text-center";
|
|
5
|
+
/** 24px, only when it names the thing (Z9). No illustrations. */
|
|
6
|
+
export declare const emptyStateIconClasses = "mb-1 inline-flex text-muted [&>svg]:size-6 [&>svg]:shrink-0 [&>svg]:stroke-current";
|
|
7
|
+
export declare const emptyStateTitleClasses: string;
|
|
8
|
+
export declare const emptyStateDescriptionClasses: string;
|
|
9
|
+
export declare const emptyStateActionsClasses = "mt-2 flex flex-wrap items-center justify-center gap-3";
|
|
10
|
+
//# sourceMappingURL=emptyStateStyles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emptyStateStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/EmptyState/emptyStateStyles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,8CAA+C,CAAC;AAC5E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,wGAAwG;AACxG,eAAO,MAAM,iBAAiB,kEAAkE,CAAC;AACjG,iEAAiE;AACjE,eAAO,MAAM,qBAAqB,uFAAuF,CAAC;AAC1H,eAAO,MAAM,sBAAsB,QAA+C,CAAC;AACnF,eAAO,MAAM,4BAA4B,QAAwE,CAAC;AAClH,eAAO,MAAM,wBAAwB,0DAA0D,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "../../../lib/cn.js";
|
|
3
|
+
import { typographyClass as t } from "../../../lib/typography.js";
|
|
4
|
+
//#region src/components/molecules/EmptyState/emptyStateStyles.ts
|
|
5
|
+
var n = [
|
|
6
|
+
"first-use",
|
|
7
|
+
"no-results",
|
|
8
|
+
"done"
|
|
9
|
+
], r = "flex w-full flex-col items-center gap-2 px-4 py-8 text-center", i = "mb-1 inline-flex text-muted [&>svg]:size-6 [&>svg]:shrink-0 [&>svg]:stroke-current", a = e(t("subheading"), "text-fg"), o = e(t("caption"), "max-w-[40ch] text-pretty text-muted"), s = "mt-2 flex flex-wrap items-center justify-center gap-3";
|
|
10
|
+
//#endregion
|
|
11
|
+
export { s as emptyStateActionsClasses, r as emptyStateClasses, o as emptyStateDescriptionClasses, i as emptyStateIconClasses, n as emptyStateKinds, a as emptyStateTitleClasses };
|
|
@@ -22,6 +22,11 @@ export interface IndexListProps {
|
|
|
22
22
|
titleAs?: IndexListTitleElement;
|
|
23
23
|
/** Shown in place of the rows when there are none — for example "No posts match these filters." */
|
|
24
24
|
empty?: ReactNode;
|
|
25
|
+
/**
|
|
26
|
+
* The result count, read out when it changes (Empty states Z6): "12 projects", "0 projects match".
|
|
27
|
+
* Kept in a status line that's always there, so the change is announced.
|
|
28
|
+
*/
|
|
29
|
+
resultsLabel?: string;
|
|
25
30
|
/** Names the list for screen readers, for example "Posts". */
|
|
26
31
|
"aria-label"?: string;
|
|
27
32
|
"aria-labelledby"?: string;
|
|
@@ -53,7 +58,7 @@ export interface IndexListItemProps {
|
|
|
53
58
|
* Editorial index — a ruled list where each row has a meta column, a large linked title, and an
|
|
54
59
|
* optional preview that expands under the title. Optional column captions share the rows' tracks.
|
|
55
60
|
*/
|
|
56
|
-
declare function IndexListRoot({ captions, size, titleAs, empty, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, children, className, }: IndexListProps): import("react").JSX.Element;
|
|
61
|
+
declare function IndexListRoot({ captions, size, titleAs, empty, resultsLabel, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, children, className, }: IndexListProps): import("react").JSX.Element;
|
|
57
62
|
declare function IndexListItem({ title, href, render, meta, preview, defaultOpen, open: openProp, onOpenChange, previewLabel, className, }: IndexListItemProps): import("react").JSX.Element;
|
|
58
63
|
export declare const IndexList: typeof IndexListRoot & {
|
|
59
64
|
Item: typeof IndexListItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexList.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/IndexList/IndexList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,OAAO,EAiBL,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,KAAK,aAAa,EAClB,KAAK,qBAAqB,GAC3B,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"IndexList.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/IndexList/IndexList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,OAAO,EAiBL,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,KAAK,aAAa,EAClB,KAAK,qBAAqB,GAC3B,MAAM,mBAAmB,CAAC;AAG3B,sDAAsD;AACtD,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,iGAAiG;IACjG,IAAI,EAAE,SAAS,CAAC;IAChB,2CAA2C;IAC3C,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,4FAA4F;IAC5F,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,mGAAmG;IACnG,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,wBAAwB,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2GAA2G;IAC3G,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,6FAA6F;IAC7F,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,wFAAwF;IACxF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gCAAgC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,wBAAwB,CAAC;CACtC;AASD;;;GAGG;AACH,iBAAS,aAAa,CAAC,EACrB,QAAQ,EACR,IAAW,EACX,OAAc,EACd,KAAK,EACL,YAAY,EACZ,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,QAAQ,EACR,SAAS,GACV,EAAE,cAAc,+BAmChB;AAED,iBAAS,aAAa,CAAC,EACrB,KAAK,EACL,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,OAAO,EACP,WAAmB,EACnB,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,GACV,EAAE,kBAAkB,+BA6CpB;AAED,eAAO,MAAM,SAAS;;CAEpB,CAAC"}
|