@verdify/ui 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +12 -0
- package/README.md +117 -0
- package/dist/components/accordion/accordion.d.ts +66 -0
- package/dist/components/accordion/accordion.d.ts.map +1 -0
- package/dist/components/accordion/accordion.js +97 -0
- package/dist/components/accordion/accordion.js.map +1 -0
- package/dist/components/accordion/accordion.variants.d.ts +9 -0
- package/dist/components/accordion/accordion.variants.d.ts.map +1 -0
- package/dist/components/accordion/accordion.variants.js +54 -0
- package/dist/components/accordion/accordion.variants.js.map +1 -0
- package/dist/components/accordion/index.d.ts +3 -0
- package/dist/components/accordion/index.d.ts.map +1 -0
- package/dist/components/accordion/index.js +25 -0
- package/dist/components/accordion/index.js.map +1 -0
- package/dist/components/agent-badge/agent-badge.d.ts +56 -0
- package/dist/components/agent-badge/agent-badge.d.ts.map +1 -0
- package/dist/components/agent-badge/agent-badge.js +35 -0
- package/dist/components/agent-badge/agent-badge.js.map +1 -0
- package/dist/components/agent-badge/agent-badge.variants.d.ts +7 -0
- package/dist/components/agent-badge/agent-badge.variants.d.ts.map +1 -0
- package/dist/components/agent-badge/agent-badge.variants.js +35 -0
- package/dist/components/agent-badge/agent-badge.variants.js.map +1 -0
- package/dist/components/agent-badge/index.d.ts +3 -0
- package/dist/components/agent-badge/index.d.ts.map +1 -0
- package/dist/components/agent-badge/index.js +11 -0
- package/dist/components/agent-badge/index.js.map +1 -0
- package/dist/components/alert/alert.d.ts +94 -0
- package/dist/components/alert/alert.d.ts.map +1 -0
- package/dist/components/alert/alert.js +105 -0
- package/dist/components/alert/alert.js.map +1 -0
- package/dist/components/alert/alert.variants.d.ts +15 -0
- package/dist/components/alert/alert.variants.d.ts.map +1 -0
- package/dist/components/alert/alert.variants.js +74 -0
- package/dist/components/alert/alert.variants.js.map +1 -0
- package/dist/components/alert/index.d.ts +3 -0
- package/dist/components/alert/index.d.ts.map +1 -0
- package/dist/components/alert/index.js +37 -0
- package/dist/components/alert/index.js.map +1 -0
- package/dist/components/avatar/avatar.d.ts +56 -0
- package/dist/components/avatar/avatar.d.ts.map +1 -0
- package/dist/components/avatar/avatar.js +107 -0
- package/dist/components/avatar/avatar.js.map +1 -0
- package/dist/components/avatar/avatar.variants.d.ts +11 -0
- package/dist/components/avatar/avatar.variants.d.ts.map +1 -0
- package/dist/components/avatar/avatar.variants.js +48 -0
- package/dist/components/avatar/avatar.variants.js.map +1 -0
- package/dist/components/avatar/index.d.ts +3 -0
- package/dist/components/avatar/index.d.ts.map +1 -0
- package/dist/components/avatar/index.js +15 -0
- package/dist/components/avatar/index.js.map +1 -0
- package/dist/components/badge/badge.d.ts +30 -0
- package/dist/components/badge/badge.d.ts.map +1 -0
- package/dist/components/badge/badge.js +33 -0
- package/dist/components/badge/badge.js.map +1 -0
- package/dist/components/badge/badge.variants.d.ts +7 -0
- package/dist/components/badge/badge.variants.d.ts.map +1 -0
- package/dist/components/badge/badge.variants.js +33 -0
- package/dist/components/badge/badge.variants.js.map +1 -0
- package/dist/components/badge/index.d.ts +3 -0
- package/dist/components/badge/index.d.ts.map +1 -0
- package/dist/components/badge/index.js +8 -0
- package/dist/components/badge/index.js.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts +90 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.js +143 -0
- package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.variants.d.ts +10 -0
- package/dist/components/breadcrumb/breadcrumb.variants.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.variants.js +41 -0
- package/dist/components/breadcrumb/breadcrumb.variants.js.map +1 -0
- package/dist/components/breadcrumb/index.d.ts +3 -0
- package/dist/components/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/breadcrumb/index.js +35 -0
- package/dist/components/breadcrumb/index.js.map +1 -0
- package/dist/components/button/button.d.ts +10 -0
- package/dist/components/button/button.d.ts.map +1 -0
- package/dist/components/button/button.js +42 -0
- package/dist/components/button/button.js.map +1 -0
- package/dist/components/button/button.variants.d.ts +6 -0
- package/dist/components/button/button.variants.d.ts.map +1 -0
- package/dist/components/button/button.variants.js +45 -0
- package/dist/components/button/button.variants.js.map +1 -0
- package/dist/components/button/index.d.ts +3 -0
- package/dist/components/button/index.d.ts.map +1 -0
- package/dist/components/button/index.js +7 -0
- package/dist/components/button/index.js.map +1 -0
- package/dist/components/card/card.d.ts +59 -0
- package/dist/components/card/card.d.ts.map +1 -0
- package/dist/components/card/card.js +101 -0
- package/dist/components/card/card.js.map +1 -0
- package/dist/components/card/card.variants.d.ts +13 -0
- package/dist/components/card/card.variants.d.ts.map +1 -0
- package/dist/components/card/card.variants.js +64 -0
- package/dist/components/card/card.variants.js.map +1 -0
- package/dist/components/card/index.d.ts +3 -0
- package/dist/components/card/index.d.ts.map +1 -0
- package/dist/components/card/index.js +35 -0
- package/dist/components/card/index.js.map +1 -0
- package/dist/components/checkbox/checkbox.d.ts +20 -0
- package/dist/components/checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox.js +102 -0
- package/dist/components/checkbox/checkbox.js.map +1 -0
- package/dist/components/checkbox/checkbox.variants.d.ts +15 -0
- package/dist/components/checkbox/checkbox.variants.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox.variants.js +70 -0
- package/dist/components/checkbox/checkbox.variants.js.map +1 -0
- package/dist/components/checkbox/index.d.ts +3 -0
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/checkbox/index.js +11 -0
- package/dist/components/checkbox/index.js.map +1 -0
- package/dist/components/command-palette/command-palette.d.ts +76 -0
- package/dist/components/command-palette/command-palette.d.ts.map +1 -0
- package/dist/components/command-palette/command-palette.js +271 -0
- package/dist/components/command-palette/command-palette.js.map +1 -0
- package/dist/components/command-palette/command-palette.variants.d.ts +18 -0
- package/dist/components/command-palette/command-palette.variants.d.ts.map +1 -0
- package/dist/components/command-palette/command-palette.variants.js +62 -0
- package/dist/components/command-palette/command-palette.variants.js.map +1 -0
- package/dist/components/command-palette/index.d.ts +3 -0
- package/dist/components/command-palette/index.d.ts.map +1 -0
- package/dist/components/command-palette/index.js +35 -0
- package/dist/components/command-palette/index.js.map +1 -0
- package/dist/components/consent-toggle/consent-toggle.d.ts +107 -0
- package/dist/components/consent-toggle/consent-toggle.d.ts.map +1 -0
- package/dist/components/consent-toggle/consent-toggle.js +68 -0
- package/dist/components/consent-toggle/consent-toggle.js.map +1 -0
- package/dist/components/consent-toggle/consent-toggle.variants.d.ts +10 -0
- package/dist/components/consent-toggle/consent-toggle.variants.d.ts.map +1 -0
- package/dist/components/consent-toggle/consent-toggle.variants.js +29 -0
- package/dist/components/consent-toggle/consent-toggle.variants.js.map +1 -0
- package/dist/components/consent-toggle/index.d.ts +3 -0
- package/dist/components/consent-toggle/index.d.ts.map +1 -0
- package/dist/components/consent-toggle/index.js +19 -0
- package/dist/components/consent-toggle/index.js.map +1 -0
- package/dist/components/credential-card/credential-card.d.ts +144 -0
- package/dist/components/credential-card/credential-card.d.ts.map +1 -0
- package/dist/components/credential-card/credential-card.js +117 -0
- package/dist/components/credential-card/credential-card.js.map +1 -0
- package/dist/components/credential-card/credential-card.variants.d.ts +15 -0
- package/dist/components/credential-card/credential-card.variants.d.ts.map +1 -0
- package/dist/components/credential-card/credential-card.variants.js +48 -0
- package/dist/components/credential-card/credential-card.variants.js.map +1 -0
- package/dist/components/credential-card/index.d.ts +3 -0
- package/dist/components/credential-card/index.d.ts.map +1 -0
- package/dist/components/credential-card/index.js +29 -0
- package/dist/components/credential-card/index.js.map +1 -0
- package/dist/components/data-grid/data-grid.d.ts +247 -0
- package/dist/components/data-grid/data-grid.d.ts.map +1 -0
- package/dist/components/data-grid/data-grid.js +529 -0
- package/dist/components/data-grid/data-grid.js.map +1 -0
- package/dist/components/data-grid/data-grid.variants.d.ts +29 -0
- package/dist/components/data-grid/data-grid.variants.d.ts.map +1 -0
- package/dist/components/data-grid/data-grid.variants.js +110 -0
- package/dist/components/data-grid/data-grid.variants.js.map +1 -0
- package/dist/components/data-grid/index.d.ts +3 -0
- package/dist/components/data-grid/index.d.ts.map +1 -0
- package/dist/components/data-grid/index.js +59 -0
- package/dist/components/data-grid/index.js.map +1 -0
- package/dist/components/dialog/dialog.d.ts +98 -0
- package/dist/components/dialog/dialog.d.ts.map +1 -0
- package/dist/components/dialog/dialog.js +121 -0
- package/dist/components/dialog/dialog.js.map +1 -0
- package/dist/components/dialog/dialog.variants.d.ts +14 -0
- package/dist/components/dialog/dialog.variants.d.ts.map +1 -0
- package/dist/components/dialog/dialog.variants.js +71 -0
- package/dist/components/dialog/dialog.variants.js.map +1 -0
- package/dist/components/dialog/index.d.ts +3 -0
- package/dist/components/dialog/index.d.ts.map +1 -0
- package/dist/components/dialog/index.js +31 -0
- package/dist/components/dialog/index.js.map +1 -0
- package/dist/components/identity-chip/identity-chip.d.ts +121 -0
- package/dist/components/identity-chip/identity-chip.d.ts.map +1 -0
- package/dist/components/identity-chip/identity-chip.js +203 -0
- package/dist/components/identity-chip/identity-chip.js.map +1 -0
- package/dist/components/identity-chip/identity-chip.variants.d.ts +11 -0
- package/dist/components/identity-chip/identity-chip.variants.d.ts.map +1 -0
- package/dist/components/identity-chip/identity-chip.variants.js +61 -0
- package/dist/components/identity-chip/identity-chip.variants.js.map +1 -0
- package/dist/components/identity-chip/index.d.ts +3 -0
- package/dist/components/identity-chip/index.d.ts.map +1 -0
- package/dist/components/identity-chip/index.js +21 -0
- package/dist/components/identity-chip/index.js.map +1 -0
- package/dist/components/input/index.d.ts +3 -0
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/components/input/index.js +11 -0
- package/dist/components/input/index.js.map +1 -0
- package/dist/components/input/input.d.ts +17 -0
- package/dist/components/input/input.d.ts.map +1 -0
- package/dist/components/input/input.js +71 -0
- package/dist/components/input/input.js.map +1 -0
- package/dist/components/input/input.variants.d.ts +11 -0
- package/dist/components/input/input.variants.d.ts.map +1 -0
- package/dist/components/input/input.variants.js +64 -0
- package/dist/components/input/input.variants.js.map +1 -0
- package/dist/components/label/index.d.ts +3 -0
- package/dist/components/label/index.d.ts.map +1 -0
- package/dist/components/label/index.js +13 -0
- package/dist/components/label/index.js.map +1 -0
- package/dist/components/label/label.d.ts +16 -0
- package/dist/components/label/label.d.ts.map +1 -0
- package/dist/components/label/label.js +27 -0
- package/dist/components/label/label.js.map +1 -0
- package/dist/components/label/label.variants.d.ts +8 -0
- package/dist/components/label/label.variants.d.ts.map +1 -0
- package/dist/components/label/label.variants.js +27 -0
- package/dist/components/label/label.variants.js.map +1 -0
- package/dist/components/menu/index.d.ts +3 -0
- package/dist/components/menu/index.d.ts.map +1 -0
- package/dist/components/menu/index.js +43 -0
- package/dist/components/menu/index.js.map +1 -0
- package/dist/components/menu/menu.d.ts +115 -0
- package/dist/components/menu/menu.d.ts.map +1 -0
- package/dist/components/menu/menu.js +130 -0
- package/dist/components/menu/menu.js.map +1 -0
- package/dist/components/menu/menu.variants.d.ts +13 -0
- package/dist/components/menu/menu.variants.d.ts.map +1 -0
- package/dist/components/menu/menu.variants.js +56 -0
- package/dist/components/menu/menu.variants.js.map +1 -0
- package/dist/components/pagination/index.d.ts +3 -0
- package/dist/components/pagination/index.d.ts.map +1 -0
- package/dist/components/pagination/index.js +37 -0
- package/dist/components/pagination/index.js.map +1 -0
- package/dist/components/pagination/pagination.d.ts +118 -0
- package/dist/components/pagination/pagination.d.ts.map +1 -0
- package/dist/components/pagination/pagination.js +204 -0
- package/dist/components/pagination/pagination.js.map +1 -0
- package/dist/components/pagination/pagination.variants.d.ts +13 -0
- package/dist/components/pagination/pagination.variants.d.ts.map +1 -0
- package/dist/components/pagination/pagination.variants.js +63 -0
- package/dist/components/pagination/pagination.variants.js.map +1 -0
- package/dist/components/popover/index.d.ts +3 -0
- package/dist/components/popover/index.d.ts.map +1 -0
- package/dist/components/popover/index.js +39 -0
- package/dist/components/popover/index.js.map +1 -0
- package/dist/components/popover/popover.d.ts +92 -0
- package/dist/components/popover/popover.d.ts.map +1 -0
- package/dist/components/popover/popover.js +135 -0
- package/dist/components/popover/popover.js.map +1 -0
- package/dist/components/popover/popover.variants.d.ts +9 -0
- package/dist/components/popover/popover.variants.d.ts.map +1 -0
- package/dist/components/popover/popover.variants.js +19 -0
- package/dist/components/popover/popover.variants.js.map +1 -0
- package/dist/components/progress/index.d.ts +3 -0
- package/dist/components/progress/index.d.ts.map +1 -0
- package/dist/components/progress/index.js +23 -0
- package/dist/components/progress/index.js.map +1 -0
- package/dist/components/progress/progress.d.ts +71 -0
- package/dist/components/progress/progress.d.ts.map +1 -0
- package/dist/components/progress/progress.js +91 -0
- package/dist/components/progress/progress.js.map +1 -0
- package/dist/components/progress/progress.variants.d.ts +14 -0
- package/dist/components/progress/progress.variants.d.ts.map +1 -0
- package/dist/components/progress/progress.variants.js +37 -0
- package/dist/components/progress/progress.variants.js.map +1 -0
- package/dist/components/radio/index.d.ts +3 -0
- package/dist/components/radio/index.d.ts.map +1 -0
- package/dist/components/radio/index.js +22 -0
- package/dist/components/radio/index.js.map +1 -0
- package/dist/components/radio/radio.d.ts +23 -0
- package/dist/components/radio/radio.d.ts.map +1 -0
- package/dist/components/radio/radio.js +183 -0
- package/dist/components/radio/radio.js.map +1 -0
- package/dist/components/radio/radio.variants.d.ts +17 -0
- package/dist/components/radio/radio.variants.d.ts.map +1 -0
- package/dist/components/radio/radio.variants.js +60 -0
- package/dist/components/radio/radio.variants.js.map +1 -0
- package/dist/components/select/index.d.ts +3 -0
- package/dist/components/select/index.d.ts.map +1 -0
- package/dist/components/select/index.js +9 -0
- package/dist/components/select/index.js.map +1 -0
- package/dist/components/select/select.d.ts +27 -0
- package/dist/components/select/select.d.ts.map +1 -0
- package/dist/components/select/select.js +145 -0
- package/dist/components/select/select.js.map +1 -0
- package/dist/components/select/select.variants.d.ts +18 -0
- package/dist/components/select/select.variants.d.ts.map +1 -0
- package/dist/components/select/select.variants.js +102 -0
- package/dist/components/select/select.variants.js.map +1 -0
- package/dist/components/separator/index.d.ts +3 -0
- package/dist/components/separator/index.d.ts.map +1 -0
- package/dist/components/separator/index.js +15 -0
- package/dist/components/separator/index.js.map +1 -0
- package/dist/components/separator/separator.d.ts +23 -0
- package/dist/components/separator/separator.d.ts.map +1 -0
- package/dist/components/separator/separator.js +61 -0
- package/dist/components/separator/separator.js.map +1 -0
- package/dist/components/separator/separator.variants.d.ts +13 -0
- package/dist/components/separator/separator.variants.d.ts.map +1 -0
- package/dist/components/separator/separator.variants.js +46 -0
- package/dist/components/separator/separator.variants.js.map +1 -0
- package/dist/components/sheet/index.d.ts +3 -0
- package/dist/components/sheet/index.d.ts.map +1 -0
- package/dist/components/sheet/index.js +31 -0
- package/dist/components/sheet/index.js.map +1 -0
- package/dist/components/sheet/sheet.d.ts +102 -0
- package/dist/components/sheet/sheet.d.ts.map +1 -0
- package/dist/components/sheet/sheet.js +120 -0
- package/dist/components/sheet/sheet.js.map +1 -0
- package/dist/components/sheet/sheet.variants.d.ts +15 -0
- package/dist/components/sheet/sheet.variants.d.ts.map +1 -0
- package/dist/components/sheet/sheet.variants.js +97 -0
- package/dist/components/sheet/sheet.variants.js.map +1 -0
- package/dist/components/sidebar/index.d.ts +3 -0
- package/dist/components/sidebar/index.d.ts.map +1 -0
- package/dist/components/sidebar/index.js +43 -0
- package/dist/components/sidebar/index.js.map +1 -0
- package/dist/components/sidebar/sidebar.d.ts +114 -0
- package/dist/components/sidebar/sidebar.d.ts.map +1 -0
- package/dist/components/sidebar/sidebar.js +202 -0
- package/dist/components/sidebar/sidebar.js.map +1 -0
- package/dist/components/sidebar/sidebar.variants.d.ts +19 -0
- package/dist/components/sidebar/sidebar.variants.d.ts.map +1 -0
- package/dist/components/sidebar/sidebar.variants.js +93 -0
- package/dist/components/sidebar/sidebar.variants.js.map +1 -0
- package/dist/components/skeleton/index.d.ts +3 -0
- package/dist/components/skeleton/index.d.ts.map +1 -0
- package/dist/components/skeleton/index.js +15 -0
- package/dist/components/skeleton/index.js.map +1 -0
- package/dist/components/skeleton/skeleton.d.ts +42 -0
- package/dist/components/skeleton/skeleton.d.ts.map +1 -0
- package/dist/components/skeleton/skeleton.js +54 -0
- package/dist/components/skeleton/skeleton.js.map +1 -0
- package/dist/components/skeleton/skeleton.variants.d.ts +9 -0
- package/dist/components/skeleton/skeleton.variants.d.ts.map +1 -0
- package/dist/components/skeleton/skeleton.variants.js +31 -0
- package/dist/components/skeleton/skeleton.variants.js.map +1 -0
- package/dist/components/spinner/index.d.ts +3 -0
- package/dist/components/spinner/index.d.ts.map +1 -0
- package/dist/components/spinner/index.js +13 -0
- package/dist/components/spinner/index.js.map +1 -0
- package/dist/components/spinner/spinner.d.ts +41 -0
- package/dist/components/spinner/spinner.d.ts.map +1 -0
- package/dist/components/spinner/spinner.js +48 -0
- package/dist/components/spinner/spinner.js.map +1 -0
- package/dist/components/spinner/spinner.variants.d.ts +8 -0
- package/dist/components/spinner/spinner.variants.d.ts.map +1 -0
- package/dist/components/spinner/spinner.variants.js +32 -0
- package/dist/components/spinner/spinner.variants.js.map +1 -0
- package/dist/components/switch/index.d.ts +3 -0
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/components/switch/index.js +15 -0
- package/dist/components/switch/index.js.map +1 -0
- package/dist/components/switch/switch.d.ts +20 -0
- package/dist/components/switch/switch.d.ts.map +1 -0
- package/dist/components/switch/switch.js +107 -0
- package/dist/components/switch/switch.js.map +1 -0
- package/dist/components/switch/switch.variants.d.ts +14 -0
- package/dist/components/switch/switch.variants.d.ts.map +1 -0
- package/dist/components/switch/switch.variants.js +69 -0
- package/dist/components/switch/switch.variants.js.map +1 -0
- package/dist/components/table/index.d.ts +3 -0
- package/dist/components/table/index.d.ts.map +1 -0
- package/dist/components/table/index.js +51 -0
- package/dist/components/table/index.js.map +1 -0
- package/dist/components/table/table.d.ts +173 -0
- package/dist/components/table/table.d.ts.map +1 -0
- package/dist/components/table/table.js +172 -0
- package/dist/components/table/table.js.map +1 -0
- package/dist/components/table/table.variants.d.ts +39 -0
- package/dist/components/table/table.variants.d.ts.map +1 -0
- package/dist/components/table/table.variants.js +124 -0
- package/dist/components/table/table.variants.js.map +1 -0
- package/dist/components/tabs/index.d.ts +3 -0
- package/dist/components/tabs/index.d.ts.map +1 -0
- package/dist/components/tabs/index.js +21 -0
- package/dist/components/tabs/index.js.map +1 -0
- package/dist/components/tabs/tabs.d.ts +66 -0
- package/dist/components/tabs/tabs.d.ts.map +1 -0
- package/dist/components/tabs/tabs.js +81 -0
- package/dist/components/tabs/tabs.js.map +1 -0
- package/dist/components/tabs/tabs.variants.d.ts +15 -0
- package/dist/components/tabs/tabs.variants.d.ts.map +1 -0
- package/dist/components/tabs/tabs.variants.js +98 -0
- package/dist/components/tabs/tabs.variants.js.map +1 -0
- package/dist/components/textarea/index.d.ts +3 -0
- package/dist/components/textarea/index.d.ts.map +1 -0
- package/dist/components/textarea/index.js +7 -0
- package/dist/components/textarea/index.js.map +1 -0
- package/dist/components/textarea/textarea.d.ts +18 -0
- package/dist/components/textarea/textarea.d.ts.map +1 -0
- package/dist/components/textarea/textarea.js +136 -0
- package/dist/components/textarea/textarea.js.map +1 -0
- package/dist/components/textarea/textarea.variants.d.ts +6 -0
- package/dist/components/textarea/textarea.variants.d.ts.map +1 -0
- package/dist/components/textarea/textarea.variants.js +53 -0
- package/dist/components/textarea/textarea.variants.js.map +1 -0
- package/dist/components/toast/index.d.ts +3 -0
- package/dist/components/toast/index.d.ts.map +1 -0
- package/dist/components/toast/index.js +43 -0
- package/dist/components/toast/index.js.map +1 -0
- package/dist/components/toast/toast.d.ts +140 -0
- package/dist/components/toast/toast.d.ts.map +1 -0
- package/dist/components/toast/toast.js +123 -0
- package/dist/components/toast/toast.js.map +1 -0
- package/dist/components/toast/toast.variants.d.ts +16 -0
- package/dist/components/toast/toast.variants.d.ts.map +1 -0
- package/dist/components/toast/toast.variants.js +77 -0
- package/dist/components/toast/toast.variants.js.map +1 -0
- package/dist/components/tooltip/index.d.ts +3 -0
- package/dist/components/tooltip/index.d.ts.map +1 -0
- package/dist/components/tooltip/index.js +16 -0
- package/dist/components/tooltip/index.js.map +1 -0
- package/dist/components/tooltip/tooltip.d.ts +81 -0
- package/dist/components/tooltip/tooltip.d.ts.map +1 -0
- package/dist/components/tooltip/tooltip.js +44 -0
- package/dist/components/tooltip/tooltip.js.map +1 -0
- package/dist/components/tooltip/tooltip.variants.d.ts +3 -0
- package/dist/components/tooltip/tooltip.variants.d.ts.map +1 -0
- package/dist/components/tooltip/tooltip.variants.js +7 -0
- package/dist/components/tooltip/tooltip.variants.js.map +1 -0
- package/dist/components/trust-score/index.d.ts +3 -0
- package/dist/components/trust-score/index.d.ts.map +1 -0
- package/dist/components/trust-score/index.js +11 -0
- package/dist/components/trust-score/index.js.map +1 -0
- package/dist/components/trust-score/trust-score.d.ts +100 -0
- package/dist/components/trust-score/trust-score.d.ts.map +1 -0
- package/dist/components/trust-score/trust-score.js +146 -0
- package/dist/components/trust-score/trust-score.js.map +1 -0
- package/dist/components/trust-score/trust-score.variants.d.ts +16 -0
- package/dist/components/trust-score/trust-score.variants.d.ts.map +1 -0
- package/dist/components/trust-score/trust-score.variants.js +50 -0
- package/dist/components/trust-score/trust-score.variants.js.map +1 -0
- package/dist/components/verified-badge/index.d.ts +3 -0
- package/dist/components/verified-badge/index.d.ts.map +1 -0
- package/dist/components/verified-badge/index.js +15 -0
- package/dist/components/verified-badge/index.js.map +1 -0
- package/dist/components/verified-badge/verified-badge.d.ts +55 -0
- package/dist/components/verified-badge/verified-badge.d.ts.map +1 -0
- package/dist/components/verified-badge/verified-badge.js +67 -0
- package/dist/components/verified-badge/verified-badge.js.map +1 -0
- package/dist/components/verified-badge/verified-badge.variants.d.ts +11 -0
- package/dist/components/verified-badge/verified-badge.variants.d.ts.map +1 -0
- package/dist/components/verified-badge/verified-badge.variants.js +45 -0
- package/dist/components/verified-badge/verified-badge.variants.js.map +1 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +322 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/cn.d.ts +3 -0
- package/dist/lib/cn.d.ts.map +1 -0
- package/dist/lib/cn.js +24 -0
- package/dist/lib/cn.js.map +1 -0
- package/package.json +74 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogBody, DialogFooter, DialogClose, type DialogProps, type DialogTriggerProps, type DialogContentProps, type DialogHeaderProps, type DialogTitleProps, type DialogDescriptionProps, type DialogBodyProps, type DialogFooterProps, type DialogCloseProps, } from "./dialog";
|
|
2
|
+
export { dialogPanelVariants, dialogScrimVariants, dialogCloseVariants, type DialogPanelVariantProps, } from "./dialog.variants";
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,uBAAuB,GAC7B,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Dialog,
|
|
3
|
+
DialogTrigger,
|
|
4
|
+
DialogContent,
|
|
5
|
+
DialogHeader,
|
|
6
|
+
DialogTitle,
|
|
7
|
+
DialogDescription,
|
|
8
|
+
DialogBody,
|
|
9
|
+
DialogFooter,
|
|
10
|
+
DialogClose
|
|
11
|
+
} from "./dialog";
|
|
12
|
+
import {
|
|
13
|
+
dialogPanelVariants,
|
|
14
|
+
dialogScrimVariants,
|
|
15
|
+
dialogCloseVariants
|
|
16
|
+
} from "./dialog.variants";
|
|
17
|
+
export {
|
|
18
|
+
Dialog,
|
|
19
|
+
DialogBody,
|
|
20
|
+
DialogClose,
|
|
21
|
+
DialogContent,
|
|
22
|
+
DialogDescription,
|
|
23
|
+
DialogFooter,
|
|
24
|
+
DialogHeader,
|
|
25
|
+
DialogTitle,
|
|
26
|
+
DialogTrigger,
|
|
27
|
+
dialogCloseVariants,
|
|
28
|
+
dialogPanelVariants,
|
|
29
|
+
dialogScrimVariants
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/dialog/index.ts"],"sourcesContent":["export {\n Dialog,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n DialogBody,\n DialogFooter,\n DialogClose,\n type DialogProps,\n type DialogTriggerProps,\n type DialogContentProps,\n type DialogHeaderProps,\n type DialogTitleProps,\n type DialogDescriptionProps,\n type DialogBodyProps,\n type DialogFooterProps,\n type DialogCloseProps,\n} from \"./dialog\";\nexport {\n dialogPanelVariants,\n dialogScrimVariants,\n dialogCloseVariants,\n type DialogPanelVariantProps,\n} from \"./dialog.variants\";\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAUK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAEK;","names":[]}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type AgentBadgeProps } from "../agent-badge";
|
|
3
|
+
import { type VerifiedBadgeProps } from "../verified-badge";
|
|
4
|
+
import { type IdentityChipVariantProps } from "./identity-chip.variants";
|
|
5
|
+
/** How an IdentityChip is used (spec §3). Defaults to `static`. */
|
|
6
|
+
export type IdentityChipVariant = NonNullable<IdentityChipVariantProps["variant"]>;
|
|
7
|
+
/**
|
|
8
|
+
* The optional AgentBadge shown when, and only when, the identity is an AI agent (spec §2). Pass
|
|
9
|
+
* the badge's own props — its `aria-label` (e.g. "AI agent") names the actor kind for assistive
|
|
10
|
+
* technology, so an agent is never read as a human (spec §7/§8). The chip reserves the position
|
|
11
|
+
* and never absorbs the badge's meaning into itself; a human identity passes nothing here.
|
|
12
|
+
*/
|
|
13
|
+
export type IdentityChipAgent = Omit<AgentBadgeProps, "className">;
|
|
14
|
+
/**
|
|
15
|
+
* The optional VerifiedBadge shown when the identity's verification is worth surfacing inline
|
|
16
|
+
* (spec §2). Pass the badge's own props — it owns the verified-status treatment and the green
|
|
17
|
+
* status color end to end, and carries its OWN accessible name (its visible `label`, or an
|
|
18
|
+
* `aria-label` when shown check-only). The chip only reserves the position and never paints a
|
|
19
|
+
* verified signal itself (spec §1/§2).
|
|
20
|
+
*/
|
|
21
|
+
export type IdentityChipVerified = Omit<VerifiedBadgeProps, "className">;
|
|
22
|
+
export interface IdentityChipProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "color">, IdentityChipVariantProps {
|
|
23
|
+
/**
|
|
24
|
+
* The identity's display name (spec §2 `name`), sentence case, no all-caps. It carries the
|
|
25
|
+
* identity in the accessibility tree as text and is the chip's accessible name; it truncates
|
|
26
|
+
* with an ellipsis when the chip is width-constrained rather than being dropped (spec §2/§7).
|
|
27
|
+
* Required.
|
|
28
|
+
*/
|
|
29
|
+
name: string;
|
|
30
|
+
/**
|
|
31
|
+
* The text alternative for the composed Avatar (spec §2/§7) — normally the same as {@link name}.
|
|
32
|
+
* The Avatar is marked DECORATIVE inside the chip so the identity is announced once (the visible
|
|
33
|
+
* name), not twice; this value is the picture's alternative if the chip's name is ever absent.
|
|
34
|
+
* Defaults to {@link name}.
|
|
35
|
+
*/
|
|
36
|
+
avatarAlt?: string;
|
|
37
|
+
/**
|
|
38
|
+
* The picture for the identity (spec §2 `avatar`). Cropped to the Avatar shape when it loads;
|
|
39
|
+
* falls back to the name initials, then a neutral glyph. The picture is never the only signal of
|
|
40
|
+
* who the identity is — the visible name always carries it (spec §7).
|
|
41
|
+
*/
|
|
42
|
+
src?: string;
|
|
43
|
+
/**
|
|
44
|
+
* One supporting line under the name (spec §2 `secondary`) — a handle, a role, or the profile
|
|
45
|
+
* context — to disambiguate two identities that share a name. Supporting detail only: never a
|
|
46
|
+
* credential value and never a status.
|
|
47
|
+
*/
|
|
48
|
+
secondary?: React.ReactNode;
|
|
49
|
+
/**
|
|
50
|
+
* The AgentBadge props shown when, and only when, the identity is an AI agent (spec §2/§7/§8).
|
|
51
|
+
* Its `aria-label` names the actor kind. When the chip is `interactive`, the actor kind is also
|
|
52
|
+
* folded into the control's accessible name — "Atlas (AI agent)" — so a screen-reader user can
|
|
53
|
+
* always tell an agent from a human. A human identity passes nothing here.
|
|
54
|
+
*/
|
|
55
|
+
agent?: IdentityChipAgent;
|
|
56
|
+
/**
|
|
57
|
+
* The VerifiedBadge props shown when the identity's verification is worth surfacing inline (spec
|
|
58
|
+
* §2). The badge owns the verified-status treatment and its own accessible name; the chip never
|
|
59
|
+
* paints a verified signal itself (spec §1/§2/§5).
|
|
60
|
+
*/
|
|
61
|
+
verified?: IdentityChipVerified;
|
|
62
|
+
/**
|
|
63
|
+
* Fires when a `removable` chip's trailing remove-control is activated (spec §2/§6). Required for
|
|
64
|
+
* the `removable` variant — it is the chip's one focusable part. In a chip field this removes the
|
|
65
|
+
* token; the surrounding field owns where focus moves next (spec §7).
|
|
66
|
+
*/
|
|
67
|
+
onRemove?: () => void;
|
|
68
|
+
/**
|
|
69
|
+
* Override the remove-control's accessible name (spec §7). Defaults to `"Remove {name}"` so a
|
|
70
|
+
* screen-reader user is never asked to remove an unnamed thing. `removable` variant only.
|
|
71
|
+
*/
|
|
72
|
+
removeLabel?: string;
|
|
73
|
+
/**
|
|
74
|
+
* Disable the `interactive` / `removable` control (spec §4 Disabled). The identity stays named
|
|
75
|
+
* and pictured so it remains legible; only the action is withdrawn. The `interactive` body sets
|
|
76
|
+
* `aria-disabled` and suppresses activation; the `removable` control uses the native `disabled`.
|
|
77
|
+
*/
|
|
78
|
+
disabled?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* The identity itself is still resolving (spec §4 Loading) — for example a chip rendered from an
|
|
81
|
+
* ID before the profile loads. Shows a Skeleton in the chip's shape and marks the chip region
|
|
82
|
+
* `aria-busy`, rather than a chip with a guessed name or a borrowed picture; the real chip
|
|
83
|
+
* replaces it when the identity resolves (spec §4/§7).
|
|
84
|
+
*/
|
|
85
|
+
loading?: boolean;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* An IdentityChip is a compact inline reference to a single identity — a person or an AI agent —
|
|
89
|
+
* that names and pictures who or what an entry belongs to (spec §1). Its one job is to place an
|
|
90
|
+
* identity in a flow: an actor in an audit row, a recipient in a share field, the current profile
|
|
91
|
+
* in an account switcher. It carries the person or the agent, never their login and never their
|
|
92
|
+
* proof.
|
|
93
|
+
*
|
|
94
|
+
* It encodes the platform invariant that identity is NOT credentials: the chip says *who*, while a
|
|
95
|
+
* CredentialCard says *what an identity can prove* — the chip never asserts a verification result,
|
|
96
|
+
* a key, or a document on its own (spec §1/§8). The verified status is the composed VerifiedBadge,
|
|
97
|
+
* with its own meaning and accessible name; the chip only reserves the position and binds nothing
|
|
98
|
+
* from the status tier. One identity can have many profiles, so the same person may appear as
|
|
99
|
+
* different chips in different contexts; a chip pictures the profile in view, not the whole
|
|
100
|
+
* identity behind it (spec §1).
|
|
101
|
+
*
|
|
102
|
+
* It COMPOSES the committed primitives rather than reinventing them — the Avatar for the picture
|
|
103
|
+
* (marked decorative so the identity is announced once), the optional AgentBadge for the actor
|
|
104
|
+
* kind, the optional VerifiedBadge for a surfaced verification, and a Skeleton in the chip's shape
|
|
105
|
+
* while the identity is still resolving — so each composed part owns its own tokens, motion, and
|
|
106
|
+
* accessible name. When the actor is an AI agent, the chip hosts the AgentBadge so the kind of
|
|
107
|
+
* actor is explicit and an agent never reads as a human (spec §1/§7/§8).
|
|
108
|
+
*
|
|
109
|
+
* brand != state (spec §3/§5/§8): a chip carries no status of its own, so the body paints from
|
|
110
|
+
* NEUTRAL surface / text / border roles — never the verified-status green (that lives in the
|
|
111
|
+
* VerifiedBadge) and never the brand violet as a fill (the brand is not a status and a chip is not
|
|
112
|
+
* an action). A chip is never made interactive by styling alone: the `interactive` and `removable`
|
|
113
|
+
* variants are real controls with a real role, target size, focus ring, and keyboard model (spec
|
|
114
|
+
* §3/§4/§6/§7).
|
|
115
|
+
*
|
|
116
|
+
* It is `'use client'` for the `React.useId()` that mints the id wiring an interactive chip's
|
|
117
|
+
* folded accessible name (any hook makes the file a client component); the composed Avatar /
|
|
118
|
+
* AgentBadge / VerifiedBadge own their own state independently.
|
|
119
|
+
*/
|
|
120
|
+
export declare const IdentityChip: React.ForwardRefExoticComponent<IdentityChipProps & React.RefAttributes<HTMLSpanElement>>;
|
|
121
|
+
//# sourceMappingURL=identity-chip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-chip.d.ts","sourceRoot":"","sources":["../../../src/components/identity-chip/identity-chip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EAOL,KAAK,wBAAwB,EAC9B,MAAM,0BAA0B,CAAC;AAElC,mEAAmE;AACnE,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAuBzE,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,EAC1D,wBAAwB;IAC1B;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,YAAY,2FA+NxB,CAAC"}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { cn } from "../../lib/cn";
|
|
5
|
+
import { Avatar } from "../avatar";
|
|
6
|
+
import { AgentBadge } from "../agent-badge";
|
|
7
|
+
import { VerifiedBadge } from "../verified-badge";
|
|
8
|
+
import { Skeleton } from "../skeleton";
|
|
9
|
+
import {
|
|
10
|
+
identityChipVariants,
|
|
11
|
+
identityChipNameClass,
|
|
12
|
+
identityChipSecondaryClass,
|
|
13
|
+
identityChipTextClass,
|
|
14
|
+
identityChipRemoveControlClass,
|
|
15
|
+
identityChipRemoveGlyphClass
|
|
16
|
+
} from "./identity-chip.variants";
|
|
17
|
+
function RemoveGlyph() {
|
|
18
|
+
return /* @__PURE__ */ jsxs(
|
|
19
|
+
"svg",
|
|
20
|
+
{
|
|
21
|
+
className: identityChipRemoveGlyphClass,
|
|
22
|
+
viewBox: "0 0 24 24",
|
|
23
|
+
fill: "none",
|
|
24
|
+
stroke: "currentColor",
|
|
25
|
+
strokeWidth: "2",
|
|
26
|
+
strokeLinecap: "round",
|
|
27
|
+
strokeLinejoin: "round",
|
|
28
|
+
"aria-hidden": "true",
|
|
29
|
+
children: [
|
|
30
|
+
/* @__PURE__ */ jsx("path", { d: "M18 6 6 18" }),
|
|
31
|
+
/* @__PURE__ */ jsx("path", { d: "m6 6 12 12" })
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
const IdentityChip = React.forwardRef(
|
|
37
|
+
function IdentityChip2({
|
|
38
|
+
className,
|
|
39
|
+
variant = "static",
|
|
40
|
+
name,
|
|
41
|
+
avatarAlt,
|
|
42
|
+
src,
|
|
43
|
+
secondary,
|
|
44
|
+
agent,
|
|
45
|
+
verified,
|
|
46
|
+
onRemove,
|
|
47
|
+
removeLabel,
|
|
48
|
+
disabled = false,
|
|
49
|
+
loading = false,
|
|
50
|
+
"aria-label": ariaLabelProp,
|
|
51
|
+
...props
|
|
52
|
+
}, ref) {
|
|
53
|
+
const reactId = React.useId();
|
|
54
|
+
const nameId = `${reactId}-name`;
|
|
55
|
+
const agentNameId = `${reactId}-agent`;
|
|
56
|
+
const alt = avatarAlt ?? name;
|
|
57
|
+
const avatarSize = "sm";
|
|
58
|
+
if (loading) {
|
|
59
|
+
return /* @__PURE__ */ jsxs(
|
|
60
|
+
"span",
|
|
61
|
+
{
|
|
62
|
+
ref,
|
|
63
|
+
"data-testid": "identity-chip",
|
|
64
|
+
"aria-busy": "true",
|
|
65
|
+
className: cn(identityChipVariants({ variant: "static" }), "min-h-(--space-9)", className),
|
|
66
|
+
...props,
|
|
67
|
+
children: [
|
|
68
|
+
/* @__PURE__ */ jsx(
|
|
69
|
+
Skeleton,
|
|
70
|
+
{
|
|
71
|
+
variant: "circle",
|
|
72
|
+
"data-testid": "identity-chip-skeleton",
|
|
73
|
+
className: "h-(--space-7) w-(--space-7)"
|
|
74
|
+
}
|
|
75
|
+
),
|
|
76
|
+
/* @__PURE__ */ jsx(Skeleton, { variant: "text", className: "w-(--space-20)" })
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
const avatar = /* @__PURE__ */ jsx(
|
|
82
|
+
Avatar,
|
|
83
|
+
{
|
|
84
|
+
"data-testid": "identity-chip-avatar",
|
|
85
|
+
decorative: true,
|
|
86
|
+
size: avatarSize,
|
|
87
|
+
src,
|
|
88
|
+
alt,
|
|
89
|
+
name
|
|
90
|
+
}
|
|
91
|
+
);
|
|
92
|
+
const text = /* @__PURE__ */ jsxs("span", { className: identityChipTextClass, children: [
|
|
93
|
+
/* @__PURE__ */ jsx("span", { id: nameId, className: identityChipNameClass, children: name }),
|
|
94
|
+
secondary != null ? /* @__PURE__ */ jsx("span", { className: identityChipSecondaryClass, children: secondary }) : null
|
|
95
|
+
] });
|
|
96
|
+
const agentBadge = agent != null ? /* @__PURE__ */ jsx(AgentBadge, { "data-testid": "identity-chip-agent", ...agent }) : null;
|
|
97
|
+
const verifiedBadge = verified != null ? /* @__PURE__ */ jsx(VerifiedBadge, { "data-testid": "identity-chip-verified", ...verified }) : null;
|
|
98
|
+
if (variant === "interactive") {
|
|
99
|
+
const { href, onClick: propOnClick, ...interactiveProps } = props;
|
|
100
|
+
const agentName = agent != null && typeof agent["aria-label"] === "string" ? agent["aria-label"] : void 0;
|
|
101
|
+
const accessibleName = agentName ? `${name} (${agentName})` : name;
|
|
102
|
+
const classes = cn(identityChipVariants({ variant: "interactive" }), className);
|
|
103
|
+
const innerAgent = agent != null ? /* @__PURE__ */ jsx("span", { id: agentNameId, "aria-hidden": "true", children: /* @__PURE__ */ jsx(AgentBadge, { "data-testid": "identity-chip-agent", ...agent, "aria-label": void 0 }) }) : null;
|
|
104
|
+
if (href !== void 0 && !disabled) {
|
|
105
|
+
return /* @__PURE__ */ jsxs(
|
|
106
|
+
"a",
|
|
107
|
+
{
|
|
108
|
+
ref,
|
|
109
|
+
"data-testid": "identity-chip",
|
|
110
|
+
href,
|
|
111
|
+
"aria-label": ariaLabelProp ?? accessibleName,
|
|
112
|
+
className: classes,
|
|
113
|
+
onClick: propOnClick,
|
|
114
|
+
...interactiveProps,
|
|
115
|
+
children: [
|
|
116
|
+
avatar,
|
|
117
|
+
text,
|
|
118
|
+
innerAgent,
|
|
119
|
+
verifiedBadge
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
return /* @__PURE__ */ jsxs(
|
|
125
|
+
"button",
|
|
126
|
+
{
|
|
127
|
+
ref,
|
|
128
|
+
type: "button",
|
|
129
|
+
"data-testid": "identity-chip",
|
|
130
|
+
"aria-label": ariaLabelProp ?? accessibleName,
|
|
131
|
+
"aria-disabled": disabled || void 0,
|
|
132
|
+
className: classes,
|
|
133
|
+
onClick: disabled ? (e) => e.preventDefault() : propOnClick,
|
|
134
|
+
...interactiveProps,
|
|
135
|
+
children: [
|
|
136
|
+
avatar,
|
|
137
|
+
text,
|
|
138
|
+
innerAgent,
|
|
139
|
+
verifiedBadge
|
|
140
|
+
]
|
|
141
|
+
}
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
if (variant === "removable") {
|
|
145
|
+
const removeName = removeLabel ?? `Remove ${name}`;
|
|
146
|
+
const handleRemove = () => {
|
|
147
|
+
if (!disabled) onRemove?.();
|
|
148
|
+
};
|
|
149
|
+
return /* @__PURE__ */ jsxs(
|
|
150
|
+
"span",
|
|
151
|
+
{
|
|
152
|
+
ref,
|
|
153
|
+
"data-testid": "identity-chip",
|
|
154
|
+
className: cn(identityChipVariants({ variant: "removable" }), className),
|
|
155
|
+
...props,
|
|
156
|
+
children: [
|
|
157
|
+
avatar,
|
|
158
|
+
text,
|
|
159
|
+
agentBadge,
|
|
160
|
+
verifiedBadge,
|
|
161
|
+
/* @__PURE__ */ jsx(
|
|
162
|
+
"button",
|
|
163
|
+
{
|
|
164
|
+
type: "button",
|
|
165
|
+
"data-testid": "identity-chip-remove",
|
|
166
|
+
"aria-label": removeName,
|
|
167
|
+
disabled,
|
|
168
|
+
className: identityChipRemoveControlClass,
|
|
169
|
+
onClick: handleRemove,
|
|
170
|
+
onKeyDown: (e) => {
|
|
171
|
+
if (e.key === "Backspace" || e.key === "Delete") {
|
|
172
|
+
e.preventDefault();
|
|
173
|
+
handleRemove();
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
children: /* @__PURE__ */ jsx(RemoveGlyph, {})
|
|
177
|
+
}
|
|
178
|
+
)
|
|
179
|
+
]
|
|
180
|
+
}
|
|
181
|
+
);
|
|
182
|
+
}
|
|
183
|
+
return /* @__PURE__ */ jsxs(
|
|
184
|
+
"span",
|
|
185
|
+
{
|
|
186
|
+
ref,
|
|
187
|
+
"data-testid": "identity-chip",
|
|
188
|
+
className: cn(identityChipVariants({ variant: "static" }), className),
|
|
189
|
+
...props,
|
|
190
|
+
children: [
|
|
191
|
+
avatar,
|
|
192
|
+
text,
|
|
193
|
+
agentBadge,
|
|
194
|
+
verifiedBadge
|
|
195
|
+
]
|
|
196
|
+
}
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
);
|
|
200
|
+
export {
|
|
201
|
+
IdentityChip
|
|
202
|
+
};
|
|
203
|
+
//# sourceMappingURL=identity-chip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/identity-chip/identity-chip.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"../../lib/cn\";\nimport { Avatar, type AvatarSize } from \"../avatar\";\nimport { AgentBadge, type AgentBadgeProps } from \"../agent-badge\";\nimport { VerifiedBadge, type VerifiedBadgeProps } from \"../verified-badge\";\nimport { Skeleton } from \"../skeleton\";\nimport {\n identityChipVariants,\n identityChipNameClass,\n identityChipSecondaryClass,\n identityChipTextClass,\n identityChipRemoveControlClass,\n identityChipRemoveGlyphClass,\n type IdentityChipVariantProps,\n} from \"./identity-chip.variants\";\n\n/** How an IdentityChip is used (spec §3). Defaults to `static`. */\nexport type IdentityChipVariant = NonNullable<IdentityChipVariantProps[\"variant\"]>;\n\n/**\n * The optional AgentBadge shown when, and only when, the identity is an AI agent (spec §2). Pass\n * the badge's own props — its `aria-label` (e.g. \"AI agent\") names the actor kind for assistive\n * technology, so an agent is never read as a human (spec §7/§8). The chip reserves the position\n * and never absorbs the badge's meaning into itself; a human identity passes nothing here.\n */\nexport type IdentityChipAgent = Omit<AgentBadgeProps, \"className\">;\n\n/**\n * The optional VerifiedBadge shown when the identity's verification is worth surfacing inline\n * (spec §2). Pass the badge's own props — it owns the verified-status treatment and the green\n * status color end to end, and carries its OWN accessible name (its visible `label`, or an\n * `aria-label` when shown check-only). The chip only reserves the position and never paints a\n * verified signal itself (spec §1/§2).\n */\nexport type IdentityChipVerified = Omit<VerifiedBadgeProps, \"className\">;\n\n// The default decorative remove glyph (spec §2/§5): a small ✕ at the sm icon role, inheriting the\n// remove-control's action-ghost foreground via currentColor. The accessible name lives on the\n// control (\"Remove {name}\"), so the glyph is aria-hidden.\nfunction RemoveGlyph() {\n return (\n <svg\n className={identityChipRemoveGlyphClass}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n );\n}\n\nexport interface IdentityChipProps\n extends Omit<React.HTMLAttributes<HTMLSpanElement>, \"color\">,\n IdentityChipVariantProps {\n /**\n * The identity's display name (spec §2 `name`), sentence case, no all-caps. It carries the\n * identity in the accessibility tree as text and is the chip's accessible name; it truncates\n * with an ellipsis when the chip is width-constrained rather than being dropped (spec §2/§7).\n * Required.\n */\n name: string;\n /**\n * The text alternative for the composed Avatar (spec §2/§7) — normally the same as {@link name}.\n * The Avatar is marked DECORATIVE inside the chip so the identity is announced once (the visible\n * name), not twice; this value is the picture's alternative if the chip's name is ever absent.\n * Defaults to {@link name}.\n */\n avatarAlt?: string;\n /**\n * The picture for the identity (spec §2 `avatar`). Cropped to the Avatar shape when it loads;\n * falls back to the name initials, then a neutral glyph. The picture is never the only signal of\n * who the identity is — the visible name always carries it (spec §7).\n */\n src?: string;\n /**\n * One supporting line under the name (spec §2 `secondary`) — a handle, a role, or the profile\n * context — to disambiguate two identities that share a name. Supporting detail only: never a\n * credential value and never a status.\n */\n secondary?: React.ReactNode;\n /**\n * The AgentBadge props shown when, and only when, the identity is an AI agent (spec §2/§7/§8).\n * Its `aria-label` names the actor kind. When the chip is `interactive`, the actor kind is also\n * folded into the control's accessible name — \"Atlas (AI agent)\" — so a screen-reader user can\n * always tell an agent from a human. A human identity passes nothing here.\n */\n agent?: IdentityChipAgent;\n /**\n * The VerifiedBadge props shown when the identity's verification is worth surfacing inline (spec\n * §2). The badge owns the verified-status treatment and its own accessible name; the chip never\n * paints a verified signal itself (spec §1/§2/§5).\n */\n verified?: IdentityChipVerified;\n /**\n * Fires when a `removable` chip's trailing remove-control is activated (spec §2/§6). Required for\n * the `removable` variant — it is the chip's one focusable part. In a chip field this removes the\n * token; the surrounding field owns where focus moves next (spec §7).\n */\n onRemove?: () => void;\n /**\n * Override the remove-control's accessible name (spec §7). Defaults to `\"Remove {name}\"` so a\n * screen-reader user is never asked to remove an unnamed thing. `removable` variant only.\n */\n removeLabel?: string;\n /**\n * Disable the `interactive` / `removable` control (spec §4 Disabled). The identity stays named\n * and pictured so it remains legible; only the action is withdrawn. The `interactive` body sets\n * `aria-disabled` and suppresses activation; the `removable` control uses the native `disabled`.\n */\n disabled?: boolean;\n /**\n * The identity itself is still resolving (spec §4 Loading) — for example a chip rendered from an\n * ID before the profile loads. Shows a Skeleton in the chip's shape and marks the chip region\n * `aria-busy`, rather than a chip with a guessed name or a borrowed picture; the real chip\n * replaces it when the identity resolves (spec §4/§7).\n */\n loading?: boolean;\n}\n\n/**\n * An IdentityChip is a compact inline reference to a single identity — a person or an AI agent —\n * that names and pictures who or what an entry belongs to (spec §1). Its one job is to place an\n * identity in a flow: an actor in an audit row, a recipient in a share field, the current profile\n * in an account switcher. It carries the person or the agent, never their login and never their\n * proof.\n *\n * It encodes the platform invariant that identity is NOT credentials: the chip says *who*, while a\n * CredentialCard says *what an identity can prove* — the chip never asserts a verification result,\n * a key, or a document on its own (spec §1/§8). The verified status is the composed VerifiedBadge,\n * with its own meaning and accessible name; the chip only reserves the position and binds nothing\n * from the status tier. One identity can have many profiles, so the same person may appear as\n * different chips in different contexts; a chip pictures the profile in view, not the whole\n * identity behind it (spec §1).\n *\n * It COMPOSES the committed primitives rather than reinventing them — the Avatar for the picture\n * (marked decorative so the identity is announced once), the optional AgentBadge for the actor\n * kind, the optional VerifiedBadge for a surfaced verification, and a Skeleton in the chip's shape\n * while the identity is still resolving — so each composed part owns its own tokens, motion, and\n * accessible name. When the actor is an AI agent, the chip hosts the AgentBadge so the kind of\n * actor is explicit and an agent never reads as a human (spec §1/§7/§8).\n *\n * brand != state (spec §3/§5/§8): a chip carries no status of its own, so the body paints from\n * NEUTRAL surface / text / border roles — never the verified-status green (that lives in the\n * VerifiedBadge) and never the brand violet as a fill (the brand is not a status and a chip is not\n * an action). A chip is never made interactive by styling alone: the `interactive` and `removable`\n * variants are real controls with a real role, target size, focus ring, and keyboard model (spec\n * §3/§4/§6/§7).\n *\n * It is `'use client'` for the `React.useId()` that mints the id wiring an interactive chip's\n * folded accessible name (any hook makes the file a client component); the composed Avatar /\n * AgentBadge / VerifiedBadge own their own state independently.\n */\nexport const IdentityChip = React.forwardRef<HTMLSpanElement, IdentityChipProps>(\n function IdentityChip(\n {\n className,\n variant = \"static\",\n name,\n avatarAlt,\n src,\n secondary,\n agent,\n verified,\n onRemove,\n removeLabel,\n disabled = false,\n loading = false,\n \"aria-label\": ariaLabelProp,\n ...props\n },\n ref,\n ) {\n const reactId = React.useId();\n const nameId = `${reactId}-name`;\n const agentNameId = `${reactId}-agent`;\n const alt = avatarAlt ?? name;\n const avatarSize: AvatarSize = \"sm\";\n\n // LOADING (spec §4/§7): a Skeleton in the chip's shape while the identity resolves. The chip\n // REGION owns the wait (aria-busy on the chip), and the Skeleton is decorative (aria-hidden),\n // so a screen reader hears the wait once, not the placeholder shapes. Never a chip with a\n // guessed name or a borrowed picture — show the placeholder until the identity resolves.\n if (loading) {\n return (\n <span\n ref={ref}\n data-testid=\"identity-chip\"\n aria-busy=\"true\"\n className={cn(identityChipVariants({ variant: \"static\" }), \"min-h-(--space-9)\", className)}\n {...props}\n >\n <Skeleton\n variant=\"circle\"\n data-testid=\"identity-chip-skeleton\"\n className=\"h-(--space-7) w-(--space-7)\"\n />\n <Skeleton variant=\"text\" className=\"w-(--space-20)\" />\n </span>\n );\n }\n\n // The composed Avatar (spec §2/§7): pictures the profile in view. It is marked DECORATIVE\n // inside the chip so the identity is announced once — by the visible name — not twice. It\n // carries no verified or status signal of its own (identity != credentials).\n const avatar = (\n <Avatar\n data-testid=\"identity-chip-avatar\"\n decorative\n size={avatarSize}\n src={src}\n alt={alt}\n name={name}\n />\n );\n\n // The name + optional supporting line (spec §2/§5). The name is the LABEL role + primary\n // color, truncatable; the secondary line is the caption role + secondary color. The name\n // carries the identity in the tree as text (1.3.1) and is the chip's accessible name.\n const text = (\n <span className={identityChipTextClass}>\n <span id={nameId} className={identityChipNameClass}>\n {name}\n </span>\n {secondary != null ? (\n <span className={identityChipSecondaryClass}>{secondary}</span>\n ) : null}\n </span>\n );\n\n // The composed AgentBadge (spec §2/§7/§8): shown only for an AI agent. It owns its own meaning\n // and accessible name; the chip reserves the position and never absorbs the badge's meaning.\n const agentBadge =\n agent != null ? (\n <AgentBadge data-testid=\"identity-chip-agent\" {...agent} />\n ) : null;\n\n // The composed VerifiedBadge (spec §1/§2/§5): shown when verification is worth surfacing\n // inline. It owns the verified-status treatment and the green status color end to end and\n // carries its OWN accessible name — the chip only reserves the position and paints no green.\n const verifiedBadge =\n verified != null ? (\n <VerifiedBadge data-testid=\"identity-chip-verified\" {...verified} />\n ) : null;\n\n // INTERACTIVE (spec §3/§6/§7): the chip body is itself a control — a native <button> in place,\n // or a native <a> when it navigates to a profile by URL — so it exposes the button/link role\n // and is operable without extra wiring, and it gets the focus ring + target-size floor + ghost\n // hover/press fill from the variant. The accessible name is the display name, and — when an\n // AgentBadge is present — the actor kind is FOLDED IN (\"Atlas (AI agent)\") so a screen-reader\n // user can always tell an agent from a human (spec §7). A disabled interactive chip is\n // aria-disabled with activation suppressed; the identity stays named and pictured (spec §4).\n if (variant === \"interactive\") {\n // a navigating chip carries an href on the rest props; pull it out so the button branch\n // never receives it (href is only valid on the <a> branch).\n const { href, onClick: propOnClick, ...interactiveProps } = props as React.HTMLAttributes<HTMLElement> & {\n href?: string;\n };\n // fold the actor kind into the accessible name when an agent is present, so it is heard\n const agentName =\n agent != null && typeof agent[\"aria-label\"] === \"string\"\n ? agent[\"aria-label\"]\n : undefined;\n const accessibleName = agentName ? `${name} (${agentName})` : name;\n const classes = cn(identityChipVariants({ variant: \"interactive\" }), className);\n // the AgentBadge inside an interactive control is decorative — its meaning is folded into the\n // control's accessible name above, so it is not announced a second time from inside the button\n const innerAgent =\n agent != null ? (\n <span id={agentNameId} aria-hidden=\"true\">\n <AgentBadge data-testid=\"identity-chip-agent\" {...agent} aria-label={undefined} />\n </span>\n ) : null;\n\n // navigate by URL → native <a>; act in place → native <button> (spec §7).\n if (href !== undefined && !disabled) {\n return (\n <a\n ref={ref as React.Ref<HTMLAnchorElement>}\n data-testid=\"identity-chip\"\n href={href}\n aria-label={ariaLabelProp ?? accessibleName}\n className={classes}\n onClick={propOnClick as React.MouseEventHandler<HTMLAnchorElement>}\n {...(interactiveProps as React.AnchorHTMLAttributes<HTMLAnchorElement>)}\n >\n {avatar}\n {text}\n {innerAgent}\n {verifiedBadge}\n </a>\n );\n }\n return (\n <button\n ref={ref as React.Ref<HTMLButtonElement>}\n type=\"button\"\n data-testid=\"identity-chip\"\n aria-label={ariaLabelProp ?? accessibleName}\n aria-disabled={disabled || undefined}\n className={classes}\n // a disabled interactive chip is aria-disabled (still named/pictured) and inert — the\n // identity stays legible, only the action is withdrawn (spec §4). DEC-C dim via token.\n onClick={\n disabled\n ? (e: React.MouseEvent) => e.preventDefault()\n : (propOnClick as React.MouseEventHandler<HTMLButtonElement>)\n }\n {...(interactiveProps as React.ButtonHTMLAttributes<HTMLButtonElement>)}\n >\n {avatar}\n {text}\n {innerAgent}\n {verifiedBadge}\n </button>\n );\n }\n\n // REMOVABLE (spec §2/§3/§4/§6): a token in an editable field. The chip BODY stays\n // PRESENTATIONAL (no focus ring / target floor of its own) — the trailing remove-control is the\n // one focusable part and owns its activation, target size, and focus ring. It is removed on\n // click, Backspace, or Delete when focused; a disabled control is native-disabled and inert.\n if (variant === \"removable\") {\n const removeName = removeLabel ?? `Remove ${name}`;\n const handleRemove = () => {\n if (!disabled) onRemove?.();\n };\n return (\n <span\n ref={ref}\n data-testid=\"identity-chip\"\n className={cn(identityChipVariants({ variant: \"removable\" }), className)}\n {...props}\n >\n {avatar}\n {text}\n {agentBadge}\n {verifiedBadge}\n <button\n type=\"button\"\n data-testid=\"identity-chip-remove\"\n aria-label={removeName}\n disabled={disabled}\n className={identityChipRemoveControlClass}\n onClick={handleRemove}\n onKeyDown={(e) => {\n // Backspace / Delete remove the chip when its control has focus (spec §6)\n if (e.key === \"Backspace\" || e.key === \"Delete\") {\n e.preventDefault();\n handleRemove();\n }\n }}\n >\n <RemoveGlyph />\n </button>\n </span>\n );\n }\n\n // STATIC (default, spec §3/§4/§6): a read-only inline reference. Non-interactive — no role, no\n // tabIndex, no focus ring, no target floor; skipped in the tab order. A native <span> grouping\n // the composed Avatar + the name text (+ any badges); the name is the accessible name.\n return (\n <span\n ref={ref}\n data-testid=\"identity-chip\"\n className={cn(identityChipVariants({ variant: \"static\" }), className)}\n {...props}\n >\n {avatar}\n {text}\n {agentBadge}\n {verifiedBadge}\n </span>\n );\n },\n);\n"],"mappings":";AA2CI,SAUE,KAVF;AAzCJ,YAAY,WAAW;AACvB,SAAS,UAAU;AACnB,SAAS,cAA+B;AACxC,SAAS,kBAAwC;AACjD,SAAS,qBAA8C;AACvD,SAAS,gBAAgB;AACzB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAyBP,SAAS,cAAc;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,MACX,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,QAAO;AAAA,MACP,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,gBAAe;AAAA,MACf,eAAY;AAAA,MAEZ;AAAA,4BAAC,UAAK,GAAE,cAAa;AAAA,QACrB,oBAAC,UAAK,GAAE,cAAa;AAAA;AAAA;AAAA,EACvB;AAEJ;AAuGO,MAAM,eAAe,MAAM;AAAA,EAChC,SAASA,cACP;AAAA,IACE;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,UAAU;AAAA,IACV,cAAc;AAAA,IACd,GAAG;AAAA,EACL,GACA,KACA;AACA,UAAM,UAAU,MAAM,MAAM;AAC5B,UAAM,SAAS,GAAG,OAAO;AACzB,UAAM,cAAc,GAAG,OAAO;AAC9B,UAAM,MAAM,aAAa;AACzB,UAAM,aAAyB;AAM/B,QAAI,SAAS;AACX,aACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,eAAY;AAAA,UACZ,aAAU;AAAA,UACV,WAAW,GAAG,qBAAqB,EAAE,SAAS,SAAS,CAAC,GAAG,qBAAqB,SAAS;AAAA,UACxF,GAAG;AAAA,UAEJ;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,SAAQ;AAAA,gBACR,eAAY;AAAA,gBACZ,WAAU;AAAA;AAAA,YACZ;AAAA,YACA,oBAAC,YAAS,SAAQ,QAAO,WAAU,kBAAiB;AAAA;AAAA;AAAA,MACtD;AAAA,IAEJ;AAKA,UAAM,SACJ;AAAA,MAAC;AAAA;AAAA,QACC,eAAY;AAAA,QACZ,YAAU;AAAA,QACV,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAMF,UAAM,OACJ,qBAAC,UAAK,WAAW,uBACf;AAAA,0BAAC,UAAK,IAAI,QAAQ,WAAW,uBAC1B,gBACH;AAAA,MACC,aAAa,OACZ,oBAAC,UAAK,WAAW,4BAA6B,qBAAU,IACtD;AAAA,OACN;AAKF,UAAM,aACJ,SAAS,OACP,oBAAC,cAAW,eAAY,uBAAuB,GAAG,OAAO,IACvD;AAKN,UAAM,gBACJ,YAAY,OACV,oBAAC,iBAAc,eAAY,0BAA0B,GAAG,UAAU,IAChE;AASN,QAAI,YAAY,eAAe;AAG7B,YAAM,EAAE,MAAM,SAAS,aAAa,GAAG,iBAAiB,IAAI;AAI5D,YAAM,YACJ,SAAS,QAAQ,OAAO,MAAM,YAAY,MAAM,WAC5C,MAAM,YAAY,IAClB;AACN,YAAM,iBAAiB,YAAY,GAAG,IAAI,KAAK,SAAS,MAAM;AAC9D,YAAM,UAAU,GAAG,qBAAqB,EAAE,SAAS,cAAc,CAAC,GAAG,SAAS;AAG9E,YAAM,aACJ,SAAS,OACP,oBAAC,UAAK,IAAI,aAAa,eAAY,QACjC,8BAAC,cAAW,eAAY,uBAAuB,GAAG,OAAO,cAAY,QAAW,GAClF,IACE;AAGN,UAAI,SAAS,UAAa,CAAC,UAAU;AACnC,eACE;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,eAAY;AAAA,YACZ;AAAA,YACA,cAAY,iBAAiB;AAAA,YAC7B,WAAW;AAAA,YACX,SAAS;AAAA,YACR,GAAI;AAAA,YAEJ;AAAA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA;AAAA;AAAA,QACH;AAAA,MAEJ;AACA,aACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,MAAK;AAAA,UACL,eAAY;AAAA,UACZ,cAAY,iBAAiB;AAAA,UAC7B,iBAAe,YAAY;AAAA,UAC3B,WAAW;AAAA,UAGX,SACE,WACI,CAAC,MAAwB,EAAE,eAAe,IACzC;AAAA,UAEN,GAAI;AAAA,UAEJ;AAAA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA;AAAA,MACH;AAAA,IAEJ;AAMA,QAAI,YAAY,aAAa;AAC3B,YAAM,aAAa,eAAe,UAAU,IAAI;AAChD,YAAM,eAAe,MAAM;AACzB,YAAI,CAAC,SAAU,YAAW;AAAA,MAC5B;AACA,aACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,eAAY;AAAA,UACZ,WAAW,GAAG,qBAAqB,EAAE,SAAS,YAAY,CAAC,GAAG,SAAS;AAAA,UACtE,GAAG;AAAA,UAEH;AAAA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACD;AAAA,cAAC;AAAA;AAAA,gBACC,MAAK;AAAA,gBACL,eAAY;AAAA,gBACZ,cAAY;AAAA,gBACZ;AAAA,gBACA,WAAW;AAAA,gBACX,SAAS;AAAA,gBACT,WAAW,CAAC,MAAM;AAEhB,sBAAI,EAAE,QAAQ,eAAe,EAAE,QAAQ,UAAU;AAC/C,sBAAE,eAAe;AACjB,iCAAa;AAAA,kBACf;AAAA,gBACF;AAAA,gBAEA,8BAAC,eAAY;AAAA;AAAA,YACf;AAAA;AAAA;AAAA,MACF;AAAA,IAEJ;AAKA,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAY;AAAA,QACZ,WAAW,GAAG,qBAAqB,EAAE,SAAS,SAAS,CAAC,GAAG,SAAS;AAAA,QACnE,GAAG;AAAA,QAEH;AAAA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;","names":["IdentityChip"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
export declare const identityChipVariants: (props?: ({
|
|
3
|
+
variant?: "static" | "interactive" | "removable" | null | undefined;
|
|
4
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
5
|
+
export declare const identityChipNameClass = "min-w-0 truncate text-label text-text-primary";
|
|
6
|
+
export declare const identityChipSecondaryClass = "min-w-0 truncate text-caption text-text-secondary";
|
|
7
|
+
export declare const identityChipTextClass = "flex min-w-0 flex-col";
|
|
8
|
+
export declare const identityChipRemoveControlClass: string;
|
|
9
|
+
export declare const identityChipRemoveGlyphClass = "h-(--size-icon-sm) w-(--size-icon-sm)";
|
|
10
|
+
export type IdentityChipVariantProps = VariantProps<typeof identityChipVariants>;
|
|
11
|
+
//# sourceMappingURL=identity-chip.variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-chip.variants.d.ts","sourceRoot":"","sources":["../../../src/components/identity-chip/identity-chip.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAqClE,eAAO,MAAM,oBAAoB;;8EA6ChC,CAAC;AAKF,eAAO,MAAM,qBAAqB,kDAAkD,CAAC;AAKrF,eAAO,MAAM,0BAA0B,sDAAsD,CAAC;AAK9F,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAQ7D,eAAO,MAAM,8BAA8B,QASiB,CAAC;AAI7D,eAAO,MAAM,4BAA4B,0CAA0C,CAAC;AAEpF,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { cva } from "class-variance-authority";
|
|
2
|
+
const identityChipVariants = cva(
|
|
3
|
+
[
|
|
4
|
+
// shape / layout: a single inline row, never shrinking in a flex line, names truncatable
|
|
5
|
+
"inline-flex min-w-0 shrink-0 items-center gap-(--space-1) px-(--space-2)",
|
|
6
|
+
// full radius + the neutral raised surface + the muted separating hairline (spec §5)
|
|
7
|
+
"rounded-(--radius-full) bg-surface-raised border border-surface-border-muted",
|
|
8
|
+
// relative so a loading Skeleton can be positioned absolute inset-0 inside (Avatar pattern)
|
|
9
|
+
"relative",
|
|
10
|
+
// global-first: never wrap the row; logical alignment so it mirrors under dir=rtl (G-U6)
|
|
11
|
+
"whitespace-nowrap text-start"
|
|
12
|
+
],
|
|
13
|
+
{
|
|
14
|
+
variants: {
|
|
15
|
+
// STRUCTURAL axis = spec §3 (how the chip is USED, never status, never a brand fill).
|
|
16
|
+
variant: {
|
|
17
|
+
// static (default): a read-only inline reference — non-interactive, no focus, no hit
|
|
18
|
+
// target, no hover. The common case (spec §3).
|
|
19
|
+
static: "",
|
|
20
|
+
// interactive: the chip body is itself a control (an account-switcher trigger, a chip
|
|
21
|
+
// that opens the profile). It takes the focus ring, the target-size floor, the restrained
|
|
22
|
+
// ghost hover/press fill, and the fast functional transition (spec §3/§4). DEC-C: a
|
|
23
|
+
// disabled control dims the label/name via the disabled TOKEN, never a blanket opacity.
|
|
24
|
+
interactive: [
|
|
25
|
+
"cursor-pointer",
|
|
26
|
+
// fast functional motion on verdify easing; instant under reduced motion (NEVER deliberate)
|
|
27
|
+
"transition-colors duration-(--motion-duration-fast) ease-(--motion-easing-verdify)",
|
|
28
|
+
"motion-reduce:duration-(--motion-duration-instant)",
|
|
29
|
+
// target-size floor — 44px touch / 40px pointer (spec §5/§7, WCAG 2.5.8)
|
|
30
|
+
"min-h-(--size-target-mobile) sm:min-h-(--size-target-desktop)",
|
|
31
|
+
// restrained ghost hover/press fill — quiet neutral, never a status or brand color (spec §4)
|
|
32
|
+
"hover:bg-action-ghost-bg-hover active:bg-action-ghost-bg-hover",
|
|
33
|
+
// focus ring — always visible, never removed (spec §4/§7)
|
|
34
|
+
"outline-none focus-visible:ring-2 focus-visible:ring-border-focus focus-visible:ring-offset-2",
|
|
35
|
+
// disabled — DEC-C: dim the label via the disabled TOKEN, inert, never opacity-60 (spec §4)
|
|
36
|
+
"aria-disabled:pointer-events-none aria-disabled:text-text-disabled"
|
|
37
|
+
],
|
|
38
|
+
// removable: a token in an editable field. The chip BODY stays presentational (no focus
|
|
39
|
+
// ring / target floor of its own) — the trailing remove-control is the focusable part and
|
|
40
|
+
// owns the target size + focus ring (set on removeControlClass). The body keeps the static
|
|
41
|
+
// surface (spec §3/§4).
|
|
42
|
+
removable: ""
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
defaultVariants: { variant: "static" }
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
const identityChipNameClass = "min-w-0 truncate text-label text-text-primary";
|
|
49
|
+
const identityChipSecondaryClass = "min-w-0 truncate text-caption text-text-secondary";
|
|
50
|
+
const identityChipTextClass = "flex min-w-0 flex-col";
|
|
51
|
+
const identityChipRemoveControlClass = "inline-flex shrink-0 items-center justify-center rounded-(--radius-full) min-h-(--size-target-mobile) min-w-(--size-target-mobile) sm:min-h-(--size-target-desktop) sm:min-w-(--size-target-desktop) text-action-ghost-fg cursor-pointer transition-colors duration-(--motion-duration-fast) ease-(--motion-easing-verdify) motion-reduce:duration-(--motion-duration-instant) hover:bg-action-ghost-bg-hover active:bg-action-ghost-bg-hover outline-none focus-visible:ring-2 focus-visible:ring-border-focus focus-visible:ring-offset-2 disabled:pointer-events-none disabled:text-text-disabled";
|
|
52
|
+
const identityChipRemoveGlyphClass = "h-(--size-icon-sm) w-(--size-icon-sm)";
|
|
53
|
+
export {
|
|
54
|
+
identityChipNameClass,
|
|
55
|
+
identityChipRemoveControlClass,
|
|
56
|
+
identityChipRemoveGlyphClass,
|
|
57
|
+
identityChipSecondaryClass,
|
|
58
|
+
identityChipTextClass,
|
|
59
|
+
identityChipVariants
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=identity-chip.variants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/identity-chip/identity-chip.variants.ts"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\n\n// An IdentityChip is a compact inline reference to a single identity — a person or an AI agent\n// (spec §1). It COMPOSES the committed primitives — the Avatar for the picture, the optional\n// AgentBadge for the actor kind, the optional VerifiedBadge for a surfaced verification, and a\n// Skeleton in the chip's shape while the identity is still resolving — rather than reinventing\n// any of them. This file binds ONLY the chip body's neutral surface + text-role + layout classes\n// and (for the interactive variants) the ghost hover/press fill, the focus ring, the target-size\n// floor, and the fast functional transition; every composed primitive owns its own tokens.\n//\n// brand != state (spec §3/§5/§8). A chip carries NO status of its own — it reports who, never a\n// result — so the chip body consumes NOTHING from the status tier: no --color-status-* token is\n// bound here, and the verified-status green lives entirely inside the composed VerifiedBadge,\n// never painted on the chip. The brand violet (Sovereign Violet, the action accent) is never a\n// chip FILL either: the brand is not a status and a chip is not an action, so the body paints\n// from neutral surface / text / border roles. The interactive variants are real controls, so\n// they legitimately bind the ACTION-GHOST hover/press fill and the focus ring — the restrained\n// neutral control treatment, never a brand-colored or status-colored chip.\n//\n// The motion is the functional fast transition on verdify easing, collapsing to the instant\n// endpoint under reduced motion — never the 350ms VerifiedBadge-only theatre duration: a chip\n// is not a verification (G-U3).\n\n// The chip container (spec §2/§3/§4/§5). A self-contained rounded unit that holds the avatar,\n// the name, and the reserved badge positions in a single inline row at the --space-1 gap with\n// --space-2 inline padding, on the NEUTRAL raised surface with the muted hairline that separates\n// it from a same-colored surface. `relative` so a loading-state Skeleton placed inside can sit\n// `absolute inset-0` (the committed Avatar/Skeleton pattern). `min-w-0` so the name can truncate\n// rather than overflow when the chip is width-constrained (spec §2 — the name is never dropped).\n//\n// The `variant` axis is about HOW the chip is used (spec §3), never status and never a brand\n// fill — so NONE of the variants recolors the body. `static` (default) is a passive frame: no\n// focus, no hit target, no hover (spec §3/§4/§6). `interactive` and `removable` are real controls\n// and add the ghost hover/press fill, the focus ring, the target-size floor, and the fast\n// functional transition — the difference is the keyboard model and which element takes focus\n// (the body for `interactive`, the trailing remove-control for `removable`), carried by the tsx,\n// not by recoloring here.\nexport const identityChipVariants = cva(\n [\n // shape / layout: a single inline row, never shrinking in a flex line, names truncatable\n \"inline-flex min-w-0 shrink-0 items-center gap-(--space-1) px-(--space-2)\",\n // full radius + the neutral raised surface + the muted separating hairline (spec §5)\n \"rounded-(--radius-full) bg-surface-raised border border-surface-border-muted\",\n // relative so a loading Skeleton can be positioned absolute inset-0 inside (Avatar pattern)\n \"relative\",\n // global-first: never wrap the row; logical alignment so it mirrors under dir=rtl (G-U6)\n \"whitespace-nowrap text-start\",\n ],\n {\n variants: {\n // STRUCTURAL axis = spec §3 (how the chip is USED, never status, never a brand fill).\n variant: {\n // static (default): a read-only inline reference — non-interactive, no focus, no hit\n // target, no hover. The common case (spec §3).\n static: \"\",\n // interactive: the chip body is itself a control (an account-switcher trigger, a chip\n // that opens the profile). It takes the focus ring, the target-size floor, the restrained\n // ghost hover/press fill, and the fast functional transition (spec §3/§4). DEC-C: a\n // disabled control dims the label/name via the disabled TOKEN, never a blanket opacity.\n interactive: [\n \"cursor-pointer\",\n // fast functional motion on verdify easing; instant under reduced motion (NEVER deliberate)\n \"transition-colors duration-(--motion-duration-fast) ease-(--motion-easing-verdify)\",\n \"motion-reduce:duration-(--motion-duration-instant)\",\n // target-size floor — 44px touch / 40px pointer (spec §5/§7, WCAG 2.5.8)\n \"min-h-(--size-target-mobile) sm:min-h-(--size-target-desktop)\",\n // restrained ghost hover/press fill — quiet neutral, never a status or brand color (spec §4)\n \"hover:bg-action-ghost-bg-hover active:bg-action-ghost-bg-hover\",\n // focus ring — always visible, never removed (spec §4/§7)\n \"outline-none focus-visible:ring-2 focus-visible:ring-border-focus focus-visible:ring-offset-2\",\n // disabled — DEC-C: dim the label via the disabled TOKEN, inert, never opacity-60 (spec §4)\n \"aria-disabled:pointer-events-none aria-disabled:text-text-disabled\",\n ],\n // removable: a token in an editable field. The chip BODY stays presentational (no focus\n // ring / target floor of its own) — the trailing remove-control is the focusable part and\n // owns the target size + focus ring (set on removeControlClass). The body keeps the static\n // surface (spec §3/§4).\n removable: \"\",\n },\n },\n defaultVariants: { variant: \"static\" },\n },\n);\n\n// The display name (spec §2/§5): the identity's name in the LABEL type role + the PRIMARY text\n// color. It carries the identity in the accessibility tree as text, so it is never the only part\n// dropped at small sizes — it truncates with an ellipsis rather than disappearing (spec §2/§7).\nexport const identityChipNameClass = \"min-w-0 truncate text-label text-text-primary\";\n\n// The optional supporting line (spec §2/§5): one handle / role / profile-context line that\n// disambiguates two identities sharing a name, in the CAPTION type role + the SECONDARY text\n// color. Supporting detail only — never a credential value and never a status color.\nexport const identityChipSecondaryClass = \"min-w-0 truncate text-caption text-text-secondary\";\n\n// The text block (spec §2): stacks the name above the optional secondary line; takes the\n// remaining inline space between the avatar and the reserved badge positions and lets the name\n// truncate (min-w-0) rather than overflow.\nexport const identityChipTextClass = \"flex min-w-0 flex-col\";\n\n// The trailing remove-control of the `removable` variant (spec §2/§4/§5/§6). It is the ONE\n// focusable part of a removable chip and owns its own activation, so it carries the target-size\n// floor, the focus ring, and the ghost hover/press fill — the control treatment lives HERE, not\n// on the chip body. The glyph takes the action-ghost foreground at the sm icon role; under reduced\n// motion the transition collapses to the instant endpoint. DEC-C: a disabled remove dims via the\n// disabled TOKEN, never a blanket opacity.\nexport const identityChipRemoveControlClass =\n \"inline-flex shrink-0 items-center justify-center rounded-(--radius-full) \" +\n \"min-h-(--size-target-mobile) min-w-(--size-target-mobile) \" +\n \"sm:min-h-(--size-target-desktop) sm:min-w-(--size-target-desktop) \" +\n \"text-action-ghost-fg cursor-pointer \" +\n \"transition-colors duration-(--motion-duration-fast) ease-(--motion-easing-verdify) \" +\n \"motion-reduce:duration-(--motion-duration-instant) \" +\n \"hover:bg-action-ghost-bg-hover active:bg-action-ghost-bg-hover \" +\n \"outline-none focus-visible:ring-2 focus-visible:ring-border-focus focus-visible:ring-offset-2 \" +\n \"disabled:pointer-events-none disabled:text-text-disabled\";\n\n// The remove-control glyph (spec §5): one small decorative mark at the sm icon role, inheriting\n// the control's action-ghost foreground via currentColor.\nexport const identityChipRemoveGlyphClass = \"h-(--size-icon-sm) w-(--size-icon-sm)\";\n\nexport type IdentityChipVariantProps = VariantProps<typeof identityChipVariants>;\n"],"mappings":"AAAA,SAAS,WAA8B;AAqChC,MAAM,uBAAuB;AAAA,EAClC;AAAA;AAAA,IAEE;AAAA;AAAA,IAEA;AAAA;AAAA,IAEA;AAAA;AAAA,IAEA;AAAA,EACF;AAAA,EACA;AAAA,IACE,UAAU;AAAA;AAAA,MAER,SAAS;AAAA;AAAA;AAAA,QAGP,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,QAKR,aAAa;AAAA,UACX;AAAA;AAAA,UAEA;AAAA,UACA;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA;AAAA,UAEA;AAAA,QACF;AAAA;AAAA;AAAA;AAAA;AAAA,QAKA,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,iBAAiB,EAAE,SAAS,SAAS;AAAA,EACvC;AACF;AAKO,MAAM,wBAAwB;AAK9B,MAAM,6BAA6B;AAKnC,MAAM,wBAAwB;AAQ9B,MAAM,iCACX;AAYK,MAAM,+BAA+B;","names":[]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { IdentityChip, type IdentityChipProps, type IdentityChipVariant, type IdentityChipAgent, type IdentityChipVerified, } from "./identity-chip";
|
|
2
|
+
export { identityChipVariants, identityChipNameClass, identityChipSecondaryClass, identityChipTextClass, identityChipRemoveControlClass, identityChipRemoveGlyphClass, type IdentityChipVariantProps, } from "./identity-chip.variants";
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/identity-chip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACrB,8BAA8B,EAC9B,4BAA4B,EAC5B,KAAK,wBAAwB,GAC9B,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IdentityChip
|
|
3
|
+
} from "./identity-chip";
|
|
4
|
+
import {
|
|
5
|
+
identityChipVariants,
|
|
6
|
+
identityChipNameClass,
|
|
7
|
+
identityChipSecondaryClass,
|
|
8
|
+
identityChipTextClass,
|
|
9
|
+
identityChipRemoveControlClass,
|
|
10
|
+
identityChipRemoveGlyphClass
|
|
11
|
+
} from "./identity-chip.variants";
|
|
12
|
+
export {
|
|
13
|
+
IdentityChip,
|
|
14
|
+
identityChipNameClass,
|
|
15
|
+
identityChipRemoveControlClass,
|
|
16
|
+
identityChipRemoveGlyphClass,
|
|
17
|
+
identityChipSecondaryClass,
|
|
18
|
+
identityChipTextClass,
|
|
19
|
+
identityChipVariants
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/identity-chip/index.ts"],"sourcesContent":["export {\n IdentityChip,\n type IdentityChipProps,\n type IdentityChipVariant,\n type IdentityChipAgent,\n type IdentityChipVerified,\n} from \"./identity-chip\";\nexport {\n identityChipVariants,\n identityChipNameClass,\n identityChipSecondaryClass,\n identityChipTextClass,\n identityChipRemoveControlClass,\n identityChipRemoveGlyphClass,\n type IdentityChipVariantProps,\n} from \"./identity-chip.variants\";\n"],"mappings":"AAAA;AAAA,EACE;AAAA,OAKK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/input/index.ts"],"sourcesContent":["export { Input, type InputProps } from \"./input\";\nexport {\n inputVariants,\n inputMessageVariants,\n type InputVariantProps,\n} from \"./input.variants\";\n"],"mappings":"AAAA,SAAS,aAA8B;AACvC;AAAA,EACE;AAAA,EACA;AAAA,OAEK;","names":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type InputVariantProps } from "./input.variants";
|
|
3
|
+
export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size">, Pick<InputVariantProps, "size"> {
|
|
4
|
+
/** Required: the field is wired to a sibling <label for={id}> (or aria-label). */
|
|
5
|
+
id: string;
|
|
6
|
+
/** Icon/prefix inside the inline-start edge (search glyph, currency mark). */
|
|
7
|
+
leading?: React.ReactNode;
|
|
8
|
+
/** Icon/affordance inside the inline-end edge (clear, reveal, unit suffix). */
|
|
9
|
+
trailing?: React.ReactNode;
|
|
10
|
+
/** Neutral description below the field, wired by aria-describedby. */
|
|
11
|
+
help?: React.ReactNode;
|
|
12
|
+
/** Error message below the field: sets aria-invalid + critical border, wired
|
|
13
|
+
* by aria-describedby so the reason is read with the field. */
|
|
14
|
+
error?: React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
|
|
17
|
+
//# sourceMappingURL=input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/components/input/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,EAC/D,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACjC,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,sEAAsE;IACtE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;oEACgE;IAChE,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAKD,eAAO,MAAM,KAAK,qFAoEjB,CAAC"}
|