create-file-name-input.stories.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import React from 'react'
  2. import FileTreeCreateNameInput from '../../../js/features/file-tree/components/file-tree-create/file-tree-create-name-input'
  3. import FileTreeCreateNameProvider from '../../../js/features/file-tree/contexts/file-tree-create-name'
  4. import {
  5. BlockedFilenameError,
  6. DuplicateFilenameError
  7. } from '../../../js/features/file-tree/errors'
  8. import { ModalBodyDecorator, ModalContentDecorator } from '../modal-decorators'
  9. export const DefaultLabel = args => (
  10. <FileTreeCreateNameProvider initialName="example.tex">
  11. <FileTreeCreateNameInput {...args} />
  12. </FileTreeCreateNameProvider>
  13. )
  14. export const CustomLabel = args => (
  15. <FileTreeCreateNameProvider initialName="example.tex">
  16. <FileTreeCreateNameInput {...args} />
  17. </FileTreeCreateNameProvider>
  18. )
  19. CustomLabel.args = {
  20. label: 'File Name in this Project'
  21. }
  22. export const FocusName = args => (
  23. <FileTreeCreateNameProvider initialName="example.tex">
  24. <FileTreeCreateNameInput {...args} />
  25. </FileTreeCreateNameProvider>
  26. )
  27. FocusName.args = {
  28. focusName: true
  29. }
  30. export const CustomPlaceholder = args => (
  31. <FileTreeCreateNameProvider>
  32. <FileTreeCreateNameInput {...args} />
  33. </FileTreeCreateNameProvider>
  34. )
  35. CustomPlaceholder.args = {
  36. placeholder: 'Enter a file name…'
  37. }
  38. export const DuplicateError = args => (
  39. <FileTreeCreateNameProvider initialName="main.tex">
  40. <FileTreeCreateNameInput {...args} />
  41. </FileTreeCreateNameProvider>
  42. )
  43. DuplicateError.args = {
  44. error: new DuplicateFilenameError()
  45. }
  46. export const BlockedError = args => (
  47. <FileTreeCreateNameProvider initialName="main.tex">
  48. <FileTreeCreateNameInput {...args} />
  49. </FileTreeCreateNameProvider>
  50. )
  51. BlockedError.args = {
  52. error: new BlockedFilenameError()
  53. }
  54. export default {
  55. title: 'Modals / Create File / File Name Input',
  56. component: FileTreeCreateNameInput,
  57. decorators: [ModalBodyDecorator, ModalContentDecorator]
  58. }