Commit Graph

558 Commits

Author SHA1 Message Date
hykocx a1bcc4bfb9 fix(ui): add null guard for missing element in caret utils 2026-04-26 16:01:53 -04:00
hykocx 688ae224ab chore: bump version to 1.4.195 2026-04-26 15:57:20 -04:00
hykocx 7ac4caea23 feat(ui): add current block type label to actions menu 2026-04-26 15:57:18 -04:00
hykocx d983635491 chore: bump version to 1.4.194 2026-04-26 15:53:25 -04:00
hykocx 543c4f5029 refactor(BlockEditor): replace hover-based submenu open/close with click-toggle
- remove timer-based submenu close logic (scheduleSubmenuClose, cancelSubmenuClose, submenuTimerRef) from BlockActionsMenu
- replace onMouseEnter/onMouseLeave handlers with onClick toggle on submenu trigger
- remove SUBMENU_CLOSE_DELAY constant and hover handlers from inline Toolbar submenus
- update README to reflect click-to-open/close-on-outside-click behavior for all submenus
2026-04-26 15:53:21 -04:00
hykocx d7e723770f chore: bump version to 1.4.193 2026-04-26 15:46:54 -04:00
hykocx b54dce9445 fix(ui): remove autofocus from link form url input 2026-04-26 15:46:52 -04:00
hykocx 42f1c47624 chore: bump version to 1.4.192 2026-04-26 15:45:21 -04:00
hykocx ff10c2ffea fix(ui): prevent inline toolbar from hiding when interacting with submenus
- keep toolbar visible when focus moves to an element inside `[data-inline-toolbar]`
- unpin toolbar on cleanup when submenu closes to avoid stale pinned state
2026-04-26 15:45:18 -04:00
hykocx be5bdf15b7 chore: bump version to 1.4.191 2026-04-26 15:39:45 -04:00
hykocx db468b56b5 refactor(block-editor): extract shared menu styles into dedicated module
- add `menuStyles.js` with reusable `BOX_CLASS`, `ITEM_CLASS`, `ITEM_DANGER_CLASS`, and `SEPARATOR_CLASS` constants
- replace inline tailwind strings in `Block.client.js` with imported style constants
- update `BlockEditor.client.js`, `LinkPopover.client.js`, and `Toolbar.client.js` to use shared menu styles
- update `README.md` to document the new `menuStyles.js` file
2026-04-26 15:39:41 -04:00
hykocx 3e90ef8c5d chore: bump version to 1.4.190 2026-04-26 15:19:38 -04:00
hykocx 94a7bcf44d feat(ui): add link popover component for inline link editing
- add LinkPopover.client.js component for creating, editing, and removing links
- replace autoOpenLink ref-based approach with dedicated linkPopover state
- import and integrate removeMark utility in BlockEditor
- wire up handleLinkPopoverSet and handleLinkPopoverRemove handlers
- open link popover on link click instead of expanding caret range
- close link popover on mousedown outside popover and toolbar
- refactor InlineToolbar to delegate link editing to linkPopover
2026-04-26 15:19:35 -04:00
hykocx 4a755d347c chore: bump version to 1.4.189 2026-04-26 15:11:03 -04:00
hykocx 8159b5316a feat(BlockEditor): auto-open link popover when clicking on existing link
- add `linkRangeAt` import to detect link span under caret
- handle `mouseup` on container to detect collapsed click inside a link mark
- set `autoOpenLink` flag via ref and expand selection to full link range
- pass `autoOpenLink` to toolbar state and use `initialPopover='link'` prop
- initialize toolbar popover state from `initialPopover` prop
- pre-fill link url and new-tab from existing mark when `initialPopover` is set
- add `linkRangeAt` helper in `types.js` to find enclosing link range at offset
2026-04-26 15:11:00 -04:00
hykocx 33ee62e908 chore: bump version to 1.4.188 2026-04-26 15:06:34 -04:00
hykocx 9f328bc818 feat(BlockEditor): add setMark utility and wire link submission to it
- add `setMark` helper in `types.js` that removes then applies a mark, replacing existing marks of the same type without toggling
- expose `applySetMark` in `BlockEditor.client.js` and pass it as `onSetMark` prop to `InlineToolbar`
- switch `handleLinkSubmit` in `Toolbar.client.js` to use `onSetMark` instead of `onToggleMark` so re-submitting a link always applies the new href
2026-04-26 15:06:31 -04:00
hykocx 0941994e44 chore: bump version to 1.4.187 2026-04-26 15:03:19 -04:00
hykocx 62cfb76d99 fix(ui): replace form with div in link popover to prevent unintended submit behavior
- swap `<form>` wrapper for `<div>` to avoid native form submission
- add `onKeyDown` handler on input to trigger submit on Enter key
- change button type from `submit` to `button` with explicit `onClick` handler
2026-04-26 15:03:17 -04:00
hykocx 43d2328082 chore: bump version to 1.4.186 2026-04-26 12:12:08 -04:00
hykocx 88e1840c8a chore(admin): update nav section order values for system and devkit sections 2026-04-26 12:11:56 -04:00
hykocx 0d45f18a0c chore: bump version to 1.4.185 2026-04-26 12:01:16 -04:00
hykocx bbd12e7596 style(BlockEditor): adjust container padding values 2026-04-26 12:01:13 -04:00
hykocx 7b642d71b3 chore: bump version to 1.4.184 2026-04-26 11:55:54 -04:00
hykocx d57d3a1ca1 feat(BlockEditor): add minHeight prop to control minimum container height
- accept `minHeight` as number (converted to px) or css string value
- apply inline style on container when prop is defined
- document new prop in README
2026-04-26 11:55:51 -04:00
hykocx c9d41a8abe docs(styles): add tailwind source scanning for zen modules
- add `@source` directive in zen.css to auto-scan `@zen/module-*/dist/**/*.js`
- document tailwind class auto-discovery mechanism for modules in MODULES.md
2026-04-26 11:53:18 -04:00
hykocx cdd1e39c9a chore: bump version to 1.4.183 2026-04-26 11:37:45 -04:00
hykocx 3fea89dbd4 feat(ui): add size and variant props to Input component
- add `size` prop (sm | md | lg) with corresponding tailwind size classes
- add `variant` prop supporting `default` and `ghost` styles
- add focus state tracking to enable ghost→default transition on focus
- forward `onFocus` and `onBlur` callbacks with internal focus handling
- isolate color input styling from size/variant logic
2026-04-26 11:37:42 -04:00
hykocx 649c69f408 chore: bump version to 1.4.182 2026-04-26 11:04:27 -04:00
hykocx d170058509 refactor(icons): add categoryIcon support for representative category icons
- add optional `categoryIcon` flag to icon metadata helper in add-remove.js and business.js
- mark Add01Icon and ChartLineData01Icon as category representative icons
- use categoryIcon flag in IconsPage to display the most representative icon per category
- add `cursor-pointer` to category sidebar buttons and widen sidebar from 200px to 250px
2026-04-26 11:04:19 -04:00
hykocx f4070f6611 chore: bump version to 1.4.181 2026-04-26 10:53:16 -04:00
hykocx 8d8c773c00 refactor(icons): remove export from internal helper function m 2026-04-26 10:53:13 -04:00
hykocx f1905a52cb chore: bump version to 1.4.180 2026-04-26 10:51:30 -04:00
hykocx 8254e05202 chore(ui): add business icons export to shared icons index 2026-04-26 10:51:27 -04:00
hykocx 3dc6c2a60e chore: bump version to 1.4.179 2026-04-26 10:50:56 -04:00
hykocx 4afe334c6b feat(icons): add business icon set and improve devkit icon copy behavior
- add `src/shared/icons/business.js` with new business-related icons
- move `Wallet03Icon` from `index.js` to `business.js`
- update `index.js` to export icons from business module
- add shift+click to copy JSX snippet in icons devkit page
- update icon button tooltip to hint shift shortcut
- document apostrophe escaping rule in icons README
2026-04-26 10:50:52 -04:00
hykocx 6680551eee chore: bump version to 1.4.178 2026-04-26 09:57:13 -04:00
hykocx 0b73ff1d04 docs(icons): add duplicate detection guide and remove duplicate icon definitions
- add duplicate detection section in README.md with bash commands to identify duplicates
- remove `Cancel01Icon` duplicate definition from `index.js`
- remove `Delete02Icon` duplicate definition from `index.js`
2026-04-26 09:57:09 -04:00
hykocx 615385b6b3 chore: bump version to 1.4.177 2026-04-26 09:53:20 -04:00
hykocx 85d94fe135 refactor(icons): update add-remove icon components svg attributes and paths 2026-04-26 09:53:17 -04:00
hykocx f9cf825648 chore: bump version to 1.4.176 2026-04-26 09:42:27 -04:00
hykocx 8d51e9ba03 style(admin): improve icon card layout with square aspect ratio and balanced spacing 2026-04-26 09:42:24 -04:00
hykocx f26a5bb9ec chore: bump version to 1.4.175 2026-04-26 09:41:01 -04:00
hykocx d30c6b49fd style(admin): improve icon card layout and label display in icons devkit page 2026-04-26 09:40:58 -04:00
hykocx 5cd3b248ac chore: bump version to 1.4.174 2026-04-26 09:38:06 -04:00
hykocx 668890fa7f refactor(admin): improve icons page sidebar layout and category display
- store first icon reference alongside count in category map
- add hasSidebar flag to conditionally adjust layout classes
- make sidebar full-width on mobile with horizontal scrolling category list
- reduce icon size and spacing to accommodate sidebar presence
- adjust grid columns breakpoints when sidebar is visible
2026-04-26 09:38:03 -04:00
hykocx 491219f976 chore: bump version to 1.4.173 2026-04-26 09:31:20 -04:00
hykocx 7412de96ea feat(admin): add category filter and keyword search to icons devkit page
- add category sidebar with icon counts derived from Icon.category metadata
- extend search to match icon keywords via Icon.keywords array
- add AddRemoveIcon to shared icons with category and keywords metadata
- add icons README documenting category and keywords conventions
2026-04-26 09:31:10 -04:00
hykocx b598ce7ed7 chore: bump version to 1.4.172 2026-04-25 21:03:16 -04:00
hykocx a1069c3e3d feat(BlockEditor): add notion native json paste support
- import `notionJsonToBlocks` in `Block.client.js` and prioritize `text/_notion-blocks-v3-production` mime over `text/html` on paste
- implement `notionJsonToBlocks` and `notionValueToBlock` in `clipboard.js` to convert notion block json to editor blocks, preserving native types (`to_do`, `sub_sub_header`, etc.)
- update README to document the notion mime priority in paste handling
2026-04-25 21:03:13 -04:00