@mattermost/compass-ui 0.1.0-alpha.6 → 0.1.0-alpha.7
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/dist/components/action-button/ActionButton.cjs.map +1 -1
- package/dist/components/action-button/ActionButton.d.ts +1 -0
- package/dist/components/action-button/ActionButton.d.ts.map +1 -1
- package/dist/components/action-button/ActionButton.js.map +1 -1
- package/dist/components/admin-panel/AdminPanel.cjs.map +1 -1
- package/dist/components/admin-panel/AdminPanel.d.ts +1 -0
- package/dist/components/admin-panel/AdminPanel.d.ts.map +1 -1
- package/dist/components/admin-panel/AdminPanel.js.map +1 -1
- package/dist/components/admin-panel-header/AdminPanelHeader.cjs.map +1 -1
- package/dist/components/admin-panel-header/AdminPanelHeader.d.ts +1 -0
- package/dist/components/admin-panel-header/AdminPanelHeader.d.ts.map +1 -1
- package/dist/components/admin-panel-header/AdminPanelHeader.js.map +1 -1
- package/dist/components/button/Button.cjs +1 -1
- package/dist/components/button/Button.cjs.map +1 -1
- package/dist/components/button/Button.d.ts +2 -2
- package/dist/components/button/Button.d.ts.map +1 -1
- package/dist/components/button/Button.js +24 -24
- package/dist/components/button/Button.js.map +1 -1
- package/dist/components/button/Button.module.css +1 -1
- package/dist/components/button/Button.module.scss.cjs +1 -1
- package/dist/components/button/Button.module.scss.js +13 -12
- package/dist/components/button/Button.module.scss.js.map +1 -1
- package/dist/components/card-button/CardButton.cjs +2 -0
- package/dist/components/card-button/CardButton.cjs.map +1 -0
- package/dist/components/card-button/CardButton.d.ts +20 -0
- package/dist/components/card-button/CardButton.d.ts.map +1 -0
- package/dist/components/card-button/CardButton.js +45 -0
- package/dist/components/card-button/CardButton.js.map +1 -0
- package/dist/components/card-button/CardButton.module.css +1 -0
- package/dist/components/card-button/CardButton.module.scss.cjs +2 -0
- package/dist/components/card-button/CardButton.module.scss.cjs.map +1 -0
- package/dist/components/card-button/CardButton.module.scss.js +13 -0
- package/dist/components/card-button/CardButton.module.scss.js.map +1 -0
- package/dist/components/card-button/CardButtonGroup.cjs +2 -0
- package/dist/components/card-button/CardButtonGroup.cjs.map +1 -0
- package/dist/components/card-button/CardButtonGroup.d.ts +13 -0
- package/dist/components/card-button/CardButtonGroup.d.ts.map +1 -0
- package/dist/components/card-button/CardButtonGroup.js +85 -0
- package/dist/components/card-button/CardButtonGroup.js.map +1 -0
- package/dist/components/card-button/CardButtonGroup.module.css +1 -0
- package/dist/components/card-button/CardButtonGroup.module.scss.cjs +2 -0
- package/dist/components/card-button/CardButtonGroup.module.scss.cjs.map +1 -0
- package/dist/components/card-button/CardButtonGroup.module.scss.js +7 -0
- package/dist/components/card-button/CardButtonGroup.module.scss.js.map +1 -0
- package/dist/components/card-button/index.cjs +2 -0
- package/dist/components/card-button/index.d.ts +5 -0
- package/dist/components/card-button/index.d.ts.map +1 -0
- package/dist/components/card-button/index.js +7 -0
- package/dist/components/card-button/index.js.map +1 -0
- package/dist/components/emoji-button/EmojiButton.cjs +2 -0
- package/dist/components/emoji-button/EmojiButton.cjs.map +1 -0
- package/dist/components/emoji-button/EmojiButton.d.ts +30 -0
- package/dist/components/emoji-button/EmojiButton.d.ts.map +1 -0
- package/dist/components/emoji-button/EmojiButton.js +35 -0
- package/dist/components/emoji-button/EmojiButton.js.map +1 -0
- package/dist/components/emoji-button/EmojiButton.module.css +1 -0
- package/dist/components/emoji-button/EmojiButton.module.scss.cjs +2 -0
- package/dist/components/emoji-button/EmojiButton.module.scss.cjs.map +1 -0
- package/dist/components/emoji-button/EmojiButton.module.scss.js +15 -0
- package/dist/components/emoji-button/EmojiButton.module.scss.js.map +1 -0
- package/dist/components/emoji-button/index.cjs +2 -0
- package/dist/components/emoji-button/index.cjs.map +1 -0
- package/dist/components/emoji-button/index.d.ts +3 -0
- package/dist/components/emoji-button/index.d.ts.map +1 -0
- package/dist/components/emoji-button/index.js +6 -0
- package/dist/components/emoji-popover/EmojiPopover.cjs +2 -0
- package/dist/components/emoji-popover/EmojiPopover.cjs.map +1 -0
- package/dist/components/emoji-popover/EmojiPopover.d.ts +34 -0
- package/dist/components/emoji-popover/EmojiPopover.d.ts.map +1 -0
- package/dist/components/emoji-popover/EmojiPopover.js +244 -0
- package/dist/components/emoji-popover/EmojiPopover.js.map +1 -0
- package/dist/components/emoji-popover/EmojiPopover.module.css +1 -0
- package/dist/components/emoji-popover/EmojiPopover.module.scss.cjs +2 -0
- package/dist/components/emoji-popover/EmojiPopover.module.scss.cjs.map +1 -0
- package/dist/components/emoji-popover/EmojiPopover.module.scss.js +27 -0
- package/dist/components/emoji-popover/EmojiPopover.module.scss.js.map +1 -0
- package/dist/components/{message-reactions → emoji-popover}/index.cjs +1 -1
- package/dist/components/emoji-popover/index.cjs.map +1 -0
- package/dist/components/emoji-popover/index.d.ts +3 -0
- package/dist/components/emoji-popover/index.d.ts.map +1 -0
- package/dist/components/emoji-popover/index.js +5 -0
- package/dist/components/emoji-popover/index.js.map +1 -0
- package/dist/components/global-banner/GlobalBanner.cjs.map +1 -1
- package/dist/components/global-banner/GlobalBanner.d.ts +1 -1
- package/dist/components/global-banner/GlobalBanner.d.ts.map +1 -1
- package/dist/components/global-banner/GlobalBanner.js.map +1 -1
- package/dist/components/global-header/GlobalHeader.module.css +1 -1
- package/dist/components/global-header/GlobalHeader.module.scss.cjs +1 -1
- package/dist/components/global-header/GlobalHeader.module.scss.js +16 -16
- package/dist/components/menu-group-heading/MenuGroupHeading.cjs +2 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.cjs.map +1 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.d.ts +11 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.d.ts.map +1 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.js +20 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.js.map +1 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.module.css +1 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.module.scss.cjs +2 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.module.scss.cjs.map +1 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.module.scss.js +8 -0
- package/dist/components/menu-group-heading/MenuGroupHeading.module.scss.js.map +1 -0
- package/dist/components/menu-group-heading/index.cjs +2 -0
- package/dist/components/menu-group-heading/index.cjs.map +1 -0
- package/dist/components/menu-group-heading/index.d.ts +3 -0
- package/dist/components/menu-group-heading/index.d.ts.map +1 -0
- package/dist/components/menu-group-heading/index.js +5 -0
- package/dist/components/menu-group-heading/index.js.map +1 -0
- package/dist/components/menu-item/MenuItem.cjs.map +1 -1
- package/dist/components/menu-item/MenuItem.d.ts +2 -2
- package/dist/components/menu-item/MenuItem.d.ts.map +1 -1
- package/dist/components/menu-item/MenuItem.js.map +1 -1
- package/dist/components/message-separator/MessageSeparator.cjs +1 -1
- package/dist/components/message-separator/MessageSeparator.cjs.map +1 -1
- package/dist/components/message-separator/MessageSeparator.d.ts +1 -1
- package/dist/components/message-separator/MessageSeparator.js +1 -1
- package/dist/components/message-separator/MessageSeparator.js.map +1 -1
- package/dist/components/modal/Modal.cjs +1 -1
- package/dist/components/modal/Modal.cjs.map +1 -1
- package/dist/components/modal/Modal.d.ts +43 -11
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +56 -74
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/modal/Modal.module.css +1 -1
- package/dist/components/modal/Modal.module.scss.cjs +1 -1
- package/dist/components/modal/Modal.module.scss.js +12 -25
- package/dist/components/modal/Modal.module.scss.js.map +1 -1
- package/dist/components/modal/index.d.ts +1 -1
- package/dist/components/modal/index.d.ts.map +1 -1
- package/dist/components/modal-footer/ModalFooter.cjs +2 -0
- package/dist/components/modal-footer/ModalFooter.cjs.map +1 -0
- package/dist/components/modal-footer/ModalFooter.d.ts +29 -0
- package/dist/components/modal-footer/ModalFooter.d.ts.map +1 -0
- package/dist/components/modal-footer/ModalFooter.js +31 -0
- package/dist/components/modal-footer/ModalFooter.js.map +1 -0
- package/dist/components/modal-footer/ModalFooter.module.css +1 -0
- package/dist/components/modal-footer/ModalFooter.module.scss.cjs +2 -0
- package/dist/components/modal-footer/ModalFooter.module.scss.cjs.map +1 -0
- package/dist/components/modal-footer/ModalFooter.module.scss.js +17 -0
- package/dist/components/modal-footer/ModalFooter.module.scss.js.map +1 -0
- package/dist/components/modal-footer/index.cjs +2 -0
- package/dist/components/modal-footer/index.cjs.map +1 -0
- package/dist/components/modal-footer/index.d.ts +3 -0
- package/dist/components/modal-footer/index.d.ts.map +1 -0
- package/dist/components/modal-footer/index.js +5 -0
- package/dist/components/modal-footer/index.js.map +1 -0
- package/dist/components/modal-header/ModalHeader.cjs +2 -0
- package/dist/components/modal-header/ModalHeader.cjs.map +1 -0
- package/dist/components/modal-header/ModalHeader.d.ts +38 -0
- package/dist/components/modal-header/ModalHeader.d.ts.map +1 -0
- package/dist/components/modal-header/ModalHeader.js +74 -0
- package/dist/components/modal-header/ModalHeader.js.map +1 -0
- package/dist/components/modal-header/ModalHeader.module.css +1 -0
- package/dist/components/modal-header/ModalHeader.module.scss.cjs +2 -0
- package/dist/components/modal-header/ModalHeader.module.scss.cjs.map +1 -0
- package/dist/components/modal-header/ModalHeader.module.scss.js +19 -0
- package/dist/components/modal-header/ModalHeader.module.scss.js.map +1 -0
- package/dist/components/modal-header/index.cjs +2 -0
- package/dist/components/modal-header/index.cjs.map +1 -0
- package/dist/components/modal-header/index.d.ts +3 -0
- package/dist/components/modal-header/index.d.ts.map +1 -0
- package/dist/components/modal-header/index.js +5 -0
- package/dist/components/modal-header/index.js.map +1 -0
- package/dist/components/popover-notice/PopoverNotice.cjs.map +1 -1
- package/dist/components/popover-notice/PopoverNotice.d.ts +1 -1
- package/dist/components/popover-notice/PopoverNotice.d.ts.map +1 -1
- package/dist/components/popover-notice/PopoverNotice.js.map +1 -1
- package/dist/components/reaction-button/ReactionButton.cjs +2 -0
- package/dist/components/reaction-button/ReactionButton.cjs.map +1 -0
- package/dist/components/reaction-button/ReactionButton.d.ts +17 -0
- package/dist/components/reaction-button/ReactionButton.d.ts.map +1 -0
- package/dist/components/reaction-button/ReactionButton.js +42 -0
- package/dist/components/reaction-button/ReactionButton.js.map +1 -0
- package/dist/components/reaction-button/ReactionButton.module.css +1 -0
- package/dist/components/reaction-button/ReactionButton.module.scss.cjs +2 -0
- package/dist/components/reaction-button/ReactionButton.module.scss.cjs.map +1 -0
- package/dist/components/reaction-button/ReactionButton.module.scss.js +12 -0
- package/dist/components/reaction-button/ReactionButton.module.scss.js.map +1 -0
- package/dist/components/reaction-button/index.cjs +2 -0
- package/dist/components/reaction-button/index.cjs.map +1 -0
- package/dist/components/reaction-button/index.d.ts +3 -0
- package/dist/components/reaction-button/index.d.ts.map +1 -0
- package/dist/components/reaction-button/index.js +5 -0
- package/dist/components/reaction-button/index.js.map +1 -0
- package/dist/components/reactions-row/ReactionsRow.cjs +2 -0
- package/dist/components/reactions-row/ReactionsRow.cjs.map +1 -0
- package/dist/components/{message-reactions/MessageReactions.d.ts → reactions-row/ReactionsRow.d.ts} +5 -5
- package/dist/components/reactions-row/ReactionsRow.d.ts.map +1 -0
- package/dist/components/reactions-row/ReactionsRow.js +71 -0
- package/dist/components/reactions-row/ReactionsRow.js.map +1 -0
- package/dist/components/reactions-row/ReactionsRow.module.css +1 -0
- package/dist/components/reactions-row/ReactionsRow.module.scss.cjs +2 -0
- package/dist/components/reactions-row/ReactionsRow.module.scss.cjs.map +1 -0
- package/dist/components/reactions-row/ReactionsRow.module.scss.js +14 -0
- package/dist/components/reactions-row/ReactionsRow.module.scss.js.map +1 -0
- package/dist/components/reactions-row/index.cjs +2 -0
- package/dist/components/reactions-row/index.cjs.map +1 -0
- package/dist/components/reactions-row/index.d.ts +3 -0
- package/dist/components/reactions-row/index.d.ts.map +1 -0
- package/dist/components/reactions-row/index.js +5 -0
- package/dist/components/reactions-row/index.js.map +1 -0
- package/dist/components/right-sidebar-header/RightSidebarHeader.cjs.map +1 -1
- package/dist/components/right-sidebar-header/RightSidebarHeader.d.ts +1 -1
- package/dist/components/right-sidebar-header/RightSidebarHeader.d.ts.map +1 -1
- package/dist/components/right-sidebar-header/RightSidebarHeader.js.map +1 -1
- package/dist/components/section-notice/SectionNotice.cjs.map +1 -1
- package/dist/components/section-notice/SectionNotice.d.ts +1 -1
- package/dist/components/section-notice/SectionNotice.d.ts.map +1 -1
- package/dist/components/section-notice/SectionNotice.js.map +1 -1
- package/dist/components/tag/Tag.cjs.map +1 -1
- package/dist/components/tag/Tag.d.ts +1 -1
- package/dist/components/tag/Tag.d.ts.map +1 -1
- package/dist/components/tag/Tag.js.map +1 -1
- package/dist/components/text-input/TextInput.cjs.map +1 -1
- package/dist/components/text-input/TextInput.d.ts +1 -1
- package/dist/components/text-input/TextInput.d.ts.map +1 -1
- package/dist/components/text-input/TextInput.js.map +1 -1
- package/dist/components/thread-footer/ThreadFooter.module.css +1 -1
- package/dist/components/thread-footer/ThreadFooter.module.scss.cjs +1 -1
- package/dist/components/thread-footer/ThreadFooter.module.scss.js +19 -19
- package/dist/components/tooltip/Tooltip.cjs.map +1 -1
- package/dist/components/tooltip/Tooltip.d.ts +1 -1
- package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/tooltip/Tooltip.js.map +1 -1
- package/dist/components/tour-point/TourPoint.module.css +1 -1
- package/dist/components/tour-point/TourPoint.module.scss.cjs +1 -1
- package/dist/components/tour-point/TourPoint.module.scss.js +28 -28
- package/dist/index.cjs +1 -1
- package/dist/index.css +23 -7
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +192 -175
- package/dist/index.js.map +1 -1
- package/package.json +25 -4
- package/dist/components/message-reactions/MessageReactions.cjs +0 -2
- package/dist/components/message-reactions/MessageReactions.cjs.map +0 -1
- package/dist/components/message-reactions/MessageReactions.d.ts.map +0 -1
- package/dist/components/message-reactions/MessageReactions.js +0 -85
- package/dist/components/message-reactions/MessageReactions.js.map +0 -1
- package/dist/components/message-reactions/MessageReactions.module.css +0 -1
- package/dist/components/message-reactions/MessageReactions.module.scss.cjs +0 -2
- package/dist/components/message-reactions/MessageReactions.module.scss.cjs.map +0 -1
- package/dist/components/message-reactions/MessageReactions.module.scss.js +0 -18
- package/dist/components/message-reactions/MessageReactions.module.scss.js.map +0 -1
- package/dist/components/message-reactions/index.d.ts +0 -3
- package/dist/components/message-reactions/index.d.ts.map +0 -1
- package/dist/components/message-reactions/index.js +0 -5
- /package/dist/components/{message-reactions → card-button}/index.cjs.map +0 -0
- /package/dist/components/{message-reactions → emoji-button}/index.js.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag.js","sources":["../../../src/components/tag/Tag.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport styles from './Tag.module.scss';\n\nexport type TagType =\n | 'default'\n | 'info'\n | 'info-dim'\n | 'danger'\n | 'success'\n | 'warning';\n\nexport type TagSize = 'small' | 'x-small';\nexport type TagCasing = 'title-case' | 'all-caps';\n\nexport type TagProps = {\n /** Tag label text. */\n label: string;\n /** Semantic colour type. Default: Default. */\n type?: TagType;\n /** Size variant. Default: X-Small. */\n size?: TagSize;\n /** Text casing. Default: Title Case. */\n casing?: TagCasing;\n /**
|
|
1
|
+
{"version":3,"file":"Tag.js","sources":["../../../src/components/tag/Tag.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport styles from './Tag.module.scss';\n\nexport type TagType =\n | 'default'\n | 'info'\n | 'info-dim'\n | 'danger'\n | 'success'\n | 'warning';\n\nexport type TagSize = 'small' | 'x-small';\nexport type TagCasing = 'title-case' | 'all-caps';\n\nexport type TagProps = {\n /** Tag label text. */\n label: string;\n /** Semantic colour type. Default: Default. */\n type?: TagType;\n /** Size variant. Default: X-Small. */\n size?: TagSize;\n /** Text casing. Default: Title Case. */\n casing?: TagCasing;\n /** Raw SVG glyph from `@mattermost/compass-icons` — e.g. `<GlobeIcon size={10} />` for `size=\"x-small\"` or `<GlobeIcon size={12} />` for `size=\"small\"`. Do not wrap in `<Icon>`. */\n leadingIcon?: ReactNode;\n /** Merged onto the root after variant classes (e.g. layout overrides in a parent row). */\n className?: string;\n};\n\nconst TYPE_CLASS: Record<TagType, string> = {\n default: styles['tag--type-default'],\n info: styles['tag--type-info'],\n 'info-dim': styles['tag--type-info-dim'],\n danger: styles['tag--type-danger'],\n success: styles['tag--type-success'],\n warning: styles['tag--type-warning'],\n};\n\n/**\n * Tags are compact pills that mark something — a role (_BOT_, _GUEST_), a tier\n * (_PROFESSIONAL_), a status (_NEW_, _BETA_), or a category. They're scannable signal: a way\n * to surface a small piece of metadata without spending a sentence on it.\n */\nexport default function Tag({\n label,\n type = 'default',\n size = 'x-small',\n casing = 'title-case',\n leadingIcon,\n className = '',\n}: TagProps) {\n const classes = [\n styles.tag,\n TYPE_CLASS[type],\n size === 'small'\n ? styles['tag--size-small']\n : styles['tag--size-x-small'],\n casing === 'all-caps' ? styles['tag--casing-all-caps'] : '',\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <span className={classes}>\n {leadingIcon && (\n <span className={styles['tag__icon']} aria-hidden>\n {leadingIcon}\n </span>\n )}\n <span className={styles['tag__label']}>{label}</span>\n </span>\n );\n}\n"],"names":["TYPE_CLASS","styles","Tag","label","type","size","casing","leadingIcon","className","classes","jsxs","jsx"],"mappings":";;AA6BA,MAAMA,IAAsC;AAAA,EAC1C,SAASC,EAAO,mBAAmB;AAAA,EACnC,MAAMA,EAAO,gBAAgB;AAAA,EAC7B,YAAYA,EAAO,oBAAoB;AAAA,EACvC,QAAQA,EAAO,kBAAkB;AAAA,EACjC,SAASA,EAAO,mBAAmB;AAAA,EACnC,SAASA,EAAO,mBAAmB;AACrC;AAOA,SAAwBC,EAAI;AAAA,EAC1B,OAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,MAAAC,IAAO;AAAA,EACP,QAAAC,IAAS;AAAA,EACT,aAAAC;AAAA,EACA,WAAAC,IAAY;AACd,GAAa;AACX,QAAMC,IAAU;AAAA,IACdR,EAAO;AAAA,IACPD,EAAWI,CAAI;AAAA,IACfC,MAAS,UACLJ,EAAO,iBAAiB,IACxBA,EAAO,mBAAmB;AAAA,IAC9BK,MAAW,aAAaL,EAAO,sBAAsB,IAAI;AAAA,IACzDO;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAE,EAAC,QAAA,EAAK,WAAWD,GACd,UAAA;AAAA,IAAAF,KACC,gBAAAI,EAAC,UAAK,WAAWV,EAAO,WAAc,eAAW,IAC9C,UAAAM,EAAA,CACH;AAAA,sBAED,QAAA,EAAK,WAAWN,EAAO,YAAgB,UAAAE,EAAA,CAAM;AAAA,EAAA,GAChD;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.cjs","sources":["../../../src/components/text-input/TextInput.tsx"],"sourcesContent":["import type {\n InputHTMLAttributes,\n ReactNode,\n ChangeEvent,\n RefCallback,\n} from 'react';\nimport { forwardRef, useId, useState, useCallback, useRef } from 'react';\nimport { toKebab } from '@/utils/string';\nimport styles from './TextInput.module.scss';\n\nexport type TextInputSize = 'small' | 'medium' | 'large';\n\nexport interface TextInputProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'size'\n> {\n /** Optional CSS class name. */\n className?: string;\n /** When true, shows invalid/error styling. */\n invalid?: boolean;\n /** Floating label content. When provided, label floats on focus or when value is non-empty. */\n label?: ReactNode;\n /** Leading icon (e.g. <Icon glyph={<SearchIcon />} size=\"16\" />). */\n leadingIcon?: ReactNode;\n /** Max length for the input; used with showCharacterCount for counter. */\n maxLength?: number;\n /** When true with maxLength, shows \"current / max\" character count below input. */\n showCharacterCount?: boolean;\n /** Size variant. Figma: Small (32px), Medium (40px), Large (48px). Default: Medium. */\n size?: TextInputSize;\n /** Trailing icon. */\n trailingIcon?: ReactNode;\n}\n\n/**\n * Text Inputs let people enter and edit a single line of text — names, emails, search\n * queries, channel titles. They're the workhorse of every form and modal in Mattermost.\n */\nconst TextInput = forwardRef<HTMLInputElement, TextInputProps>(\n function TextInput(\n {\n className = '',\n size = 'medium',\n label,\n leadingIcon,\n trailingIcon,\n invalid = false,\n maxLength,\n showCharacterCount = false,\n id: idProp,\n value: valueProp,\n defaultValue,\n placeholder,\n onFocus,\n onBlur,\n onChange,\n disabled,\n readOnly,\n 'aria-describedby': describedBy,\n ...rest\n },\n ref,\n ) {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const setInputRef = useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node;\n if (typeof ref === 'function') {\n const cleanup = (ref as RefCallback<HTMLInputElement>)(node);\n return () => {\n inputRef.current = null;\n if (typeof cleanup === 'function') cleanup();\n };\n }\n if (ref) ref.current = node;\n },\n [ref],\n );\n\n const isControlled = valueProp !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(\n defaultValue ?? '',\n );\n const value = isControlled ? (valueProp as string) : uncontrolledValue;\n const hasValue = value != null && value !== '';\n\n const [isFocused, setIsFocused] = useState(false);\n const labelFloated = isFocused || hasValue;\n\n const handleFocus = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true);\n onFocus?.(e);\n },\n [onFocus],\n );\n const handleBlur = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(false);\n onBlur?.(e);\n },\n [onBlur],\n );\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) setUncontrolledValue(e.target.value);\n onChange?.(e);\n },\n [isControlled, onChange],\n );\n\n const sizeClass = styles[`text-input--size-${toKebab(size)}`];\n const invalidClass = invalid ? styles['text-input--invalid'] : '';\n const labelFloatedClass =\n label != null && labelFloated ? styles['text-input--label-floated'] : '';\n const hasLeadingClass =\n leadingIcon != null ? styles['text-input--has-leading-icon'] : '';\n const hasTrailingClass =\n trailingIcon != null ? styles['text-input--has-trailing-icon'] : '';\n\n const rootClass = [\n styles['text-input'],\n sizeClass,\n invalidClass,\n labelFloatedClass,\n hasLeadingClass,\n hasTrailingClass,\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const currentLength = typeof value === 'string' ? value.length : 0;\n const counterId =\n showCharacterCount && maxLength != null ? `${id}-counter` : undefined;\n\n return (\n <div className={rootClass}>\n <div className={styles['text-input__wrapper']}>\n <label className={styles['text-input__inner']}>\n {label != null && (\n <span className={styles['text-input__label']}>{label}</span>\n )}\n {leadingIcon != null && (\n <span className={styles['text-input__leading-icon']}>\n {leadingIcon}\n </span>\n )}\n <input\n ref={setInputRef}\n id={id}\n className={styles['text-input__input']}\n value={isControlled ? valueProp : undefined}\n defaultValue={isControlled ? undefined : defaultValue}\n placeholder={placeholder}\n maxLength={maxLength}\n disabled={disabled}\n readOnly={readOnly}\n aria-invalid={invalid ? true : undefined}\n aria-describedby={\n [describedBy, counterId].filter(Boolean).join(' ') || undefined\n }\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={handleChange}\n {...rest}\n />\n {trailingIcon != null && (\n <span className={styles['text-input__trailing-icon']}>\n {trailingIcon}\n </span>\n )}\n </label>\n </div>\n {showCharacterCount && maxLength != null && (\n <div\n id={counterId}\n className={styles['text-input__counter']}\n aria-live=\"polite\"\n >\n {currentLength} / {maxLength}\n </div>\n )}\n </div>\n );\n },\n);\n\nexport default TextInput;\n"],"names":["TextInput","forwardRef","className","size","label","leadingIcon","trailingIcon","invalid","maxLength","showCharacterCount","idProp","valueProp","defaultValue","placeholder","onFocus","onBlur","onChange","disabled","readOnly","describedBy","rest","ref","generatedId","useId","id","inputRef","useRef","setInputRef","useCallback","node","cleanup","isControlled","uncontrolledValue","setUncontrolledValue","useState","value","hasValue","isFocused","setIsFocused","labelFloated","handleFocus","handleBlur","handleChange","sizeClass","styles","toKebab","invalidClass","labelFloatedClass","hasLeadingClass","hasTrailingClass","rootClass","currentLength","counterId","jsxs","jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TextInput.cjs","sources":["../../../src/components/text-input/TextInput.tsx"],"sourcesContent":["import type {\n InputHTMLAttributes,\n ReactNode,\n ChangeEvent,\n RefCallback,\n} from 'react';\nimport { forwardRef, useId, useState, useCallback, useRef } from 'react';\nimport { toKebab } from '@/utils/string';\nimport styles from './TextInput.module.scss';\n\nexport type TextInputSize = 'small' | 'medium' | 'large';\n\nexport interface TextInputProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'size'\n> {\n /** Optional CSS class name. */\n className?: string;\n /** When true, shows invalid/error styling. */\n invalid?: boolean;\n /** Floating label content. When provided, label floats on focus or when value is non-empty. */\n label?: ReactNode;\n /** Leading icon (e.g. <Icon glyph={<SearchIcon />} size=\"16\" />). */\n leadingIcon?: ReactNode;\n /** Max length for the input; used with showCharacterCount for counter. */\n maxLength?: number;\n /** When true with maxLength, shows \"current / max\" character count below input. */\n showCharacterCount?: boolean;\n /** Size variant. Figma: Small (32px), Medium (40px), Large (48px). Default: Medium. */\n size?: TextInputSize;\n /** Trailing icon (e.g. `<Icon glyph={<SomeIcon />} size=\"16\" />`). */\n trailingIcon?: ReactNode;\n}\n\n/**\n * Text Inputs let people enter and edit a single line of text — names, emails, search\n * queries, channel titles. They're the workhorse of every form and modal in Mattermost.\n */\nconst TextInput = forwardRef<HTMLInputElement, TextInputProps>(\n function TextInput(\n {\n className = '',\n size = 'medium',\n label,\n leadingIcon,\n trailingIcon,\n invalid = false,\n maxLength,\n showCharacterCount = false,\n id: idProp,\n value: valueProp,\n defaultValue,\n placeholder,\n onFocus,\n onBlur,\n onChange,\n disabled,\n readOnly,\n 'aria-describedby': describedBy,\n ...rest\n },\n ref,\n ) {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const setInputRef = useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node;\n if (typeof ref === 'function') {\n const cleanup = (ref as RefCallback<HTMLInputElement>)(node);\n return () => {\n inputRef.current = null;\n if (typeof cleanup === 'function') cleanup();\n };\n }\n if (ref) ref.current = node;\n },\n [ref],\n );\n\n const isControlled = valueProp !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(\n defaultValue ?? '',\n );\n const value = isControlled ? (valueProp as string) : uncontrolledValue;\n const hasValue = value != null && value !== '';\n\n const [isFocused, setIsFocused] = useState(false);\n const labelFloated = isFocused || hasValue;\n\n const handleFocus = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true);\n onFocus?.(e);\n },\n [onFocus],\n );\n const handleBlur = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(false);\n onBlur?.(e);\n },\n [onBlur],\n );\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) setUncontrolledValue(e.target.value);\n onChange?.(e);\n },\n [isControlled, onChange],\n );\n\n const sizeClass = styles[`text-input--size-${toKebab(size)}`];\n const invalidClass = invalid ? styles['text-input--invalid'] : '';\n const labelFloatedClass =\n label != null && labelFloated ? styles['text-input--label-floated'] : '';\n const hasLeadingClass =\n leadingIcon != null ? styles['text-input--has-leading-icon'] : '';\n const hasTrailingClass =\n trailingIcon != null ? styles['text-input--has-trailing-icon'] : '';\n\n const rootClass = [\n styles['text-input'],\n sizeClass,\n invalidClass,\n labelFloatedClass,\n hasLeadingClass,\n hasTrailingClass,\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const currentLength = typeof value === 'string' ? value.length : 0;\n const counterId =\n showCharacterCount && maxLength != null ? `${id}-counter` : undefined;\n\n return (\n <div className={rootClass}>\n <div className={styles['text-input__wrapper']}>\n <label className={styles['text-input__inner']}>\n {label != null && (\n <span className={styles['text-input__label']}>{label}</span>\n )}\n {leadingIcon != null && (\n <span className={styles['text-input__leading-icon']}>\n {leadingIcon}\n </span>\n )}\n <input\n ref={setInputRef}\n id={id}\n className={styles['text-input__input']}\n value={isControlled ? valueProp : undefined}\n defaultValue={isControlled ? undefined : defaultValue}\n placeholder={placeholder}\n maxLength={maxLength}\n disabled={disabled}\n readOnly={readOnly}\n aria-invalid={invalid ? true : undefined}\n aria-describedby={\n [describedBy, counterId].filter(Boolean).join(' ') || undefined\n }\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={handleChange}\n {...rest}\n />\n {trailingIcon != null && (\n <span className={styles['text-input__trailing-icon']}>\n {trailingIcon}\n </span>\n )}\n </label>\n </div>\n {showCharacterCount && maxLength != null && (\n <div\n id={counterId}\n className={styles['text-input__counter']}\n aria-live=\"polite\"\n >\n {currentLength} / {maxLength}\n </div>\n )}\n </div>\n );\n },\n);\n\nexport default TextInput;\n"],"names":["TextInput","forwardRef","className","size","label","leadingIcon","trailingIcon","invalid","maxLength","showCharacterCount","idProp","valueProp","defaultValue","placeholder","onFocus","onBlur","onChange","disabled","readOnly","describedBy","rest","ref","generatedId","useId","id","inputRef","useRef","setInputRef","useCallback","node","cleanup","isControlled","uncontrolledValue","setUncontrolledValue","useState","value","hasValue","isFocused","setIsFocused","labelFloated","handleFocus","handleBlur","handleChange","sizeClass","styles","toKebab","invalidClass","labelFloatedClass","hasLeadingClass","hasTrailingClass","rootClass","currentLength","counterId","jsxs","jsx"],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ export interface TextInputProps extends Omit<InputHTMLAttributes<HTMLInputElemen
|
|
|
15
15
|
showCharacterCount?: boolean;
|
|
16
16
|
/** Size variant. Figma: Small (32px), Medium (40px), Large (48px). Default: Medium. */
|
|
17
17
|
size?: TextInputSize;
|
|
18
|
-
/** Trailing icon. */
|
|
18
|
+
/** Trailing icon (e.g. `<Icon glyph={<SomeIcon />} size="16" />`). */
|
|
19
19
|
trailingIcon?: ReactNode;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../../src/components/text-input/TextInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,SAAS,EAGV,MAAM,OAAO,CAAC;AAKf,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,MAAM,CACP;IACC,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+FAA+F;IAC/F,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,qEAAqE;IACrE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uFAAuF;IACvF,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../../src/components/text-input/TextInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,SAAS,EAGV,MAAM,OAAO,CAAC;AAKf,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,MAAM,CACP;IACC,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+FAA+F;IAC/F,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,qEAAqE;IACrE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uFAAuF;IACvF,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,sEAAsE;IACtE,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED;;;GAGG;AACH,QAAA,MAAM,SAAS,6GAuJd,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.js","sources":["../../../src/components/text-input/TextInput.tsx"],"sourcesContent":["import type {\n InputHTMLAttributes,\n ReactNode,\n ChangeEvent,\n RefCallback,\n} from 'react';\nimport { forwardRef, useId, useState, useCallback, useRef } from 'react';\nimport { toKebab } from '@/utils/string';\nimport styles from './TextInput.module.scss';\n\nexport type TextInputSize = 'small' | 'medium' | 'large';\n\nexport interface TextInputProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'size'\n> {\n /** Optional CSS class name. */\n className?: string;\n /** When true, shows invalid/error styling. */\n invalid?: boolean;\n /** Floating label content. When provided, label floats on focus or when value is non-empty. */\n label?: ReactNode;\n /** Leading icon (e.g. <Icon glyph={<SearchIcon />} size=\"16\" />). */\n leadingIcon?: ReactNode;\n /** Max length for the input; used with showCharacterCount for counter. */\n maxLength?: number;\n /** When true with maxLength, shows \"current / max\" character count below input. */\n showCharacterCount?: boolean;\n /** Size variant. Figma: Small (32px), Medium (40px), Large (48px). Default: Medium. */\n size?: TextInputSize;\n /** Trailing icon. */\n trailingIcon?: ReactNode;\n}\n\n/**\n * Text Inputs let people enter and edit a single line of text — names, emails, search\n * queries, channel titles. They're the workhorse of every form and modal in Mattermost.\n */\nconst TextInput = forwardRef<HTMLInputElement, TextInputProps>(\n function TextInput(\n {\n className = '',\n size = 'medium',\n label,\n leadingIcon,\n trailingIcon,\n invalid = false,\n maxLength,\n showCharacterCount = false,\n id: idProp,\n value: valueProp,\n defaultValue,\n placeholder,\n onFocus,\n onBlur,\n onChange,\n disabled,\n readOnly,\n 'aria-describedby': describedBy,\n ...rest\n },\n ref,\n ) {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const setInputRef = useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node;\n if (typeof ref === 'function') {\n const cleanup = (ref as RefCallback<HTMLInputElement>)(node);\n return () => {\n inputRef.current = null;\n if (typeof cleanup === 'function') cleanup();\n };\n }\n if (ref) ref.current = node;\n },\n [ref],\n );\n\n const isControlled = valueProp !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(\n defaultValue ?? '',\n );\n const value = isControlled ? (valueProp as string) : uncontrolledValue;\n const hasValue = value != null && value !== '';\n\n const [isFocused, setIsFocused] = useState(false);\n const labelFloated = isFocused || hasValue;\n\n const handleFocus = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true);\n onFocus?.(e);\n },\n [onFocus],\n );\n const handleBlur = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(false);\n onBlur?.(e);\n },\n [onBlur],\n );\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) setUncontrolledValue(e.target.value);\n onChange?.(e);\n },\n [isControlled, onChange],\n );\n\n const sizeClass = styles[`text-input--size-${toKebab(size)}`];\n const invalidClass = invalid ? styles['text-input--invalid'] : '';\n const labelFloatedClass =\n label != null && labelFloated ? styles['text-input--label-floated'] : '';\n const hasLeadingClass =\n leadingIcon != null ? styles['text-input--has-leading-icon'] : '';\n const hasTrailingClass =\n trailingIcon != null ? styles['text-input--has-trailing-icon'] : '';\n\n const rootClass = [\n styles['text-input'],\n sizeClass,\n invalidClass,\n labelFloatedClass,\n hasLeadingClass,\n hasTrailingClass,\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const currentLength = typeof value === 'string' ? value.length : 0;\n const counterId =\n showCharacterCount && maxLength != null ? `${id}-counter` : undefined;\n\n return (\n <div className={rootClass}>\n <div className={styles['text-input__wrapper']}>\n <label className={styles['text-input__inner']}>\n {label != null && (\n <span className={styles['text-input__label']}>{label}</span>\n )}\n {leadingIcon != null && (\n <span className={styles['text-input__leading-icon']}>\n {leadingIcon}\n </span>\n )}\n <input\n ref={setInputRef}\n id={id}\n className={styles['text-input__input']}\n value={isControlled ? valueProp : undefined}\n defaultValue={isControlled ? undefined : defaultValue}\n placeholder={placeholder}\n maxLength={maxLength}\n disabled={disabled}\n readOnly={readOnly}\n aria-invalid={invalid ? true : undefined}\n aria-describedby={\n [describedBy, counterId].filter(Boolean).join(' ') || undefined\n }\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={handleChange}\n {...rest}\n />\n {trailingIcon != null && (\n <span className={styles['text-input__trailing-icon']}>\n {trailingIcon}\n </span>\n )}\n </label>\n </div>\n {showCharacterCount && maxLength != null && (\n <div\n id={counterId}\n className={styles['text-input__counter']}\n aria-live=\"polite\"\n >\n {currentLength} / {maxLength}\n </div>\n )}\n </div>\n );\n },\n);\n\nexport default TextInput;\n"],"names":["TextInput","forwardRef","className","size","label","leadingIcon","trailingIcon","invalid","maxLength","showCharacterCount","idProp","valueProp","defaultValue","placeholder","onFocus","onBlur","onChange","disabled","readOnly","describedBy","rest","ref","generatedId","useId","id","inputRef","useRef","setInputRef","useCallback","node","cleanup","isControlled","uncontrolledValue","setUncontrolledValue","useState","value","hasValue","isFocused","setIsFocused","labelFloated","handleFocus","handleBlur","handleChange","sizeClass","styles","toKebab","invalidClass","labelFloatedClass","hasLeadingClass","hasTrailingClass","rootClass","currentLength","counterId","jsxs","jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TextInput.js","sources":["../../../src/components/text-input/TextInput.tsx"],"sourcesContent":["import type {\n InputHTMLAttributes,\n ReactNode,\n ChangeEvent,\n RefCallback,\n} from 'react';\nimport { forwardRef, useId, useState, useCallback, useRef } from 'react';\nimport { toKebab } from '@/utils/string';\nimport styles from './TextInput.module.scss';\n\nexport type TextInputSize = 'small' | 'medium' | 'large';\n\nexport interface TextInputProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'size'\n> {\n /** Optional CSS class name. */\n className?: string;\n /** When true, shows invalid/error styling. */\n invalid?: boolean;\n /** Floating label content. When provided, label floats on focus or when value is non-empty. */\n label?: ReactNode;\n /** Leading icon (e.g. <Icon glyph={<SearchIcon />} size=\"16\" />). */\n leadingIcon?: ReactNode;\n /** Max length for the input; used with showCharacterCount for counter. */\n maxLength?: number;\n /** When true with maxLength, shows \"current / max\" character count below input. */\n showCharacterCount?: boolean;\n /** Size variant. Figma: Small (32px), Medium (40px), Large (48px). Default: Medium. */\n size?: TextInputSize;\n /** Trailing icon (e.g. `<Icon glyph={<SomeIcon />} size=\"16\" />`). */\n trailingIcon?: ReactNode;\n}\n\n/**\n * Text Inputs let people enter and edit a single line of text — names, emails, search\n * queries, channel titles. They're the workhorse of every form and modal in Mattermost.\n */\nconst TextInput = forwardRef<HTMLInputElement, TextInputProps>(\n function TextInput(\n {\n className = '',\n size = 'medium',\n label,\n leadingIcon,\n trailingIcon,\n invalid = false,\n maxLength,\n showCharacterCount = false,\n id: idProp,\n value: valueProp,\n defaultValue,\n placeholder,\n onFocus,\n onBlur,\n onChange,\n disabled,\n readOnly,\n 'aria-describedby': describedBy,\n ...rest\n },\n ref,\n ) {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const setInputRef = useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node;\n if (typeof ref === 'function') {\n const cleanup = (ref as RefCallback<HTMLInputElement>)(node);\n return () => {\n inputRef.current = null;\n if (typeof cleanup === 'function') cleanup();\n };\n }\n if (ref) ref.current = node;\n },\n [ref],\n );\n\n const isControlled = valueProp !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(\n defaultValue ?? '',\n );\n const value = isControlled ? (valueProp as string) : uncontrolledValue;\n const hasValue = value != null && value !== '';\n\n const [isFocused, setIsFocused] = useState(false);\n const labelFloated = isFocused || hasValue;\n\n const handleFocus = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true);\n onFocus?.(e);\n },\n [onFocus],\n );\n const handleBlur = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(false);\n onBlur?.(e);\n },\n [onBlur],\n );\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) setUncontrolledValue(e.target.value);\n onChange?.(e);\n },\n [isControlled, onChange],\n );\n\n const sizeClass = styles[`text-input--size-${toKebab(size)}`];\n const invalidClass = invalid ? styles['text-input--invalid'] : '';\n const labelFloatedClass =\n label != null && labelFloated ? styles['text-input--label-floated'] : '';\n const hasLeadingClass =\n leadingIcon != null ? styles['text-input--has-leading-icon'] : '';\n const hasTrailingClass =\n trailingIcon != null ? styles['text-input--has-trailing-icon'] : '';\n\n const rootClass = [\n styles['text-input'],\n sizeClass,\n invalidClass,\n labelFloatedClass,\n hasLeadingClass,\n hasTrailingClass,\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const currentLength = typeof value === 'string' ? value.length : 0;\n const counterId =\n showCharacterCount && maxLength != null ? `${id}-counter` : undefined;\n\n return (\n <div className={rootClass}>\n <div className={styles['text-input__wrapper']}>\n <label className={styles['text-input__inner']}>\n {label != null && (\n <span className={styles['text-input__label']}>{label}</span>\n )}\n {leadingIcon != null && (\n <span className={styles['text-input__leading-icon']}>\n {leadingIcon}\n </span>\n )}\n <input\n ref={setInputRef}\n id={id}\n className={styles['text-input__input']}\n value={isControlled ? valueProp : undefined}\n defaultValue={isControlled ? undefined : defaultValue}\n placeholder={placeholder}\n maxLength={maxLength}\n disabled={disabled}\n readOnly={readOnly}\n aria-invalid={invalid ? true : undefined}\n aria-describedby={\n [describedBy, counterId].filter(Boolean).join(' ') || undefined\n }\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={handleChange}\n {...rest}\n />\n {trailingIcon != null && (\n <span className={styles['text-input__trailing-icon']}>\n {trailingIcon}\n </span>\n )}\n </label>\n </div>\n {showCharacterCount && maxLength != null && (\n <div\n id={counterId}\n className={styles['text-input__counter']}\n aria-live=\"polite\"\n >\n {currentLength} / {maxLength}\n </div>\n )}\n </div>\n );\n },\n);\n\nexport default TextInput;\n"],"names":["TextInput","forwardRef","className","size","label","leadingIcon","trailingIcon","invalid","maxLength","showCharacterCount","idProp","valueProp","defaultValue","placeholder","onFocus","onBlur","onChange","disabled","readOnly","describedBy","rest","ref","generatedId","useId","id","inputRef","useRef","setInputRef","useCallback","node","cleanup","isControlled","uncontrolledValue","setUncontrolledValue","useState","value","hasValue","isFocused","setIsFocused","labelFloated","handleFocus","handleBlur","handleChange","sizeClass","styles","toKebab","invalidClass","labelFloatedClass","hasLeadingClass","hasTrailingClass","rootClass","currentLength","counterId","jsxs","jsx"],"mappings":";;;;AAsCA,MAAMA,KAAYC;AAAA,EAChB,SACE;AAAA,IACE,WAAAC,IAAY;AAAA,IACZ,MAAAC,IAAO;AAAA,IACP,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,WAAAC;AAAA,IACA,oBAAAC,IAAqB;AAAA,IACrB,IAAIC;AAAA,IACJ,OAAOC;AAAA,IACP,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,oBAAoBC;AAAA,IACpB,GAAGC;AAAA,EAAA,GAELC,GACA;AACA,UAAMC,IAAcC,EAAA,GACdC,IAAKd,KAAUY,GACfG,IAAWC,EAAgC,IAAI,GAE/CC,IAAcC;AAAA,MAClB,CAACC,MAAkC;AAEjC,YADAJ,EAAS,UAAUI,GACf,OAAOR,KAAQ,YAAY;AAC7B,gBAAMS,IAAWT,EAAsCQ,CAAI;AAC3D,iBAAO,MAAM;AACX,YAAAJ,EAAS,UAAU,MACf,OAAOK,KAAY,cAAYA,EAAA;AAAA,UACrC;AAAA,QACF;AACA,QAAIT,QAAS,UAAUQ;AAAA,MACzB;AAAA,MACA,CAACR,CAAG;AAAA,IAAA,GAGAU,IAAepB,MAAc,QAC7B,CAACqB,GAAmBC,CAAoB,IAAIC;AAAA,MAChDtB,KAAgB;AAAA,IAAA,GAEZuB,IAAQJ,IAAgBpB,IAAuBqB,GAC/CI,IAAWD,KAAS,QAAQA,MAAU,IAEtC,CAACE,GAAWC,CAAY,IAAIJ,EAAS,EAAK,GAC1CK,IAAeF,KAAaD,GAE5BI,IAAcZ;AAAA,MAClB,CAAC,MAA0C;AACzC,QAAAU,EAAa,EAAI,GACjBxB,KAAA,QAAAA,EAAU;AAAA,MACZ;AAAA,MACA,CAACA,CAAO;AAAA,IAAA,GAEJ2B,IAAab;AAAA,MACjB,CAAC,MAA0C;AACzC,QAAAU,EAAa,EAAK,GAClBvB,KAAA,QAAAA,EAAS;AAAA,MACX;AAAA,MACA,CAACA,CAAM;AAAA,IAAA,GAEH2B,IAAed;AAAA,MACnB,CAAC,MAAqC;AACpC,QAAKG,KAAcE,EAAqB,EAAE,OAAO,KAAK,GACtDjB,KAAA,QAAAA,EAAW;AAAA,MACb;AAAA,MACA,CAACe,GAAcf,CAAQ;AAAA,IAAA,GAGnB2B,IAAYC,EAAO,oBAAoBC,EAAQ1C,CAAI,CAAC,EAAE,GACtD2C,IAAevC,IAAUqC,EAAO,qBAAqB,IAAI,IACzDG,IACJ3C,KAAS,QAAQmC,IAAeK,EAAO,2BAA2B,IAAI,IAClEI,IACJ3C,KAAe,OAAOuC,EAAO,8BAA8B,IAAI,IAC3DK,IACJ3C,KAAgB,OAAOsC,EAAO,+BAA+B,IAAI,IAE7DM,IAAY;AAAA,MAChBN,EAAO,YAAY;AAAA,MACnBD;AAAA,MACAG;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACA/C;AAAA,IAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG,GAELiD,IAAgB,OAAOhB,KAAU,WAAWA,EAAM,SAAS,GAC3DiB,IACJ3C,KAAsBD,KAAa,OAAO,GAAGgB,CAAE,aAAa;AAE9D,WACE,gBAAA6B,EAAC,OAAA,EAAI,WAAWH,GACd,UAAA;AAAA,MAAA,gBAAAI,EAAC,OAAA,EAAI,WAAWV,EAAO,qBAAqB,GAC1C,4BAAC,SAAA,EAAM,WAAWA,EAAO,mBAAmB,GACzC,UAAA;AAAA,QAAAxC,KAAS,QACR,gBAAAkD,EAAC,QAAA,EAAK,WAAWV,EAAO,mBAAmB,GAAI,UAAAxC,GAAM;AAAA,QAEtDC,KAAe,QACd,gBAAAiD,EAAC,QAAA,EAAK,WAAWV,EAAO,0BAA0B,GAC/C,UAAAvC,GACH;AAAA,QAEF,gBAAAiD;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAK3B;AAAA,YACL,IAAAH;AAAA,YACA,WAAWoB,EAAO,mBAAmB;AAAA,YACrC,OAAOb,IAAepB,IAAY;AAAA,YAClC,cAAcoB,IAAe,SAAYnB;AAAA,YACzC,aAAAC;AAAA,YACA,WAAAL;AAAA,YACA,UAAAS;AAAA,YACA,UAAAC;AAAA,YACA,gBAAcX,IAAU,KAAO;AAAA,YAC/B,oBACE,CAACY,GAAaiC,CAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK;AAAA,YAExD,SAASZ;AAAA,YACT,QAAQC;AAAA,YACR,UAAUC;AAAA,YACT,GAAGtB;AAAA,UAAA;AAAA,QAAA;AAAA,QAELd,KAAgB,QACf,gBAAAgD,EAAC,QAAA,EAAK,WAAWV,EAAO,2BAA2B,GAChD,UAAAtC,EAAA,CACH;AAAA,MAAA,EAAA,CAEJ,EAAA,CACF;AAAA,MACCG,KAAsBD,KAAa,QAClC,gBAAA6C;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAID;AAAA,UACJ,WAAWR,EAAO,qBAAqB;AAAA,UACvC,aAAU;AAAA,UAET,UAAA;AAAA,YAAAO;AAAA,YAAc;AAAA,YAAI3C;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACrB,GAEJ;AAAA,EAEJ;AACF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
._thread-
|
|
1
|
+
._thread-footer_k8u9j_2{--thread-footer-focus-ring-color: var(--focus-ring-color);display:flex;flex-direction:column;align-items:flex-start;padding:0 var(--spacing-l)}._thread-footer__inner_k8u9j_9{display:inline-flex;align-items:center;padding:0 var(--spacing-s);border-radius:var(--radius-s)}._thread-footer__avatars-group_k8u9j_15{display:inline-flex;align-items:center;gap:var(--spacing-xxxs);padding-right:var(--spacing-xxxs)}._thread-footer__status-hint_k8u9j_21{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}._thread-footer__unread-dot_k8u9j_32{display:block;width:8px;height:8px;border-radius:var(--radius-full);background-color:var(--link-color);flex-shrink:0}._thread-footer__mention-badge_k8u9j_40{display:inline-flex;flex-shrink:0}._thread-footer__buttons_k8u9j_44{display:inline-flex;align-items:center;gap:0}._thread-footer__reply-btn_k8u9j_49,._thread-footer__follow-btn_k8u9j_49{--focus-ring-color: var(--thread-footer-focus-ring-color)}._thread-footer_k8u9j_2 ._thread-footer__reply-btn_k8u9j_49[class*=button--emphasis-quaternary],._thread-footer_k8u9j_2 ._thread-footer__follow-btn_k8u9j_49:not(._thread-footer__follow-btn--following_k8u9j_52)[class*=button--emphasis-quaternary]{color:rgba(var(--center-channel-color-rgb),.75)}._thread-footer_k8u9j_2 ._thread-footer__reply-btn_k8u9j_49[class*=button--emphasis-quaternary]:hover:not(:disabled),._thread-footer_k8u9j_2 ._thread-footer__follow-btn_k8u9j_49:not(._thread-footer__follow-btn--following_k8u9j_52)[class*=button--emphasis-quaternary]:hover:not(:disabled){background-color:rgba(var(--center-channel-color-rgb),.08)}._thread-footer_k8u9j_2 ._thread-footer__reply-btn--hovered_k8u9j_58[class*=button--emphasis-quaternary]{background-color:rgba(var(--center-channel-color-rgb),.08)}._thread-footer_k8u9j_2 ._thread-footer__follow-btn--following_k8u9j_52[class*=button--emphasis-quaternary]{color:var(--link-color);background-color:rgba(var(--link-color-rgb),.08)}._thread-footer_k8u9j_2 ._thread-footer__follow-btn--following_k8u9j_52[class*=button--emphasis-quaternary]:hover:not(:disabled){background-color:rgba(var(--link-color-rgb),.12)}._thread-footer__btn-label_k8u9j_68{font-family:var(--font-family-body);font-size:var(--font-size-75);font-weight:var(--font-weight-semibold);line-height:15px;white-space:nowrap}._thread-footer__divider_k8u9j_75{box-sizing:border-box;width:1px;min-width:1px;max-width:1px;height:16px;padding:0;margin:0;border:0;background-color:rgba(var(--center-channel-color-rgb),.16);flex-shrink:0;transition:opacity var(--duration-quick) var(--ease-transition)}._thread-footer__buttons_k8u9j_44:has(._thread-footer__follow-btn--following_k8u9j_52)>._thread-footer__divider_k8u9j_75:first-of-type,._thread-footer__buttons_k8u9j_44:has(._thread-footer__follow-btn--following_k8u9j_52)>._thread-footer__last-reply-group_k8u9j_88>._thread-footer__divider_k8u9j_75{opacity:0}._thread-footer__buttons_k8u9j_44:not(:has(._thread-footer__follow-btn--following_k8u9j_52)):has(._thread-footer__reply-btn_k8u9j_49:hover,._thread-footer__reply-btn--hovered_k8u9j_58,._thread-footer__reply-btn_k8u9j_49:focus-visible,._thread-footer__follow-btn_k8u9j_49:hover,._thread-footer__follow-btn_k8u9j_49:focus-visible)>._thread-footer__divider_k8u9j_75:first-of-type{opacity:0}._thread-footer__last-reply-group_k8u9j_88{display:inline-flex;align-items:center;gap:0;overflow:hidden;max-width:0;opacity:0;transition:max-width var(--duration-quick) var(--ease-transition),opacity var(--duration-quick) var(--ease-transition)}._thread-footer--following_k8u9j_107:hover ._thread-footer__last-reply-group_k8u9j_88,._thread-footer--following_k8u9j_107:focus-within ._thread-footer__last-reply-group_k8u9j_88,._thread-footer--following_k8u9j_107._thread-footer--hovered_k8u9j_107 ._thread-footer__last-reply-group_k8u9j_88{max-width:10rem;opacity:1}._thread-footer__last-reply_k8u9j_88{padding:4.5px var(--spacing-s);color:rgba(var(--center-channel-color-rgb),.64);font-family:var(--font-family-body);font-size:var(--font-size-75);font-weight:var(--font-weight-regular);line-height:15px;white-space:nowrap}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./ThreadFooter.module.css');const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./ThreadFooter.module.css');const e={"thread-footer":"_thread-footer_k8u9j_2","thread-footer__inner":"_thread-footer__inner_k8u9j_9","thread-footer__avatars-group":"_thread-footer__avatars-group_k8u9j_15","thread-footer__status-hint":"_thread-footer__status-hint_k8u9j_21","thread-footer__unread-dot":"_thread-footer__unread-dot_k8u9j_32","thread-footer__mention-badge":"_thread-footer__mention-badge_k8u9j_40","thread-footer__buttons":"_thread-footer__buttons_k8u9j_44","thread-footer__reply-btn":"_thread-footer__reply-btn_k8u9j_49","thread-footer__follow-btn":"_thread-footer__follow-btn_k8u9j_49","thread-footer__follow-btn--following":"_thread-footer__follow-btn--following_k8u9j_52","thread-footer__reply-btn--hovered":"_thread-footer__reply-btn--hovered_k8u9j_58","thread-footer__btn-label":"_thread-footer__btn-label_k8u9j_68","thread-footer__divider":"_thread-footer__divider_k8u9j_75","thread-footer__last-reply-group":"_thread-footer__last-reply-group_k8u9j_88","thread-footer--following":"_thread-footer--following_k8u9j_107","thread-footer--hovered":"_thread-footer--hovered_k8u9j_107","thread-footer__last-reply":"_thread-footer__last-reply_k8u9j_88"};exports.default=e;
|
|
2
2
|
//# sourceMappingURL=ThreadFooter.module.scss.cjs.map
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import './ThreadFooter.module.css';const
|
|
2
|
-
"thread-footer": "_thread-
|
|
3
|
-
"thread-footer__inner": "_thread-
|
|
4
|
-
"thread-footer__avatars-group": "_thread-footer__avatars-
|
|
5
|
-
"thread-footer__status-hint": "_thread-footer__status-
|
|
6
|
-
"thread-footer__unread-dot": "_thread-footer__unread-
|
|
7
|
-
"thread-footer__mention-badge": "_thread-footer__mention-
|
|
8
|
-
"thread-footer__buttons": "_thread-
|
|
9
|
-
"thread-footer__reply-btn": "_thread-footer__reply-
|
|
10
|
-
"thread-footer__follow-btn": "_thread-footer__follow-
|
|
11
|
-
"thread-footer__follow-btn--following": "_thread-footer__follow-btn--
|
|
12
|
-
"thread-footer__reply-btn--hovered": "_thread-footer__reply-btn--
|
|
13
|
-
"thread-footer__btn-label": "_thread-footer__btn-
|
|
14
|
-
"thread-footer__divider": "_thread-
|
|
15
|
-
"thread-footer__last-reply-group": "_thread-footer__last-reply-
|
|
16
|
-
"thread-footer--following": "_thread-footer--
|
|
17
|
-
"thread-footer--hovered": "_thread-footer--
|
|
18
|
-
"thread-footer__last-reply": "_thread-footer__last-
|
|
1
|
+
import './ThreadFooter.module.css';const _ = {
|
|
2
|
+
"thread-footer": "_thread-footer_k8u9j_2",
|
|
3
|
+
"thread-footer__inner": "_thread-footer__inner_k8u9j_9",
|
|
4
|
+
"thread-footer__avatars-group": "_thread-footer__avatars-group_k8u9j_15",
|
|
5
|
+
"thread-footer__status-hint": "_thread-footer__status-hint_k8u9j_21",
|
|
6
|
+
"thread-footer__unread-dot": "_thread-footer__unread-dot_k8u9j_32",
|
|
7
|
+
"thread-footer__mention-badge": "_thread-footer__mention-badge_k8u9j_40",
|
|
8
|
+
"thread-footer__buttons": "_thread-footer__buttons_k8u9j_44",
|
|
9
|
+
"thread-footer__reply-btn": "_thread-footer__reply-btn_k8u9j_49",
|
|
10
|
+
"thread-footer__follow-btn": "_thread-footer__follow-btn_k8u9j_49",
|
|
11
|
+
"thread-footer__follow-btn--following": "_thread-footer__follow-btn--following_k8u9j_52",
|
|
12
|
+
"thread-footer__reply-btn--hovered": "_thread-footer__reply-btn--hovered_k8u9j_58",
|
|
13
|
+
"thread-footer__btn-label": "_thread-footer__btn-label_k8u9j_68",
|
|
14
|
+
"thread-footer__divider": "_thread-footer__divider_k8u9j_75",
|
|
15
|
+
"thread-footer__last-reply-group": "_thread-footer__last-reply-group_k8u9j_88",
|
|
16
|
+
"thread-footer--following": "_thread-footer--following_k8u9j_107",
|
|
17
|
+
"thread-footer--hovered": "_thread-footer--hovered_k8u9j_107",
|
|
18
|
+
"thread-footer__last-reply": "_thread-footer__last-reply_k8u9j_88"
|
|
19
19
|
};
|
|
20
20
|
export {
|
|
21
|
-
|
|
21
|
+
_ as default
|
|
22
22
|
};
|
|
23
23
|
//# sourceMappingURL=ThreadFooter.module.scss.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.cjs","sources":["../../../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { ShortcutTagGroup } from '@/components/shortcut-tag/ShortcutTag';\nimport styles from './Tooltip.module.scss';\n\nexport type TooltipArrow = 'top' | 'right' | 'bottom' | 'left';\n\nexport interface TooltipShortcutKey {\n label: string;\n}\n\nexport interface TooltipProps {\n /** Tooltip label text. */\n label: string;\n /** Arrow direction. Default: Right. */\n arrow?: TooltipArrow;\n /** Optional hint text shown below label. */\n hint?: string;\n /** Optional keyboard shortcut keys shown below label. */\n shortcutKeys?: TooltipShortcutKey[];\n /** Optional leading icon
|
|
1
|
+
{"version":3,"file":"Tooltip.cjs","sources":["../../../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { ShortcutTagGroup } from '@/components/shortcut-tag/ShortcutTag';\nimport styles from './Tooltip.module.scss';\n\nexport type TooltipArrow = 'top' | 'right' | 'bottom' | 'left';\n\nexport interface TooltipShortcutKey {\n label: string;\n}\n\nexport interface TooltipProps {\n /** Tooltip label text. */\n label: string;\n /** Arrow direction. Default: Right. */\n arrow?: TooltipArrow;\n /** Optional hint text shown below label. */\n hint?: string;\n /** Optional keyboard shortcut keys shown below label. */\n shortcutKeys?: TooltipShortcutKey[];\n /** Optional leading icon (e.g. `<Icon glyph={<SomeIcon />} size=\"16\" />`). The slot does not resize raw SVG children. */\n icon?: ReactNode;\n /** Optional CSS class name. */\n className?: string;\n}\n\n/**\n * Tooltips surface short, supporting text on hover. Reach for a tooltip when the affordance\n * behind it isn't fully self-explanatory — an Icon Button, a truncated label, a keyboard\n * shortcut. Don't reach for one when the label is already on screen.\n */\nexport default function Tooltip({\n label,\n arrow = 'right',\n hint,\n shortcutKeys,\n icon,\n className = '',\n}: TooltipProps) {\n const arrowClass = styles[`tooltip--arrow-${arrow.toLowerCase()}`] ?? '';\n\n const rootClass = [styles.tooltip, arrowClass, className]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={rootClass}>\n <div className={styles['tooltip__container']}>\n <div className={styles['tooltip__content']}>\n {icon != null && (\n <span className={styles['tooltip__icon']} aria-hidden>\n {icon}\n </span>\n )}\n <span className={styles['tooltip__label']}>{label}</span>\n </div>\n\n {shortcutKeys && shortcutKeys.length > 0 && (\n <div className={styles['tooltip__shortcuts']}>\n <ShortcutTagGroup\n labels={shortcutKeys.map((key) => key.label)}\n location=\"tooltips\"\n size=\"small\"\n />\n </div>\n )}\n\n {hint && <span className={styles['tooltip__hint']}>{hint}</span>}\n </div>\n\n <div className={styles['tooltip__arrow']} aria-hidden />\n </div>\n );\n}\n"],"names":["Tooltip","label","arrow","hint","shortcutKeys","icon","className","arrowClass","styles","rootClass","jsxs","jsx","ShortcutTagGroup","key"],"mappings":"oOA8BA,SAAwBA,EAAQ,CAC9B,MAAAC,EACA,MAAAC,EAAQ,QACR,KAAAC,EACA,aAAAC,EACA,KAAAC,EACA,UAAAC,EAAY,EACd,EAAiB,CACf,MAAMC,EAAaC,EAAAA,QAAO,kBAAkBN,EAAM,YAAA,CAAa,EAAE,GAAK,GAEhEO,EAAY,CAACD,UAAO,QAASD,EAAYD,CAAS,EACrD,OAAO,OAAO,EACd,KAAK,GAAG,EAEX,OACEI,EAAAA,KAAC,MAAA,CAAI,UAAWD,EACd,SAAA,CAAAC,EAAAA,KAAC,MAAA,CAAI,UAAWF,EAAAA,QAAO,mBACrB,SAAA,CAAAE,EAAAA,KAAC,MAAA,CAAI,UAAWF,EAAAA,QAAO,iBACpB,SAAA,CAAAH,GAAQ,YACN,OAAA,CAAK,UAAWG,EAAAA,QAAO,cAAkB,cAAW,GAClD,SAAAH,CAAA,CACH,QAED,OAAA,CAAK,UAAWG,EAAAA,QAAO,eAAoB,SAAAP,CAAA,CAAM,CAAA,EACpD,EAECG,GAAgBA,EAAa,OAAS,SACpC,MAAA,CAAI,UAAWI,EAAAA,QAAO,mBACrB,SAAAG,EAAAA,IAACC,EAAAA,iBAAA,CACC,OAAQR,EAAa,IAAKS,GAAQA,EAAI,KAAK,EAC3C,SAAS,WACT,KAAK,OAAA,CAAA,EAET,EAGDV,GAAQQ,EAAAA,IAAC,OAAA,CAAK,UAAWH,EAAAA,QAAO,cAAmB,SAAAL,CAAA,CAAK,CAAA,EAC3D,QAEC,MAAA,CAAI,UAAWK,EAAAA,QAAO,eAAmB,cAAW,EAAA,CAAC,CAAA,EACxD,CAEJ"}
|
|
@@ -12,7 +12,7 @@ export interface TooltipProps {
|
|
|
12
12
|
hint?: string;
|
|
13
13
|
/** Optional keyboard shortcut keys shown below label. */
|
|
14
14
|
shortcutKeys?: TooltipShortcutKey[];
|
|
15
|
-
/** Optional leading icon
|
|
15
|
+
/** Optional leading icon (e.g. `<Icon glyph={<SomeIcon />} size="16" />`). The slot does not resize raw SVG children. */
|
|
16
16
|
icon?: ReactNode;
|
|
17
17
|
/** Optional CSS class name. */
|
|
18
18
|
className?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/tooltip/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC,
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/tooltip/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC,yHAAyH;IACzH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,KAAK,EACL,KAAe,EACf,IAAI,EACJ,YAAY,EACZ,IAAI,EACJ,SAAc,GACf,EAAE,YAAY,2CAmCd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","sources":["../../../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { ShortcutTagGroup } from '@/components/shortcut-tag/ShortcutTag';\nimport styles from './Tooltip.module.scss';\n\nexport type TooltipArrow = 'top' | 'right' | 'bottom' | 'left';\n\nexport interface TooltipShortcutKey {\n label: string;\n}\n\nexport interface TooltipProps {\n /** Tooltip label text. */\n label: string;\n /** Arrow direction. Default: Right. */\n arrow?: TooltipArrow;\n /** Optional hint text shown below label. */\n hint?: string;\n /** Optional keyboard shortcut keys shown below label. */\n shortcutKeys?: TooltipShortcutKey[];\n /** Optional leading icon
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sources":["../../../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { ShortcutTagGroup } from '@/components/shortcut-tag/ShortcutTag';\nimport styles from './Tooltip.module.scss';\n\nexport type TooltipArrow = 'top' | 'right' | 'bottom' | 'left';\n\nexport interface TooltipShortcutKey {\n label: string;\n}\n\nexport interface TooltipProps {\n /** Tooltip label text. */\n label: string;\n /** Arrow direction. Default: Right. */\n arrow?: TooltipArrow;\n /** Optional hint text shown below label. */\n hint?: string;\n /** Optional keyboard shortcut keys shown below label. */\n shortcutKeys?: TooltipShortcutKey[];\n /** Optional leading icon (e.g. `<Icon glyph={<SomeIcon />} size=\"16\" />`). The slot does not resize raw SVG children. */\n icon?: ReactNode;\n /** Optional CSS class name. */\n className?: string;\n}\n\n/**\n * Tooltips surface short, supporting text on hover. Reach for a tooltip when the affordance\n * behind it isn't fully self-explanatory — an Icon Button, a truncated label, a keyboard\n * shortcut. Don't reach for one when the label is already on screen.\n */\nexport default function Tooltip({\n label,\n arrow = 'right',\n hint,\n shortcutKeys,\n icon,\n className = '',\n}: TooltipProps) {\n const arrowClass = styles[`tooltip--arrow-${arrow.toLowerCase()}`] ?? '';\n\n const rootClass = [styles.tooltip, arrowClass, className]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={rootClass}>\n <div className={styles['tooltip__container']}>\n <div className={styles['tooltip__content']}>\n {icon != null && (\n <span className={styles['tooltip__icon']} aria-hidden>\n {icon}\n </span>\n )}\n <span className={styles['tooltip__label']}>{label}</span>\n </div>\n\n {shortcutKeys && shortcutKeys.length > 0 && (\n <div className={styles['tooltip__shortcuts']}>\n <ShortcutTagGroup\n labels={shortcutKeys.map((key) => key.label)}\n location=\"tooltips\"\n size=\"small\"\n />\n </div>\n )}\n\n {hint && <span className={styles['tooltip__hint']}>{hint}</span>}\n </div>\n\n <div className={styles['tooltip__arrow']} aria-hidden />\n </div>\n );\n}\n"],"names":["Tooltip","label","arrow","hint","shortcutKeys","icon","className","arrowClass","styles","rootClass","jsxs","jsx","ShortcutTagGroup","key"],"mappings":";;;AA8BA,SAAwBA,EAAQ;AAAA,EAC9B,OAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,MAAAC;AAAA,EACA,cAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC,IAAY;AACd,GAAiB;AACf,QAAMC,IAAaC,EAAO,kBAAkBN,EAAM,YAAA,CAAa,EAAE,KAAK,IAEhEO,IAAY,CAACD,EAAO,SAASD,GAAYD,CAAS,EACrD,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAI,EAAC,OAAA,EAAI,WAAWD,GACd,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EAAI,WAAWF,EAAO,oBACrB,UAAA;AAAA,MAAA,gBAAAE,EAAC,OAAA,EAAI,WAAWF,EAAO,kBACpB,UAAA;AAAA,QAAAH,KAAQ,0BACN,QAAA,EAAK,WAAWG,EAAO,eAAkB,eAAW,IAClD,UAAAH,EAAA,CACH;AAAA,0BAED,QAAA,EAAK,WAAWG,EAAO,gBAAoB,UAAAP,EAAA,CAAM;AAAA,MAAA,GACpD;AAAA,MAECG,KAAgBA,EAAa,SAAS,uBACpC,OAAA,EAAI,WAAWI,EAAO,oBACrB,UAAA,gBAAAG;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,QAAQR,EAAa,IAAI,CAACS,MAAQA,EAAI,KAAK;AAAA,UAC3C,UAAS;AAAA,UACT,MAAK;AAAA,QAAA;AAAA,MAAA,GAET;AAAA,MAGDV,KAAQ,gBAAAQ,EAAC,QAAA,EAAK,WAAWH,EAAO,eAAmB,UAAAL,EAAA,CAAK;AAAA,IAAA,GAC3D;AAAA,sBAEC,OAAA,EAAI,WAAWK,EAAO,gBAAmB,eAAW,GAAA,CAAC;AAAA,EAAA,GACxD;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@keyframes _tour-point-panel-
|
|
1
|
+
@keyframes _tour-point-panel-in_1yw9q_1{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes _tour-point-pulse-ring_1yw9q_1{0%{transform:scale(1);opacity:0}2.25%{opacity:.52}8.25%{opacity:.38}37.5%,to{transform:scale(4.25);opacity:0}}._tour-point_1yw9q_28{position:relative;display:inline-flex;flex-direction:column;align-items:stretch;max-width:352px;min-width:280px}._tour-point__pointer_1yw9q_36{position:absolute;z-index:2;pointer-events:none;overflow:visible}._tour-point__pointer-triangle_1yw9q_42{position:relative;z-index:2;display:block;width:100%;height:100%;background-color:var(--button-bg)}._tour-point__pointer-pulse_1yw9q_50{position:absolute;z-index:0;width:40px;height:40px;pointer-events:none}._tour-point__pointer-pulse-ring_1yw9q_57{position:absolute;left:50%;top:50%;z-index:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:var(--radius-full);background-color:rgba(var(--color-success-rgb),.36);transform-origin:center center;animation:_tour-point-pulse-ring_1yw9q_1 calc(4 * var(--duration-moderate) + 40 * var(--duration-quick) / 3) linear infinite;will-change:transform,opacity}._tour-point__pointer-pulse-ring--delay_1yw9q_71{animation-delay:calc(2 * var(--duration-moderate))}@media(prefers-reduced-motion:reduce){._tour-point__pointer-pulse-ring_1yw9q_57{animation:none;opacity:0}}._tour-point__pointer-pulse-core_1yw9q_80{position:absolute;left:50%;top:50%;z-index:1;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:var(--radius-full);background-color:var(--color-success)}._tour-point__panel_1yw9q_91{position:relative;z-index:1;display:flex;flex-direction:column;border-radius:var(--radius-m);background-color:var(--button-bg);box-shadow:var(--elevation-4);animation:_tour-point-panel-in_1yw9q_1 var(--duration-quick) var(--ease-entrance) both}._tour-point--pointer-top-center_1yw9q_101 ._tour-point__panel_1yw9q_91,._tour-point--pointer-top-left_1yw9q_101 ._tour-point__panel_1yw9q_91,._tour-point--pointer-top-right_1yw9q_101 ._tour-point__panel_1yw9q_91{transform-origin:50% 0}._tour-point--pointer-bottom-center_1yw9q_104 ._tour-point__panel_1yw9q_91,._tour-point--pointer-bottom-left_1yw9q_104 ._tour-point__panel_1yw9q_91,._tour-point--pointer-bottom-right_1yw9q_104 ._tour-point__panel_1yw9q_91{transform-origin:50% 100%}._tour-point--pointer-left-center_1yw9q_107 ._tour-point__panel_1yw9q_91{transform-origin:0 50%}._tour-point--pointer-right-center_1yw9q_110 ._tour-point__panel_1yw9q_91{transform-origin:100% 50%}._tour-point__header_1yw9q_113{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-m);padding:var(--spacing-xl) var(--spacing-xl) 0}._tour-point__header_1yw9q_113 ._tour-point__close_1yw9q_120{--focus-ring-color: var(--button-color);color:rgba(var(--button-color-rgb),.88)}._tour-point__header_1yw9q_113 ._tour-point__close_1yw9q_120:hover:not(:disabled){background-color:rgba(var(--button-color-rgb),.12);color:var(--button-color)}._tour-point__header_1yw9q_113 ._tour-point__close_1yw9q_120:active:not(:disabled){background-color:rgba(var(--button-color-rgb),.2)}._tour-point__title_1yw9q_131{margin:0;padding-right:var(--spacing-xs);font-family:var(--font-family-body);font-size:var(--font-size-100);font-weight:var(--font-weight-semibold);line-height:var(--line-height-100);color:var(--neutral-0)}._tour-point__body_1yw9q_140{display:flex;flex-direction:column;gap:var(--spacing-m);padding:var(--spacing-m) var(--spacing-xl) var(--spacing-xl)}._tour-point__description_1yw9q_146{font-size:var(--font-size-100);font-weight:var(--font-weight-regular);line-height:var(--line-height-100);color:color-mix(in srgb,var(--neutral-0) 92%,transparent)}._tour-point__media_1yw9q_152{border-radius:var(--radius-s);background-color:var(--color-blue-800);padding:var(--spacing-m);color:color-mix(in srgb,var(--neutral-0) 88%,transparent);font-size:var(--font-size-75);line-height:var(--line-height-100);border:1px solid color-mix(in srgb,var(--neutral-0) 20%,transparent)}._tour-point__media_1yw9q_152 img{display:block;width:100%;height:auto;border-radius:var(--radius-xs)}._tour-point__footer_1yw9q_167{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-l);padding:0 var(--spacing-xl) var(--spacing-xl)}._tour-point__footer-spacer_1yw9q_174{flex:1 0 0;min-width:0}._tour-point__progress_1yw9q_178,._tour-point__next-wrap_1yw9q_181{flex-shrink:0}._tour-point__next-wrap_1yw9q_181 button{--focus-ring-color: var(--neutral-0);background-color:var(--neutral-0);border-color:transparent;color:var(--button-bg);transition:background-color var(--duration-quick) var(--ease-transition),color var(--duration-quick) var(--ease-transition),outline-color var(--duration-quick) var(--ease-transition),outline-offset var(--duration-quick) var(--ease-transition)}._tour-point__next-wrap_1yw9q_181 button:hover:not(:disabled){background-color:color-mix(in srgb,var(--neutral-0) 92%,transparent)}._tour-point__next-wrap_1yw9q_181 button:active:not(:disabled){background-color:color-mix(in srgb,var(--neutral-0) 86%,transparent)}._tour-point--pointer-top-center_1yw9q_101 ._tour-point__pointer_1yw9q_36{top:-9px;left:50%;width:18px;height:9px;transform:translate(-50%)}._tour-point--pointer-top-center_1yw9q_101 ._tour-point__pointer-triangle_1yw9q_42{clip-path:polygon(50% 0%,0% 100%,100% 100%)}._tour-point--pointer-top-center_1yw9q_101 ._tour-point__pointer-pulse_1yw9q_50{left:50%;top:0;margin-left:-20px;margin-top:-20px}._tour-point--pointer-top-left_1yw9q_101 ._tour-point__pointer_1yw9q_36{top:-9px;left:var(--spacing-xl);width:18px;height:9px;transform:translate(-50%)}._tour-point--pointer-top-left_1yw9q_101 ._tour-point__pointer-triangle_1yw9q_42{clip-path:polygon(50% 0%,0% 100%,100% 100%)}._tour-point--pointer-top-left_1yw9q_101 ._tour-point__pointer-pulse_1yw9q_50{left:50%;top:0;margin-left:-20px;margin-top:-20px}._tour-point--pointer-top-right_1yw9q_101 ._tour-point__pointer_1yw9q_36{top:-9px;right:var(--spacing-xl);width:18px;height:9px;transform:translate(50%)}._tour-point--pointer-top-right_1yw9q_101 ._tour-point__pointer-triangle_1yw9q_42{clip-path:polygon(50% 0%,0% 100%,100% 100%)}._tour-point--pointer-top-right_1yw9q_101 ._tour-point__pointer-pulse_1yw9q_50{left:50%;top:0;margin-left:-20px;margin-top:-20px}._tour-point--pointer-bottom-center_1yw9q_104 ._tour-point__pointer_1yw9q_36{bottom:-9px;left:50%;width:18px;height:9px;transform:translate(-50%)}._tour-point--pointer-bottom-center_1yw9q_104 ._tour-point__pointer-triangle_1yw9q_42{clip-path:polygon(50% 100%,0% 0%,100% 0%)}._tour-point--pointer-bottom-center_1yw9q_104 ._tour-point__pointer-pulse_1yw9q_50{left:50%;bottom:0;margin-left:-20px;margin-bottom:-20px}._tour-point--pointer-bottom-left_1yw9q_104 ._tour-point__pointer_1yw9q_36{bottom:-9px;left:var(--spacing-xl);width:18px;height:9px;transform:translate(-50%)}._tour-point--pointer-bottom-left_1yw9q_104 ._tour-point__pointer-triangle_1yw9q_42{clip-path:polygon(50% 100%,0% 0%,100% 0%)}._tour-point--pointer-bottom-left_1yw9q_104 ._tour-point__pointer-pulse_1yw9q_50{left:50%;bottom:0;margin-left:-20px;margin-bottom:-20px}._tour-point--pointer-bottom-right_1yw9q_104 ._tour-point__pointer_1yw9q_36{bottom:-9px;right:var(--spacing-xl);width:18px;height:9px;transform:translate(50%)}._tour-point--pointer-bottom-right_1yw9q_104 ._tour-point__pointer-triangle_1yw9q_42{clip-path:polygon(50% 100%,0% 0%,100% 0%)}._tour-point--pointer-bottom-right_1yw9q_104 ._tour-point__pointer-pulse_1yw9q_50{left:50%;bottom:0;margin-left:-20px;margin-bottom:-20px}._tour-point--pointer-left-center_1yw9q_107 ._tour-point__pointer_1yw9q_36{left:-9px;top:50%;width:9px;height:18px;transform:translateY(-50%)}._tour-point--pointer-left-center_1yw9q_107 ._tour-point__pointer-triangle_1yw9q_42{clip-path:polygon(0% 50%,100% 0%,100% 100%)}._tour-point--pointer-left-center_1yw9q_107 ._tour-point__pointer-pulse_1yw9q_50{left:0;top:50%;margin-left:-20px;margin-top:-20px}._tour-point--pointer-right-center_1yw9q_110 ._tour-point__pointer_1yw9q_36{right:-9px;top:50%;width:9px;height:18px;transform:translateY(-50%)}._tour-point--pointer-right-center_1yw9q_110 ._tour-point__pointer-triangle_1yw9q_42{clip-path:polygon(100% 50%,0% 0%,0% 100%)}._tour-point--pointer-right-center_1yw9q_110 ._tour-point__pointer-pulse_1yw9q_50{right:0;top:50%;margin-right:-20px;margin-top:-20px}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./TourPoint.module.css');const t={"tour-point":"_tour-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./TourPoint.module.css');const t={"tour-point":"_tour-point_1yw9q_28","tour-point__pointer":"_tour-point__pointer_1yw9q_36","tour-point__pointer-triangle":"_tour-point__pointer-triangle_1yw9q_42","tour-point__pointer-pulse":"_tour-point__pointer-pulse_1yw9q_50","tour-point__pointer-pulse-ring":"_tour-point__pointer-pulse-ring_1yw9q_57","tour-point-pulse-ring":"_tour-point-pulse-ring_1yw9q_1","tour-point__pointer-pulse-ring--delay":"_tour-point__pointer-pulse-ring--delay_1yw9q_71","tour-point__pointer-pulse-core":"_tour-point__pointer-pulse-core_1yw9q_80","tour-point__panel":"_tour-point__panel_1yw9q_91","tour-point-panel-in":"_tour-point-panel-in_1yw9q_1","tour-point--pointer-top-center":"_tour-point--pointer-top-center_1yw9q_101","tour-point--pointer-top-left":"_tour-point--pointer-top-left_1yw9q_101","tour-point--pointer-top-right":"_tour-point--pointer-top-right_1yw9q_101","tour-point--pointer-bottom-center":"_tour-point--pointer-bottom-center_1yw9q_104","tour-point--pointer-bottom-left":"_tour-point--pointer-bottom-left_1yw9q_104","tour-point--pointer-bottom-right":"_tour-point--pointer-bottom-right_1yw9q_104","tour-point--pointer-left-center":"_tour-point--pointer-left-center_1yw9q_107","tour-point--pointer-right-center":"_tour-point--pointer-right-center_1yw9q_110","tour-point__header":"_tour-point__header_1yw9q_113","tour-point__close":"_tour-point__close_1yw9q_120","tour-point__title":"_tour-point__title_1yw9q_131","tour-point__body":"_tour-point__body_1yw9q_140","tour-point__description":"_tour-point__description_1yw9q_146","tour-point__media":"_tour-point__media_1yw9q_152","tour-point__footer":"_tour-point__footer_1yw9q_167","tour-point__footer-spacer":"_tour-point__footer-spacer_1yw9q_174","tour-point__progress":"_tour-point__progress_1yw9q_178","tour-point__next-wrap":"_tour-point__next-wrap_1yw9q_181"};exports.default=t;
|
|
2
2
|
//# sourceMappingURL=TourPoint.module.scss.cjs.map
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import './TourPoint.module.css';const t = {
|
|
2
|
-
"tour-point": "_tour-
|
|
3
|
-
"tour-point__pointer": "_tour-
|
|
4
|
-
"tour-point__pointer-triangle": "_tour-point__pointer-
|
|
5
|
-
"tour-point__pointer-pulse": "_tour-point__pointer-
|
|
6
|
-
"tour-point__pointer-pulse-ring": "_tour-point__pointer-pulse-
|
|
7
|
-
"tour-point-pulse-ring": "_tour-point-pulse-
|
|
8
|
-
"tour-point__pointer-pulse-ring--delay": "_tour-point__pointer-pulse-ring--
|
|
9
|
-
"tour-point__pointer-pulse-core": "_tour-point__pointer-pulse-
|
|
10
|
-
"tour-point__panel": "_tour-
|
|
11
|
-
"tour-point-panel-in": "_tour-point-panel-
|
|
12
|
-
"tour-point--pointer-top-center": "_tour-point--pointer-top-
|
|
13
|
-
"tour-point--pointer-top-left": "_tour-point--pointer-top-
|
|
14
|
-
"tour-point--pointer-top-right": "_tour-point--pointer-top-
|
|
15
|
-
"tour-point--pointer-bottom-center": "_tour-point--pointer-bottom-
|
|
16
|
-
"tour-point--pointer-bottom-left": "_tour-point--pointer-bottom-
|
|
17
|
-
"tour-point--pointer-bottom-right": "_tour-point--pointer-bottom-
|
|
18
|
-
"tour-point--pointer-left-center": "_tour-point--pointer-left-
|
|
19
|
-
"tour-point--pointer-right-center": "_tour-point--pointer-right-
|
|
20
|
-
"tour-point__header": "_tour-
|
|
21
|
-
"tour-point__close": "_tour-
|
|
22
|
-
"tour-point__title": "_tour-
|
|
23
|
-
"tour-point__body": "_tour-
|
|
24
|
-
"tour-point__description": "_tour-
|
|
25
|
-
"tour-point__media": "_tour-
|
|
26
|
-
"tour-point__footer": "_tour-
|
|
27
|
-
"tour-point__footer-spacer": "_tour-point__footer-
|
|
28
|
-
"tour-point__progress": "_tour-
|
|
29
|
-
"tour-point__next-wrap": "_tour-point__next-
|
|
2
|
+
"tour-point": "_tour-point_1yw9q_28",
|
|
3
|
+
"tour-point__pointer": "_tour-point__pointer_1yw9q_36",
|
|
4
|
+
"tour-point__pointer-triangle": "_tour-point__pointer-triangle_1yw9q_42",
|
|
5
|
+
"tour-point__pointer-pulse": "_tour-point__pointer-pulse_1yw9q_50",
|
|
6
|
+
"tour-point__pointer-pulse-ring": "_tour-point__pointer-pulse-ring_1yw9q_57",
|
|
7
|
+
"tour-point-pulse-ring": "_tour-point-pulse-ring_1yw9q_1",
|
|
8
|
+
"tour-point__pointer-pulse-ring--delay": "_tour-point__pointer-pulse-ring--delay_1yw9q_71",
|
|
9
|
+
"tour-point__pointer-pulse-core": "_tour-point__pointer-pulse-core_1yw9q_80",
|
|
10
|
+
"tour-point__panel": "_tour-point__panel_1yw9q_91",
|
|
11
|
+
"tour-point-panel-in": "_tour-point-panel-in_1yw9q_1",
|
|
12
|
+
"tour-point--pointer-top-center": "_tour-point--pointer-top-center_1yw9q_101",
|
|
13
|
+
"tour-point--pointer-top-left": "_tour-point--pointer-top-left_1yw9q_101",
|
|
14
|
+
"tour-point--pointer-top-right": "_tour-point--pointer-top-right_1yw9q_101",
|
|
15
|
+
"tour-point--pointer-bottom-center": "_tour-point--pointer-bottom-center_1yw9q_104",
|
|
16
|
+
"tour-point--pointer-bottom-left": "_tour-point--pointer-bottom-left_1yw9q_104",
|
|
17
|
+
"tour-point--pointer-bottom-right": "_tour-point--pointer-bottom-right_1yw9q_104",
|
|
18
|
+
"tour-point--pointer-left-center": "_tour-point--pointer-left-center_1yw9q_107",
|
|
19
|
+
"tour-point--pointer-right-center": "_tour-point--pointer-right-center_1yw9q_110",
|
|
20
|
+
"tour-point__header": "_tour-point__header_1yw9q_113",
|
|
21
|
+
"tour-point__close": "_tour-point__close_1yw9q_120",
|
|
22
|
+
"tour-point__title": "_tour-point__title_1yw9q_131",
|
|
23
|
+
"tour-point__body": "_tour-point__body_1yw9q_140",
|
|
24
|
+
"tour-point__description": "_tour-point__description_1yw9q_146",
|
|
25
|
+
"tour-point__media": "_tour-point__media_1yw9q_152",
|
|
26
|
+
"tour-point__footer": "_tour-point__footer_1yw9q_167",
|
|
27
|
+
"tour-point__footer-spacer": "_tour-point__footer-spacer_1yw9q_174",
|
|
28
|
+
"tour-point__progress": "_tour-point__progress_1yw9q_178",
|
|
29
|
+
"tour-point__next-wrap": "_tour-point__next-wrap_1yw9q_181"
|
|
30
30
|
};
|
|
31
31
|
export {
|
|
32
32
|
t as default
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./components/action-button/ActionButton.cjs"),d=require("./components/admin-console-header/AdminConsoleHeader.cjs"),l=require("./components/admin-console-sidebar/AdminConsoleSidebar.cjs"),c=require("./components/admin-panel/AdminPanel.cjs"),q=require("./components/admin-panel-footer/AdminPanelFooter.cjs"),f=require("./components/admin-panel-header/AdminPanelHeader.cjs"),S=require("./components/attachment-card/AttachmentCard.cjs"),M=require("./components/button/Button.cjs"),p=require("./components/button/Button.module.scss.cjs"),P=require("./components/card-button/CardButton.cjs"),T=require("./components/card-button/CardButtonGroup.cjs"),C=require("./components/channel-header-menu/ChannelHeaderMenu.cjs"),h=require("./components/channel-info-msg-header/ChannelInfoMsgHeader.cjs"),g=require("./components/channel-menu/ChannelMenu.cjs"),m=require("./components/channel-category-menu/ChannelCategoryMenu.cjs"),v=require("./components/channel-sidebar-item/ChannelSidebarItem.cjs"),r=require("./components/channels-sidebar/ChannelsSidebar.cjs"),b=require("./components/channels-sidebar/channelsSidebarModel.cjs"),I=require("./components/channels-sidebar/ChannelsSidebar.module.scss.cjs"),A=require("./components/checkbox/Checkbox.cjs"),B=require("./components/chip/Chip.cjs"),_=require("./components/chip/ChipGroup.cjs"),O=require("./components/combobox/Combobox.cjs"),E=require("./components/date-range-picker/DateRangePicker.cjs"),H=require("./components/divider/Divider.cjs"),N=require("./components/dropdown/Dropdown.cjs"),R=require("./components/emoji/Emoji.cjs"),t=require("./components/emoji-button/EmojiButton.cjs"),G=require("./components/emoji-popover/EmojiPopover.cjs"),D=require("./components/empty-state/EmptyState.cjs"),U=require("./components/error-message/ErrorMessage.cjs"),w=require("./components/feature-discovery-panel/FeatureDiscoveryPanel.cjs"),y=require("./components/global-banner/GlobalBanner.cjs"),k=require("./components/global-header/GlobalHeader.cjs"),x=require("./components/help-menu/HelpMenu.cjs"),o=require("./components/icon/Icon.cjs"),a=require("./components/icon-button/IconButton.cjs"),F=require("./components/illustration/Illustration.cjs"),j=require("./components/image-preview/ImagePreview.cjs"),L=require("./components/tag/Tag.cjs"),Z=require("./components/link-preview/LinkPreview.cjs"),J=require("./components/mention-badge/MentionBadge.cjs"),V=require("./components/menu-group-heading/MenuGroupHeading.cjs"),K=require("./components/menu-item/MenuItem.cjs"),W=require("./components/message-actions/MessageActions.cjs"),z=require("./components/message-header/MessageHeader.cjs"),Q=require("./components/message-more-options-menu/MessageMoreOptionsMenu.cjs"),X=require("./components/reactions-row/ReactionsRow.cjs"),Y=require("./components/reaction-button/ReactionButton.cjs"),$=require("./components/message-separator/MessageSeparator.cjs"),ee=require("./components/modal/Modal.cjs"),re=require("./components/modal-footer/ModalFooter.cjs"),te=require("./components/modal-header/ModalHeader.cjs"),oe=require("./components/more-unreads-banner/MoreUnreadsBanner.cjs"),ae=require("./components/new-message-banner/NewMessageBanner.cjs"),ne=require("./components/pagination-dots/PaginationDots.cjs"),ue=require("./components/permalink-preview/PermalinkPreview.cjs"),ie=require("./components/pinned-saved-indicators/PinnedSavedIndicators.cjs"),se=require("./components/plus-menu/PlusMenu.cjs"),e=require("./components/popover-menu/PopoverMenu.cjs"),de=require("./components/popover-notice/PopoverNotice.cjs"),n=require("./components/product-switcher-menu/ProductSwitcherMenu.cjs"),le=require("./components/profile-popover/ProfilePopover.cjs"),ce=require("./components/progress-bar/ProgressBar.cjs"),qe=require("./components/radio/Radio.cjs"),fe=require("./components/right-sidebar-header/RightSidebarHeader.cjs"),Se=require("./components/scrollbar/Scrollbar.cjs"),Me=require("./components/search-input/SearchInput.cjs"),pe=require("./components/search-tip-banner/SearchTipBanner.cjs"),u=require("./components/shortcut-tag/ShortcutTag.cjs"),Pe=require("./components/section-notice/SectionNotice.cjs"),Te=require("./components/select/Select.cjs"),Ce=require("./components/spinner/Spinner.cjs"),he=require("./components/status-badge/StatusBadge.cjs"),ge=require("./components/switch/Switch.cjs"),me=require("./components/tabs/Tabs.cjs"),ve=require("./components/team-avatar/TeamAvatar.cjs"),be=require("./components/team-menu/TeamMenu.cjs"),Ie=require("./components/team-sidebar/TeamSidebar.cjs"),Ae=require("./components/text-area/TextArea.cjs"),Be=require("./components/text-input/TextInput.cjs"),_e=require("./components/thread-actions-menu/ThreadActionsMenu.cjs"),Oe=require("./components/thread-footer/ThreadFooter.cjs"),Ee=require("./components/thread-list-item/ThreadListItem.cjs"),He=require("./components/toast/Toast.cjs"),Ne=require("./components/tooltip/Tooltip.cjs"),Re=require("./components/tour-point/TourPoint.cjs"),Ge=require("./components/unread-badge/UnreadBadge.cjs"),De=require("./components/user-avatar/UserAvatar.cjs"),Ue=require("./components/user-avatar-group/UserAvatarGroup.cjs"),we=require("./hooks/use-controllable.cjs"),ye=require("./hooks/use-exit-animation.cjs"),ke=require("./hooks/use-outside-close.cjs"),i=require("./hooks/use-popover-transition.cjs"),xe=require("./utils/string.cjs");exports.ActionButton=s.default;exports.AdminConsoleHeader=d.default;exports.AdminConsoleSidebar=l.default;exports.AdminPanel=c.default;exports.AdminPanelFooter=q.default;exports.AdminPanelHeader=f.default;exports.AttachmentCard=S.default;exports.Button=M.default;exports.btnStyles=p.default;exports.CardButton=P.default;exports.CardButtonGroup=T.default;exports.ChannelHeaderMenu=C.default;exports.ChannelInfoMsgHeader=h.default;exports.ChannelMenu=g.default;exports.ChannelCategoryMenu=m.default;exports.ChannelSidebarItem=v.default;exports.ChannelsSidebar=r.default;exports.ChannelsSidebarCategory=r.ChannelsSidebarCategory;exports.ChannelsSidebarHeader=r.ChannelsSidebarHeader;exports.ChannelsSidebarNavigator=r.ChannelsSidebarNavigator;exports.applyChannelNameOverrides=b.applyChannelNameOverrides;exports.channelsSidebarStyles=I.default;exports.Checkbox=A.default;exports.Chip=B.default;exports.ChipGroup=_.default;exports.Combobox=O.default;exports.DateRangePicker=E.default;exports.Divider=H.default;exports.Dropdown=N.default;exports.Emoji=R.default;exports.EMOJI_BUTTON_EMOJI_SIZES=t.EMOJI_BUTTON_EMOJI_SIZES;exports.EmojiButton=t.default;exports.EmojiPopover=G.default;exports.EmptyState=D.default;exports.ErrorMessage=U.default;exports.FeatureDiscoveryPanel=w.default;exports.GlobalBanner=y.default;exports.GlobalHeader=k.default;exports.HelpMenu=x.default;exports.Icon=o.default;exports.SVG_SIZE_MAP=o.SVG_SIZE_MAP;exports.ICON_BUTTON_ICON_SIZES=a.ICON_BUTTON_ICON_SIZES;exports.IconButton=a.default;exports.Illustration=F.default;exports.ImagePreview=j.default;exports.Tag=L.default;exports.LinkPreview=Z.default;exports.MentionBadge=J.default;exports.MenuGroupHeading=V.default;exports.MenuItem=K.default;exports.MessageActions=W.default;exports.MessageHeader=z.default;exports.MessageMoreOptionsMenu=Q.default;exports.ReactionsRow=X.default;exports.ReactionButton=Y.default;exports.MessageSeparator=$.default;exports.Modal=ee.default;exports.ModalFooter=re.default;exports.ModalHeader=te.default;exports.MoreUnreadsBanner=oe.default;exports.NewMessageBanner=ae.default;exports.PaginationDots=ne.default;exports.PermalinkPreview=ue.default;exports.PinnedSavedIndicators=ie.default;exports.PlusMenu=se.default;exports.PopoverMenu=e.default;exports.PopoverMenuDivider=e.PopoverMenuDivider;exports.PopoverMenuGroup=e.PopoverMenuGroup;exports.PopoverMenuGroupTitle=e.PopoverMenuGroupTitle;exports.PopoverMenuScroll=e.PopoverMenuScroll;exports.PopoverMenuTitle=e.PopoverMenuTitle;exports.PopoverNotice=de.default;exports.DEFAULT_PRODUCT_SWITCHER_PRODUCTS=n.DEFAULT_PRODUCT_SWITCHER_PRODUCTS;exports.ProductSwitcherMenu=n.default;exports.ProfilePopover=le.default;exports.ProgressBar=ce.default;exports.Radio=qe.default;exports.RightSidebarHeader=fe.default;exports.Scrollbar=Se.default;exports.SearchInput=Me.default;exports.SearchTipBanner=pe.default;exports.ShortcutTag=u.default;exports.ShortcutTagGroup=u.ShortcutTagGroup;exports.SectionNotice=Pe.default;exports.Select=Te.default;exports.Spinner=Ce.default;exports.StatusBadge=he.default;exports.Switch=ge.default;exports.Tabs=me.default;exports.TeamAvatar=ve.default;exports.TeamMenu=be.default;exports.TeamSidebar=Ie.default;exports.TextArea=Ae.default;exports.TextInput=Be.default;exports.ThreadActionsMenu=_e.default;exports.ThreadFooter=Oe.default;exports.ThreadListItem=Ee.default;exports.Toast=He.default;exports.Tooltip=Ne.default;exports.TourPoint=Re.default;exports.UnreadBadge=Ge.default;exports.UserAvatar=De.default;exports.UserAvatarGroup=Ue.default;exports.useControllable=we.useControllable;exports.useExitAnimation=ye.useExitAnimation;exports.useOutsideClose=ke.useOutsideClose;exports.POPOVER_TRANSITION_MS=i.POPOVER_TRANSITION_MS;exports.usePopoverTransition=i.usePopoverTransition;exports.toKebab=xe.toKebab;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|