@memobit/libs 1.0.64 → 1.0.66

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/index.d.ts CHANGED
@@ -1173,14 +1173,19 @@ export declare interface DateRangePreset {
1173
1173
  }
1174
1174
 
1175
1175
  /**
1176
- * One day laid out against the clock, in a modal.
1176
+ * One day laid out against the clock, in a side panel.
1177
1177
  *
1178
1178
  * A month cell can only carry a chip or three before the rest hide behind "+N more", and
1179
1179
  * those chips are too small to aim at on a phone. This is the way into a busy day: events
1180
1180
  * sit at the hour they actually happen, overlapping ones split into lanes, and the empty
1181
1181
  * stretches are themselves the target for adding something at that time.
1182
+ *
1183
+ * A drawer rather than a modal because the grid is a viewport onto a whole day and wants
1184
+ * every pixel of height there is — a centred dialog either leaves the clock squinting
1185
+ * through a few hours or, stretched, becomes a tall slot floating in the middle of a
1186
+ * desktop screen. Pinned to the edge, the same shape reads as a panel instead.
1182
1187
  */
1183
- export declare function DayAgenda<T>({ activeHours, addLabel, className, date, dayEndHour, dayStartHour, defaultDurationMinutes, emptyLabel, events, hourHeight, isOpen, onAdd, onClose, onDateChange, onEventClick, renderEvent, }: DayAgendaProps<T>): JSX.Element;
1188
+ export declare function DayAgenda<T>({ activeHours, className, date, dayEndHour, dayStartHour, defaultDurationMinutes, emptyLabel, events, hourHeight, isOpen, onAdd, onClose, onDateChange, onEventClick, position, renderEvent, width, }: DayAgendaProps<T>): JSX.Element;
1184
1189
 
1185
1190
  export declare interface DayAgendaProps<T = unknown> {
1186
1191
  /** The day to lay out. Only the date part is read. */
@@ -1193,7 +1198,7 @@ export declare interface DayAgendaProps<T = unknown> {
1193
1198
  isOpen: boolean;
1194
1199
  onClose: () => void;
1195
1200
  /**
1196
- * Enables swiping the grid left or right to step a day. Without it the modal shows
1201
+ * Enables swiping the grid left or right to step a day. Without it the panel shows
1197
1202
  * only the day it was opened on — which is fine for a one-off, but on a phone the
1198
1203
  * neighbouring day is usually the next thing wanted.
1199
1204
  */
@@ -1201,11 +1206,10 @@ export declare interface DayAgendaProps<T = unknown> {
1201
1206
  onEventClick?: (event: CalendarEvent<T>) => void;
1202
1207
  /**
1203
1208
  * Fires with the hour slot that was clicked, so something added from an empty stretch
1204
- * starts at the time pointed at rather than at midnight. Also backs the footer button,
1205
- * which passes the day itself for an entry with no particular time.
1209
+ * starts at the time pointed at rather than at midnight. Omit it and the grid goes
1210
+ * inert — the day becomes something to read rather than edit.
1206
1211
  */
1207
1212
  onAdd?: (date: Date) => void;
1208
- addLabel?: string;
1209
1213
  /** Replaces a chip's contents. */
1210
1214
  renderEvent?: (event: CalendarEvent<T>) => ReactNode;
1211
1215
  emptyLabel?: string;
@@ -1222,6 +1226,10 @@ export declare interface DayAgendaProps<T = unknown> {
1222
1226
  hourHeight?: number;
1223
1227
  /** Assumed length of a timed event with no `end`. */
1224
1228
  defaultDurationMinutes?: number;
1229
+ /** Which edge the panel slides in from. */
1230
+ position?: DrawerPosition;
1231
+ /** CSS width for the panel. */
1232
+ width?: string;
1225
1233
  className?: string;
1226
1234
  }
1227
1235
 
@@ -1702,7 +1710,7 @@ export declare const htmlToPlainText: (html: string | undefined | null) => strin
1702
1710
 
1703
1711
  export declare const Icon: default_2.FC<IconProps>;
1704
1712
 
1705
- export declare type IconName = 'active' | 'afternoon' | 'ajax' | 'alarm' | 'analysis' | 'angular' | 'announcement' | 'anomaly' | 'ant' | 'antenna' | 'api' | 'appliances' | 'archive' | 'arrow-bidirectional-horizontal' | 'arrow-bidirectional-vertical' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrow-up' | 'atom' | 'avocado' | 'badge' | 'ball' | 'balloon' | 'banana' | 'bank' | 'bat' | 'bath' | 'battery-charging' | 'battery-empty' | 'battery-full' | 'battery-half' | 'beans' | 'bear' | 'bed' | 'bee' | 'beer' | 'bell' | 'benefit' | 'birthday-cake' | 'blood' | 'blueberries' | 'bones' | 'book' | 'bow' | 'brain' | 'bread' | 'breakfast' | 'briefcase' | 'brightness' | 'broken-heart' | 'broom' | 'bug' | 'building' | 'bullet' | 'bunny' | 'burst' | 'bus' | 'butterfly' | 'button-device' | 'cake' | 'calculator' | 'calendar' | 'calendar-day' | 'calendar-month' | 'calendar-week' | 'calendar-year' | 'calibrate' | 'camera' | 'candy' | 'car' | 'carbs' | 'caret-down' | 'caret-left' | 'caret-right' | 'caret-up' | 'carrot' | 'cat' | 'categories' | 'caterpillar' | 'cd-dvd' | 'certificate' | 'chart' | 'checkmark' | 'cheese' | 'cherries' | 'chestnut' | 'chicken' | 'chocolate' | 'christmas-tree' | 'cigarette' | 'clear' | 'clipboard' | 'cloud' | 'coffee' | 'comment' | 'compass' | 'confetti' | 'connected' | 'context' | 'cook' | 'cookies' | 'cooling' | 'corn' | 'correlation' | 'cow' | 'cpu' | 'credit-card' | 'crystal-globe' | 'cube' | 'cucumber' | 'dashboard' | 'death' | 'defect' | 'delete' | 'dental' | 'deselect-all' | 'dessert' | 'detach' | 'devices' | 'digestive' | 'dinner' | 'dinosaur' | 'dishwasher' | 'dns' | 'doctor' | 'document' | 'documents' | 'dog' | 'dolphin' | 'door' | 'dot' | 'download' | 'dragon' | 'drying-machine' | 'duck' | 'duplicates' | 'ears' | 'earth' | 'edit' | 'egg' | 'eggplant' | 'elephant' | 'empty' | 'endocrine' | 'enlarge' | 'equalizer' | 'evening' | 'expense' | 'export' | 'external-link' | 'fan' | 'favorite' | 'fibers' | 'file' | 'filetype-avi' | 'filetype-bat' | 'filetype-c' | 'filetype-css' | 'filetype-csv' | 'filetype-doc' | 'filetype-docx' | 'filetype-gif' | 'filetype-html' | 'filetype-ico' | 'filetype-ini' | 'filetype-javascript' | 'filetype-jpeg' | 'filetype-jpg' | 'filetype-json' | 'filetype-less' | 'filetype-mp3' | 'filetype-mp4' | 'filetype-mpg' | 'filetype-pdf' | 'filetype-php' | 'filetype-png' | 'filetype-ppt' | 'filetype-psd' | 'filetype-rar' | 'filetype-sass' | 'filetype-sql' | 'filetype-tiff' | 'filetype-txt' | 'filetype-typescript' | 'filetype-wav' | 'filetype-xls' | 'filetype-xlsx' | 'filetype-xml' | 'filetype-zip' | 'filters' | 'fire' | 'firewall' | 'fireworks' | 'fish' | 'fishing-rod' | 'fog' | 'folder' | 'folder-open' | 'fondue' | 'food' | 'french-fries' | 'fridge' | 'fruits' | 'gallery' | 'gas-detector' | 'gateway' | 'gauge-high' | 'gauge-low' | 'gauge-medium' | 'gift-box' | 'girl' | 'github' | 'glass' | 'gloves' | 'glycemic-index' | 'goat' | 'graduation' | 'grid' | 'group' | 'gun' | 'hammer' | 'handshake' | 'hd' | 'headphones' | 'heart' | 'heating' | 'help' | 'hiking' | 'history' | 'home' | 'hospital' | 'humidity' | 'ice-cream' | 'identity' | 'image' | 'import' | 'inactive' | 'incognito' | 'information' | 'ingredients' | 'ink-cartridge' | 'ir-emitter' | 'joystick' | 'jupiter' | 'key' | 'knife' | 'laboratory' | 'language' | 'lantern' | 'layers' | 'leaf' | 'lemon' | 'light-bulb' | 'light-switch' | 'lightning' | 'link' | 'linkedin' | 'lipids' | 'list' | 'liver' | 'location' | 'lock' | 'lock-open' | 'logout' | 'lollipop' | 'lunch' | 'lungs' | 'magnet' | 'mail' | 'manage' | 'map' | 'mapping' | 'mars' | 'meat' | 'melon' | 'memory' | 'mental' | 'menu-hamburger' | 'mercury' | 'microphone' | 'microscope' | 'microwave' | 'milk' | 'minimum' | 'minus' | 'money' | 'monitor' | 'monkey' | 'moon' | 'morning' | 'motion' | 'mouse' | 'movie' | 'mushroom' | 'musical-note' | 'mute' | 'nas' | 'neptune' | 'nervous' | 'network' | 'next' | 'night' | 'ninja' | 'noon' | 'nose' | 'not-found' | 'notes' | 'notice' | 'offline' | 'olives' | 'online' | 'optimization' | 'other' | 'outdoor' | 'ownership' | 'pause' | 'pawn' | 'peanut' | 'pear' | 'penguin' | 'pepper' | 'pharmacy' | 'phone' | 'pig' | 'pill' | 'pin' | 'pizza' | 'plane' | 'play' | 'plug' | 'plus' | 'pluto' | 'polenta' | 'police' | 'police-man' | 'popcorn' | 'portions' | 'potato' | 'power' | 'predictions' | 'prescription' | 'previous' | 'printer' | 'proteins' | 'pudding' | 'pumpkin' | 'purifier' | 'puzzle' | 'radio' | 'rain' | 'rainbow' | 'raspberry' | 'reading' | 'referral' | 'reload' | 'repeat' | 'report' | 'reproductive' | 'return' | 'rice' | 'robot' | 'rocket' | 'romania-flag' | 'rooms' | 'router' | 'ruler' | 'running' | 'salad' | 'salt' | 'santa' | 'satellite' | 'saturn' | 'save' | 'scales' | 'scan' | 'school' | 'scissors' | 'score' | 'scss' | 'sd' | 'search' | 'security' | 'seeds' | 'sequence' | 'settings' | 'shield' | 'ship' | 'shopping-cart' | 'shrink' | 'shuffle' | 'signal-full' | 'signal-low' | 'signal-medium' | 'skin' | 'skull' | 'smartphone' | 'smb' | 'smoke-detector' | 'snake' | 'snow' | 'snowman' | 'soft-drink' | 'soup' | 'sources' | 'sparkle' | 'speaker' | 'speedometer' | 'square' | 'ssl' | 'staple' | 'star' | 'status' | 'stethoscope' | 'stop' | 'stop-sign' | 'storm' | 'strawberry' | 'streaming' | 'strength' | 'sugar' | 'sun' | 'surgery' | 'synchronize' | 'table' | 'target' | 'taxi' | 'technical' | 'teeth' | 'telescope' | 'theater' | 'theme-picker' | 'thermometer' | 'threshold' | 'time' | 'toggle-off' | 'toggle-on' | 'tomato' | 'toolbox' | 'train' | 'transactions' | 'transport-box' | 'tree' | 'trend-down' | 'trend-up' | 'trip' | 'trophy' | 'tune' | 'turkey' | 'turtle' | 'tv' | 'unarchive' | 'unassociated' | 'ungroup' | 'unmute' | 'upload' | 'upnp' | 'uranus' | 'user' | 'users' | 'vacuum' | 'vegetables' | 'venus' | 'vertical-dots' | 'video' | 'view' | 'virus' | 'wait' | 'wan' | 'warning' | 'washing-machine' | 'water-leak' | 'web' | 'website-crawl' | 'wifi' | 'wind' | 'workout' | 'wrench' | 'yoga' | 'youtube';
1713
+ export declare type IconName = 'active' | 'afternoon' | 'ajax' | 'alarm' | 'analysis' | 'angular' | 'announcement' | 'anomaly' | 'ant' | 'antenna' | 'api' | 'appliances' | 'archive' | 'arrow-bidirectional-horizontal' | 'arrow-bidirectional-vertical' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrow-up' | 'atom' | 'avocado' | 'badge' | 'ball' | 'balloon' | 'banana' | 'bank' | 'bat' | 'bath' | 'battery-charging' | 'battery-empty' | 'battery-full' | 'battery-half' | 'beans' | 'bear' | 'bed' | 'bee' | 'beer' | 'bell' | 'benefit' | 'bill' | 'birthday-cake' | 'blood' | 'blueberries' | 'bones' | 'book' | 'bow' | 'brain' | 'bread' | 'breakfast' | 'briefcase' | 'brightness' | 'broken-heart' | 'broom' | 'bug' | 'building' | 'bullet' | 'bunny' | 'burst' | 'bus' | 'butterfly' | 'button-device' | 'cake' | 'calculator' | 'calendar' | 'calendar-day' | 'calendar-month' | 'calendar-week' | 'calendar-year' | 'calibrate' | 'camera' | 'candy' | 'car' | 'carbs' | 'caret-down' | 'caret-left' | 'caret-right' | 'caret-up' | 'carrot' | 'cat' | 'categories' | 'caterpillar' | 'cd-dvd' | 'certificate' | 'chart' | 'checkmark' | 'cheese' | 'cherries' | 'chestnut' | 'chicken' | 'chocolate' | 'christmas-tree' | 'cigarette' | 'clear' | 'clipboard' | 'cloud' | 'coffee' | 'comment' | 'compass' | 'confetti' | 'connected' | 'context' | 'cook' | 'cookies' | 'cooling' | 'corn' | 'correlation' | 'cow' | 'cpu' | 'credit-card' | 'crystal-globe' | 'cube' | 'cucumber' | 'dashboard' | 'death' | 'defect' | 'delete' | 'dental' | 'deselect-all' | 'dessert' | 'detach' | 'devices' | 'digestive' | 'dinner' | 'dinosaur' | 'dishwasher' | 'dns' | 'doctor' | 'document' | 'documents' | 'dog' | 'dolphin' | 'door' | 'dot' | 'download' | 'dragon' | 'drying-machine' | 'duck' | 'duplicates' | 'ears' | 'earth' | 'edit' | 'egg' | 'eggplant' | 'elephant' | 'empty' | 'endocrine' | 'enlarge' | 'equalizer' | 'evening' | 'expense' | 'export' | 'external-link' | 'fan' | 'favorite' | 'fibers' | 'file' | 'filetype-avi' | 'filetype-bat' | 'filetype-c' | 'filetype-css' | 'filetype-csv' | 'filetype-doc' | 'filetype-docx' | 'filetype-gif' | 'filetype-html' | 'filetype-ico' | 'filetype-ini' | 'filetype-javascript' | 'filetype-jpeg' | 'filetype-jpg' | 'filetype-json' | 'filetype-less' | 'filetype-mp3' | 'filetype-mp4' | 'filetype-mpg' | 'filetype-pdf' | 'filetype-php' | 'filetype-png' | 'filetype-ppt' | 'filetype-psd' | 'filetype-rar' | 'filetype-sass' | 'filetype-sql' | 'filetype-tiff' | 'filetype-txt' | 'filetype-typescript' | 'filetype-wav' | 'filetype-xls' | 'filetype-xlsx' | 'filetype-xml' | 'filetype-zip' | 'filters' | 'fire' | 'firewall' | 'fireworks' | 'fish' | 'fishing-rod' | 'fog' | 'folder' | 'folder-open' | 'fondue' | 'food' | 'french-fries' | 'fridge' | 'fruits' | 'gallery' | 'gas-detector' | 'gateway' | 'gauge-high' | 'gauge-low' | 'gauge-medium' | 'gift-box' | 'girl' | 'github' | 'glass' | 'gloves' | 'glycemic-index' | 'goat' | 'graduation' | 'grid' | 'group' | 'gun' | 'hammer' | 'handshake' | 'hd' | 'headphones' | 'heart' | 'heating' | 'help' | 'hiking' | 'history' | 'home' | 'hospital' | 'humidity' | 'ice-cream' | 'identity' | 'image' | 'import' | 'inactive' | 'incognito' | 'information' | 'ingredients' | 'ink-cartridge' | 'ir-emitter' | 'joystick' | 'jupiter' | 'key' | 'knife' | 'laboratory' | 'language' | 'lantern' | 'layers' | 'leaf' | 'lemon' | 'light-bulb' | 'light-switch' | 'lightning' | 'link' | 'linkedin' | 'lipids' | 'list' | 'liver' | 'location' | 'lock' | 'lock-open' | 'logout' | 'lollipop' | 'lunch' | 'lungs' | 'magnet' | 'mail' | 'manage' | 'map' | 'mapping' | 'mars' | 'meat' | 'melon' | 'memory' | 'mental' | 'menu-hamburger' | 'mercury' | 'microphone' | 'microscope' | 'microwave' | 'milk' | 'minimum' | 'minus' | 'money' | 'monitor' | 'monkey' | 'moon' | 'morning' | 'motion' | 'mouse' | 'movie' | 'mushroom' | 'musical-note' | 'mute' | 'nas' | 'neptune' | 'nervous' | 'network' | 'next' | 'night' | 'ninja' | 'noon' | 'nose' | 'not-found' | 'notes' | 'notice' | 'offline' | 'olives' | 'online' | 'optimization' | 'other' | 'outdoor' | 'ownership' | 'pause' | 'pawn' | 'peanut' | 'pear' | 'penguin' | 'pepper' | 'pharmacy' | 'phone' | 'pig' | 'pill' | 'pin' | 'pizza' | 'plane' | 'play' | 'plug' | 'plus' | 'pluto' | 'polenta' | 'police' | 'police-man' | 'popcorn' | 'portions' | 'potato' | 'power' | 'predictions' | 'prescription' | 'previous' | 'printer' | 'proteins' | 'pudding' | 'pumpkin' | 'purifier' | 'puzzle' | 'radio' | 'rain' | 'rainbow' | 'raspberry' | 'reading' | 'referral' | 'reload' | 'repeat' | 'report' | 'reproductive' | 'return' | 'rice' | 'robot' | 'rocket' | 'romania-flag' | 'rooms' | 'router' | 'ruler' | 'running' | 'salad' | 'salt' | 'santa' | 'satellite' | 'saturn' | 'save' | 'scales' | 'scan' | 'school' | 'scissors' | 'score' | 'scss' | 'sd' | 'search' | 'security' | 'seeds' | 'sequence' | 'settings' | 'shield' | 'ship' | 'shopping-cart' | 'shrink' | 'shuffle' | 'signal-full' | 'signal-low' | 'signal-medium' | 'skin' | 'skull' | 'smartphone' | 'smb' | 'smoke-detector' | 'snake' | 'snow' | 'snowman' | 'soft-drink' | 'soup' | 'sources' | 'sparkle' | 'speaker' | 'speedometer' | 'square' | 'ssl' | 'staple' | 'star' | 'status' | 'stethoscope' | 'stop' | 'stop-sign' | 'storm' | 'strawberry' | 'streaming' | 'strength' | 'sugar' | 'sun' | 'surgery' | 'synchronize' | 'table' | 'target' | 'taxi' | 'technical' | 'teeth' | 'telescope' | 'theater' | 'theme-picker' | 'thermometer' | 'threshold' | 'time' | 'toggle-off' | 'toggle-on' | 'tomato' | 'toolbox' | 'train' | 'transactions' | 'transport-box' | 'tree' | 'trend-down' | 'trend-up' | 'trip' | 'trophy' | 'tune' | 'turkey' | 'turtle' | 'tv' | 'unarchive' | 'unassociated' | 'ungroup' | 'unmute' | 'upload' | 'upnp' | 'uranus' | 'user' | 'users' | 'vacuum' | 'vegetables' | 'venus' | 'vertical-dots' | 'video' | 'view' | 'virus' | 'wait' | 'wan' | 'warning' | 'washing-machine' | 'water-leak' | 'web' | 'website-crawl' | 'wifi' | 'wind' | 'workout' | 'wrench' | 'yoga' | 'youtube';
1706
1714
 
1707
1715
  /**
1708
1716
  * Search and pick one of the library's icons.
@@ -1727,6 +1735,12 @@ export declare interface IconPickerProps {
1727
1735
  icons?: IconName[];
1728
1736
  placeholder?: string;
1729
1737
  emptyLabel?: string;
1738
+ /**
1739
+ * Set false for one flat list. Grouping is on by default because 480 icons is more than
1740
+ * anyone scrolls through blind, and a category is the fastest way in when you cannot
1741
+ * name the thing you are looking for.
1742
+ */
1743
+ grouped?: boolean;
1730
1744
  }
1731
1745
 
1732
1746
  declare interface IconProps {
@@ -2350,6 +2364,12 @@ declare interface ModalProps {
2350
2364
  primary?: ExternalButtonConfig;
2351
2365
  secondary?: ExternalButtonConfig;
2352
2366
  size?: 'small' | 'medium' | 'large' | 'auto';
2367
+ /**
2368
+ * Grows the modal to the full height the overlay allows instead of hugging its
2369
+ * content. For a body that is a viewport onto something longer — a day's hour grid, a
2370
+ * long list — where a content-height modal leaves it squinting through a letterbox.
2371
+ */
2372
+ fullHeight?: boolean;
2353
2373
  tertiary?: ExternalButtonConfig;
2354
2374
  title?: string;
2355
2375
  titleIcon?: IconName;