@loomhq/lens 10.102.1 → 10.102.2
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/hooks/use-prefer-reduced-motion.d.ts +1 -0
- package/dist/icons/account-circle.d.ts +2 -0
- package/dist/icons/account.d.ts +2 -0
- package/dist/icons/activity.d.ts +2 -0
- package/dist/icons/add-a-photo.d.ts +2 -0
- package/dist/icons/add-circle-outline.d.ts +2 -0
- package/dist/icons/add-photo.d.ts +2 -0
- package/dist/icons/add.d.ts +2 -0
- package/dist/icons/alarm-clock-complete.d.ts +2 -0
- package/dist/icons/alarm-clock.d.ts +2 -0
- package/dist/icons/alert-triangle.d.ts +2 -0
- package/dist/icons/align-bottom.d.ts +2 -0
- package/dist/icons/apple.d.ts +2 -0
- package/dist/icons/apps.d.ts +2 -0
- package/dist/icons/archive.d.ts +2 -0
- package/dist/icons/arrow-back.d.ts +2 -0
- package/dist/icons/arrow-downward.d.ts +2 -0
- package/dist/icons/arrow-drop-down.d.ts +2 -0
- package/dist/icons/arrow-drop-up.d.ts +2 -0
- package/dist/icons/arrow-forward.d.ts +2 -0
- package/dist/icons/arrow-left-alt.d.ts +2 -0
- package/dist/icons/arrow-left.d.ts +2 -0
- package/dist/icons/arrow-right-alt.d.ts +2 -0
- package/dist/icons/arrow-right.d.ts +2 -0
- package/dist/icons/arrow-upward.d.ts +2 -0
- package/dist/icons/at-mention.d.ts +2 -0
- package/dist/icons/auto-chapters.d.ts +2 -0
- package/dist/icons/auto-summaries.d.ts +2 -0
- package/dist/icons/auto-tasks.d.ts +2 -0
- package/dist/icons/auto-titles.d.ts +2 -0
- package/dist/icons/back.d.ts +2 -0
- package/dist/icons/back5.d.ts +2 -0
- package/dist/icons/bar-chart.d.ts +2 -0
- package/dist/icons/bell-off.d.ts +2 -0
- package/dist/icons/bell-ring.d.ts +2 -0
- package/dist/icons/bell.d.ts +2 -0
- package/dist/icons/blur.d.ts +2 -0
- package/dist/icons/book.d.ts +2 -0
- package/dist/icons/border-color.d.ts +2 -0
- package/dist/icons/bulb.d.ts +2 -0
- package/dist/icons/call-to-action.d.ts +2 -0
- package/dist/icons/cam-bubble-small.d.ts +2 -0
- package/dist/icons/cam-bubble.d.ts +2 -0
- package/dist/icons/canvas.d.ts +2 -0
- package/dist/icons/caret-folder.d.ts +2 -0
- package/dist/icons/cc-off.d.ts +2 -0
- package/dist/icons/cc-on.d.ts +2 -0
- package/dist/icons/chart.d.ts +2 -0
- package/dist/icons/check-circle-fill.d.ts +2 -0
- package/dist/icons/check-circle-outline.d.ts +2 -0
- package/dist/icons/check-circle.d.ts +2 -0
- package/dist/icons/check.d.ts +2 -0
- package/dist/icons/chevron-down.d.ts +2 -0
- package/dist/icons/chevron-left.d.ts +2 -0
- package/dist/icons/chevron-right.d.ts +2 -0
- package/dist/icons/chevron-small-down.d.ts +2 -0
- package/dist/icons/chevron-small-left.d.ts +2 -0
- package/dist/icons/chevron-small-right.d.ts +2 -0
- package/dist/icons/chevron-small-up.d.ts +2 -0
- package/dist/icons/chevron-up.d.ts +2 -0
- package/dist/icons/chevrons-left.d.ts +2 -0
- package/dist/icons/chevrons-right.d.ts +2 -0
- package/dist/icons/chrome-logo.d.ts +2 -0
- package/dist/icons/chrome.d.ts +2 -0
- package/dist/icons/clock.d.ts +2 -0
- package/dist/icons/close.d.ts +2 -0
- package/dist/icons/code.d.ts +2 -0
- package/dist/icons/collapse-replies.d.ts +2 -0
- package/dist/icons/collapse.d.ts +2 -0
- package/dist/icons/color-lens.d.ts +2 -0
- package/dist/icons/comment.d.ts +2 -0
- package/dist/icons/confetti.d.ts +2 -0
- package/dist/icons/contact-support.d.ts +2 -0
- package/dist/icons/copy.d.ts +2 -0
- package/dist/icons/create.d.ts +2 -0
- package/dist/icons/crop-16-9.d.ts +2 -0
- package/dist/icons/crop-5-4.d.ts +2 -0
- package/dist/icons/crop-7-5.d.ts +2 -0
- package/dist/icons/crop-expanded-16-9.d.ts +2 -0
- package/dist/icons/crop169-expanded.d.ts +2 -0
- package/dist/icons/crop169.d.ts +2 -0
- package/dist/icons/crop54.d.ts +2 -0
- package/dist/icons/crop75.d.ts +2 -0
- package/dist/icons/cut.d.ts +2 -0
- package/dist/icons/delete-forever.d.ts +2 -0
- package/dist/icons/delete.d.ts +2 -0
- package/dist/icons/desktop-mac.d.ts +2 -0
- package/dist/icons/domain.d.ts +2 -0
- package/dist/icons/download.d.ts +2 -0
- package/dist/icons/edge-logo.d.ts +2 -0
- package/dist/icons/edit-border.d.ts +2 -0
- package/dist/icons/edit.d.ts +2 -0
- package/dist/icons/exit-to-app.d.ts +2 -0
- package/dist/icons/expand-replies.d.ts +2 -0
- package/dist/icons/expand.d.ts +2 -0
- package/dist/icons/extension.d.ts +2 -0
- package/dist/icons/external-link.d.ts +2 -0
- package/dist/icons/eye-off.d.ts +2 -0
- package/dist/icons/eye.d.ts +2 -0
- package/dist/icons/fiber-manual-record.d.ts +2 -0
- package/dist/icons/filler-word-removal.d.ts +2 -0
- package/dist/icons/firefox-logo.d.ts +2 -0
- package/dist/icons/first-page.d.ts +2 -0
- package/dist/icons/folder-plus-deprecated.d.ts +2 -0
- package/dist/icons/folder-plus.d.ts +2 -0
- package/dist/icons/folder-shared.d.ts +2 -0
- package/dist/icons/folder.d.ts +2 -0
- package/dist/icons/forward-5.d.ts +2 -0
- package/dist/icons/forward.d.ts +2 -0
- package/dist/icons/forward5.d.ts +2 -0
- package/dist/icons/frown.d.ts +2 -0
- package/dist/icons/fullscreen-exit.d.ts +2 -0
- package/dist/icons/fullscreen.d.ts +2 -0
- package/dist/icons/google.d.ts +2 -0
- package/dist/icons/grid.d.ts +2 -0
- package/dist/icons/group-add.d.ts +2 -0
- package/dist/icons/help-circle.d.ts +2 -0
- package/dist/icons/help.d.ts +2 -0
- package/dist/icons/highlight-off.d.ts +2 -0
- package/dist/icons/home.d.ts +2 -0
- package/dist/icons/image.d.ts +2 -0
- package/dist/icons/image1.d.ts +2 -0
- package/dist/icons/image2.d.ts +2 -0
- package/dist/icons/import.d.ts +2 -0
- package/dist/icons/info-fill.d.ts +2 -0
- package/dist/icons/info-outline.d.ts +2 -0
- package/dist/icons/info.d.ts +2 -0
- package/dist/icons/keyboard-arrow-down.d.ts +2 -0
- package/dist/icons/keyboard-arrow-left.d.ts +2 -0
- package/dist/icons/keyboard-arrow-right.d.ts +2 -0
- package/dist/icons/keyboard-arrow-up.d.ts +2 -0
- package/dist/icons/launch.d.ts +2 -0
- package/dist/icons/lightbulb-outline.d.ts +2 -0
- package/dist/icons/link-off.d.ts +2 -0
- package/dist/icons/link.d.ts +2 -0
- package/dist/icons/linkedin.d.ts +2 -0
- package/dist/icons/list.d.ts +2 -0
- package/dist/icons/location.d.ts +2 -0
- package/dist/icons/lock-fill.d.ts +2 -0
- package/dist/icons/lock.d.ts +2 -0
- package/dist/icons/log-out.d.ts +2 -0
- package/dist/icons/mail.d.ts +2 -0
- package/dist/icons/maximize.d.ts +2 -0
- package/dist/icons/menu-hide.d.ts +2 -0
- package/dist/icons/menu-show.d.ts +2 -0
- package/dist/icons/menu.d.ts +2 -0
- package/dist/icons/mic-off.d.ts +2 -0
- package/dist/icons/mic.d.ts +2 -0
- package/dist/icons/minimize.d.ts +2 -0
- package/dist/icons/minus-circle.d.ts +2 -0
- package/dist/icons/mobile-devices.d.ts +2 -0
- package/dist/icons/money.d.ts +2 -0
- package/dist/icons/moon.d.ts +2 -0
- package/dist/icons/more-horiz.d.ts +2 -0
- package/dist/icons/movie-filter.d.ts +2 -0
- package/dist/icons/mute.d.ts +2 -0
- package/dist/icons/near-me.d.ts +2 -0
- package/dist/icons/notes.d.ts +2 -0
- package/dist/icons/notifications.d.ts +2 -0
- package/dist/icons/offline-bolt.d.ts +2 -0
- package/dist/icons/outlook.d.ts +2 -0
- package/dist/icons/palette.d.ts +2 -0
- package/dist/icons/pause.d.ts +2 -0
- package/dist/icons/people.d.ts +2 -0
- package/dist/icons/person.d.ts +2 -0
- package/dist/icons/phone-link-off.d.ts +2 -0
- package/dist/icons/phonelink-off.d.ts +2 -0
- package/dist/icons/photo-size-select-actual.d.ts +2 -0
- package/dist/icons/picture-in-picture-deprecated.d.ts +2 -0
- package/dist/icons/picture-in-picture.d.ts +2 -0
- package/dist/icons/pin-fill.d.ts +2 -0
- package/dist/icons/pin.d.ts +2 -0
- package/dist/icons/play-arrow.d.ts +2 -0
- package/dist/icons/play-circle-filled.d.ts +2 -0
- package/dist/icons/play-circle.d.ts +2 -0
- package/dist/icons/play.d.ts +2 -0
- package/dist/icons/plus-circle.d.ts +2 -0
- package/dist/icons/power.d.ts +2 -0
- package/dist/icons/present.d.ts +2 -0
- package/dist/icons/public-off.d.ts +2 -0
- package/dist/icons/public-on.d.ts +2 -0
- package/dist/icons/publicoff.d.ts +2 -0
- package/dist/icons/publicon.d.ts +2 -0
- package/dist/icons/quick-edit.d.ts +2 -0
- package/dist/icons/record.d.ts +2 -0
- package/dist/icons/redo.d.ts +2 -0
- package/dist/icons/refresh.d.ts +2 -0
- package/dist/icons/remove-circle-outline.d.ts +2 -0
- package/dist/icons/remove-red-eye.d.ts +2 -0
- package/dist/icons/repeat.d.ts +2 -0
- package/dist/icons/replay-5.d.ts +2 -0
- package/dist/icons/replay.d.ts +2 -0
- package/dist/icons/reply-left.d.ts +2 -0
- package/dist/icons/reply-right.d.ts +2 -0
- package/dist/icons/reply.d.ts +2 -0
- package/dist/icons/rewind.d.ts +2 -0
- package/dist/icons/rotate-left.d.ts +2 -0
- package/dist/icons/safari-logo.d.ts +2 -0
- package/dist/icons/salesforce-blk.d.ts +2 -0
- package/dist/icons/salesforce.d.ts +2 -0
- package/dist/icons/school.d.ts +2 -0
- package/dist/icons/scissors.d.ts +2 -0
- package/dist/icons/screen-cam.d.ts +2 -0
- package/dist/icons/search.d.ts +2 -0
- package/dist/icons/send.d.ts +2 -0
- package/dist/icons/sentiment-dissatisfied.d.ts +2 -0
- package/dist/icons/sentiment-satisfied.d.ts +2 -0
- package/dist/icons/settings.d.ts +2 -0
- package/dist/icons/share.d.ts +2 -0
- package/dist/icons/show-chart.d.ts +2 -0
- package/dist/icons/silence-removal.d.ts +2 -0
- package/dist/icons/skip-back.d.ts +2 -0
- package/dist/icons/slack.d.ts +2 -0
- package/dist/icons/smile-alt.d.ts +2 -0
- package/dist/icons/smile-select.d.ts +2 -0
- package/dist/icons/smile.d.ts +2 -0
- package/dist/icons/sparkle.d.ts +2 -0
- package/dist/icons/speed-fast.d.ts +2 -0
- package/dist/icons/speed-medium.d.ts +2 -0
- package/dist/icons/speed-slow.d.ts +2 -0
- package/dist/icons/speed-x-fast.d.ts +2 -0
- package/dist/icons/speed-x-slow.d.ts +2 -0
- package/dist/icons/split.d.ts +2 -0
- package/dist/icons/star-outline.d.ts +2 -0
- package/dist/icons/star.d.ts +2 -0
- package/dist/icons/stop.d.ts +2 -0
- package/dist/icons/sun.d.ts +2 -0
- package/dist/icons/tag-faces.d.ts +2 -0
- package/dist/icons/task.d.ts +2 -0
- package/dist/icons/text.d.ts +2 -0
- package/dist/icons/timeline-editor.d.ts +2 -0
- package/dist/icons/timer.d.ts +2 -0
- package/dist/icons/touch-app.d.ts +2 -0
- package/dist/icons/transcript.d.ts +2 -0
- package/dist/icons/trash-forever.d.ts +2 -0
- package/dist/icons/trash.d.ts +2 -0
- package/dist/icons/tune.d.ts +2 -0
- package/dist/icons/unarchive.d.ts +2 -0
- package/dist/icons/undo.d.ts +2 -0
- package/dist/icons/upload.d.ts +2 -0
- package/dist/icons/user.d.ts +2 -0
- package/dist/icons/users-add.d.ts +2 -0
- package/dist/icons/users.d.ts +2 -0
- package/dist/icons/variables.d.ts +2 -0
- package/dist/icons/vertical-align-bottom.d.ts +2 -0
- package/dist/icons/video-cam.d.ts +2 -0
- package/dist/icons/video-library.d.ts +2 -0
- package/dist/icons/video-off.d.ts +2 -0
- package/dist/icons/videocam-off.d.ts +2 -0
- package/dist/icons/videocam.d.ts +2 -0
- package/dist/icons/view-list.d.ts +2 -0
- package/dist/icons/volume-down.d.ts +2 -0
- package/dist/icons/volume-mute.d.ts +2 -0
- package/dist/icons/volume-off.d.ts +2 -0
- package/dist/icons/volume-up.d.ts +2 -0
- package/dist/icons/volume-x.d.ts +2 -0
- package/dist/icons/volume1.d.ts +2 -0
- package/dist/icons/volume2.d.ts +2 -0
- package/dist/icons/warning-alert.d.ts +2 -0
- package/dist/icons/warning-amber.d.ts +2 -0
- package/dist/icons/watch-later-add.d.ts +2 -0
- package/dist/icons/watch-later-added.d.ts +2 -0
- package/dist/icons/watch-later-remove.d.ts +2 -0
- package/dist/icons/watch-later.d.ts +2 -0
- package/dist/icons/windows.d.ts +2 -0
- package/dist/icons/x-circle.d.ts +2 -0
- package/dist/icons/zap-outline.d.ts +2 -0
- package/dist/icons/zap.d.ts +2 -0
- package/package.json +10 -6
- package/dist/colors.js +0 -151
- package/dist/components/align/align.js +0 -60
- package/dist/components/arrange/arrange.js +0 -51
- package/dist/components/avatar/avatar.js +0 -114
- package/dist/components/backdrop/backdrop.js +0 -42
- package/dist/components/base-styles/base-styles.js +0 -40
- package/dist/components/button/button.js +0 -192
- package/dist/components/checkbox/checkbox.js +0 -97
- package/dist/components/color-picker/color-picker.js +0 -151
- package/dist/components/container/container.js +0 -76
- package/dist/components/distribute/distribute.js +0 -82
- package/dist/components/dropdown/dropdown.js +0 -60
- package/dist/components/error-container/error-container.js +0 -35
- package/dist/components/form-field/form-field.js +0 -56
- package/dist/components/icon/available-icons/account-circle.js +0 -3
- package/dist/components/icon/available-icons/account.js +0 -7
- package/dist/components/icon/available-icons/activity.js +0 -3
- package/dist/components/icon/available-icons/add-a-photo.js +0 -3
- package/dist/components/icon/available-icons/add-circle-outline.js +0 -3
- package/dist/components/icon/available-icons/add-photo.js +0 -7
- package/dist/components/icon/available-icons/add.js +0 -3
- package/dist/components/icon/available-icons/alarm-clock-complete.js +0 -5
- package/dist/components/icon/available-icons/alarm-clock.js +0 -5
- package/dist/components/icon/available-icons/alert-triangle.js +0 -5
- package/dist/components/icon/available-icons/align-bottom.js +0 -6
- package/dist/components/icon/available-icons/apple.js +0 -5
- package/dist/components/icon/available-icons/apps.js +0 -3
- package/dist/components/icon/available-icons/archive.js +0 -7
- package/dist/components/icon/available-icons/arrow-back.js +0 -3
- package/dist/components/icon/available-icons/arrow-downward.js +0 -3
- package/dist/components/icon/available-icons/arrow-drop-down.js +0 -3
- package/dist/components/icon/available-icons/arrow-drop-up.js +0 -3
- package/dist/components/icon/available-icons/arrow-forward.js +0 -3
- package/dist/components/icon/available-icons/arrow-left-alt.js +0 -6
- package/dist/components/icon/available-icons/arrow-left.js +0 -6
- package/dist/components/icon/available-icons/arrow-right-alt.js +0 -6
- package/dist/components/icon/available-icons/arrow-right.js +0 -6
- package/dist/components/icon/available-icons/arrow-upward.js +0 -3
- package/dist/components/icon/available-icons/at-mention.js +0 -5
- package/dist/components/icon/available-icons/auto-chapters.js +0 -6
- package/dist/components/icon/available-icons/auto-summaries.js +0 -9
- package/dist/components/icon/available-icons/auto-tasks.js +0 -7
- package/dist/components/icon/available-icons/auto-titles.js +0 -12
- package/dist/components/icon/available-icons/back.js +0 -4
- package/dist/components/icon/available-icons/back5.js +0 -8
- package/dist/components/icon/available-icons/bar-chart.js +0 -5
- package/dist/components/icon/available-icons/bell-off.js +0 -6
- package/dist/components/icon/available-icons/bell-ring.js +0 -8
- package/dist/components/icon/available-icons/bell.js +0 -5
- package/dist/components/icon/available-icons/blur.js +0 -16
- package/dist/components/icon/available-icons/book.js +0 -5
- package/dist/components/icon/available-icons/border-color.js +0 -3
- package/dist/components/icon/available-icons/bulb.js +0 -5
- package/dist/components/icon/available-icons/call-to-action.js +0 -6
- package/dist/components/icon/available-icons/cam-bubble-small.js +0 -5
- package/dist/components/icon/available-icons/cam-bubble.js +0 -5
- package/dist/components/icon/available-icons/canvas.js +0 -4
- package/dist/components/icon/available-icons/caret-folder.js +0 -6
- package/dist/components/icon/available-icons/cc-off.js +0 -5
- package/dist/components/icon/available-icons/cc-on.js +0 -5
- package/dist/components/icon/available-icons/chart.js +0 -5
- package/dist/components/icon/available-icons/check-circle-fill.js +0 -6
- package/dist/components/icon/available-icons/check-circle-outline.js +0 -3
- package/dist/components/icon/available-icons/check-circle.js +0 -6
- package/dist/components/icon/available-icons/check.js +0 -5
- package/dist/components/icon/available-icons/chevron-down.js +0 -5
- package/dist/components/icon/available-icons/chevron-left.js +0 -5
- package/dist/components/icon/available-icons/chevron-right.js +0 -5
- package/dist/components/icon/available-icons/chevron-small-down.js +0 -5
- package/dist/components/icon/available-icons/chevron-small-left.js +0 -5
- package/dist/components/icon/available-icons/chevron-small-right.js +0 -5
- package/dist/components/icon/available-icons/chevron-small-up.js +0 -5
- package/dist/components/icon/available-icons/chevron-up.js +0 -5
- package/dist/components/icon/available-icons/chevrons-left.js +0 -6
- package/dist/components/icon/available-icons/chevrons-right.js +0 -6
- package/dist/components/icon/available-icons/chrome-logo.js +0 -13
- package/dist/components/icon/available-icons/chrome.js +0 -5
- package/dist/components/icon/available-icons/clock.js +0 -6
- package/dist/components/icon/available-icons/close.js +0 -5
- package/dist/components/icon/available-icons/code.js +0 -6
- package/dist/components/icon/available-icons/collapse-replies.js +0 -4
- package/dist/components/icon/available-icons/collapse.js +0 -3
- package/dist/components/icon/available-icons/color-lens.js +0 -3
- package/dist/components/icon/available-icons/comment.js +0 -5
- package/dist/components/icon/available-icons/confetti.js +0 -12
- package/dist/components/icon/available-icons/contact-support.js +0 -7
- package/dist/components/icon/available-icons/copy.js +0 -6
- package/dist/components/icon/available-icons/create.js +0 -3
- package/dist/components/icon/available-icons/crop-16-9.js +0 -3
- package/dist/components/icon/available-icons/crop-5-4.js +0 -5
- package/dist/components/icon/available-icons/crop-7-5.js +0 -5
- package/dist/components/icon/available-icons/crop-expanded-16-9.js +0 -3
- package/dist/components/icon/available-icons/crop169-expanded.js +0 -5
- package/dist/components/icon/available-icons/crop169.js +0 -5
- package/dist/components/icon/available-icons/crop54.js +0 -5
- package/dist/components/icon/available-icons/crop75.js +0 -5
- package/dist/components/icon/available-icons/cut.js +0 -3
- package/dist/components/icon/available-icons/delete-forever.js +0 -3
- package/dist/components/icon/available-icons/delete.js +0 -3
- package/dist/components/icon/available-icons/desktop-mac.js +0 -7
- package/dist/components/icon/available-icons/domain.js +0 -6
- package/dist/components/icon/available-icons/download.js +0 -5
- package/dist/components/icon/available-icons/edge-logo.js +0 -39
- package/dist/components/icon/available-icons/edit-border.js +0 -7
- package/dist/components/icon/available-icons/edit.js +0 -5
- package/dist/components/icon/available-icons/exit-to-app.js +0 -3
- package/dist/components/icon/available-icons/expand-replies.js +0 -4
- package/dist/components/icon/available-icons/expand.js +0 -3
- package/dist/components/icon/available-icons/extension.js +0 -5
- package/dist/components/icon/available-icons/external-link.js +0 -6
- package/dist/components/icon/available-icons/eye-off.js +0 -7
- package/dist/components/icon/available-icons/eye.js +0 -6
- package/dist/components/icon/available-icons/fiber-manual-record.js +0 -3
- package/dist/components/icon/available-icons/filler-word-removal.js +0 -9
- package/dist/components/icon/available-icons/firefox-logo.js +0 -125
- package/dist/components/icon/available-icons/first-page.js +0 -3
- package/dist/components/icon/available-icons/folder-plus-deprecated.js +0 -6
- package/dist/components/icon/available-icons/folder-plus.js +0 -6
- package/dist/components/icon/available-icons/folder-shared.js +0 -7
- package/dist/components/icon/available-icons/folder.js +0 -5
- package/dist/components/icon/available-icons/forward-5.js +0 -8
- package/dist/components/icon/available-icons/forward.js +0 -4
- package/dist/components/icon/available-icons/forward5.js +0 -5
- package/dist/components/icon/available-icons/frown.js +0 -6
- package/dist/components/icon/available-icons/fullscreen-exit.js +0 -3
- package/dist/components/icon/available-icons/fullscreen.js +0 -3
- package/dist/components/icon/available-icons/google.js +0 -8
- package/dist/components/icon/available-icons/grid.js +0 -5
- package/dist/components/icon/available-icons/group-add.js +0 -3
- package/dist/components/icon/available-icons/help-circle.js +0 -6
- package/dist/components/icon/available-icons/help.js +0 -3
- package/dist/components/icon/available-icons/highlight-off.js +0 -3
- package/dist/components/icon/available-icons/home.js +0 -3
- package/dist/components/icon/available-icons/image.js +0 -3
- package/dist/components/icon/available-icons/image1.js +0 -6
- package/dist/components/icon/available-icons/image2.js +0 -6
- package/dist/components/icon/available-icons/import.js +0 -7
- package/dist/components/icon/available-icons/info-fill.js +0 -5
- package/dist/components/icon/available-icons/info-outline.js +0 -3
- package/dist/components/icon/available-icons/info.js +0 -6
- package/dist/components/icon/available-icons/keyboard-arrow-down.js +0 -3
- package/dist/components/icon/available-icons/keyboard-arrow-left.js +0 -3
- package/dist/components/icon/available-icons/keyboard-arrow-right.js +0 -3
- package/dist/components/icon/available-icons/keyboard-arrow-up.js +0 -3
- package/dist/components/icon/available-icons/launch.js +0 -3
- package/dist/components/icon/available-icons/lightbulb-outline.js +0 -3
- package/dist/components/icon/available-icons/link-off.js +0 -5
- package/dist/components/icon/available-icons/link.js +0 -7
- package/dist/components/icon/available-icons/linkedin.js +0 -3
- package/dist/components/icon/available-icons/list.js +0 -5
- package/dist/components/icon/available-icons/location.js +0 -5
- package/dist/components/icon/available-icons/lock-fill.js +0 -7
- package/dist/components/icon/available-icons/lock.js +0 -6
- package/dist/components/icon/available-icons/log-out.js +0 -6
- package/dist/components/icon/available-icons/mail.js +0 -5
- package/dist/components/icon/available-icons/maximize.js +0 -5
- package/dist/components/icon/available-icons/menu-hide.js +0 -5
- package/dist/components/icon/available-icons/menu-show.js +0 -5
- package/dist/components/icon/available-icons/menu.js +0 -5
- package/dist/components/icon/available-icons/mic-off.js +0 -5
- package/dist/components/icon/available-icons/mic.js +0 -8
- package/dist/components/icon/available-icons/minimize.js +0 -5
- package/dist/components/icon/available-icons/minus-circle.js +0 -6
- package/dist/components/icon/available-icons/mobile-devices.js +0 -5
- package/dist/components/icon/available-icons/money.js +0 -6
- package/dist/components/icon/available-icons/moon.js +0 -6
- package/dist/components/icon/available-icons/more-horiz.js +0 -5
- package/dist/components/icon/available-icons/movie-filter.js +0 -5
- package/dist/components/icon/available-icons/mute.js +0 -5
- package/dist/components/icon/available-icons/near-me.js +0 -3
- package/dist/components/icon/available-icons/notes.js +0 -3
- package/dist/components/icon/available-icons/notifications.js +0 -3
- package/dist/components/icon/available-icons/offline-bolt.js +0 -3
- package/dist/components/icon/available-icons/outlook.js +0 -8
- package/dist/components/icon/available-icons/palette.js +0 -6
- package/dist/components/icon/available-icons/pause.js +0 -5
- package/dist/components/icon/available-icons/people.js +0 -3
- package/dist/components/icon/available-icons/person.js +0 -3
- package/dist/components/icon/available-icons/phone-link-off.js +0 -7
- package/dist/components/icon/available-icons/phonelink-off.js +0 -3
- package/dist/components/icon/available-icons/photo-size-select-actual.js +0 -3
- package/dist/components/icon/available-icons/picture-in-picture-deprecated.js +0 -6
- package/dist/components/icon/available-icons/picture-in-picture.js +0 -6
- package/dist/components/icon/available-icons/pin-fill.js +0 -5
- package/dist/components/icon/available-icons/pin.js +0 -5
- package/dist/components/icon/available-icons/play-arrow.js +0 -3
- package/dist/components/icon/available-icons/play-circle-filled.js +0 -3
- package/dist/components/icon/available-icons/play-circle.js +0 -6
- package/dist/components/icon/available-icons/play.js +0 -5
- package/dist/components/icon/available-icons/plus-circle.js +0 -5
- package/dist/components/icon/available-icons/power.js +0 -4
- package/dist/components/icon/available-icons/present.js +0 -5
- package/dist/components/icon/available-icons/public-off.js +0 -5
- package/dist/components/icon/available-icons/public-on.js +0 -5
- package/dist/components/icon/available-icons/publicoff.js +0 -3
- package/dist/components/icon/available-icons/publicon.js +0 -3
- package/dist/components/icon/available-icons/quick-edit.js +0 -10
- package/dist/components/icon/available-icons/record.js +0 -5
- package/dist/components/icon/available-icons/redo.js +0 -4
- package/dist/components/icon/available-icons/refresh.js +0 -6
- package/dist/components/icon/available-icons/remove-circle-outline.js +0 -3
- package/dist/components/icon/available-icons/remove-red-eye.js +0 -3
- package/dist/components/icon/available-icons/repeat.js +0 -6
- package/dist/components/icon/available-icons/replay-5.js +0 -6
- package/dist/components/icon/available-icons/replay.js +0 -3
- package/dist/components/icon/available-icons/reply-left.js +0 -5
- package/dist/components/icon/available-icons/reply-right.js +0 -5
- package/dist/components/icon/available-icons/reply.js +0 -3
- package/dist/components/icon/available-icons/rewind.js +0 -8
- package/dist/components/icon/available-icons/rotate-left.js +0 -3
- package/dist/components/icon/available-icons/safari-logo.js +0 -35
- package/dist/components/icon/available-icons/salesforce-blk.js +0 -7
- package/dist/components/icon/available-icons/salesforce.js +0 -7
- package/dist/components/icon/available-icons/school.js +0 -3
- package/dist/components/icon/available-icons/scissors.js +0 -7
- package/dist/components/icon/available-icons/screen-cam.js +0 -7
- package/dist/components/icon/available-icons/search.js +0 -6
- package/dist/components/icon/available-icons/send.js +0 -6
- package/dist/components/icon/available-icons/sentiment-dissatisfied.js +0 -3
- package/dist/components/icon/available-icons/sentiment-satisfied.js +0 -3
- package/dist/components/icon/available-icons/settings.js +0 -6
- package/dist/components/icon/available-icons/share.js +0 -5
- package/dist/components/icon/available-icons/show-chart.js +0 -3
- package/dist/components/icon/available-icons/silence-removal.js +0 -9
- package/dist/components/icon/available-icons/skip-back.js +0 -5
- package/dist/components/icon/available-icons/slack.js +0 -8
- package/dist/components/icon/available-icons/smile-alt.js +0 -6
- package/dist/components/icon/available-icons/smile-select.js +0 -5
- package/dist/components/icon/available-icons/smile.js +0 -6
- package/dist/components/icon/available-icons/sparkle.js +0 -3
- package/dist/components/icon/available-icons/speed-fast.js +0 -5
- package/dist/components/icon/available-icons/speed-medium.js +0 -5
- package/dist/components/icon/available-icons/speed-slow.js +0 -5
- package/dist/components/icon/available-icons/speed-x-fast.js +0 -5
- package/dist/components/icon/available-icons/speed-x-slow.js +0 -5
- package/dist/components/icon/available-icons/split.js +0 -5
- package/dist/components/icon/available-icons/star-outline.js +0 -5
- package/dist/components/icon/available-icons/star.js +0 -5
- package/dist/components/icon/available-icons/stop.js +0 -5
- package/dist/components/icon/available-icons/sun.js +0 -14
- package/dist/components/icon/available-icons/tag-faces.js +0 -3
- package/dist/components/icon/available-icons/task.js +0 -6
- package/dist/components/icon/available-icons/text.js +0 -5
- package/dist/components/icon/available-icons/timeline-editor.js +0 -7
- package/dist/components/icon/available-icons/timer.js +0 -5
- package/dist/components/icon/available-icons/touch-app.js +0 -3
- package/dist/components/icon/available-icons/transcript.js +0 -3
- package/dist/components/icon/available-icons/trash-forever.js +0 -8
- package/dist/components/icon/available-icons/trash.js +0 -7
- package/dist/components/icon/available-icons/tune.js +0 -3
- package/dist/components/icon/available-icons/unarchive.js +0 -7
- package/dist/components/icon/available-icons/undo.js +0 -6
- package/dist/components/icon/available-icons/upload.js +0 -6
- package/dist/components/icon/available-icons/user.js +0 -5
- package/dist/components/icon/available-icons/users-add.js +0 -6
- package/dist/components/icon/available-icons/users.js +0 -5
- package/dist/components/icon/available-icons/variables.js +0 -5
- package/dist/components/icon/available-icons/vertical-align-bottom.js +0 -3
- package/dist/components/icon/available-icons/video-cam.js +0 -6
- package/dist/components/icon/available-icons/video-library.js +0 -7
- package/dist/components/icon/available-icons/video-off.js +0 -6
- package/dist/components/icon/available-icons/videocam-off.js +0 -3
- package/dist/components/icon/available-icons/videocam.js +0 -3
- package/dist/components/icon/available-icons/view-list.js +0 -3
- package/dist/components/icon/available-icons/volume-down.js +0 -3
- package/dist/components/icon/available-icons/volume-mute.js +0 -3
- package/dist/components/icon/available-icons/volume-off.js +0 -3
- package/dist/components/icon/available-icons/volume-up.js +0 -3
- package/dist/components/icon/available-icons/volume-x.js +0 -6
- package/dist/components/icon/available-icons/volume1.js +0 -5
- package/dist/components/icon/available-icons/volume2.js +0 -5
- package/dist/components/icon/available-icons/warning-alert.js +0 -3
- package/dist/components/icon/available-icons/warning-amber.js +0 -3
- package/dist/components/icon/available-icons/watch-later-add.js +0 -5
- package/dist/components/icon/available-icons/watch-later-added.js +0 -5
- package/dist/components/icon/available-icons/watch-later-remove.js +0 -5
- package/dist/components/icon/available-icons/watch-later.js +0 -5
- package/dist/components/icon/available-icons/windows.js +0 -5
- package/dist/components/icon/available-icons/x-circle.js +0 -7
- package/dist/components/icon/available-icons/zap-outline.js +0 -5
- package/dist/components/icon/available-icons/zap.js +0 -5
- package/dist/components/icon/icon.js +0 -45
- package/dist/components/icon-button/icon-button.js +0 -82
- package/dist/components/illustration/illustration.js +0 -31
- package/dist/components/index.js +0 -47
- package/dist/components/layout/layout.js +0 -48
- package/dist/components/link/link.js +0 -67
- package/dist/components/list/list.js +0 -103
- package/dist/components/loader/loader.js +0 -79
- package/dist/components/logo/logo.js +0 -113
- package/dist/components/logo-loader/logo-loader.js +0 -26
- package/dist/components/menu/menu.js +0 -82
- package/dist/components/modal/modal.js +0 -163
- package/dist/components/notification-bar/notification-bar.js +0 -96
- package/dist/components/notification-bar/types.js +0 -1
- package/dist/components/pill/pill.js +0 -40
- package/dist/components/popover/popover.js +0 -96
- package/dist/components/radio/radio.js +0 -86
- package/dist/components/select/select.js +0 -208
- package/dist/components/skeleton-text/skeleton-text.js +0 -32
- package/dist/components/spacer/spacer.js +0 -28
- package/dist/components/split/split.js +0 -67
- package/dist/components/switch/switch.js +0 -127
- package/dist/components/tabs/tabs.js +0 -192
- package/dist/components/text/text.js +0 -107
- package/dist/components/text-button/text-button.js +0 -88
- package/dist/components/text-input/text-input.js +0 -130
- package/dist/components/textarea/textarea.js +0 -67
- package/dist/components/toast/toast.js +0 -87
- package/dist/components/tooltip/tooltip.js +0 -157
- package/dist/console-messages.js +0 -5
- package/dist/constants/routes.js +0 -1
- package/dist/css-utilities/generate-utilities.js +0 -64
- package/dist/css-utilities/index.js +0 -2
- package/dist/css-utilities/rules.js +0 -449
- package/dist/css-variables/index.js +0 -136
- package/dist/hooks/index.js +0 -5
- package/dist/hooks/use-focused-element.js +0 -26
- package/dist/hooks/use-media.js +0 -23
- package/dist/hooks/use-on-click-outside.js +0 -17
- package/dist/hooks/use-prevent-scroll.js +0 -73
- package/dist/hooks/use-push-page-down.js +0 -24
- package/dist/illustrations/accounts-and-billing.js +0 -7
- package/dist/illustrations/archived.js +0 -7
- package/dist/illustrations/ask-for-more.js +0 -6
- package/dist/illustrations/business-plan.js +0 -6
- package/dist/illustrations/chrome-notifications-empty-state.js +0 -14
- package/dist/illustrations/collaborate-with-teammates.js +0 -6
- package/dist/illustrations/comments.js +0 -7
- package/dist/illustrations/community-alt.js +0 -6
- package/dist/illustrations/community.js +0 -6
- package/dist/illustrations/content-limit.js +0 -6
- package/dist/illustrations/custom-branding.js +0 -6
- package/dist/illustrations/desktop-app-and-chrome-extension.js +0 -9
- package/dist/illustrations/device-compatibility.js +0 -7
- package/dist/illustrations/downgrade.js +0 -6
- package/dist/illustrations/embrace-the-weird.js +0 -6
- package/dist/illustrations/enterprise-plan.js +0 -6
- package/dist/illustrations/faq-and-security.js +0 -8
- package/dist/illustrations/five-minute-limit.js +0 -6
- package/dist/illustrations/folders-empty-state-mobile.js +0 -7
- package/dist/illustrations/getting-started.js +0 -9
- package/dist/illustrations/growth-through-empathy.js +0 -12
- package/dist/illustrations/health-plans.js +0 -6
- package/dist/illustrations/help-ios.js +0 -7
- package/dist/illustrations/how-to-use-loom.js +0 -6
- package/dist/illustrations/index.js +0 -48
- package/dist/illustrations/invite-members.js +0 -6
- package/dist/illustrations/invite.js +0 -9
- package/dist/illustrations/lead-with-transparency.js +0 -6
- package/dist/illustrations/learning-and-development.js +0 -8
- package/dist/illustrations/loom-plans.js +0 -7
- package/dist/illustrations/my-videos-empty-state-mobile.js +0 -7
- package/dist/illustrations/option-grants.js +0 -6
- package/dist/illustrations/parental-leave.js +0 -6
- package/dist/illustrations/pto.js +0 -6
- package/dist/illustrations/recents-empty-state-mobile.js +0 -6
- package/dist/illustrations/record.js +0 -10
- package/dist/illustrations/remote-first.js +0 -8
- package/dist/illustrations/roadmap.js +0 -7
- package/dist/illustrations/screenshot.js +0 -6
- package/dist/illustrations/share-with-your-team.js +0 -11
- package/dist/illustrations/share.js +0 -8
- package/dist/illustrations/starred.js +0 -6
- package/dist/illustrations/starter-plus-plan.js +0 -6
- package/dist/illustrations/strong-upload-speed.js +0 -7
- package/dist/illustrations/troubleshooting.js +0 -9
- package/dist/illustrations/upgrade.js +0 -6
- package/dist/illustrations/upload-drag-and-drop.js +0 -6
- package/dist/illustrations/use-cases.js +0 -6
- package/dist/illustrations/wellness.js +0 -8
- package/dist/index.js +0 -10
- package/dist/types.js +0 -1
- package/dist/utilities/case.js +0 -6
- package/dist/utilities/color.js +0 -23
- package/dist/utilities/downshift.js +0 -24
- package/dist/utilities/index.js +0 -5
- package/dist/utilities/responsive.js +0 -101
- package/dist/utilities/size.js +0 -34
- package/dist/utilities/styles.js +0 -34
- package/dist/variables.js +0 -81
- /package/dist/{components/icon/available-icons/index.js → icons/index.d.ts} +0 -0
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { breakpoints } from '../variables';
|
|
2
|
-
import { colorRules, shadowRules, radiiRules, backgroundColorRules, marginRules, marginCrossRules, paddingRules, paddingCrossRules, textSizeRules, fontWeightRules, textVariantRules, textAlignmentRules, borderRules, displayRules, flexWrapRules, flexDirectionRules, flexItemRules, JustifyContentRules, growRules, shrinkRules, alignSelfRules, overflowRules, positionRules, sidePositionRules, widthRules, minWidthRules, heightRules, ellipsisRules, accessibilityRules, } from './rules';
|
|
3
|
-
const separator = '\\:';
|
|
4
|
-
const allRules = [
|
|
5
|
-
...colorRules,
|
|
6
|
-
...shadowRules,
|
|
7
|
-
...radiiRules,
|
|
8
|
-
...backgroundColorRules,
|
|
9
|
-
...marginRules,
|
|
10
|
-
...marginCrossRules,
|
|
11
|
-
...paddingRules,
|
|
12
|
-
...paddingCrossRules,
|
|
13
|
-
...textSizeRules,
|
|
14
|
-
...fontWeightRules,
|
|
15
|
-
...textVariantRules,
|
|
16
|
-
...textAlignmentRules,
|
|
17
|
-
...borderRules,
|
|
18
|
-
...displayRules,
|
|
19
|
-
...flexWrapRules,
|
|
20
|
-
...flexDirectionRules,
|
|
21
|
-
...flexItemRules,
|
|
22
|
-
...JustifyContentRules,
|
|
23
|
-
...growRules,
|
|
24
|
-
...shrinkRules,
|
|
25
|
-
...alignSelfRules,
|
|
26
|
-
...overflowRules,
|
|
27
|
-
...positionRules,
|
|
28
|
-
...sidePositionRules,
|
|
29
|
-
...widthRules,
|
|
30
|
-
...minWidthRules,
|
|
31
|
-
...heightRules,
|
|
32
|
-
...ellipsisRules,
|
|
33
|
-
...accessibilityRules,
|
|
34
|
-
];
|
|
35
|
-
export const objectToRuleset = (rules, prefix) => {
|
|
36
|
-
const result = [];
|
|
37
|
-
const prefixString = prefix ? `${prefix}-` : '';
|
|
38
|
-
rules.map(rule => {
|
|
39
|
-
const declarations = [];
|
|
40
|
-
rule.declarations.map(declaration => {
|
|
41
|
-
declarations.push(`${declaration.property}:${declaration.value}`);
|
|
42
|
-
});
|
|
43
|
-
const string = `.${prefixString}${rule.selector}${rule.modifier ? separator : ''}${rule.modifier ? rule.modifier : ''}{${declarations.join(';')}}`;
|
|
44
|
-
result.push(string);
|
|
45
|
-
});
|
|
46
|
-
return result.join('');
|
|
47
|
-
};
|
|
48
|
-
export const shortBreakpoints = {
|
|
49
|
-
xs: breakpoints.xsmall,
|
|
50
|
-
sm: breakpoints.small,
|
|
51
|
-
md: breakpoints.medium,
|
|
52
|
-
lg: breakpoints.large,
|
|
53
|
-
};
|
|
54
|
-
export const cssUtilities = () => {
|
|
55
|
-
const getRulesetsInMedia = () => {
|
|
56
|
-
const result = [];
|
|
57
|
-
result.push(`${objectToRuleset(allRules)}`);
|
|
58
|
-
Object.entries(shortBreakpoints).map(([key, value]) => {
|
|
59
|
-
result.push(`@media(min-width:${value}){${objectToRuleset(allRules, key)}}`);
|
|
60
|
-
});
|
|
61
|
-
return result.join('');
|
|
62
|
-
};
|
|
63
|
-
return getRulesetsInMedia();
|
|
64
|
-
};
|
|
@@ -1,449 +0,0 @@
|
|
|
1
|
-
import { colorsNames } from '../colors';
|
|
2
|
-
import { fontWeights, textSizes, shadows, radii, spaces } from '../variables';
|
|
3
|
-
import { variants, alignments } from '../components/text/text';
|
|
4
|
-
import { pascalCaseToKebabCase } from '../utilities';
|
|
5
|
-
const sides = ['top', 'bottom', 'left', 'right'];
|
|
6
|
-
const spacesWithZero = Object.assign({ 0: '0' }, spaces);
|
|
7
|
-
const spacesWithAutoAndZero = Object.assign({ 0: '0', auto: 'auto' }, spaces);
|
|
8
|
-
export const colorRules = colorsNames.map(colorsName => {
|
|
9
|
-
return {
|
|
10
|
-
selector: 'c',
|
|
11
|
-
modifier: colorsName,
|
|
12
|
-
declarations: [
|
|
13
|
-
{
|
|
14
|
-
property: 'color',
|
|
15
|
-
value: `var(--lns-color-${colorsName})`,
|
|
16
|
-
},
|
|
17
|
-
],
|
|
18
|
-
};
|
|
19
|
-
});
|
|
20
|
-
export const backgroundColorRules = colorsNames.map(colorsName => {
|
|
21
|
-
return {
|
|
22
|
-
selector: 'bgc',
|
|
23
|
-
modifier: colorsName,
|
|
24
|
-
declarations: [
|
|
25
|
-
{
|
|
26
|
-
property: 'background-color',
|
|
27
|
-
value: `var(--lns-color-${colorsName})`,
|
|
28
|
-
},
|
|
29
|
-
],
|
|
30
|
-
};
|
|
31
|
-
});
|
|
32
|
-
export const textSizeRules = Object.keys(textSizes).map(size => {
|
|
33
|
-
return {
|
|
34
|
-
selector: 'text',
|
|
35
|
-
modifier: size,
|
|
36
|
-
declarations: [
|
|
37
|
-
{
|
|
38
|
-
property: 'font-size',
|
|
39
|
-
value: `var(--lns-fontSize-${size})`,
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
property: 'line-height',
|
|
43
|
-
value: `var(--lns-lineHeight-${size})`,
|
|
44
|
-
},
|
|
45
|
-
],
|
|
46
|
-
};
|
|
47
|
-
});
|
|
48
|
-
export const fontWeightRules = Object.keys(fontWeights).map(fontWeight => {
|
|
49
|
-
return {
|
|
50
|
-
selector: 'weight',
|
|
51
|
-
modifier: fontWeight,
|
|
52
|
-
declarations: [
|
|
53
|
-
{
|
|
54
|
-
property: 'font-weight',
|
|
55
|
-
value: `var(--lns-fontWeight-${fontWeight})`,
|
|
56
|
-
},
|
|
57
|
-
],
|
|
58
|
-
};
|
|
59
|
-
});
|
|
60
|
-
export const textVariantRules = Object.entries(variants).map(([key, value]) => {
|
|
61
|
-
return {
|
|
62
|
-
selector: 'text',
|
|
63
|
-
modifier: key,
|
|
64
|
-
declarations: [
|
|
65
|
-
{
|
|
66
|
-
property: 'font-size',
|
|
67
|
-
value: `var(--lns-fontSize-${value.size})`,
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
property: 'line-height',
|
|
71
|
-
value: `var(--lns-lineHeight-${value.size})`,
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
property: 'font-weight',
|
|
75
|
-
value: `var(--lns-fontWeight-${value.fontWeight})`,
|
|
76
|
-
},
|
|
77
|
-
],
|
|
78
|
-
};
|
|
79
|
-
});
|
|
80
|
-
export const textAlignmentRules = alignments.map(alignment => {
|
|
81
|
-
return {
|
|
82
|
-
selector: 'text',
|
|
83
|
-
modifier: alignment,
|
|
84
|
-
declarations: [
|
|
85
|
-
{
|
|
86
|
-
property: 'text-align',
|
|
87
|
-
value: alignment,
|
|
88
|
-
},
|
|
89
|
-
],
|
|
90
|
-
};
|
|
91
|
-
});
|
|
92
|
-
export const shadowRules = Object.keys(shadows).map(shadow => {
|
|
93
|
-
return {
|
|
94
|
-
selector: 'shadow',
|
|
95
|
-
modifier: shadow,
|
|
96
|
-
declarations: [
|
|
97
|
-
{
|
|
98
|
-
property: 'box-shadow',
|
|
99
|
-
value: `var(--lns-shadow-${shadow})`,
|
|
100
|
-
},
|
|
101
|
-
],
|
|
102
|
-
};
|
|
103
|
-
});
|
|
104
|
-
export const radiiRules = Object.keys(radii).map(radius => {
|
|
105
|
-
return {
|
|
106
|
-
selector: 'radius',
|
|
107
|
-
modifier: radius,
|
|
108
|
-
declarations: [
|
|
109
|
-
{
|
|
110
|
-
property: 'border-radius',
|
|
111
|
-
value: `var(--lns-radius-${radius})`,
|
|
112
|
-
},
|
|
113
|
-
],
|
|
114
|
-
};
|
|
115
|
-
});
|
|
116
|
-
export const getSpacingSelectors = (property, sides, spaces, shortSides) => {
|
|
117
|
-
const result = [];
|
|
118
|
-
sides.map(side => {
|
|
119
|
-
const sideString = shortSides
|
|
120
|
-
? `${property.charAt(0)}${side.charAt(0)}`
|
|
121
|
-
: side;
|
|
122
|
-
Object.keys(spaces).map(space => {
|
|
123
|
-
result.push({
|
|
124
|
-
selector: sideString,
|
|
125
|
-
property: `${property}${side && property ? `-${side}` : side ? side : ''}`,
|
|
126
|
-
modifier: space,
|
|
127
|
-
value: space === 'auto' || space === '0'
|
|
128
|
-
? space
|
|
129
|
-
: `var(--lns-space-${space})`,
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
return result;
|
|
134
|
-
};
|
|
135
|
-
export const marginRules = Object.values(getSpacingSelectors('margin', ['', ...sides], spacesWithAutoAndZero, 'shortSides')).map(spaceSelector => {
|
|
136
|
-
return {
|
|
137
|
-
selector: spaceSelector.selector,
|
|
138
|
-
modifier: spaceSelector.modifier,
|
|
139
|
-
declarations: [
|
|
140
|
-
{
|
|
141
|
-
property: spaceSelector.property,
|
|
142
|
-
value: spaceSelector.value,
|
|
143
|
-
},
|
|
144
|
-
],
|
|
145
|
-
};
|
|
146
|
-
});
|
|
147
|
-
export const marginCrossRules = Object.values(getSpacingSelectors('margin', ['x', 'y'], spacesWithAutoAndZero, 'shortSides')).map(spaceSelector => {
|
|
148
|
-
return {
|
|
149
|
-
selector: spaceSelector.selector,
|
|
150
|
-
modifier: spaceSelector.modifier,
|
|
151
|
-
declarations: [
|
|
152
|
-
{
|
|
153
|
-
property: spaceSelector.property === 'margin-x' ? 'margin-left' : 'margin-top',
|
|
154
|
-
value: spaceSelector.value,
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
property: spaceSelector.property === 'margin-x'
|
|
158
|
-
? 'margin-right'
|
|
159
|
-
: 'margin-bottom',
|
|
160
|
-
value: spaceSelector.value,
|
|
161
|
-
},
|
|
162
|
-
],
|
|
163
|
-
};
|
|
164
|
-
});
|
|
165
|
-
export const paddingRules = Object.values(getSpacingSelectors('padding', ['', ...sides], spacesWithZero, 'shortSides')).map(spaceSelector => {
|
|
166
|
-
return {
|
|
167
|
-
selector: spaceSelector.selector,
|
|
168
|
-
modifier: spaceSelector.modifier,
|
|
169
|
-
declarations: [
|
|
170
|
-
{
|
|
171
|
-
property: spaceSelector.property,
|
|
172
|
-
value: spaceSelector.value,
|
|
173
|
-
},
|
|
174
|
-
],
|
|
175
|
-
};
|
|
176
|
-
});
|
|
177
|
-
export const paddingCrossRules = Object.values(getSpacingSelectors('padding', ['x', 'y'], spacesWithZero, 'shortSides')).map(spaceSelector => {
|
|
178
|
-
return {
|
|
179
|
-
selector: spaceSelector.selector,
|
|
180
|
-
modifier: spaceSelector.modifier,
|
|
181
|
-
declarations: [
|
|
182
|
-
{
|
|
183
|
-
property: spaceSelector.property === 'padding-x'
|
|
184
|
-
? 'padding-left'
|
|
185
|
-
: 'padding-top',
|
|
186
|
-
value: spaceSelector.value,
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
property: spaceSelector.property === 'padding-x'
|
|
190
|
-
? 'padding-right'
|
|
191
|
-
: 'padding-bottom',
|
|
192
|
-
value: spaceSelector.value,
|
|
193
|
-
},
|
|
194
|
-
],
|
|
195
|
-
};
|
|
196
|
-
});
|
|
197
|
-
export const borderRules = ['', ...sides].map(side => {
|
|
198
|
-
const selector = 'border' + side.replace(side.charAt(0), side.charAt(0).toUpperCase());
|
|
199
|
-
const property = `border${side && `-${side}`}`;
|
|
200
|
-
return {
|
|
201
|
-
selector,
|
|
202
|
-
declarations: [
|
|
203
|
-
{
|
|
204
|
-
property,
|
|
205
|
-
value: `1px solid var(--lns-color-border)`,
|
|
206
|
-
},
|
|
207
|
-
],
|
|
208
|
-
};
|
|
209
|
-
});
|
|
210
|
-
const displayOptions = [
|
|
211
|
-
'inline',
|
|
212
|
-
'block',
|
|
213
|
-
'flex',
|
|
214
|
-
'inlineBlock',
|
|
215
|
-
'inlineFlex',
|
|
216
|
-
'none',
|
|
217
|
-
];
|
|
218
|
-
export const displayRules = displayOptions.map(displayOption => {
|
|
219
|
-
return {
|
|
220
|
-
selector: displayOption,
|
|
221
|
-
declarations: [
|
|
222
|
-
{
|
|
223
|
-
property: 'display',
|
|
224
|
-
value: pascalCaseToKebabCase(displayOption),
|
|
225
|
-
},
|
|
226
|
-
],
|
|
227
|
-
};
|
|
228
|
-
});
|
|
229
|
-
export const flexWrapRules = [
|
|
230
|
-
{
|
|
231
|
-
selector: 'flexWrap',
|
|
232
|
-
declarations: [
|
|
233
|
-
{
|
|
234
|
-
property: 'flex-wrap',
|
|
235
|
-
value: 'wrap',
|
|
236
|
-
},
|
|
237
|
-
],
|
|
238
|
-
},
|
|
239
|
-
];
|
|
240
|
-
const flexDirections = ['column', 'row'];
|
|
241
|
-
export const flexDirectionRules = flexDirections.map(flexDirection => {
|
|
242
|
-
return {
|
|
243
|
-
selector: 'flexDirection',
|
|
244
|
-
modifier: flexDirection,
|
|
245
|
-
declarations: [
|
|
246
|
-
{
|
|
247
|
-
property: 'flex-direction',
|
|
248
|
-
value: flexDirection,
|
|
249
|
-
},
|
|
250
|
-
],
|
|
251
|
-
};
|
|
252
|
-
});
|
|
253
|
-
const flexItemOptions = [
|
|
254
|
-
'stretch',
|
|
255
|
-
'center',
|
|
256
|
-
'baseline',
|
|
257
|
-
'flexStart',
|
|
258
|
-
'flexEnd',
|
|
259
|
-
'selfStart',
|
|
260
|
-
'selfEnd',
|
|
261
|
-
];
|
|
262
|
-
export const flexItemRules = flexItemOptions.map(flexItemOption => {
|
|
263
|
-
return {
|
|
264
|
-
selector: 'items',
|
|
265
|
-
modifier: flexItemOption,
|
|
266
|
-
declarations: [
|
|
267
|
-
{
|
|
268
|
-
property: 'align-items',
|
|
269
|
-
value: pascalCaseToKebabCase(flexItemOption),
|
|
270
|
-
},
|
|
271
|
-
],
|
|
272
|
-
};
|
|
273
|
-
});
|
|
274
|
-
const justifyContentOptions = [
|
|
275
|
-
'flexStart',
|
|
276
|
-
'flexEnd',
|
|
277
|
-
'center',
|
|
278
|
-
'spaceBetween',
|
|
279
|
-
'spaceAround',
|
|
280
|
-
'spaceEvenly',
|
|
281
|
-
];
|
|
282
|
-
export const JustifyContentRules = justifyContentOptions.map(justifyContentOption => {
|
|
283
|
-
return {
|
|
284
|
-
selector: 'justify',
|
|
285
|
-
modifier: justifyContentOption,
|
|
286
|
-
declarations: [
|
|
287
|
-
{
|
|
288
|
-
property: 'justify-content',
|
|
289
|
-
value: pascalCaseToKebabCase(justifyContentOption),
|
|
290
|
-
},
|
|
291
|
-
],
|
|
292
|
-
};
|
|
293
|
-
});
|
|
294
|
-
const growOptions = ['0', '1'];
|
|
295
|
-
export const growRules = growOptions.map(growOption => {
|
|
296
|
-
return {
|
|
297
|
-
selector: 'grow',
|
|
298
|
-
modifier: growOption,
|
|
299
|
-
declarations: [
|
|
300
|
-
{
|
|
301
|
-
property: 'flex-grow',
|
|
302
|
-
value: growOption,
|
|
303
|
-
},
|
|
304
|
-
],
|
|
305
|
-
};
|
|
306
|
-
});
|
|
307
|
-
const shrinkOptions = ['0', '1'];
|
|
308
|
-
export const shrinkRules = shrinkOptions.map(shrinkOption => {
|
|
309
|
-
return {
|
|
310
|
-
selector: 'shrink',
|
|
311
|
-
modifier: shrinkOption,
|
|
312
|
-
declarations: [
|
|
313
|
-
{
|
|
314
|
-
property: 'flex-shrink',
|
|
315
|
-
value: shrinkOption,
|
|
316
|
-
},
|
|
317
|
-
],
|
|
318
|
-
};
|
|
319
|
-
});
|
|
320
|
-
const alignSelfOptions = [
|
|
321
|
-
'auto',
|
|
322
|
-
'flexStart',
|
|
323
|
-
'flexEnd',
|
|
324
|
-
'center',
|
|
325
|
-
'baseline',
|
|
326
|
-
'stretch',
|
|
327
|
-
];
|
|
328
|
-
export const alignSelfRules = alignSelfOptions.map(alignSelfOption => {
|
|
329
|
-
return {
|
|
330
|
-
selector: 'self',
|
|
331
|
-
modifier: alignSelfOption,
|
|
332
|
-
declarations: [
|
|
333
|
-
{
|
|
334
|
-
property: 'align-self',
|
|
335
|
-
value: pascalCaseToKebabCase(alignSelfOption),
|
|
336
|
-
},
|
|
337
|
-
],
|
|
338
|
-
};
|
|
339
|
-
});
|
|
340
|
-
const overflowOptions = ['hidden', 'auto'];
|
|
341
|
-
export const overflowRules = overflowOptions.map(overflowOption => {
|
|
342
|
-
return {
|
|
343
|
-
selector: 'overflow',
|
|
344
|
-
modifier: overflowOption,
|
|
345
|
-
declarations: [
|
|
346
|
-
{
|
|
347
|
-
property: 'overflow',
|
|
348
|
-
value: overflowOption,
|
|
349
|
-
},
|
|
350
|
-
],
|
|
351
|
-
};
|
|
352
|
-
});
|
|
353
|
-
const positionOptions = ['relative', 'absolute', 'sticky', 'fixed'];
|
|
354
|
-
export const positionRules = positionOptions.map(positionOption => {
|
|
355
|
-
return {
|
|
356
|
-
selector: positionOption,
|
|
357
|
-
declarations: [
|
|
358
|
-
{
|
|
359
|
-
property: 'position',
|
|
360
|
-
value: positionOption,
|
|
361
|
-
},
|
|
362
|
-
],
|
|
363
|
-
};
|
|
364
|
-
});
|
|
365
|
-
export const sidePositionRules = Object.values(getSpacingSelectors('', sides, spacesWithAutoAndZero)).map(spaceSelector => {
|
|
366
|
-
return {
|
|
367
|
-
selector: spaceSelector.selector,
|
|
368
|
-
modifier: spaceSelector.modifier,
|
|
369
|
-
declarations: [
|
|
370
|
-
{
|
|
371
|
-
property: spaceSelector.property,
|
|
372
|
-
value: spaceSelector.value,
|
|
373
|
-
},
|
|
374
|
-
],
|
|
375
|
-
};
|
|
376
|
-
});
|
|
377
|
-
const widthOptions = ['auto', 'full', '0'];
|
|
378
|
-
export const widthRules = widthOptions.map(widthOption => {
|
|
379
|
-
return {
|
|
380
|
-
selector: 'width',
|
|
381
|
-
modifier: widthOption,
|
|
382
|
-
declarations: [
|
|
383
|
-
{
|
|
384
|
-
property: 'width',
|
|
385
|
-
value: widthOption === 'full' ? '100%' : widthOption,
|
|
386
|
-
},
|
|
387
|
-
],
|
|
388
|
-
};
|
|
389
|
-
});
|
|
390
|
-
export const minWidthRules = [
|
|
391
|
-
{
|
|
392
|
-
selector: 'minWidth',
|
|
393
|
-
modifier: '0',
|
|
394
|
-
declarations: [
|
|
395
|
-
{
|
|
396
|
-
property: 'min-width',
|
|
397
|
-
value: '0',
|
|
398
|
-
},
|
|
399
|
-
],
|
|
400
|
-
},
|
|
401
|
-
];
|
|
402
|
-
const heightOptions = ['auto', 'full', '0'];
|
|
403
|
-
export const heightRules = heightOptions.map(heightOption => {
|
|
404
|
-
return {
|
|
405
|
-
selector: 'height',
|
|
406
|
-
modifier: heightOption,
|
|
407
|
-
declarations: [
|
|
408
|
-
{
|
|
409
|
-
property: 'height',
|
|
410
|
-
value: heightOption === 'full' ? '100%' : heightOption,
|
|
411
|
-
},
|
|
412
|
-
],
|
|
413
|
-
};
|
|
414
|
-
});
|
|
415
|
-
export const ellipsisRules = [
|
|
416
|
-
{
|
|
417
|
-
selector: 'ellipsis',
|
|
418
|
-
declarations: [
|
|
419
|
-
{
|
|
420
|
-
property: 'overflow',
|
|
421
|
-
value: 'hidden',
|
|
422
|
-
},
|
|
423
|
-
{
|
|
424
|
-
property: 'text-overflow',
|
|
425
|
-
value: 'ellipsis',
|
|
426
|
-
},
|
|
427
|
-
{
|
|
428
|
-
property: 'white-space',
|
|
429
|
-
value: 'nowrap',
|
|
430
|
-
},
|
|
431
|
-
],
|
|
432
|
-
},
|
|
433
|
-
];
|
|
434
|
-
export const accessibilityRules = [
|
|
435
|
-
{
|
|
436
|
-
selector: 'srOnly',
|
|
437
|
-
declarations: [
|
|
438
|
-
{ property: 'position', value: 'absolute' },
|
|
439
|
-
{ property: 'width', value: '1px' },
|
|
440
|
-
{ property: 'height', value: '1px' },
|
|
441
|
-
{ property: 'padding', value: '0' },
|
|
442
|
-
{ property: 'margin', value: '-1px' },
|
|
443
|
-
{ property: 'overflow', value: 'hidden' },
|
|
444
|
-
{ property: 'clip', value: 'rect(0, 0, 0, 0)' },
|
|
445
|
-
{ property: 'white-space', value: 'nowrap' },
|
|
446
|
-
{ property: 'border-width', value: '0' },
|
|
447
|
-
],
|
|
448
|
-
},
|
|
449
|
-
];
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import { fontWeights, radii, shadows, spaces, textSizes, unit, } from '../variables';
|
|
2
|
-
import { hslaBaseColors, hslaColors, hslaGreys, themeColors } from '../colors';
|
|
3
|
-
import { u } from '../utilities';
|
|
4
|
-
export const getCssVarsFromObject = (prefix, varsObject) => {
|
|
5
|
-
const resultObj = {};
|
|
6
|
-
Object.entries(varsObject).forEach(([varName, varValue]) => {
|
|
7
|
-
const namePrefix = prefix ? `${prefix}-` : '';
|
|
8
|
-
const value = `--lns-${namePrefix + varName}`;
|
|
9
|
-
resultObj[value] = varValue;
|
|
10
|
-
});
|
|
11
|
-
return resultObj;
|
|
12
|
-
};
|
|
13
|
-
const getTextSizesObject = () => {
|
|
14
|
-
const resultObj = {};
|
|
15
|
-
Object.entries(textSizes).forEach(([textSizeKey, textSizeValue]) => {
|
|
16
|
-
const fontSizesObj = {};
|
|
17
|
-
const lineHeightsObj = {};
|
|
18
|
-
const fontSizeValue = `fontSize-${textSizeKey}`;
|
|
19
|
-
const lineHeightValue = `lineHeight-${textSizeKey}`;
|
|
20
|
-
fontSizesObj[fontSizeValue] = u(textSizeValue.fontSize);
|
|
21
|
-
fontSizesObj[lineHeightValue] = textSizeValue.lineHeight;
|
|
22
|
-
Object.assign(resultObj, fontSizesObj, lineHeightsObj);
|
|
23
|
-
});
|
|
24
|
-
return resultObj;
|
|
25
|
-
};
|
|
26
|
-
const getSpacesObject = () => {
|
|
27
|
-
const resultObj = {};
|
|
28
|
-
Object.entries(spaces).forEach(([spaceName, spaceValue]) => {
|
|
29
|
-
const value = `space-${spaceName}`;
|
|
30
|
-
resultObj[value] = u(spaceValue);
|
|
31
|
-
});
|
|
32
|
-
return resultObj;
|
|
33
|
-
};
|
|
34
|
-
const getColorsObject = () => {
|
|
35
|
-
const colorsObject = {};
|
|
36
|
-
Object.keys(Object.assign(Object.assign({}, hslaBaseColors), hslaGreys)).forEach(name => {
|
|
37
|
-
const value = name;
|
|
38
|
-
colorsObject[value] = `hsla(${hslaColors[name].h},${hslaColors[name].s}%,${hslaColors[name].l}%,${hslaColors[name].a})`;
|
|
39
|
-
});
|
|
40
|
-
return colorsObject;
|
|
41
|
-
};
|
|
42
|
-
const getThemeColorsObject = () => {
|
|
43
|
-
const reducer = (colors, prefix) => Object.keys(colors).reduce((accumulator, name) => {
|
|
44
|
-
const color = colors[name];
|
|
45
|
-
const value = `${prefix}-color-${name}`;
|
|
46
|
-
accumulator[value] = `hsla(${color.h},${color.s}%,${color.l}%,${color.a})`;
|
|
47
|
-
return accumulator;
|
|
48
|
-
}, {});
|
|
49
|
-
return Object.assign(Object.assign({}, reducer(themeColors.light, 'themeLight')), reducer(themeColors.dark, 'themeDark'));
|
|
50
|
-
};
|
|
51
|
-
export const unitVariables = getCssVarsFromObject(undefined, {
|
|
52
|
-
unit: `${unit / 16}rem`,
|
|
53
|
-
});
|
|
54
|
-
export const fontWeightVariables = getCssVarsFromObject('fontWeight', fontWeights);
|
|
55
|
-
export const textSizeVariables = getCssVarsFromObject(undefined, getTextSizesObject());
|
|
56
|
-
export const radiusVariables = getCssVarsFromObject('radius', radii);
|
|
57
|
-
export const shadowVariables = getCssVarsFromObject('shadow', shadows);
|
|
58
|
-
export const spaceVariables = getCssVarsFromObject(undefined, getSpacesObject());
|
|
59
|
-
export const formFieldVariables = getCssVarsFromObject(undefined, {
|
|
60
|
-
formFieldBorderWidth: '1px',
|
|
61
|
-
formFieldBorderWidthFocus: '2px',
|
|
62
|
-
formFieldHeight: u(4.5),
|
|
63
|
-
formFieldRadius: u(2.25),
|
|
64
|
-
formFieldHorizontalPadding: u(2),
|
|
65
|
-
formFieldBorderShadow: `
|
|
66
|
-
inset 0 0 0 var(--lns-formFieldBorderWidth) var(--lns-color-formFieldBorder)
|
|
67
|
-
`,
|
|
68
|
-
formFieldBorderShadowFocus: `
|
|
69
|
-
inset 0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-blurple),
|
|
70
|
-
0 0 0 var(--lns-formFieldBorderWidthFocus) var(--lns-color-focusRing)
|
|
71
|
-
`,
|
|
72
|
-
});
|
|
73
|
-
const colorVariables = getCssVarsFromObject('color', getColorsObject());
|
|
74
|
-
const themeColorVariables = getCssVarsFromObject(undefined, getThemeColorsObject());
|
|
75
|
-
const sizingVariables = [
|
|
76
|
-
unitVariables,
|
|
77
|
-
textSizeVariables,
|
|
78
|
-
radiusVariables,
|
|
79
|
-
shadowVariables,
|
|
80
|
-
spaceVariables,
|
|
81
|
-
formFieldVariables,
|
|
82
|
-
];
|
|
83
|
-
export const getSizingVariablesCssVarsObject = () => {
|
|
84
|
-
return Object.assign({}, ...sizingVariables);
|
|
85
|
-
};
|
|
86
|
-
export const getVariablesCssVarsObject = () => {
|
|
87
|
-
return Object.assign({}, fontWeightVariables, ...sizingVariables);
|
|
88
|
-
};
|
|
89
|
-
export const getColorsCssVarsObject = () => {
|
|
90
|
-
return Object.assign(Object.assign({}, colorVariables), themeColorVariables);
|
|
91
|
-
};
|
|
92
|
-
const assignLightThemeColors = () => {
|
|
93
|
-
return Object.keys(themeColors.light).map(color => `--lns-color-${color}: var(--lns-themeLight-color-${color});`);
|
|
94
|
-
};
|
|
95
|
-
const assignDarkThemeColors = () => {
|
|
96
|
-
return Object.keys(themeColors.dark).map(color => `--lns-color-${color}: var(--lns-themeDark-color-${color});`);
|
|
97
|
-
};
|
|
98
|
-
export const getThemeStylesString = (customRootElement = ':root') => {
|
|
99
|
-
const rootElement = customRootElement || ':root';
|
|
100
|
-
return `
|
|
101
|
-
${rootElement},
|
|
102
|
-
.theme-light,
|
|
103
|
-
[data-lens-theme="light"] {
|
|
104
|
-
${assignLightThemeColors().join('')}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
.theme-dark,
|
|
108
|
-
[data-lens-theme="dark"] {
|
|
109
|
-
${assignDarkThemeColors().join('')}
|
|
110
|
-
}
|
|
111
|
-
`;
|
|
112
|
-
};
|
|
113
|
-
export const getThemeStyles = () => {
|
|
114
|
-
const style = document.createElement('style');
|
|
115
|
-
style.innerHTML = getThemeStylesString();
|
|
116
|
-
document.head.appendChild(style);
|
|
117
|
-
};
|
|
118
|
-
export const getSizingCssVarsDeclarations = () => {
|
|
119
|
-
const result = Object.entries(getSizingVariablesCssVarsObject()).map(cssVar => `${cssVar[0]}:${cssVar[1]};`);
|
|
120
|
-
return result.join('');
|
|
121
|
-
};
|
|
122
|
-
export const getAllCssVarsString = customRootElement => {
|
|
123
|
-
const result = [];
|
|
124
|
-
const rootElement = customRootElement || ':root';
|
|
125
|
-
Object.entries(getVariablesCssVarsObject()).forEach(cssVar => {
|
|
126
|
-
result.push(`${cssVar[0]}:${cssVar[1]};`);
|
|
127
|
-
});
|
|
128
|
-
Object.entries(getColorsCssVarsObject()).forEach(cssVar => {
|
|
129
|
-
result.push(`${cssVar[0]}:${cssVar[1]};`);
|
|
130
|
-
});
|
|
131
|
-
return `
|
|
132
|
-
${rootElement} {
|
|
133
|
-
${result.join('')}
|
|
134
|
-
}
|
|
135
|
-
`;
|
|
136
|
-
};
|
package/dist/hooks/index.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { default as useMedia } from './use-media.js';
|
|
2
|
-
export { default as useOnClickOutside } from './use-on-click-outside.js';
|
|
3
|
-
export { default as useFocusedElement } from './use-focused-element';
|
|
4
|
-
export { default as usePreventScroll } from './use-prevent-scroll';
|
|
5
|
-
export { default as usePushPageDown } from './use-push-page-down';
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { useCallback, useEffect, useState } from 'react';
|
|
2
|
-
export default function useFocusedElement(ref) {
|
|
3
|
-
const [isFocused, setIsFocused] = useState(false);
|
|
4
|
-
const handleFocus = useCallback(e => {
|
|
5
|
-
const currentRef = ref.current;
|
|
6
|
-
if (e.type === 'focusin' && e.target === currentRef) {
|
|
7
|
-
setIsFocused(true);
|
|
8
|
-
}
|
|
9
|
-
}, [ref]);
|
|
10
|
-
const handleBlur = useCallback(e => {
|
|
11
|
-
const currentRef = ref.current;
|
|
12
|
-
if (e.type === 'focusout' && e.target === currentRef) {
|
|
13
|
-
setIsFocused(false);
|
|
14
|
-
}
|
|
15
|
-
}, [ref]);
|
|
16
|
-
useEffect(() => {
|
|
17
|
-
// Note: `focusin` is sent whenever an element OR its children gain focus (or, it supports "event bubbling"). If you need to isolate it to only the parent, create a new function using 'focus' and 'blur' respectively.
|
|
18
|
-
document.addEventListener('focusin', handleFocus);
|
|
19
|
-
document.addEventListener('focusout', handleBlur);
|
|
20
|
-
return () => {
|
|
21
|
-
document.removeEventListener('focusin', handleFocus);
|
|
22
|
-
document.removeEventListener('focusout', handleBlur);
|
|
23
|
-
};
|
|
24
|
-
}, [handleFocus, handleBlur]);
|
|
25
|
-
return Boolean(isFocused);
|
|
26
|
-
}
|